From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by dpdk.org (Postfix) with ESMTP id D0FE72BA5 for ; Fri, 8 Mar 2019 18:48:22 +0100 (CET) Received: from Internal Mail-Server by MTLPINE1 (envelope-from yskoh@mellanox.com) with ESMTPS (AES256-SHA encrypted); 8 Mar 2019 19:48:21 +0200 Received: from scfae-sc-2.mti.labs.mlnx (scfae-sc-2.mti.labs.mlnx [10.101.0.96]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id x28HloAY002625; Fri, 8 Mar 2019 19:48:20 +0200 From: Yongseok Koh To: Rafal Kozik Cc: Michal Krawczyk , dpdk stable Date: Fri, 8 Mar 2019 09:46:56 -0800 Message-Id: <20190308174749.30771-18-yskoh@mellanox.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20190308174749.30771-1-yskoh@mellanox.com> References: <20190308174749.30771-1-yskoh@mellanox.com> Subject: [dpdk-stable] patch 'net/ena: update completion queue after cleanup' has been queued to LTS release 17.11.6 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 08 Mar 2019 17:48:23 -0000 Hi, FYI, your patch has been queued to LTS release 17.11.6 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objection by 03/13/19. So please shout if anyone has objection. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. If the code is different (ie: not only metadata diffs), due for example to a change in context or macro names, please double check it. Thanks. Yongseok --- >>From 54544c40de6910bc4b51ba6945485731b8075e4a Mon Sep 17 00:00:00 2001 From: Rafal Kozik Date: Fri, 14 Dec 2018 14:18:44 +0100 Subject: [PATCH] net/ena: update completion queue after cleanup [ upstream commit a45462c507e98b49cb5c2302e0be3c72d2e20a1a ] After Rx or Tx cleanup update completion queue head by calling ena_com_update_dev_comp_head(). Fixes: 1daff5260ff8 ("net/ena: use unmasked head and tail") Signed-off-by: Rafal Kozik Acked-by: Michal Krawczyk --- drivers/net/ena/ena_ethdev.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c index c6b727e95..f86a60c66 100644 --- a/drivers/net/ena/ena_ethdev.c +++ b/drivers/net/ena/ena_ethdev.c @@ -1589,8 +1589,10 @@ static uint16_t eth_ena_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, desc_in_use = desc_in_use - completed + 1; /* Burst refill to save doorbells, memory barriers, const interval */ - if (ring_size - desc_in_use > ENA_RING_DESCS_RATIO(ring_size)) + if (ring_size - desc_in_use > ENA_RING_DESCS_RATIO(ring_size)) { + ena_com_update_dev_comp_head(rx_ring->ena_com_io_cq); ena_populate_rx_queue(rx_ring, ring_size - desc_in_use); + } return recv_idx; } @@ -1792,8 +1794,9 @@ static uint16_t eth_ena_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, if (total_tx_descs > 0) { /* acknowledge completion of sent packets */ - ena_com_comp_ack(tx_ring->ena_com_io_sq, total_tx_descs); tx_ring->next_to_clean = next_to_clean; + ena_com_comp_ack(tx_ring->ena_com_io_sq, total_tx_descs); + ena_com_update_dev_comp_head(tx_ring->ena_com_io_cq); } return sent_idx; -- 2.11.0 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2019-03-08 09:46:41.261176048 -0800 +++ 0018-net-ena-update-completion-queue-after-cleanup.patch 2019-03-08 09:46:40.047400000 -0800 @@ -1,13 +1,14 @@ -From a45462c507e98b49cb5c2302e0be3c72d2e20a1a Mon Sep 17 00:00:00 2001 +From 54544c40de6910bc4b51ba6945485731b8075e4a Mon Sep 17 00:00:00 2001 From: Rafal Kozik Date: Fri, 14 Dec 2018 14:18:44 +0100 Subject: [PATCH] net/ena: update completion queue after cleanup +[ upstream commit a45462c507e98b49cb5c2302e0be3c72d2e20a1a ] + After Rx or Tx cleanup update completion queue head by calling ena_com_update_dev_comp_head(). Fixes: 1daff5260ff8 ("net/ena: use unmasked head and tail") -Cc: stable@dpdk.org Signed-off-by: Rafal Kozik Acked-by: Michal Krawczyk @@ -16,10 +17,10 @@ 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c -index 0aeb85ff8..a2c8f1e4a 100644 +index c6b727e95..f86a60c66 100644 --- a/drivers/net/ena/ena_ethdev.c +++ b/drivers/net/ena/ena_ethdev.c -@@ -2128,8 +2128,10 @@ static uint16_t eth_ena_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, +@@ -1589,8 +1589,10 @@ static uint16_t eth_ena_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, desc_in_use = desc_in_use - completed + 1; /* Burst refill to save doorbells, memory barriers, const interval */ @@ -31,7 +32,7 @@ return recv_idx; } -@@ -2440,8 +2442,9 @@ static uint16_t eth_ena_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, +@@ -1792,8 +1794,9 @@ static uint16_t eth_ena_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, if (total_tx_descs > 0) { /* acknowledge completion of sent packets */ @@ -41,7 +42,7 @@ + ena_com_update_dev_comp_head(tx_ring->ena_com_io_cq); } - tx_ring->tx_stats.tx_poll++; + return sent_idx; -- 2.11.0