From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf0-f53.google.com (mail-lf0-f53.google.com [209.85.215.53]) by dpdk.org (Postfix) with ESMTP id 93E4A2C0B for ; Mon, 10 Apr 2017 16:20:14 +0200 (CEST) Received: by mail-lf0-f53.google.com with SMTP id s141so35970481lfe.3 for ; Mon, 10 Apr 2017 07:20:14 -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; bh=UTWpIlCgraitsYBNgd9AuCA3igY9+6yt41mLb/4FQqU=; b=RM7yVWzJMjo5ULxTP+4G8AEcDhV9oBUmM6A6LbvTActOJUSxRwrVGvoxZpd/G6QB4x 58k588LUz4GpsMayFutxT48isy8GA0NwDH6QvKtyoxLjVtBXQTJLkt67OcR5A6cM/qXZ TuNv0yIm0OzuBCreK4r9eQkLiC0JgzbEnDUXRij03NoI2d88z0JcrRmYnqhgvhFb5dV6 lWHUiiO/06CVap/i+3rmGJ6+1TgHPKwJbsGVKS+N3U8/4oVY8IW7B/bvt+GlRH6rxt8v qNPnwl/2IVT6PtxwhHPywVt6BJN7mMiZwQW3kCrKelYO9BnMas6eFuogp58RypyVNqAZ iDKQ== 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=UTWpIlCgraitsYBNgd9AuCA3igY9+6yt41mLb/4FQqU=; b=LPPMMO6kBH8I5JhfQ3gcvqStvQsD+nwLDjTOPg2vmClH5XhQ6BjdeUycEEv/cgXBeG PHkYptKIO6wCMrh3mE3MgY/qQuN6ori1c7D9NNxHa6gwcQqGE0+cTOCtMuz/cj9VyUqK 9dG2szuUcv83tMXtlhJ9rpPio2ST61MgagZIUAEtgv7/Jo/A194VtbjdClZLYQRcosCw BuvW3HRaZx7F8JhwHdm38MJmrCBSwY6ESFQCk/NmKqxndFv4Ied8r7CaCDBKUIjs7rcT ZH6wGAfkDAs1zcoiq3fhJxlNdypx6UaM7HlKIaCrLCGxtbDcXROTeLaPB7luLkHk/5cm rxzg== X-Gm-Message-State: AN3rC/5QChFG5zNSUPTyp2hyMxQQfdPn2W+8K86w0o2Xe0JbYijlqf/12lg/TIQS6we0nA== X-Received: by 10.25.221.22 with SMTP id u22mr566014lfg.182.1491834013819; Mon, 10 Apr 2017 07:20:13 -0700 (PDT) Received: from enkidu.local (31-172-191-173.noc.fibertech.net.pl. [31.172.191.173]) by smtp.gmail.com with ESMTPSA id n82sm2918528lje.12.2017.04.10.07.20.12 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 10 Apr 2017 07:20:13 -0700 (PDT) From: Marcin Wojtas To: dev@dpdk.org Cc: jan.medala@outlook.com, jpalider@gmail.com, netanel@amazon.com, evgenys@amazon.com, matua@amazon.com, gtzalik@amazon.com, igorch@amazon.com, mw@semihalf.com, mk@semihalf.com Date: Mon, 10 Apr 2017 16:28:09 +0200 Message-Id: <1491834491-13944-3-git-send-email-mw@semihalf.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1491834491-13944-1-git-send-email-mw@semihalf.com> References: <1491834491-13944-1-git-send-email-mw@semihalf.com> Subject: [dpdk-dev] [PATCH v2 2/4] net/ena: fix delayed cleanup of Rx descriptors 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: , X-List-Received-Date: Mon, 10 Apr 2017 14:20:15 -0000 From: Michal Krawczyk On RX path, after receiving bunch of packets, variable tracking available descriptors in HW queue was not updated. To fix this issue, variable tracking used descriptors must be updated after receiving packets - it must be reduced by the amount of received descriptors in current batch. Additionally, variable next_to_clean in rx_ring must be updated before entering ena_populate_rx_queue() to keep it up to date with the current ring state. Fixes: 1daff5260ff8 ("net/ena: use unmasked head and tail") Signed-off-by: Michal Krawczyk --- drivers/net/ena/ena_ethdev.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c index 90cf2ad..b4c713f 100644 --- a/drivers/net/ena/ena_ethdev.c +++ b/drivers/net/ena/ena_ethdev.c @@ -1575,13 +1575,13 @@ static uint16_t eth_ena_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, recv_idx++; } - desc_in_use += 1; + rx_ring->next_to_clean = next_to_clean; + + 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)) ena_populate_rx_queue(rx_ring, ring_size - desc_in_use); - rx_ring->next_to_clean = next_to_clean; - return recv_idx; } -- 1.8.3.1