From patchwork Fri Oct 30 11:31:16 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michal Krawczyk X-Patchwork-Id: 82924 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id A6217A04B5; Fri, 30 Oct 2020 12:31:57 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B350DC882; Fri, 30 Oct 2020 12:31:40 +0100 (CET) Received: from mail-lf1-f65.google.com (mail-lf1-f65.google.com [209.85.167.65]) by dpdk.org (Postfix) with ESMTP id 75F60C838 for ; Fri, 30 Oct 2020 12:31:36 +0100 (CET) Received: by mail-lf1-f65.google.com with SMTP id b1so7388863lfp.11 for ; Fri, 30 Oct 2020 04:31:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=semihalf-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=do35Ojfs7P5Eq3rTEOxwuhZp4NF80o4dNpOz0Jd++sY=; b=0d77k7xHUjqgEneMdFL2ifwcR0gZ4Xqr3/Dw6ZjoJbLNjD47RJDqgmkNLr5wOJRKHr LymPqVmsLE+ttbUg+POpccAzHcR2NUgDv4m0dKEQLPLt5R9Hi/exqMRd+MlAi+dvx/Bq pRJHUm1bvUc4CHHSv4aar14I4Fot+mYkTEsMESbq8C3vNgazYk0t+5E8YM6gh09htQAG dkeIezpm1QLX12kNpBy7fWQGdG3WtWHxiI0RFINK6IhCkX8eag8b0KGX/TWCZFLkA7R+ NARe538nzTLGvGTWD7OlpEPpj9rrfAA8OHxBenVlmLenJBQzXodNSmUyQy9EFQmmqI5v CGsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=do35Ojfs7P5Eq3rTEOxwuhZp4NF80o4dNpOz0Jd++sY=; b=bqb2PLvCaO0LXZSv4Ki6xoLi84YtOzI8HJSF5JuuU8rGmy3+b9VSW3F+fNhIvwNSJC IRoir30PDSJAaeiVL9c4gLBJi2DhzvcMAVCRGy5oJy20kZMzqNd58pR5vIF/La49Nj4e 3pwmJbtfpdfwk4GetWt5RMajLyRBCTxFw4TR/8ZoecXjMabhLw1uGn/1JRoWMj1s/rvl FyerAOEfvicrfwsfTx1Vv8lRbCZV17HJeAhoHRJFoDeZh40oPHgsxYVVxuLb00bHxS5l P+F93wtHVxnL6zVO9h59yAHdIrVUgqmin3RMBTpzB4vNrSU0trE5AulFWDsBHDnjDifO C6hA== X-Gm-Message-State: AOAM531sD7rzeEv2Fz4v0YXgyrSLkztb+ZNPS3WQk8gbYxmATnk8NWxq o4w7KSC21CjTSjb9IaMrx4vj9F76vB7Hfw== X-Google-Smtp-Source: ABdhPJz7TJmxEZ4oAOiCwc4NUe7exTXEFS/Q95TTgEKFx+7NDdkIz6SUcag5XlU7+jzfrwgGu4qTmw== X-Received: by 2002:ac2:5dea:: with SMTP id z10mr812260lfq.468.1604057494836; Fri, 30 Oct 2020 04:31:34 -0700 (PDT) Received: from mkPC.int.semihalf.com (193-106-246-138.noc.fibertech.net.pl. [193.106.246.138]) by smtp.gmail.com with ESMTPSA id m11sm596965lfa.112.2020.10.30.04.31.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 30 Oct 2020 04:31:33 -0700 (PDT) From: Michal Krawczyk To: dev@dpdk.org Cc: mw@semihalf.com, igorch@amazon.com, gtzalik@amazon.com, Michal Krawczyk , stable@dpdk.org Date: Fri, 30 Oct 2020 12:31:16 +0100 Message-Id: <20201030113121.1310305-2-mk@semihalf.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20201030113121.1310305-1-mk@semihalf.com> References: <20201030113121.1310305-1-mk@semihalf.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 1/6] net/ena: fix getting xstats global stats offset 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" There was a bug in a code, which was reading stat_offset value from the ena_stats_rx_strings array instead of ena_stats_global_strings. It wasn't causing real problems just because ena_stats_rx_strings was not smaller than ena_stats_global_strings and both arrays hold the same offsets. Fixes: 7830e905b7c9 ("net/ena: expose extended stats") Cc: stable@dpdk.org Signed-off-by: Michal Krawczyk Reviewed-by: Igor Chauskin Reviewed-by: Guy Tzalik --- drivers/net/ena/ena_ethdev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c index c513faf202..7ab9b93ba9 100644 --- a/drivers/net/ena/ena_ethdev.c +++ b/drivers/net/ena/ena_ethdev.c @@ -2724,7 +2724,7 @@ static int ena_xstats_get(struct rte_eth_dev *dev, return 0; for (stat = 0; stat < ENA_STATS_ARRAY_GLOBAL; stat++, count++) { - stat_offset = ena_stats_rx_strings[stat].stat_offset; + stat_offset = ena_stats_global_strings[stat].stat_offset; stats_begin = &adapter->dev_stats; xstats[count].id = count; From patchwork Fri Oct 30 11:31:17 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michal Krawczyk X-Patchwork-Id: 82925 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2CC03A04B5; Fri, 30 Oct 2020 12:32:20 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 8AF00C8C6; Fri, 30 Oct 2020 12:31:42 +0100 (CET) Received: from mail-lf1-f66.google.com (mail-lf1-f66.google.com [209.85.167.66]) by dpdk.org (Postfix) with ESMTP id 555CDC876 for ; Fri, 30 Oct 2020 12:31:38 +0100 (CET) Received: by mail-lf1-f66.google.com with SMTP id j30so7434272lfp.4 for ; Fri, 30 Oct 2020 04:31:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=semihalf-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=GnxreAGIcSqr6VGPvC8SffwKUnjLZWr++t9DwVzm8NA=; b=fUAY4WMIpEVjTzH39Xm8uDgp7UTQnCmm+R7dU5wLggQs55FuV0YIPel2LAljm/I7xT 6hz27J0F3U/evhArNNNzvrcVAv36rXq6G7lzfGUbshsiAIWyXz7uq1B4PYySjAXy65Kr M0UuPRartQJB5Ejq8lDzPznu9FKs0Kfz+yrusQRbDc35i+W/OnkWzpakH8qoykWZA/t1 LJ1IgWfHQYSeJhhEkvd9pm0oKGHhEhEudV4AEv7n7LzjMvX9xUbx4EVn7eLsDYmXXuDe /YvUVAkLMYhR5y3p5zqz93u1TInR6pKBG16kJZj5mo3xGnYbt5E65h4xd3HNNXJcRk5B ldXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=GnxreAGIcSqr6VGPvC8SffwKUnjLZWr++t9DwVzm8NA=; b=PwRzXsoKNO2VnvaMtlgBe2oIcFJJtAi4y/kTOXN8Jab2Q8wgpuM9P7QgEtt742tyxa xLoA1wayFMJMT59My699L+zhwzenTPxmilkXkTNblCt0AXp4JuSGS7PC8SFaafqGuDli ykw0XEEJ1gj7JSwAvjp3asdw+YW3WbPuXexbg16wYNP7V6mk7aoAKqEs+j+aHAyaJiSH uiTJsgXyiyparBrsjUTtjxqNifEaW5zndgd7zsvZ5iMPZdNq28sfgwScXwlDJsCh1cuz ASG4K4GRG7YBKw9Cz5XgiF35Q3M80+boomgYSkAOWPYSUDfRIn47fZVPvfbNNimUlyfI Oz7w== X-Gm-Message-State: AOAM530wIDrs9EePEpkTrzpmWVoMz/3jTLSgTqPTDZTD9ZxuQBBz8Q6z WbYxmm8wDo1FUDp2MybY+cOhKLAMDEn2OQ== X-Google-Smtp-Source: ABdhPJx6iIN8Ljfq2p8oHP67QAvPJeSf4BtDD2w1/NIEwd0122Bu5R4CvDXtnQyJkU1l0NlFeXBDEg== X-Received: by 2002:a19:be8d:: with SMTP id o135mr801495lff.200.1604057496693; Fri, 30 Oct 2020 04:31:36 -0700 (PDT) Received: from mkPC.int.semihalf.com (193-106-246-138.noc.fibertech.net.pl. [193.106.246.138]) by smtp.gmail.com with ESMTPSA id m11sm596965lfa.112.2020.10.30.04.31.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 30 Oct 2020 04:31:35 -0700 (PDT) From: Michal Krawczyk To: dev@dpdk.org Cc: mw@semihalf.com, igorch@amazon.com, gtzalik@amazon.com, Michal Krawczyk , stable@dpdk.org Date: Fri, 30 Oct 2020 12:31:17 +0100 Message-Id: <20201030113121.1310305-3-mk@semihalf.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20201030113121.1310305-1-mk@semihalf.com> References: <20201030113121.1310305-1-mk@semihalf.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 2/6] net/ena: fix setting Rx checksum flags in mbuf 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" The driver was never setting PKT_RX_*_CKSUM_GOOD flags, so the only way of checking if the checksum was checked was by testing for the PKT_RX_*_CKSUM_BAD. In that situation, the application couldn't detect if the checksum was valid or unknown, as unknown flag is equal to 0. Moreover, the l3_csum_err value is only valid if the l3_proto is indicating IPv4, so it shouldn't be checked for other protocols. Fixes: 1173fca25af9 ("ena: add polling-mode driver") Cc: stable@dpdk.org Signed-off-by: Michal Krawczyk Reviewed-by: Igor Chauskin Reviewed-by: Guy Tzalik --- drivers/net/ena/ena_ethdev.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c index 7ab9b93ba9..ad593c882c 100644 --- a/drivers/net/ena/ena_ethdev.c +++ b/drivers/net/ena/ena_ethdev.c @@ -296,21 +296,23 @@ static inline void ena_rx_mbuf_prepare(struct rte_mbuf *mbuf, else if (ena_rx_ctx->l4_proto == ENA_ETH_IO_L4_PROTO_UDP) packet_type |= RTE_PTYPE_L4_UDP; - if (ena_rx_ctx->l3_proto == ENA_ETH_IO_L3_PROTO_IPV4) + if (ena_rx_ctx->l3_proto == ENA_ETH_IO_L3_PROTO_IPV4) { packet_type |= RTE_PTYPE_L3_IPV4; - else if (ena_rx_ctx->l3_proto == ENA_ETH_IO_L3_PROTO_IPV6) + if (unlikely(ena_rx_ctx->l3_csum_err)) + ol_flags |= PKT_RX_IP_CKSUM_BAD; + else + ol_flags |= PKT_RX_IP_CKSUM_GOOD; + } else if (ena_rx_ctx->l3_proto == ENA_ETH_IO_L3_PROTO_IPV6) { packet_type |= RTE_PTYPE_L3_IPV6; + } - if (!ena_rx_ctx->l4_csum_checked) + if (!ena_rx_ctx->l4_csum_checked || ena_rx_ctx->frag) ol_flags |= PKT_RX_L4_CKSUM_UNKNOWN; else - if (unlikely(ena_rx_ctx->l4_csum_err) && !ena_rx_ctx->frag) + if (unlikely(ena_rx_ctx->l4_csum_err)) ol_flags |= PKT_RX_L4_CKSUM_BAD; else - ol_flags |= PKT_RX_L4_CKSUM_UNKNOWN; - - if (unlikely(ena_rx_ctx->l3_csum_err)) - ol_flags |= PKT_RX_IP_CKSUM_BAD; + ol_flags |= PKT_RX_L4_CKSUM_GOOD; mbuf->ol_flags = ol_flags; mbuf->packet_type = packet_type; From patchwork Fri Oct 30 11:31:18 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michal Krawczyk X-Patchwork-Id: 82926 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 761C9A04B5; Fri, 30 Oct 2020 12:32:41 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 51FEDC8DA; Fri, 30 Oct 2020 12:31:44 +0100 (CET) Received: from mail-lj1-f195.google.com (mail-lj1-f195.google.com [209.85.208.195]) by dpdk.org (Postfix) with ESMTP id A81D8C876 for ; Fri, 30 Oct 2020 12:31:38 +0100 (CET) Received: by mail-lj1-f195.google.com with SMTP id v19so1556227lji.5 for ; Fri, 30 Oct 2020 04:31:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=semihalf-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=hyjKiHXBjcYXxSLYRKXrMlHkc3z5uNMNqm/q1zQnTEc=; b=u1tVbVuym7/fkBsC81mrJWgHbk/hc0bpgUjCYt1FG3vaxd7X4fcqaBccIPLZnTj+wA gnsdGFth9kOKfi4ICk5d3l84B8l1jT6Vqo84lvzgDzTapfhtWhzalkJCw5y7E53Ssmwp 53zgiRbtrmbthojnSfwf2vxX7qWKno9Vh/8Cx70KkGIOttGitvXroHFDg4zCMJMz1Hc9 q/whRcnjr/EaDVOS2WFS1bC3DO369fpNYTxOPHh8feZ7PdW8C2Ur0lFoqdfgDlakSaow 37mEavbxpXWKb+q6Z+vlypX120PtIaCqhxQKvIHgpDxcXxXKKAahNzt/R+tSW3SbNoaz DIEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=hyjKiHXBjcYXxSLYRKXrMlHkc3z5uNMNqm/q1zQnTEc=; b=Gw+fvqQCNSX04nTgk7Bop5zy/ZR4xznl/zZl7eQDDfXnZcKrIJnOdbStnxn3J4yHfs C8AHdP/BLpF9FvKLafcFhTqQ8UcxLObEE7ykgP8ee8SjWZXk2wtf1Hh/B5PDgbY12TxB 20+YesSz29WN1csc8x9IOABeNooQ3c0PpsjB4yTgpo7DICXikHtZoPv6N2nxSQ5+F/Gn XmrdHPFtSH7fkBLopTVKVedrniHgLMMsy8X++TUjYDJi3fr9TfWjJW/tCwCV7XxYmRHl DG0aLbZmAkisIPQvocebpQfNfiLWVhh1efsAY0vKMVvmmaiEbTjTkOoZdtmUuhLkia0w 5hkg== X-Gm-Message-State: AOAM532CLBdLBOn5Ih/gWDHBFGKQpXdKzsEZYpBoGpBPICrtv7lNJoHS 7dCjeMMe2PhYVx5jXWzgbVAZyjXvPY3x1w== X-Google-Smtp-Source: ABdhPJwJwaKtziZ1qLoO2SIpRFkp5R8b9AQBKquKdHapJat8SD9O4XYkGINqWBY13/L8fJNln7UKDw== X-Received: by 2002:a2e:80c2:: with SMTP id r2mr802007ljg.402.1604057497979; Fri, 30 Oct 2020 04:31:37 -0700 (PDT) Received: from mkPC.int.semihalf.com (193-106-246-138.noc.fibertech.net.pl. [193.106.246.138]) by smtp.gmail.com with ESMTPSA id m11sm596965lfa.112.2020.10.30.04.31.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 30 Oct 2020 04:31:37 -0700 (PDT) From: Michal Krawczyk To: dev@dpdk.org Cc: mw@semihalf.com, igorch@amazon.com, gtzalik@amazon.com, Michal Krawczyk Date: Fri, 30 Oct 2020 12:31:18 +0100 Message-Id: <20201030113121.1310305-4-mk@semihalf.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20201030113121.1310305-1-mk@semihalf.com> References: <20201030113121.1310305-1-mk@semihalf.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 3/6] net/ena: change name of the supported PCI device IDs 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" The ID 0xEC21 is not associated with LLQ feature of the device, so it would be misleading for the user. Because of that, the current identifier is more precise. Together with code update, the documentation was changed to reflect current changes Signed-off-by: Michal Krawczyk Reviewed-by: Igor Chauskin Reviewed-by: Guy Tzalik --- doc/guides/nics/ena.rst | 2 +- drivers/net/ena/ena_ethdev.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/guides/nics/ena.rst b/doc/guides/nics/ena.rst index 3312acba52..d7fe32c340 100644 --- a/doc/guides/nics/ena.rst +++ b/doc/guides/nics/ena.rst @@ -118,7 +118,7 @@ Supported ENA adapters Current ENA PMD supports the following ENA adapters including: * ``1d0f:ec20`` - ENA VF -* ``1d0f:ec21`` - ENA VF with LLQ support +* ``1d0f:ec21`` - ENA VF RSERV0 Supported Operating Systems --------------------------- diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c index ad593c882c..b1c215b63e 100644 --- a/drivers/net/ena/ena_ethdev.c +++ b/drivers/net/ena/ena_ethdev.c @@ -140,8 +140,8 @@ static const struct ena_stats ena_stats_rx_strings[] = { /** Vendor ID used by Amazon devices */ #define PCI_VENDOR_ID_AMAZON 0x1D0F /** Amazon devices */ -#define PCI_DEVICE_ID_ENA_VF 0xEC20 -#define PCI_DEVICE_ID_ENA_LLQ_VF 0xEC21 +#define PCI_DEVICE_ID_ENA_VF 0xEC20 +#define PCI_DEVICE_ID_ENA_VF_RSERV0 0xEC21 #define ENA_TX_OFFLOAD_MASK (\ PKT_TX_L4_MASK | \ @@ -155,7 +155,7 @@ static const struct ena_stats ena_stats_rx_strings[] = { static const struct rte_pci_id pci_id_ena_map[] = { { RTE_PCI_DEVICE(PCI_VENDOR_ID_AMAZON, PCI_DEVICE_ID_ENA_VF) }, - { RTE_PCI_DEVICE(PCI_VENDOR_ID_AMAZON, PCI_DEVICE_ID_ENA_LLQ_VF) }, + { RTE_PCI_DEVICE(PCI_VENDOR_ID_AMAZON, PCI_DEVICE_ID_ENA_VF_RSERV0) }, { .device_id = 0 }, }; From patchwork Fri Oct 30 11:31:19 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michal Krawczyk X-Patchwork-Id: 82927 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2AC36A04B5; Fri, 30 Oct 2020 12:33:09 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A833BC908; Fri, 30 Oct 2020 12:31:46 +0100 (CET) Received: from mail-lj1-f196.google.com (mail-lj1-f196.google.com [209.85.208.196]) by dpdk.org (Postfix) with ESMTP id 2BDA3C87A for ; Fri, 30 Oct 2020 12:31:40 +0100 (CET) Received: by mail-lj1-f196.google.com with SMTP id y16so6529475ljk.1 for ; Fri, 30 Oct 2020 04:31:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=semihalf-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=fHElj95NNXNy6jlcj2KWw0f6C12yYHLLYb+TkqqXr+c=; b=XBwOop58BjM9EVG0HxJLH0gL6WkfjcXGPfGaFzGzndEb2dijwo3JD1Xz+0ng5l1Psq DMJynVzOZ/evr6sRitpyhfY209UJ+WaLIvMwkaXpTLeFjNeBdfKrwIOiScSeJz36VYgx yz8I0msstruqsG9mm+I144mCjKSjCHdrnDjILSayot+c1jFcVmJMR2eaz+U+X7ugLX0y dvj0VmGxdFrIkmf32gT8J3dhAvizgIPnkFQHoxyAQzbQmZ+TkO/ELHPQXmTuA3+uDT40 2T1p7EvaBQD0KfoeY+iKc4AbS79pwLeSntwGpXZ2FWcgYj/1QPeCtbNgFoUVTP8YW5oE 7mHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=fHElj95NNXNy6jlcj2KWw0f6C12yYHLLYb+TkqqXr+c=; b=O3kwx8ZwmrX/Ge1PCwF3T/f28VTM5AcP9aJL6BmThHwvf/Y7EC1YTP/NAv+YtlKscv GrjrsD3xbAWcLr+sZos69xmXABTcf1djzQpv9XT7S1UnXpvzbh4lVbNAqcsiLbuexM8u 4bh45IvvTB1z5+XFp/JPASlw51oQ1nL7Pt1WXwSnA04SuvDbvodBgefzRhNcBgpc9SVd jMa4s5I7sKzjykfHqY0JoeqMYBFkbGFscg0grhtSZjtYoL5xZ96U0j5TzFbT1q4DSJIS s4YS4y351HrXkr5G4FVASKzdfYCX8p42UJ4d5q8pfJTWctecNxSUm0P7/pXhKMTvnvJu WM2Q== X-Gm-Message-State: AOAM532WSGvqUuPxNF1WvTazFF2jA09Qg67Gpt+k1IjPuUBLSV/kNOv0 xFg+dWsiozQiJCQnb91TrHXxlWMFY5e0AA== X-Google-Smtp-Source: ABdhPJzoumzEd46g+12hEyfkApBbSxdLS+hpLwAlP0L7j5aleCgZL1Skfrq5wDmlYan5QgMcozmfkQ== X-Received: by 2002:a2e:9d8e:: with SMTP id c14mr776888ljj.392.1604057499363; Fri, 30 Oct 2020 04:31:39 -0700 (PDT) Received: from mkPC.int.semihalf.com (193-106-246-138.noc.fibertech.net.pl. [193.106.246.138]) by smtp.gmail.com with ESMTPSA id m11sm596965lfa.112.2020.10.30.04.31.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 30 Oct 2020 04:31:38 -0700 (PDT) From: Michal Krawczyk To: dev@dpdk.org Cc: mw@semihalf.com, igorch@amazon.com, gtzalik@amazon.com, Michal Krawczyk , stable@dpdk.org, Ido Segev , Amit Bernstein Date: Fri, 30 Oct 2020 12:31:19 +0100 Message-Id: <20201030113121.1310305-5-mk@semihalf.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20201030113121.1310305-1-mk@semihalf.com> References: <20201030113121.1310305-1-mk@semihalf.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 4/6] net/ena/base: align IO cq allocation to a 4K 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" Latest generation HW requires IO completion queue descriptors to be aligned to a 4K in order to achieve the best performance. Because of that, the new allocation macros were added, which allows driver to allocate the memory with specified alignemnt. The previous allocation macros are now wrappers around the macros doing the alignment, with the alignment value equal to cacheline size. Fixes: b68309be44c0 ("net/ena/base: update communication layer for the ENAv2") Cc: stable@dpdk.org Signed-off-by: Ido Segev Signed-off-by: Michal Krawczyk Reviewed-by: Igor Chauskin Reviewed-by: Amit Bernstein --- drivers/net/ena/base/ena_com.c | 26 ++++++++++---------- drivers/net/ena/base/ena_com.h | 2 ++ drivers/net/ena/base/ena_plat_dpdk.h | 36 +++++++++++++++++++++------- 3 files changed, 44 insertions(+), 20 deletions(-) diff --git a/drivers/net/ena/base/ena_com.c b/drivers/net/ena/base/ena_com.c index 3686ae05c4..aae68721fb 100644 --- a/drivers/net/ena/base/ena_com.c +++ b/drivers/net/ena/base/ena_com.c @@ -413,19 +413,21 @@ static int ena_com_init_io_cq(struct ena_com_dev *ena_dev, size = io_cq->cdesc_entry_size_in_bytes * io_cq->q_depth; io_cq->bus = ena_dev->bus; - ENA_MEM_ALLOC_COHERENT_NODE(ena_dev->dmadev, - size, - io_cq->cdesc_addr.virt_addr, - io_cq->cdesc_addr.phys_addr, - io_cq->cdesc_addr.mem_handle, - ctx->numa_node, - prev_node); + ENA_MEM_ALLOC_COHERENT_NODE_ALIGNED(ena_dev->dmadev, + size, + io_cq->cdesc_addr.virt_addr, + io_cq->cdesc_addr.phys_addr, + io_cq->cdesc_addr.mem_handle, + ctx->numa_node, + prev_node, + ENA_CDESC_RING_SIZE_ALIGNMENT); if (!io_cq->cdesc_addr.virt_addr) { - ENA_MEM_ALLOC_COHERENT(ena_dev->dmadev, - size, - io_cq->cdesc_addr.virt_addr, - io_cq->cdesc_addr.phys_addr, - io_cq->cdesc_addr.mem_handle); + ENA_MEM_ALLOC_COHERENT_ALIGNED(ena_dev->dmadev, + size, + io_cq->cdesc_addr.virt_addr, + io_cq->cdesc_addr.phys_addr, + io_cq->cdesc_addr.mem_handle, + ENA_CDESC_RING_SIZE_ALIGNMENT); } if (!io_cq->cdesc_addr.virt_addr) { diff --git a/drivers/net/ena/base/ena_com.h b/drivers/net/ena/base/ena_com.h index 8eacaeab0e..64d8f247cb 100644 --- a/drivers/net/ena/base/ena_com.h +++ b/drivers/net/ena/base/ena_com.h @@ -23,6 +23,8 @@ #define ADMIN_CQ_SIZE(depth) ((depth) * sizeof(struct ena_admin_acq_entry)) #define ADMIN_AENQ_SIZE(depth) ((depth) * sizeof(struct ena_admin_aenq_entry)) +#define ENA_CDESC_RING_SIZE_ALIGNMENT (1 << 12) /* 4K */ + /*****************************************************************************/ /*****************************************************************************/ /* ENA adaptive interrupt moderation settings */ diff --git a/drivers/net/ena/base/ena_plat_dpdk.h b/drivers/net/ena/base/ena_plat_dpdk.h index a6782f3732..48c77f0c19 100644 --- a/drivers/net/ena/base/ena_plat_dpdk.h +++ b/drivers/net/ena/base/ena_plat_dpdk.h @@ -172,7 +172,8 @@ do { \ */ extern rte_atomic32_t ena_alloc_cnt; -#define ENA_MEM_ALLOC_COHERENT(dmadev, size, virt, phys, handle) \ +#define ENA_MEM_ALLOC_COHERENT_ALIGNED( \ + dmadev, size, virt, phys, handle, alignment) \ do { \ const struct rte_memzone *mz = NULL; \ ENA_TOUCH(dmadev); ENA_TOUCH(handle); \ @@ -181,9 +182,10 @@ extern rte_atomic32_t ena_alloc_cnt; snprintf(z_name, sizeof(z_name), \ "ena_alloc_%d", \ rte_atomic32_add_return(&ena_alloc_cnt, 1)); \ - mz = rte_memzone_reserve(z_name, size, \ + mz = rte_memzone_reserve_aligned(z_name, size, \ SOCKET_ID_ANY, \ - RTE_MEMZONE_IOVA_CONTIG); \ + RTE_MEMZONE_IOVA_CONTIG, \ + alignment); \ handle = mz; \ } \ if (mz == NULL) { \ @@ -195,13 +197,21 @@ extern rte_atomic32_t ena_alloc_cnt; phys = mz->iova; \ } \ } while (0) +#define ENA_MEM_ALLOC_COHERENT(dmadev, size, virt, phys, handle) \ + ENA_MEM_ALLOC_COHERENT_ALIGNED( \ + dmadev, \ + size, \ + virt, \ + phys, \ + handle, \ + RTE_CACHE_LINE_SIZE) #define ENA_MEM_FREE_COHERENT(dmadev, size, virt, phys, handle) \ ({ ENA_TOUCH(size); ENA_TOUCH(phys); \ ENA_TOUCH(dmadev); \ rte_memzone_free(handle); }) -#define ENA_MEM_ALLOC_COHERENT_NODE( \ - dmadev, size, virt, phys, mem_handle, node, dev_node) \ +#define ENA_MEM_ALLOC_COHERENT_NODE_ALIGNED( \ + dmadev, size, virt, phys, mem_handle, node, dev_node, alignment) \ do { \ const struct rte_memzone *mz = NULL; \ ENA_TOUCH(dmadev); ENA_TOUCH(dev_node); \ @@ -210,8 +220,8 @@ extern rte_atomic32_t ena_alloc_cnt; snprintf(z_name, sizeof(z_name), \ "ena_alloc_%d", \ rte_atomic32_add_return(&ena_alloc_cnt, 1)); \ - mz = rte_memzone_reserve(z_name, size, node, \ - RTE_MEMZONE_IOVA_CONTIG); \ + mz = rte_memzone_reserve_aligned(z_name, size, node, \ + RTE_MEMZONE_IOVA_CONTIG, alignment); \ mem_handle = mz; \ } \ if (mz == NULL) { \ @@ -223,7 +233,17 @@ extern rte_atomic32_t ena_alloc_cnt; phys = mz->iova; \ } \ } while (0) - +#define ENA_MEM_ALLOC_COHERENT_NODE( \ + dmadev, size, virt, phys, mem_handle, node, dev_node) \ + ENA_MEM_ALLOC_COHERENT_NODE_ALIGNED( \ + dmadev, \ + size, \ + virt, \ + phys, \ + mem_handle, \ + node, \ + dev_node, \ + RTE_CACHE_LINE_SIZE) #define ENA_MEM_ALLOC_NODE(dmadev, size, virt, node, dev_node) \ do { \ ENA_TOUCH(dmadev); ENA_TOUCH(dev_node); \ From patchwork Fri Oct 30 11:31:20 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michal Krawczyk X-Patchwork-Id: 82928 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id A5205A04B5; Fri, 30 Oct 2020 12:33:30 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 55724C918; Fri, 30 Oct 2020 12:31:54 +0100 (CET) Received: from mail-lf1-f68.google.com (mail-lf1-f68.google.com [209.85.167.68]) by dpdk.org (Postfix) with ESMTP id BCBADC8CE for ; Fri, 30 Oct 2020 12:31:42 +0100 (CET) Received: by mail-lf1-f68.google.com with SMTP id 126so7419322lfi.8 for ; Fri, 30 Oct 2020 04:31:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=semihalf-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=gJHaHRMaD9DT/2fYDIH+DW0OOWP3/FboR8heHGZlskE=; b=Dun0tgZQlGOesT+XZcmcQDJ+A0oq8xL7AQjfYoXfKLhzl7yjZeGlINsAaqc54Pl478 0KW6WXDhH9CTiqNp8YRzlaSMOJDvDhFEbS+o3SnclpjeaKl9NUujfSElP/iUsomzmqW2 r6EYO21g8G1lfYpCv0ZoPOAgClEzJ/NavWPe2HwJKfrhn7t7ygPdcaTMeZNsxM55E+h6 ODcpzmw/4iVD6VELo6SJopY/TGsBoEqR/TllAej2JcXvxn3brZCLhRdXJuBiGW5OANjR Y4KrvWhCp9FU3Ykh5/ZHp07ZpWUWFMBmk2PzN0OKkuoT/R65HmMBLKO2UKRMCh7v/Gkm uOSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=gJHaHRMaD9DT/2fYDIH+DW0OOWP3/FboR8heHGZlskE=; b=gz/pljdrSsYZEVAJ83A16shP2CHqQfeEHPooOL+HjFDsmzGtB7q8ed0oFgK7JkYBrk 0G1GGL8vXKXct4I3uyygpmE+lpeWYqjhzAwZUqvmxYUUKXYXZVDl6n/u/QSfxG67RtAs Dwy6BfjeHi65PljNcYWCzdHhbbi9z7N1ypXwpUUXYfKzPawsyh2kO6vKwVMB9NP8ttHM Dct93nxIQGEy3rVF63mku9WhhAYU3VqQy/sy54atpHP4v8yOmZo//WlyYZ6qNPOnySOp g4xIR8cm8bxQ2jxrCLp1792LChU1/QIHczds+N+MCu4BrtIp2NWL3QjtSvN1xp02s62O NeEA== X-Gm-Message-State: AOAM533hDbm5pyYQdI6RzkEBMcVMtprEfgk3pfpOSmZQg4NvtDzqXlVr W9XgRNZJyjKTuutMcLOY6pLFkC5Zh5E2gA== X-Google-Smtp-Source: ABdhPJxcgcSvrlVbcDpTtbBfCcYXF7saW0OlaFpuFD/wM63c5Mp4/DyE3LmPY4wWRA8l4aAT8pu4xA== X-Received: by 2002:a19:8808:: with SMTP id k8mr800471lfd.154.1604057500965; Fri, 30 Oct 2020 04:31:40 -0700 (PDT) Received: from mkPC.int.semihalf.com (193-106-246-138.noc.fibertech.net.pl. [193.106.246.138]) by smtp.gmail.com with ESMTPSA id m11sm596965lfa.112.2020.10.30.04.31.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 30 Oct 2020 04:31:40 -0700 (PDT) From: Michal Krawczyk To: dev@dpdk.org Cc: mw@semihalf.com, igorch@amazon.com, gtzalik@amazon.com, Michal Krawczyk Date: Fri, 30 Oct 2020 12:31:20 +0100 Message-Id: <20201030113121.1310305-6-mk@semihalf.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20201030113121.1310305-1-mk@semihalf.com> References: <20201030113121.1310305-1-mk@semihalf.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 5/6] doc: mark ARMv8 as supported by ENA PMD 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" The ARMv8 platform support was tested and works fine with the ENA PMD. It can be used on the AWS a1.* and m6g.* instances. The ARMv8 support in ENA is at least from v19.11, where the VFIO DPDK driver was fixed to work with 32-bit applications compiled for arm. Signed-off-by: Michal Krawczyk Reviewed-by: Igor Chauskin Reviewed-by: Guy Tzalik --- doc/guides/nics/features/ena.ini | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/guides/nics/features/ena.ini b/doc/guides/nics/features/ena.ini index 4300dd012c..7cd6d50f98 100644 --- a/doc/guides/nics/features/ena.ini +++ b/doc/guides/nics/features/ena.ini @@ -18,6 +18,7 @@ Basic stats = Y Extended stats = Y Linux UIO = Y Linux VFIO = Y +ARMv8 = Y x86-32 = Y x86-64 = Y Usage doc = Y From patchwork Fri Oct 30 11:31:21 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michal Krawczyk X-Patchwork-Id: 82929 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id E581BA04B5; Fri, 30 Oct 2020 12:33:47 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 5BB17C922; Fri, 30 Oct 2020 12:31:56 +0100 (CET) Received: from mail-lj1-f176.google.com (mail-lj1-f176.google.com [209.85.208.176]) by dpdk.org (Postfix) with ESMTP id 35E33C8D4 for ; Fri, 30 Oct 2020 12:31:44 +0100 (CET) Received: by mail-lj1-f176.google.com with SMTP id x16so6534308ljh.2 for ; Fri, 30 Oct 2020 04:31:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=semihalf-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=RFF2La58iDQcgyrdVlCaalN8KSPVFR1+ii4yIX0BtwM=; b=RfEJ9D3GenRAy+6+6l/J6p8NiXYNVEBgFCPRJXInUSKizYW9wygUNbAZTsVwGRrNxI nDtjyBPQkNrqVlxDW5x3CELS+f58yOEsJTSW5ADUzsZNc+tHBHGalT5TvtlW6qRBEQ6o TffivY5vrcsoOh1XqlFTYFtfMf0QoK67sdWonKTgqKDUxe8lSxpbJFPZ1h5FBAzDRNj2 F2sfjEozumXCFiqiA/MBLab8sBBFssQn5XG1KTc2C5QEFCb/wGWh/qb2YhShklHis9Rq tvdcw5Kg5SUPoA8pRrhUgSmAtsytPgPYbUFnwKGbrk8kU3+dVBb88jGMVVnYsbqfqYpQ 3jaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=RFF2La58iDQcgyrdVlCaalN8KSPVFR1+ii4yIX0BtwM=; b=JtvT0XCiKbGjPHJvudX7x0ccfE7PJwDS/xn6dBitjXx3Gq0e1ORDKgBt3TuhiT2QPf KWACLRrTo0hF+O1vlSCh+Vs3QBKY6NyH+1o+KLAaf4oA0TRL8xAxlQ2WPz5cZTgHxwS6 mltLepAO5BN53m1R7A10pQCYM1jyhfrzloWqBQ4L22b46GtSvskvOSHCuRUEnJrAkvmd 06oKPZ0AfC78T8i0m0ebjPEmnsWwEsqwHRnC+ld1YytRHavo8/kxFbof2EwCvPSODGBJ ErKDsTeTIMco6/MjRWUKjIcg13sXYGpBdOzagUh+a+JRpg6Cx7Qcp8alUoc2U6IjYe+U O5PQ== X-Gm-Message-State: AOAM533cEpgF3K7fxa8ay1QVbhUUtufSlfqjqF18frLJSDZTP8xO9CQi yQyJGvKeZ5DTbOBe3dVrTMxL4WEeAhWXEA== X-Google-Smtp-Source: ABdhPJyEXmreAAWb3XzQDxu/kMjwZenbsypCg+yBM5CZZqDvOOcvj8l7oTA2/n0UHpZgv9EbShAFew== X-Received: by 2002:a2e:8e83:: with SMTP id z3mr762221ljk.341.1604057502566; Fri, 30 Oct 2020 04:31:42 -0700 (PDT) Received: from mkPC.int.semihalf.com (193-106-246-138.noc.fibertech.net.pl. [193.106.246.138]) by smtp.gmail.com with ESMTPSA id m11sm596965lfa.112.2020.10.30.04.31.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 30 Oct 2020 04:31:41 -0700 (PDT) From: Michal Krawczyk To: dev@dpdk.org Cc: mw@semihalf.com, igorch@amazon.com, gtzalik@amazon.com, Michal Krawczyk Date: Fri, 30 Oct 2020 12:31:21 +0100 Message-Id: <20201030113121.1310305-7-mk@semihalf.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20201030113121.1310305-1-mk@semihalf.com> References: <20201030113121.1310305-1-mk@semihalf.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 6/6] net/ena: upgrade driver version to v2.2.0 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" The v2.2.0 adds support for network interface metrics, includes some bug fixes and updates HAL to the latest version. Signed-off-by: Michal Krawczyk Reviewed-by: Igor Chauskin Reviewed-by: Guy Tzalik --- doc/guides/rel_notes/release_20_11.rst | 7 +++++++ drivers/net/ena/ena_ethdev.c | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst index c242d7409f..6148a0c2f5 100644 --- a/doc/guides/rel_notes/release_20_11.rst +++ b/doc/guides/rel_notes/release_20_11.rst @@ -373,6 +373,13 @@ New Features leverage IOAT DMA channel with vhost asynchronous APIs. See the :doc:`../sample_app_ug/vhost` for more details. +* **Updated the Amazon ena driver.** + + Updated the ena PMD with new features and improvements, including: + + * Added network interface metrics which can be read using xstats. + + Removed Items ------------- diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c index b1c215b63e..20ff3653c6 100644 --- a/drivers/net/ena/ena_ethdev.c +++ b/drivers/net/ena/ena_ethdev.c @@ -27,7 +27,7 @@ #include #define DRV_MODULE_VER_MAJOR 2 -#define DRV_MODULE_VER_MINOR 1 +#define DRV_MODULE_VER_MINOR 2 #define DRV_MODULE_VER_SUBMINOR 0 #define ENA_IO_TXQ_IDX(q) (2 * (q))