From patchwork Thu Apr 19 11:36:58 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Rybchenko X-Patchwork-Id: 38543 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 8E23D1AFF2; Thu, 19 Apr 2018 13:38:11 +0200 (CEST) Received: from dispatch1-us1.ppe-hosted.com (dispatch1-us1.ppe-hosted.com [67.231.154.164]) by dpdk.org (Postfix) with ESMTP id 3F114AAAE for ; Thu, 19 Apr 2018 13:37:40 +0200 (CEST) X-Virus-Scanned: Proofpoint Essentials engine Received: from webmail.solarflare.com (webmail.solarflare.com [12.187.104.26]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1-us3.ppe-hosted.com (Proofpoint Essentials ESMTP Server) with ESMTPS id 2135298010D for ; Thu, 19 Apr 2018 11:37:39 +0000 (UTC) Received: from sfocexch01r.SolarFlarecom.com (10.20.40.34) by ocex03.SolarFlarecom.com (10.20.40.36) with Microsoft SMTP Server (TLS) id 15.0.1044.25; Thu, 19 Apr 2018 04:37:36 -0700 Received: from ocex03.SolarFlarecom.com (10.20.40.36) by sfocexch01r.SolarFlarecom.com (10.20.40.34) with Microsoft SMTP Server (TLS) id 15.0.1044.25; Thu, 19 Apr 2018 04:37:11 -0700 Received: from opal.uk.solarflarecom.com (10.17.10.1) by ocex03.SolarFlarecom.com (10.20.40.36) with Microsoft SMTP Server (TLS) id 15.0.1044.25 via Frontend Transport; Thu, 19 Apr 2018 04:37:10 -0700 Received: from uklogin.uk.solarflarecom.com (uklogin.uk.solarflarecom.com [10.17.10.10]) by opal.uk.solarflarecom.com (8.13.8/8.13.8) with ESMTP id w3JBb9aD000714 for ; Thu, 19 Apr 2018 12:37:09 +0100 Received: from uklogin.uk.solarflarecom.com (localhost.localdomain [127.0.0.1]) by uklogin.uk.solarflarecom.com (8.13.8/8.13.8) with ESMTP id w3JBb9nC005732 for ; Thu, 19 Apr 2018 12:37:09 +0100 From: Andrew Rybchenko To: Date: Thu, 19 Apr 2018 12:36:58 +0100 Message-ID: <1524137826-5675-16-git-send-email-arybchenko@solarflare.com> X-Mailer: git-send-email 1.8.2.3 In-Reply-To: <1524137826-5675-1-git-send-email-arybchenko@solarflare.com> References: <1524137826-5675-1-git-send-email-arybchenko@solarflare.com> MIME-Version: 1.0 X-MDID: 1524137859-qOLdpRMTdL2i Subject: [dpdk-dev] [PATCH 15/23] net/sfc: support DPDK firmware variant X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" DPDK firmware variant supports equal stride super-buffer Rx mode which provides higher packet rate and packet marks but requires dedicated mempool manager with contiguous object block allocation (e.g. bucket). Also the firmware supports subvariant without checksumming on Tx which allows to reach higher packet rates on transmit if checksumming is not required. Signed-off-by: Andrew Rybchenko Reviewed-by: Ivan Malov --- doc/guides/nics/sfc_efx.rst | 6 +++++- drivers/net/sfc/sfc.c | 4 ++++ drivers/net/sfc/sfc_kvargs.h | 4 +++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/doc/guides/nics/sfc_efx.rst b/doc/guides/nics/sfc_efx.rst index bbc6e61..19b1087 100644 --- a/doc/guides/nics/sfc_efx.rst +++ b/doc/guides/nics/sfc_efx.rst @@ -354,7 +354,7 @@ boolean parameters value. value will select a fixed update period of **1000** milliseconds - ``fw_variant`` [dont-care|full-feature|ultra-low-latency| - capture-packed-stream] (default **dont-care**) + capture-packed-stream|dpdk] (default **dont-care**) Choose the preferred firmware variant to use. In order for the selected option to have an effect, the **sfboot** utility must be configured with the @@ -367,6 +367,10 @@ boolean parameters value. **ultra-low-latency** chooses firmware with fewer features but lower latency. **capture-packed-stream** chooses firmware for SolarCapture packed stream mode. + **dpdk** chooses DPDK firmware with equal stride super-buffer Rx mode + for higher Rx packet rate and packet marks support and firmware subvariant + without checksumming on transmit for higher Tx packet rate if + checksumming is not required. Dynamic Logging Parameters diff --git a/drivers/net/sfc/sfc.c b/drivers/net/sfc/sfc.c index 37248bc..5458f39 100644 --- a/drivers/net/sfc/sfc.c +++ b/drivers/net/sfc/sfc.c @@ -829,6 +829,8 @@ sfc_kvarg_fv_variant_handler(__rte_unused const char *key, *value = EFX_FW_VARIANT_LOW_LATENCY; else if (strcasecmp(value_str, SFC_KVARG_FW_VARIANT_PACKED_STREAM) == 0) *value = EFX_FW_VARIANT_PACKED_STREAM; + else if (strcasecmp(value_str, SFC_KVARG_FW_VARIANT_DPDK) == 0) + *value = EFX_FW_VARIANT_DPDK; else return -EINVAL; @@ -886,6 +888,8 @@ sfc_fw_variant2str(efx_fw_variant_t efv) return SFC_KVARG_FW_VARIANT_LOW_LATENCY; case EFX_RXDP_PACKED_STREAM_FW_ID: return SFC_KVARG_FW_VARIANT_PACKED_STREAM; + case EFX_RXDP_DPDK_FW_ID: + return SFC_KVARG_FW_VARIANT_DPDK; default: return "unknown"; } diff --git a/drivers/net/sfc/sfc_kvargs.h b/drivers/net/sfc/sfc_kvargs.h index 057002e..9f21cfd 100644 --- a/drivers/net/sfc/sfc_kvargs.h +++ b/drivers/net/sfc/sfc_kvargs.h @@ -53,11 +53,13 @@ extern "C" { #define SFC_KVARG_FW_VARIANT_FULL_FEATURED "full-feature" #define SFC_KVARG_FW_VARIANT_LOW_LATENCY "ultra-low-latency" #define SFC_KVARG_FW_VARIANT_PACKED_STREAM "capture-packed-stream" +#define SFC_KVARG_FW_VARIANT_DPDK "dpdk" #define SFC_KVARG_VALUES_FW_VARIANT \ "[" SFC_KVARG_FW_VARIANT_DONT_CARE "|" \ SFC_KVARG_FW_VARIANT_FULL_FEATURED "|" \ SFC_KVARG_FW_VARIANT_LOW_LATENCY "|" \ - SFC_KVARG_FW_VARIANT_PACKED_STREAM "]" + SFC_KVARG_FW_VARIANT_PACKED_STREAM "|" \ + SFC_KVARG_FW_VARIANT_DPDK "]" struct sfc_adapter;