From patchwork Thu Sep 14 20:52:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rushil Gupta X-Patchwork-Id: 131436 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id DB17B4259B; Thu, 14 Sep 2023 22:52:21 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 052A240293; Thu, 14 Sep 2023 22:52:19 +0200 (CEST) Received: from mail-yb1-f201.google.com (mail-yb1-f201.google.com [209.85.219.201]) by mails.dpdk.org (Postfix) with ESMTP id A257240289 for ; Thu, 14 Sep 2023 22:52:17 +0200 (CEST) Received: by mail-yb1-f201.google.com with SMTP id 3f1490d57ef6-d802ecb5883so1729134276.3 for ; Thu, 14 Sep 2023 13:52:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1694724737; x=1695329537; darn=dpdk.org; h=cc:to:from:subject:message-id:mime-version:date:from:to:cc:subject :date:message-id:reply-to; bh=vFc4KGZ8HEoUKWTAIw/YM8rkubqX7gfkSYpIat2chk4=; b=k9Oi/VbFZHZE4YNIOAprUo99ueRKGTa3D2qK6Rwkdc6kxO9rdg9RItlGONFXvDOPUD TxduvAZhZqMYQwlC0h8kN40QBsWoudJqTix4sO8OlH+wnFsfB65kGUEshsYspGhUmind 0zIRM6DkkqRpn6/6MQfdmXWei3rJIQM2iaJGOUmnmN3+ScwgWXHAaWGv/PmihiSti59t JK/u7Fqr4nqCEmDnFTW61U4bUDWSBKS3I+eScvYbR5/9Q/dA7gOFb8z5TOSGE9HVvyf4 TCuTmN20drevJha4i/nQJo4NUnQ/27hHtJf4tXzMrZTwc6hiDaN+LhBuQ/q50MdXZPaO 1kxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694724737; x=1695329537; h=cc:to:from:subject:message-id:mime-version:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=vFc4KGZ8HEoUKWTAIw/YM8rkubqX7gfkSYpIat2chk4=; b=LYDYXTy5+eMRaPgeHWYs7i0BbMIC3EpeXT4f7JGMzpYt/3bbn36y6lIyWbQuo1d3dL mQwnsDSVVSHOjFlGQndOj+3kYrlmGTGdxowXUM/7vPUwzHbcfFUHMXnq1A8UKXPluveT DqQ/CccwokPagRoWzccF4vsH2e8QEkTKhOL0QKY7V2/A547/OZKOvnFoV0cD/TPFuChW JbYITNZhly+AZ5sjUHrvGMfjjK0niTFnRKcLD7nMaxh7+4CVMUgci+/r6ypmZN/oiopl 3e6sFqL2UOadVjObniRNASoCBWwMFcl5fgrjg1t+ujKSz2E4Lakc+35VK/JBazJuAXW6 REMg== X-Gm-Message-State: AOJu0Yw1utSvemDazF/sQfpiNMTz11UptRrGssbtscZqRI61q+n99K+i AcBCzTU90ZGm9b4TzAqivyKxd/iLRZgn X-Google-Smtp-Source: AGHT+IHwjxMSiBa5HD+hq4NRPmthzJFgCePdZ3SbB76JArY3HsBJpkXgjUkISb4eIZGWIwr219At+Kti0D2o X-Received: from rushilg.c.googlers.com ([fda3:e722:ac3:cc00:2b:ff92:c0a8:f27]) (user=rushilg job=sendgmr) by 2002:a05:6902:1102:b0:d0b:d8cd:e661 with SMTP id o2-20020a056902110200b00d0bd8cde661mr201984ybu.12.1694724736999; Thu, 14 Sep 2023 13:52:16 -0700 (PDT) Date: Thu, 14 Sep 2023 20:52:12 +0000 Mime-Version: 1.0 X-Mailer: git-send-email 2.42.0.459.ge4e396fd5e-goog Message-ID: <20230914205213.564562-1-rushilg@google.com> Subject: [PATCH] net/gve: Refill all descriptors that were consumed From: Rushil Gupta To: qi.z.zhang@intel.com, ferruh.yigit@amd.com Cc: junfeng.guo@intel.com, dev@dpdk.org, Rushil Gupta , Joshua Washington 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 Refill all consumed descriptors instead of refilling a set amount of descriptors everytime. Also, lower the rx-free-thresh to refill more aggressively. This yields in fewer packet drops for DQO queue format. Signed-off-by: Rushil Gupta Reviewed-by: Joshua Washington Acked-by: Junfeng Guo --- drivers/net/gve/gve_ethdev.h | 2 +- drivers/net/gve/gve_rx_dqo.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/gve/gve_ethdev.h b/drivers/net/gve/gve_ethdev.h index c9bcfa553c..fe7095ed76 100644 --- a/drivers/net/gve/gve_ethdev.h +++ b/drivers/net/gve/gve_ethdev.h @@ -27,7 +27,7 @@ #define PCI_MSIX_FLAGS 2 /* Message Control */ #define PCI_MSIX_FLAGS_QSIZE 0x07FF /* Table size */ -#define GVE_DEFAULT_RX_FREE_THRESH 512 +#define GVE_DEFAULT_RX_FREE_THRESH 64 #define GVE_DEFAULT_TX_FREE_THRESH 32 #define GVE_DEFAULT_TX_RS_THRESH 32 #define GVE_TX_MAX_FREE_SZ 512 diff --git a/drivers/net/gve/gve_rx_dqo.c b/drivers/net/gve/gve_rx_dqo.c index 236aefd2a8..7e7ddac48e 100644 --- a/drivers/net/gve/gve_rx_dqo.c +++ b/drivers/net/gve/gve_rx_dqo.c @@ -12,8 +12,8 @@ gve_rx_refill_dqo(struct gve_rx_queue *rxq) { volatile struct gve_rx_desc_dqo *rx_buf_ring; volatile struct gve_rx_desc_dqo *rx_buf_desc; - struct rte_mbuf *nmb[rxq->free_thresh]; - uint16_t nb_refill = rxq->free_thresh; + struct rte_mbuf *nmb[rxq->nb_rx_hold]; + uint16_t nb_refill = rxq->nb_rx_hold; uint16_t nb_desc = rxq->nb_rx_desc; uint16_t next_avail = rxq->bufq_tail; struct rte_eth_dev *dev;