net/gve: Refill all descriptors that were consumed
PATCH 1/1 net/gve: Refill all descriptors that were consumed
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.
--- drivers/net/gve/gve_ethdev.h | 2 +- drivers/net/gve/gve_rx_dqo.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-)
drivers/net/gve/gve_ethdev.h +1 -1
@@ -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
drivers/net/gve/gve_rx_dqo.c +2 -2
@@ -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;
Signature · 1 line
2.42.0.459.ge4e396fd5e-goog
Regards,
Junfeng
Quoted 49 lines
-----Original Message-----
From: Rushil Gupta <[email protected]>
Sent: Friday, September 15, 2023 04:52
To: Zhang, Qi Z <[email protected]>; [email protected]
Cc: Guo, Junfeng <[email protected]>; [email protected]; Rushil Gupta <[email protected]>; Joshua Washington <[email protected]>
Subject: [PATCH] net/gve: Refill all descriptors that were consumedRefill 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 <[email protected]>Reviewed-by Joshua Washington <[email protected]>--- drivers/net/gve/gve_ethdev.h | 2 +- drivers/net/gve/gve_rx_dqo.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-)drivers/net/gve/gve_ethdev.h +1
-1@@ -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 512drivers/net/gve/gve_rx_dqo.c +2
-3@@ -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; --2.42.0.459.ge4e396fd5e-goog
Ferruh Yigit
AppliedQuoted 8 lines · Junfeng
Quoted 8 lines
-----Original Message-----
From: Rushil Gupta <[email protected]>
Sent: Friday, September 15, 2023 04:52
To: Zhang, Qi Z <[email protected]>; [email protected]
Cc: Guo, Junfeng <[email protected]>; [email protected]; Rushil Gupta <[email protected]>; Joshua Washington <[email protected]>
Subject: [PATCH] net/gve: Refill all descriptors that were consumed
Quoted 9 lines
Quoted 6 lines
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 <[email protected]>Reviewed-by Joshua Washington <[email protected]>Acked-by Junfeng Guo <[email protected]>
Applied to dpdk-next-net/main, thanks.