From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id C05D345A84; Wed, 2 Oct 2024 01:28:41 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8A37D40267; Wed, 2 Oct 2024 01:28:41 +0200 (CEST) Received: from mail-yb1-f202.google.com (mail-yb1-f202.google.com [209.85.219.202]) by mails.dpdk.org (Postfix) with ESMTP id 5D84B40261 for ; Wed, 2 Oct 2024 01:28:40 +0200 (CEST) Received: by mail-yb1-f202.google.com with SMTP id 3f1490d57ef6-e03b3f48c65so9022133276.0 for ; Tue, 01 Oct 2024 16:28:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1727825319; x=1728430119; darn=dpdk.org; h=cc:to:from:subject:message-id:mime-version:date:from:to:cc:subject :date:message-id:reply-to; bh=B2jtnbkgEF08hd+EFyiKLcdKkRJpgUu3XIRu+AKqBw4=; b=ovl28H6h2aPxJ1r2wB5Zfllb/MIMc0JN8QyED4i4UOiHuvwd0qeWGIFgzzIXhUZ9Fz OS8by36s3lIjwGXAV30Lp/IaBEieousAKGbHt4z7pJSHNzmOd0zb3lGMC8VPo92DlRnS kTB8Bx+TzMj9BW4A1S7wx3ZsRrYce/r1XfsgSUET6VcYHmQkhaZvs8uulOajdtnnhec4 cGa10J90cMYGE3VDp5lPB+RKClEwYSEra5LLYdiEeUv2DntBsCWt+i4nw4RdQ+c20JZk fbUVT18tTOZLh8YeI87LLaPEe4E5ZWm3E7ldzdtuj7WVJDs8lkD2BVfn5RyPW70juzsd OAqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727825319; x=1728430119; h=cc:to:from:subject:message-id:mime-version:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=B2jtnbkgEF08hd+EFyiKLcdKkRJpgUu3XIRu+AKqBw4=; b=ZKxkaqLBCC4VbmTuKYxNybBYKlV2SA8goXcrs9HbuYJAHmlikCCTusxnAtlTtzFb9i Hud0IMLdXADSvQfLT7qV+apYDOFRKawRZQc1CLqirGYKSD5LMRWxuWKE2t2ESA6Hfedt 6yEcZB6zjOcQ65ArcjDwxgAM8Ioyx0TjxTCZXpRmoIx8Lwq6hQEPpAwSXsGLJnp4brIw yc4JfABj+BATeSpPrncUFfrvMaFbRqHvUkfe/jnpSpY48e4vwFuEbUn38cc9q1MhJ11f Yh6cu6OTeyrwnupsM3LiqbTnT2NtJNOmT1G3hroS6FY2Kc1Eaqxk0PFHBBH/FQQtOyJ7 tbSg== X-Gm-Message-State: AOJu0YyC3JXm0Ej38ZmIvd97MY7Lavv2zVe779M7fonty+VH3mW+cofB tcP3QStetyO1UnXAZpfHtWB1puE6ELrZtKONfowQ8HjjDoVUvqXA6iuvvM0Jblz4sPtlITz3w6V qXfzbeajnXA== X-Google-Smtp-Source: AGHT+IHhr/sCmfNHCKkWdCJOhjtucLJ0C1W8zXQP9QNfL5DncoqV3IKOjMNKVoENmuQogSRDy2UmndIq4QG3/g== X-Received: from joshwash.sea.corp.google.com ([2620:15c:11c:202:a282:7553:57e3:9bee]) (user=joshwash job=sendgmr) by 2002:a25:9e8a:0:b0:e1d:7ce:4844 with SMTP id 3f1490d57ef6-e26383b69ebmr4894276.4.1727825319644; Tue, 01 Oct 2024 16:28:39 -0700 (PDT) Date: Tue, 1 Oct 2024 16:28:37 -0700 Mime-Version: 1.0 X-Mailer: git-send-email 2.46.1.824.gd892dcdcdd-goog Message-ID: <20241001232837.3267478-1-joshwash@google.com> Subject: net/gve: attempt Rx refill even when no packets received on DQ From: Joshua Washington To: Thomas Monjalon , Jeroen de Borst , Rushil Gupta , Joshua Washington , Junfeng Guo Cc: dev@dpdk.org, stable@dpdk.org, Ferruh Yigit , Praveen Kaligineedi Content-Type: text/plain; charset="UTF-8" X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Before this patch, gve_rx_refill_dqo() is only called if the number of packets received in a cycle is non-zero. However, in a memory-constrained scenario, this doesn't behave well, as this could be a potential source of lockup, if there is no memory and all buffers have been received before memory is freed up for the driver to use. This patch moves the gve_rx_refill_dqo() call to occur regardless of whether packets have been received so that in the case that enough memory is freed, the driver can recover. Fixes: 45da16b5b18 ("net/gve: support for basic Rx data path for DQO") Signed-off-by: Joshua Washington Reviewed-by: Praveen Kaligineedi Reviewed-by: Rushil Gupta --- .mailmap | 1 + drivers/net/gve/gve_rx_dqo.c | 6 ++---- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.mailmap b/.mailmap index 09fa253e12..2fc689a4de 100644 --- a/.mailmap +++ b/.mailmap @@ -1172,6 +1172,7 @@ Prashant Bhole Prashant Upadhyaya Prateek Agarwal Prathisna Padmasanan +Praveen Kaligineedi Praveen Shetty Pravin Pathak Prince Takkar diff --git a/drivers/net/gve/gve_rx_dqo.c b/drivers/net/gve/gve_rx_dqo.c index d8e9eee4a8..60702d4100 100644 --- a/drivers/net/gve/gve_rx_dqo.c +++ b/drivers/net/gve/gve_rx_dqo.c @@ -195,14 +195,12 @@ gve_rx_burst_dqo(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts) if (nb_rx > 0) { rxq->rx_tail = rx_id; - if (rx_id_bufq != rxq->next_avail) - rxq->next_avail = rx_id_bufq; - - gve_rx_refill_dqo(rxq); + rxq->next_avail = rx_id_bufq; rxq->stats.packets += nb_rx; rxq->stats.bytes += bytes; } + gve_rx_refill_dqo(rxq); return nb_rx; } -- 2.46.1.824.gd892dcdcdd-goog