From patchwork Fri Dec 14 13:18:44 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michal Krawczyk X-Patchwork-Id: 48876 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 B2B891BC6F; Fri, 14 Dec 2018 14:19: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 B46151BB6F for ; Fri, 14 Dec 2018 14:19:21 +0100 (CET) Received: by mail-lf1-f66.google.com with SMTP id z13so4208605lfe.11 for ; Fri, 14 Dec 2018 05:19:21 -0800 (PST) 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; bh=1YHLFG7lWUwpcmncfPR5dF9Zm66KjEAUP9Bpv+KhUpM=; b=nwqFJlgfpTuoomocYMTMJ3qs8c14Qux0BFDIyBQZHdtgfhJrblx1ZMeJDKzORgGsqo EMsPQRi/uc++J3jekBtqBWfcDhqFZcU3Bv1JKJv6aYYlQg2X1Vgb1q+Jw8fUcTw2Pj6J F2PeO9nCcWAPcadJDeh42FFtalKvl5UoBStAbt/cTt4z+Bj2cXcjnv3/bWcfH1Xmq69W epiERJlTqPNDd8U4ggarANWuVIxWZf4q/QLOA75QUBbvqh6Nry9XOCqMLySGUNE0YFDF jWxfY+ytJCam9IEmaI2l5iBzzzxeI7I6fiJGjZ6RAo4OsU1EaJ+U1f4LgEPUuoSyAz4B JlVw== 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; bh=1YHLFG7lWUwpcmncfPR5dF9Zm66KjEAUP9Bpv+KhUpM=; b=TzA2JwNIsXL40KEft36hloXYAmfjClllTv+m/4s5M7z8VMcMV8GTLtqmdaKlwx1lzb ZGvuob+vJkJvqO6mdDsnNvkrdGbn5pR2xIDN6LHXu1Evny7SYnb8F7PBffRAx7uo0XRU IZ5aV1F64/yzBDxSaYYjslHUTejyoARlFvKw8SMirtisXiytggPBi6WDkVh6BfgKoZYv aOsj9PJrUYkVj0BoGSj7nSRST45MTto6oe5Ey/LW7JJSz0Ivq6QhcG8n4By6M8sUzKXw V/YK5qHBEbYLjfMd2rQrEihZeOlZ57w988KIt3qChGMAD908oqKG9pLhqE2ci00hNs4/ 2Xpg== X-Gm-Message-State: AA+aEWYnw+Zkq9yyNLPv8hHkPgMwfc44a6zc7r8Lk3s5udZQNOsGU7JV AOIszpZW0ytNhFdPhlDU+jahcCoWWls= X-Google-Smtp-Source: AFSGD/V2EZZNd5SLIDisXJm9GjrPCBzfQDYkljkG6wE8o1KO67FKHtcyZLd4CiMRzK3oKIiBLkNmtA== X-Received: by 2002:a19:200b:: with SMTP id g11mr1772830lfg.58.1544793561066; Fri, 14 Dec 2018 05:19:21 -0800 (PST) Received: from mkPC.semihalf.local (31-172-191-173.noc.fibertech.net.pl. [31.172.191.173]) by smtp.gmail.com with ESMTPSA id o25sm873884lfd.29.2018.12.14.05.19.19 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 14 Dec 2018 05:19:20 -0800 (PST) From: Michal Krawczyk To: dev@dpdk.org Cc: gtzalik@dpdk.org, mw@dpdk.org, matua@amazon.com, rk@semihalf.com Date: Fri, 14 Dec 2018 14:18:44 +0100 Message-Id: <20181214131846.22439-19-mk@semihalf.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20181214131846.22439-1-mk@semihalf.com> References: <20181214131846.22439-1-mk@semihalf.com> Subject: [dpdk-dev] [PATCH 18/20] net/ena: update completion queue after cleanup 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" From: Rafal Kozik 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 2b84cc79d..b336102ba 100644 --- a/drivers/net/ena/ena_ethdev.c +++ b/drivers/net/ena/ena_ethdev.c @@ -2126,8 +2126,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; } @@ -2438,8 +2440,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); } tx_ring->tx_stats.tx_poll++;