Message ID | 20230412162636.30843-1-doshir@vmware.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 571F04296B; Mon, 17 Apr 2023 10:15:08 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AEE8A41138; Mon, 17 Apr 2023 10:15:03 +0200 (CEST) Received: from EX-PRD-EDGE01.vmware.com (EX-PRD-EDGE01.vmware.com [208.91.3.33]) by mails.dpdk.org (Postfix) with ESMTP id B137B406A2 for <dev@dpdk.org>; Wed, 12 Apr 2023 18:26:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; s=s1024; d=vmware.com; h=from:to:cc:subject:date:message-id:mime-version:content-type; bh=fm2Ifum6ireavo95LmHAqGHnFH7GKQVZvwkts0MDhpc=; b=TmmyG3OoI2rd08iMU7zzfvg6M3oZQnwrEWlkWxpGwUSYAfuvD8Et6w1mWHSaMI 9N2n6vc7/BJPixhs1ThWjX1vIUFkMkjeLWhOVWXECPQ53WsvQv2+23a/srzw70 XPv4C60HiWywi8aosS6OY4RgZjjnMtgZ9DdxovIXDXOxrTM= Received: from sc9-mailhost1.vmware.com (10.113.161.71) by EX-PRD-EDGE01.vmware.com (10.188.245.6) with Microsoft SMTP Server id 15.1.2375.34; Wed, 12 Apr 2023 09:26:32 -0700 Received: from htb-1n-eng-dhcp122.eng.vmware.com (unknown [10.20.114.216]) by sc9-mailhost1.vmware.com (Postfix) with ESMTP id 9EC22201E4; Wed, 12 Apr 2023 09:26:38 -0700 (PDT) Received: by htb-1n-eng-dhcp122.eng.vmware.com (Postfix, from userid 0) id 96E2FA8385; Wed, 12 Apr 2023 09:26:38 -0700 (PDT) From: Ronak Doshi <doshir@vmware.com> To: CC: <dev@dpdk.org>, Ronak Doshi <doshir@vmware.com> Subject: [PATCH next 0/7] vmxnet3: upgrade to version 7 Date: Wed, 12 Apr 2023 09:26:29 -0700 Message-ID: <20230412162636.30843-1-doshir@vmware.com> X-Mailer: git-send-email 2.11.0 MIME-Version: 1.0 Content-Type: text/plain Received-SPF: None (EX-PRD-EDGE01.vmware.com: doshir@vmware.com does not designate permitted sender hosts) X-Mailman-Approved-At: Mon, 17 Apr 2023 10:15:01 +0200 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org |
Series |
vmxnet3: upgrade to version 7
|
|
Message
Ronak Doshi
April 12, 2023, 4:26 p.m. UTC
vmxnet3 emulation has recently added several new features including support for uniform passthrough(UPT). To make UPT work vmxnet3 has to be enhanced as per the new specification. This patch series extends the vmxnet3 driver to leverage these new features. Compatibility is maintained using existing vmxnet3 versioning mechanism as follows: - new features added to vmxnet3 emulation are associated with new vmxnet3 version viz. vmxnet3 version 7. - emulation advertises all the versions it supports to the driver. - during initialization, vmxnet3 driver picks the highest version number supported by both the emulation and the driver and configures emulation to run at that version. In particular, following changes are introduced: Patch 1: This patch introduces utility macros for vmxnet3 version 7 comparison and updates Copyright information. Patch 2: This patch adds new capability registers to fine control enablement of individual features based on emulation and passthrough. Patch 3: This patch adds support for large passthrough BAR register. Patch 4: This patch introduces new command to set ring buffer sizes to pass this information to the hardware. Patch 5: For better performance, hardware has a requirement to limit number of TSO descriptors. This patch adds that support. Patch 6: Avoid updating rxprod register when in UPT for performance reasons. Patch 7: With all vmxnet3 version 7 changes incorporated in the vmxnet3 driver, with this patch, the driver can configure emulation to run at vmxnet3 version 7. Ronak Doshi (7): vmxnet3: prepare for version 7 changes vmxnet3: add support for capability registers vmxnet3: add support for large passthrough BAR register vmxnet3: add command to set ring buffer sizes vmxnet3: limit number of TXDs used for TSO packet vmxnet3: avoid updating rxprod register frequently vmxnet3: update to version 7 drivers/net/vmxnet3/base/vmxnet3_defs.h | 74 +++++++++++++++++++--- drivers/net/vmxnet3/vmxnet3_ethdev.c | 106 +++++++++++++++++++++++++++++++- drivers/net/vmxnet3/vmxnet3_ethdev.h | 16 +++++ drivers/net/vmxnet3/vmxnet3_ring.h | 2 +- drivers/net/vmxnet3/vmxnet3_rxtx.c | 48 +++++++++++---- lib/ethdev/rte_ethdev.h | 2 + 6 files changed, 226 insertions(+), 22 deletions(-)
Comments
On 4/12/2023 5:26 PM, Ronak Doshi wrote: > vmxnet3 emulation has recently added several new features including > support for uniform passthrough(UPT). To make UPT work vmxnet3 has > to be enhanced as per the new specification. This patch series > extends the vmxnet3 driver to leverage these new features. > > Compatibility is maintained using existing vmxnet3 versioning mechanism as > follows: > - new features added to vmxnet3 emulation are associated with new vmxnet3 > version viz. vmxnet3 version 7. > - emulation advertises all the versions it supports to the driver. > - during initialization, vmxnet3 driver picks the highest version number > supported by both the emulation and the driver and configures emulation > to run at that version. > > In particular, following changes are introduced: > > Patch 1: > This patch introduces utility macros for vmxnet3 version 7 comparison > and updates Copyright information. > > Patch 2: > This patch adds new capability registers to fine control enablement of > individual features based on emulation and passthrough. > > Patch 3: > This patch adds support for large passthrough BAR register. > > Patch 4: > This patch introduces new command to set ring buffer sizes to pass this > information to the hardware. > > Patch 5: > For better performance, hardware has a requirement to limit number of TSO > descriptors. This patch adds that support. > > Patch 6: > Avoid updating rxprod register when in UPT for performance reasons. > > Patch 7: > With all vmxnet3 version 7 changes incorporated in the vmxnet3 driver, > with this patch, the driver can configure emulation to run at vmxnet3 > version 7. > > Ronak Doshi (7): > vmxnet3: prepare for version 7 changes > vmxnet3: add support for capability registers > vmxnet3: add support for large passthrough BAR register > vmxnet3: add command to set ring buffer sizes > vmxnet3: limit number of TXDs used for TSO packet > vmxnet3: avoid updating rxprod register frequently > vmxnet3: update to version 7 > Can you please start the patch title with component: "net/vmxnet3: ..." > drivers/net/vmxnet3/base/vmxnet3_defs.h | 74 +++++++++++++++++++--- > drivers/net/vmxnet3/vmxnet3_ethdev.c | 106 +++++++++++++++++++++++++++++++- > drivers/net/vmxnet3/vmxnet3_ethdev.h | 16 +++++ > drivers/net/vmxnet3/vmxnet3_ring.h | 2 +- > drivers/net/vmxnet3/vmxnet3_rxtx.c | 48 +++++++++++---- > lib/ethdev/rte_ethdev.h | 2 + > 6 files changed, 226 insertions(+), 22 deletions(-) > Can you please update release notes to document the driver update? Also what do you think to update driver documentation to document uniform passthrough(UPT) support, how to use it etc? Or other features coming with V7?
On 4/26/2023 5:54 PM, Ferruh Yigit wrote: > On 4/12/2023 5:26 PM, Ronak Doshi wrote: >> vmxnet3 emulation has recently added several new features including >> support for uniform passthrough(UPT). To make UPT work vmxnet3 has >> to be enhanced as per the new specification. This patch series >> extends the vmxnet3 driver to leverage these new features. >> >> Compatibility is maintained using existing vmxnet3 versioning mechanism as >> follows: >> - new features added to vmxnet3 emulation are associated with new vmxnet3 >> version viz. vmxnet3 version 7. >> - emulation advertises all the versions it supports to the driver. >> - during initialization, vmxnet3 driver picks the highest version number >> supported by both the emulation and the driver and configures emulation >> to run at that version. >> >> In particular, following changes are introduced: >> >> Patch 1: >> This patch introduces utility macros for vmxnet3 version 7 comparison >> and updates Copyright information. >> >> Patch 2: >> This patch adds new capability registers to fine control enablement of >> individual features based on emulation and passthrough. >> >> Patch 3: >> This patch adds support for large passthrough BAR register. >> >> Patch 4: >> This patch introduces new command to set ring buffer sizes to pass this >> information to the hardware. >> >> Patch 5: >> For better performance, hardware has a requirement to limit number of TSO >> descriptors. This patch adds that support. >> >> Patch 6: >> Avoid updating rxprod register when in UPT for performance reasons. >> >> Patch 7: >> With all vmxnet3 version 7 changes incorporated in the vmxnet3 driver, >> with this patch, the driver can configure emulation to run at vmxnet3 >> version 7. >> >> Ronak Doshi (7): >> vmxnet3: prepare for version 7 changes >> vmxnet3: add support for capability registers >> vmxnet3: add support for large passthrough BAR register >> vmxnet3: add command to set ring buffer sizes >> vmxnet3: limit number of TXDs used for TSO packet >> vmxnet3: avoid updating rxprod register frequently >> vmxnet3: update to version 7 >> > > Can you please start the patch title with component: "net/vmxnet3: ..." > >> drivers/net/vmxnet3/base/vmxnet3_defs.h | 74 +++++++++++++++++++--- >> drivers/net/vmxnet3/vmxnet3_ethdev.c | 106 +++++++++++++++++++++++++++++++- >> drivers/net/vmxnet3/vmxnet3_ethdev.h | 16 +++++ >> drivers/net/vmxnet3/vmxnet3_ring.h | 2 +- >> drivers/net/vmxnet3/vmxnet3_rxtx.c | 48 +++++++++++---- >> lib/ethdev/rte_ethdev.h | 2 + >> 6 files changed, 226 insertions(+), 22 deletions(-) >> > > Can you please update release notes to document the driver update? > > Also what do you think to update driver documentation to document > uniform passthrough(UPT) support, how to use it etc? Or other features > coming with V7? > btw, while checking the driver documentation, it seems it is not updated for a while, the paper it refers is old. Do you have any newer version of documentation to reference?
> On 4/26/23, 11:16 AM, "Ferruh Yigit" <ferruh.yigit@amd.com <mailto:ferruh.yigit@amd.com>> wrote: > > btw, while checking the driver documentation, it seems it is not updated > for a while, the paper it refers is old. > Do you have any newer version of documentation to reference? I don’t think we have any other document for perf, but let me update the document with some details regarding features supported. Also, I will update release notes for these patches. Thanks, Ronak
On 4/26/2023 7:33 PM, Ronak Doshi wrote: > > > On 4/26/23, 11:16 AM, "Ferruh Yigit" <ferruh.yigit@amd.com <mailto:ferruh.yigit@amd.com>> wrote: >> >> btw, while checking the driver documentation, it seems it is not updated >> for a while, the paper it refers is old. >> Do you have any newer version of documentation to reference? > > I don’t think we have any other document for perf, but let me update the document with some > details regarding features supported. Also, I will update release notes for these patches. > That document focuses on 1G and 10G network speeds, and uses "AMD Opteron 2384 Processors" (which seems discontinued at this point). I would expect there is an up to date version of the document, but if there isn't is the existing one still relevant to keep?
> On 4/27/23, 2:16 AM, "Ferruh Yigit" <ferruh.yigit@amd.com <mailto:ferruh.yigit@amd.com>> wrote: > > That document focuses on 1G and 10G network speeds, and uses "AMD > Opteron 2384 Processors" (which seems discontinued at this point). > I would expect there is an up to date version of the document, but if > there isn't is the existing one still relevant to keep? I don't think there is any recent public facing performance measurement document for vmxnet3. I will remove the reference to this old document and will update the doc once we have new document in the future. Thanks, Ronak
On 4/28/2023 8:05 AM, Ronak Doshi wrote: > >> On 4/27/23, 2:16 AM, "Ferruh Yigit" <ferruh.yigit@amd.com <mailto:ferruh.yigit@amd.com>> wrote: >> >> That document focuses on 1G and 10G network speeds, and uses "AMD >> Opteron 2384 Processors" (which seems discontinued at this point). >> I would expect there is an up to date version of the document, but if >> there isn't is the existing one still relevant to keep? > > I don't think there is any recent public facing performance measurement document > for vmxnet3. I will remove the reference to this old document and will update the doc > once we have new document in the future. > OK, it is good to keep documentation up to date.