patches for DPDK stable branches
 help / color / mirror / Atom feed
From: Xueming Li <xuemingl@nvidia.com>
To: Wei Hu <weh@microsoft.com>
Cc: Long Li <longli@microsoft.com>, dpdk stable <stable@dpdk.org>
Subject: patch 'net/mana: add 32-bit short doorbell' has been queued to stable release 22.11.4
Date: Sun, 22 Oct 2023 22:20:46 +0800	[thread overview]
Message-ID: <20231022142250.10324-18-xuemingl@nvidia.com> (raw)
In-Reply-To: <20231022142250.10324-1-xuemingl@nvidia.com>

Hi,

FYI, your patch has been queued to stable release 22.11.4

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 11/15/23. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://git.dpdk.org/dpdk-stable/log/?h=22.11-staging

This queued commit can be viewed at:
https://git.dpdk.org/dpdk-stable/commit/?h=22.11-staging&id=0e82ee1363f32a269db86628489350b13de2c97a

Thanks.

Xueming Li <xuemingl@nvidia.com>

---
From 0e82ee1363f32a269db86628489350b13de2c97a Mon Sep 17 00:00:00 2001
From: Wei Hu <weh@microsoft.com>
Date: Thu, 21 Sep 2023 08:34:42 +0000
Subject: [PATCH] net/mana: add 32-bit short doorbell
Cc: Xueming Li <xuemingl@nvidia.com>

[ upstream commit 26c6bdf3d1169e6e9ab04691a1088937137a6d5c ]

Add 32-bit short doorbell support.
Ring short doorbell when running in 32-bit applications.

Both 32-bit and 64-bit doorbells are supported by mana hardware on
same platform. 32-bit applications cannot use 64-bit doorbells.
64-bit applications can use 32-bit doorbells, however the performance
would greatly suffer and it is not recommended.

Signed-off-by: Wei Hu <weh@microsoft.com>
Acked-by: Long Li <longli@microsoft.com>
---
 .mailmap                |  1 +
 drivers/net/mana/gdma.c | 92 +++++++++++++++++++++++++++++++++++++++++
 drivers/net/mana/mana.h | 26 ++++++++++++
 drivers/net/mana/rx.c   | 45 ++++++++++++++++++++
 drivers/net/mana/tx.c   | 25 +++++++++++
 5 files changed, 189 insertions(+)

diff --git a/.mailmap b/.mailmap
index 244b8d2544..bde21e6e3c 100644
--- a/.mailmap
+++ b/.mailmap
@@ -1442,6 +1442,7 @@ Wei Dai <wei.dai@intel.com>
 Weifeng Li <liweifeng96@126.com>
 Weiguo Li <liwg06@foxmail.com>
 Wei Huang <wei.huang@intel.com>
+Wei Hu <weh@microsoft.com>
 Wei Hu (Xavier) <xavier.huwei@huawei.com>
 WeiJie Zhuang <zhuangwj@gmail.com>
 Weiliang Luo <droidluo@gmail.com>
diff --git a/drivers/net/mana/gdma.c b/drivers/net/mana/gdma.c
index 65685fe236..7f66a7a7cf 100644
--- a/drivers/net/mana/gdma.c
+++ b/drivers/net/mana/gdma.c
@@ -166,6 +166,97 @@ gdma_post_work_request(struct mana_gdma_queue *queue,
 	return 0;
 }

+#ifdef RTE_ARCH_32
+union gdma_short_doorbell_entry {
+	uint32_t     as_uint32;
+
+	struct {
+		uint32_t tail_ptr_incr	: 16; /* Number of CQEs */
+		uint32_t id		: 12;
+		uint32_t reserved	: 3;
+		uint32_t arm		: 1;
+	} cq;
+
+	struct {
+		uint32_t tail_ptr_incr	: 16; /* In number of bytes */
+		uint32_t id		: 12;
+		uint32_t reserved	: 4;
+	} rq;
+
+	struct {
+		uint32_t tail_ptr_incr	: 16; /* In number of bytes */
+		uint32_t id		: 12;
+		uint32_t reserved	: 4;
+	} sq;
+
+	struct {
+		uint32_t tail_ptr_incr	: 16; /* Number of EQEs */
+		uint32_t id		: 12;
+		uint32_t reserved	: 3;
+		uint32_t arm		: 1;
+	} eq;
+}; /* HW DATA */
+
+enum {
+	DOORBELL_SHORT_OFFSET_SQ = 0x10,
+	DOORBELL_SHORT_OFFSET_RQ = 0x410,
+	DOORBELL_SHORT_OFFSET_CQ = 0x810,
+	DOORBELL_SHORT_OFFSET_EQ = 0xFF0,
+};
+
+/*
+ * Write to hardware doorbell to notify new activity.
+ */
+int
+mana_ring_short_doorbell(void *db_page, enum gdma_queue_types queue_type,
+			 uint32_t queue_id, uint32_t tail_incr, uint8_t arm)
+{
+	uint8_t *addr = db_page;
+	union gdma_short_doorbell_entry e = {};
+
+	if ((queue_id & ~GDMA_SHORT_DB_QID_MASK) ||
+	    (tail_incr & ~GDMA_SHORT_DB_INC_MASK)) {
+		DP_LOG(ERR, "%s: queue_id %u or "
+		       "tail_incr %u overflowed, queue type %d",
+		       __func__, queue_id, tail_incr, queue_type);
+		return -EINVAL;
+	}
+
+	switch (queue_type) {
+	case GDMA_QUEUE_SEND:
+		e.sq.id = queue_id;
+		e.sq.tail_ptr_incr = tail_incr;
+		addr += DOORBELL_SHORT_OFFSET_SQ;
+		break;
+
+	case GDMA_QUEUE_RECEIVE:
+		e.rq.id = queue_id;
+		e.rq.tail_ptr_incr = tail_incr;
+		addr += DOORBELL_SHORT_OFFSET_RQ;
+		break;
+
+	case GDMA_QUEUE_COMPLETION:
+		e.cq.id = queue_id;
+		e.cq.tail_ptr_incr = tail_incr;
+		e.cq.arm = arm;
+		addr += DOORBELL_SHORT_OFFSET_CQ;
+		break;
+
+	default:
+		DP_LOG(ERR, "Unsupported queue type %d", queue_type);
+		return -1;
+	}
+
+	/* Ensure all writes are done before ringing doorbell */
+	rte_wmb();
+
+	DP_LOG(DEBUG, "db_page %p addr %p queue_id %u type %u tail %u arm %u",
+	       db_page, addr, queue_id, queue_type, tail_incr, arm);
+
+	rte_write32(e.as_uint32, addr);
+	return 0;
+}
+#else
 union gdma_doorbell_entry {
 	uint64_t     as_uint64;

@@ -248,6 +339,7 @@ mana_ring_doorbell(void *db_page, enum gdma_queue_types queue_type,
 	rte_write64(e.as_uint64, addr);
 	return 0;
 }
+#endif

 /*
  * Poll completion queue for completions.
diff --git a/drivers/net/mana/mana.h b/drivers/net/mana/mana.h
index 7dfacd57f3..cd877afcf9 100644
--- a/drivers/net/mana/mana.h
+++ b/drivers/net/mana/mana.h
@@ -50,6 +50,21 @@ struct mana_shared_data {
 #define MAX_TX_WQE_SIZE 512
 #define MAX_RX_WQE_SIZE 256

+/* For 32 bit only */
+#ifdef RTE_ARCH_32
+#define	GDMA_SHORT_DB_INC_MASK 0xffff
+#define	GDMA_SHORT_DB_QID_MASK 0xfff
+
+#define GDMA_SHORT_DB_MAX_WQE	(0x10000 / GDMA_WQE_ALIGNMENT_UNIT_SIZE)
+
+#define TX_WQE_SHORT_DB_THRESHOLD			\
+	(GDMA_SHORT_DB_MAX_WQE -			\
+	(MAX_TX_WQE_SIZE / GDMA_WQE_ALIGNMENT_UNIT_SIZE))
+#define RX_WQE_SHORT_DB_THRESHOLD			\
+	(GDMA_SHORT_DB_MAX_WQE -			\
+	(MAX_RX_WQE_SIZE / GDMA_WQE_ALIGNMENT_UNIT_SIZE))
+#endif
+
 /* Values from the GDMA specification document, WQE format description */
 #define INLINE_OOB_SMALL_SIZE_IN_BYTES 8
 #define INLINE_OOB_LARGE_SIZE_IN_BYTES 24
@@ -424,6 +439,11 @@ struct mana_rxq {
 	 */
 	uint32_t desc_ring_head, desc_ring_tail;

+#ifdef RTE_ARCH_32
+	/* For storing wqe increment count btw each short doorbell ring */
+	uint32_t wqe_cnt_to_short_db;
+#endif
+
 	struct mana_gdma_queue gdma_rq;
 	struct mana_gdma_queue gdma_cq;
 	struct gdma_comp *gdma_comp_buf;
@@ -450,8 +470,14 @@ extern int mana_logtype_init;

 #define PMD_INIT_FUNC_TRACE() PMD_INIT_LOG(DEBUG, " >>")

+#ifdef RTE_ARCH_32
+int mana_ring_short_doorbell(void *db_page, enum gdma_queue_types queue_type,
+			     uint32_t queue_id, uint32_t tail_incr,
+			     uint8_t arm);
+#else
 int mana_ring_doorbell(void *db_page, enum gdma_queue_types queue_type,
 		       uint32_t queue_id, uint32_t tail, uint8_t arm);
+#endif
 int mana_rq_ring_doorbell(struct mana_rxq *rxq);

 int gdma_post_work_request(struct mana_gdma_queue *queue,
diff --git a/drivers/net/mana/rx.c b/drivers/net/mana/rx.c
index fdb56ce05d..371510b473 100644
--- a/drivers/net/mana/rx.c
+++ b/drivers/net/mana/rx.c
@@ -39,10 +39,18 @@ mana_rq_ring_doorbell(struct mana_rxq *rxq)
 	/* Hardware Spec specifies that software client should set 0 for
 	 * wqe_cnt for Receive Queues.
 	 */
+#ifdef RTE_ARCH_32
+	ret = mana_ring_short_doorbell(db_page, GDMA_QUEUE_RECEIVE,
+			 rxq->gdma_rq.id,
+			 rxq->wqe_cnt_to_short_db *
+				GDMA_WQE_ALIGNMENT_UNIT_SIZE,
+			 0);
+#else
 	ret = mana_ring_doorbell(db_page, GDMA_QUEUE_RECEIVE,
 			 rxq->gdma_rq.id,
 			 rxq->gdma_rq.head * GDMA_WQE_ALIGNMENT_UNIT_SIZE,
 			 0);
+#endif

 	if (ret)
 		DP_LOG(ERR, "failed to ring RX doorbell ret %d", ret);
@@ -97,6 +105,9 @@ mana_alloc_and_post_rx_wqe(struct mana_rxq *rxq)
 		/* update queue for tracking pending packets */
 		desc->pkt = mbuf;
 		desc->wqe_size_in_bu = wqe_size_in_bu;
+#ifdef RTE_ARCH_32
+		rxq->wqe_cnt_to_short_db += wqe_size_in_bu;
+#endif
 		rxq->desc_ring_head = (rxq->desc_ring_head + 1) % rxq->num_desc;
 	} else {
 		DP_LOG(DEBUG, "failed to post recv ret %d", ret);
@@ -115,12 +126,22 @@ mana_alloc_and_post_rx_wqes(struct mana_rxq *rxq)
 	int ret;
 	uint32_t i;

+#ifdef RTE_ARCH_32
+	rxq->wqe_cnt_to_short_db = 0;
+#endif
 	for (i = 0; i < rxq->num_desc; i++) {
 		ret = mana_alloc_and_post_rx_wqe(rxq);
 		if (ret) {
 			DP_LOG(ERR, "failed to post RX ret = %d", ret);
 			return ret;
 		}
+
+#ifdef RTE_ARCH_32
+		if (rxq->wqe_cnt_to_short_db > RX_WQE_SHORT_DB_THRESHOLD) {
+			mana_rq_ring_doorbell(rxq);
+			rxq->wqe_cnt_to_short_db = 0;
+		}
+#endif
 	}

 	mana_rq_ring_doorbell(rxq);
@@ -389,6 +410,10 @@ mana_rx_burst(void *dpdk_rxq, struct rte_mbuf **pkts, uint16_t pkts_n)
 	struct rte_mbuf *mbuf;
 	int ret;
 	uint32_t num_pkts;
+#ifdef RTE_ARCH_32
+	rxq->wqe_cnt_to_short_db = 0;
+#endif
+

 	num_pkts = gdma_poll_completion_queue(&rxq->gdma_cq, rxq->gdma_comp_buf, pkts_n);
 	for (uint32_t i = 0; i < num_pkts; i++) {
@@ -470,6 +495,16 @@ drop:
 		}

 		wqe_posted++;
+
+#ifdef RTE_ARCH_32
+		/* Ring short doorbell if approaching the wqe increment
+		 * limit.
+		 */
+		if (rxq->wqe_cnt_to_short_db > RX_WQE_SHORT_DB_THRESHOLD) {
+			mana_rq_ring_doorbell(rxq);
+			rxq->wqe_cnt_to_short_db = 0;
+		}
+#endif
 	}

 	if (wqe_posted)
@@ -478,6 +513,15 @@ drop:
 	return pkt_received;
 }

+#ifdef RTE_ARCH_32
+static int
+mana_arm_cq(struct mana_rxq *rxq __rte_unused, uint8_t arm __rte_unused)
+{
+	DP_LOG(ERR, "Do not support in 32 bit");
+
+	return -ENODEV;
+}
+#else
 static int
 mana_arm_cq(struct mana_rxq *rxq, uint8_t arm)
 {
@@ -491,6 +535,7 @@ mana_arm_cq(struct mana_rxq *rxq, uint8_t arm)
 	return mana_ring_doorbell(priv->db_page, GDMA_QUEUE_COMPLETION,
 				  rxq->gdma_cq.id, head, arm);
 }
+#endif

 int
 mana_rx_intr_enable(struct rte_eth_dev *dev, uint16_t rx_queue_id)
diff --git a/drivers/net/mana/tx.c b/drivers/net/mana/tx.c
index 39cc59550e..3e255157f9 100644
--- a/drivers/net/mana/tx.c
+++ b/drivers/net/mana/tx.c
@@ -174,6 +174,9 @@ mana_tx_burst(void *dpdk_txq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 	void *db_page;
 	uint16_t pkt_sent = 0;
 	uint32_t num_comp;
+#ifdef RTE_ARCH_32
+	uint32_t wqe_count = 0;
+#endif

 	/* Process send completions from GDMA */
 	num_comp = gdma_poll_completion_queue(&txq->gdma_cq,
@@ -391,6 +394,20 @@ mana_tx_burst(void *dpdk_txq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)

 			DP_LOG(DEBUG, "nb_pkts %u pkt[%d] sent",
 			       nb_pkts, pkt_idx);
+#ifdef RTE_ARCH_32
+			wqe_count += wqe_size_in_bu;
+			if (wqe_count > TX_WQE_SHORT_DB_THRESHOLD) {
+				/* wqe_count approaching to short doorbell
+				 * increment limit. Stop processing further
+				 * more packets and just ring short
+				 * doorbell.
+				 */
+				DP_LOG(DEBUG, "wqe_count %u reaching limit, "
+				       "pkt_sent %d",
+				       wqe_count, pkt_sent);
+				break;
+			}
+#endif
 		} else {
 			DP_LOG(DEBUG, "pkt[%d] failed to post send ret %d",
 			       pkt_idx, ret);
@@ -409,11 +426,19 @@ mana_tx_burst(void *dpdk_txq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 	}

 	if (pkt_sent) {
+#ifdef RTE_ARCH_32
+		ret = mana_ring_short_doorbell(db_page, GDMA_QUEUE_SEND,
+					       txq->gdma_sq.id,
+					       wqe_count *
+						GDMA_WQE_ALIGNMENT_UNIT_SIZE,
+					       0);
+#else
 		ret = mana_ring_doorbell(db_page, GDMA_QUEUE_SEND,
 					 txq->gdma_sq.id,
 					 txq->gdma_sq.head *
 						GDMA_WQE_ALIGNMENT_UNIT_SIZE,
 					 0);
+#endif
 		if (ret)
 			DP_LOG(ERR, "mana_ring_doorbell failed ret %d", ret);
 	}
--
2.25.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2023-10-22 22:17:35.082493000 +0800
+++ 0017-net-mana-add-32-bit-short-doorbell.patch	2023-10-22 22:17:34.146723700 +0800
@@ -1 +1 @@
-From 26c6bdf3d1169e6e9ab04691a1088937137a6d5c Mon Sep 17 00:00:00 2001
+From 0e82ee1363f32a269db86628489350b13de2c97a Mon Sep 17 00:00:00 2001
@@ -4,0 +5,3 @@
+Cc: Xueming Li <xuemingl@nvidia.com>
+
+[ upstream commit 26c6bdf3d1169e6e9ab04691a1088937137a6d5c ]
@@ -14,2 +16,0 @@
-Cc: stable@dpdk.org
-
@@ -27 +28 @@
-index ec31ab8bd0..276325211c 100644
+index 244b8d2544..bde21e6e3c 100644
@@ -30 +31 @@
-@@ -1481,6 +1481,7 @@ Wei Dai <wei.dai@intel.com>
+@@ -1442,6 +1442,7 @@ Wei Dai <wei.dai@intel.com>
@@ -149 +150 @@
-index 5801491d75..74e37706be 100644
+index 7dfacd57f3..cd877afcf9 100644
@@ -174 +175 @@
-@@ -425,6 +440,11 @@ struct mana_rxq {
+@@ -424,6 +439,11 @@ struct mana_rxq {
@@ -186 +187 @@
-@@ -455,8 +475,14 @@ extern int mana_logtype_init;
+@@ -450,8 +470,14 @@ extern int mana_logtype_init;
@@ -202 +203 @@
-index 14d9085801..fc1587e206 100644
+index fdb56ce05d..371510b473 100644
@@ -257,4 +258,4 @@
-@@ -397,6 +418,10 @@ mana_rx_burst(void *dpdk_rxq, struct rte_mbuf **pkts, uint16_t pkts_n)
- 	uint32_t i;
- 	int polled = 0;
-
+@@ -389,6 +410,10 @@ mana_rx_burst(void *dpdk_rxq, struct rte_mbuf **pkts, uint16_t pkts_n)
+ 	struct rte_mbuf *mbuf;
+ 	int ret;
+ 	uint32_t num_pkts;
@@ -265,4 +266,6 @@
- repoll:
- 	/* Polling on new completions if we have no backlog */
- 	if (rxq->comp_buf_idx == rxq->comp_buf_len) {
-@@ -505,6 +530,16 @@ drop:
+
+ 	num_pkts = gdma_poll_completion_queue(&rxq->gdma_cq, rxq->gdma_comp_buf, pkts_n);
+ 	for (uint32_t i = 0; i < num_pkts; i++) {
+@@ -470,6 +495,16 @@ drop:
+ 		}
+
@@ -270,2 +272,0 @@
- 		if (pkt_received == pkts_n)
- 			break;
@@ -284,2 +285,2 @@
- 	rxq->backlog_idx = pkt_idx;
-@@ -525,6 +560,15 @@ drop:
+ 	if (wqe_posted)
+@@ -478,6 +513,15 @@ drop:
@@ -301 +302 @@
-@@ -538,6 +582,7 @@ mana_arm_cq(struct mana_rxq *rxq, uint8_t arm)
+@@ -491,6 +535,7 @@ mana_arm_cq(struct mana_rxq *rxq, uint8_t arm)
@@ -310 +311 @@
-index 11ba2ee1ac..1e2508e1f2 100644
+index 39cc59550e..3e255157f9 100644
@@ -313 +314 @@
-@@ -176,6 +176,9 @@ mana_tx_burst(void *dpdk_txq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
+@@ -174,6 +174,9 @@ mana_tx_burst(void *dpdk_txq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
@@ -316 +317 @@
- 	uint32_t num_comp, i;
+ 	uint32_t num_comp;
@@ -323 +324 @@
-@@ -418,6 +421,20 @@ mana_tx_burst(void *dpdk_txq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
+@@ -391,6 +394,20 @@ mana_tx_burst(void *dpdk_txq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
@@ -344 +345 @@
-@@ -436,11 +453,19 @@ mana_tx_burst(void *dpdk_txq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
+@@ -409,11 +426,19 @@ mana_tx_burst(void *dpdk_txq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)

  parent reply	other threads:[~2023-10-22 14:24 UTC|newest]

Thread overview: 266+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-22 14:20 patch " Xueming Li
2023-10-22 14:20 ` patch 'ci: fix race on container image name' " Xueming Li
2023-10-22 14:20 ` patch 'mempool: fix default ops for an empty mempool' " Xueming Li
2023-10-22 14:20 ` patch 'eal/unix: fix firmware reading with external xz helper' " Xueming Li
2023-10-22 14:20 ` patch 'rawdev: fix device class in log message' " Xueming Li
2023-10-22 14:20 ` patch 'net/bonding: fix header for C++' " Xueming Li
2023-10-22 14:20 ` patch 'net/sfc: set max Rx packet length for representors' " Xueming Li
2023-10-22 14:20 ` patch 'net/sfc: account for data offset on Tx' " Xueming Li
2023-10-22 14:20 ` patch 'net/sfc: add missing error code indication to MAE init path' " Xueming Li
2023-10-22 14:20 ` patch 'net/nfp: fix control message packets' " Xueming Li
2023-10-22 14:20 ` patch 'net/hns3: fix VF default MAC modified when set failed' " Xueming Li
2023-10-22 14:20 ` patch 'net/hns3: fix error code for multicast resource' " Xueming Li
2023-10-22 14:20 ` patch 'net/hns3: fix flushing multicast MAC address' " Xueming Li
2023-10-22 14:20 ` patch 'net/hns3: fix traffic management thread safety' " Xueming Li
2023-10-22 14:20 ` patch 'net/hns3: fix traffic management dump text alignment' " Xueming Li
2023-10-22 14:20 ` patch 'app/test: fix reference to master in bonding test' " Xueming Li
2023-10-22 14:20 ` patch 'net/mana: enable 32-bit build' " Xueming Li
2023-10-22 14:20 ` Xueming Li [this message]
2023-10-22 14:20 ` patch 'net/hns3: fix order in NEON Rx' " Xueming Li
2023-10-22 14:20 ` patch 'random: initialize state for unregistered non-EAL threads' " Xueming Li
2023-10-22 14:20 ` patch 'bus/dpaa: fix build with asserts for GCC 13' " Xueming Li
2023-10-22 14:20 ` patch 'gpu/cuda: fix build with external GDRCopy' " Xueming Li
2023-10-22 14:20 ` patch 'mem: fix deadlock with multiprocess' " Xueming Li
2023-10-22 14:20 ` patch 'hash: align SSE lookup to scalar implementation' " Xueming Li
2023-10-22 14:20 ` patch 'net/netvsc: increase VSP response timeout to 60 seconds' " Xueming Li
2023-10-22 14:20 ` patch 'net/txgbe: add Tx queue maximum limit' " Xueming Li
2023-10-22 14:20 ` patch 'net/txgbe: fix GRE tunnel packet checksum' " Xueming Li
2023-10-22 14:20 ` patch 'net/ngbe: fix flow control' " Xueming Li
2023-10-22 14:20 ` patch 'net/ngbe: prevent NIC from slowing down link speed' " Xueming Li
2023-10-22 14:20 ` patch 'net/txgbe: reconfigure MAC Rx when link update' " Xueming Li
2023-10-22 14:20 ` patch 'net/ngbe: " Xueming Li
2023-10-22 14:21 ` patch 'net/txgbe: keep link down after device close' " Xueming Li
2023-10-22 14:21 ` patch 'net/ngbe: " Xueming Li
2023-10-22 14:21 ` patch 'net/txgbe: check process type in close operation' " Xueming Li
2023-10-22 14:21 ` patch 'net/ngbe: " Xueming Li
2023-10-22 14:21 ` patch 'net/tap: use MAC address parse API instead of local parser' " Xueming Li
2023-10-22 14:21 ` patch 'net/gve: fix max MTU limit' " Xueming Li
2023-10-23 22:01   ` Joshua Washington
2023-10-24  7:51     ` Xueming(Steven) Li
2023-10-22 14:21 ` patch 'app/testpmd: fix help string' " Xueming Li
2023-10-22 14:21 ` patch 'test: fix named test macro' " Xueming Li
2023-10-22 14:21 ` patch 'cryptodev: add missing doc for security context' " Xueming Li
2023-10-22 14:21 ` patch 'crypto/dpaa2_sec: fix debug prints' " Xueming Li
2023-10-22 14:21 ` patch 'crypto/dpaa_sec: " Xueming Li
2023-10-22 14:21 ` patch 'doc: replace code blocks with includes in security guide' " Xueming Li
2023-10-22 14:21 ` patch 'test/security: fix IPv6 next header field' " Xueming Li
2023-10-22 14:21 ` patch 'test/crypto: fix IV in some vectors' " Xueming Li
2023-10-22 14:21 ` patch 'test/crypto: skip some synchronous tests with CPU crypto' " Xueming Li
2023-10-22 14:21 ` patch 'test/crypto: fix return value for GMAC case' " Xueming Li
2023-10-22 14:21 ` patch 'test/crypto: fix typo in asym tests' " Xueming Li
2023-10-22 14:21 ` patch 'crypto/qat: fix raw API null algorithm digest' " Xueming Li
2023-10-22 14:21 ` patch 'crypto/cnxk: fix IPsec CCM and GCM capabilities' " Xueming Li
2023-10-22 14:21 ` patch 'crypto/ipsec_mb: add dependency check for cross build' " Xueming Li
2023-10-22 14:21 ` patch 'eventdev: fix symbol export for port maintenance' " Xueming Li
2023-10-22 14:21 ` patch 'bus/pci: fix device ID log' " Xueming Li
2023-10-22 14:21 ` patch 'eventdev: fix alignment padding' " Xueming Li
2023-10-22 14:21 ` patch 'event/cnxk: fix getwork mode devargs parsing' " Xueming Li
2023-10-22 14:21 ` patch 'event/cnxk: fix CASP usage for clang' " Xueming Li
2023-10-22 14:21 ` patch 'eventdev/crypto: fix circular buffer full case' " Xueming Li
2023-10-22 14:21 ` patch 'event/cnxk: fix return values for capability API' " Xueming Li
2023-10-22 14:21 ` patch 'test/event: fix crypto null device creation' " Xueming Li
2023-10-22 14:21 ` patch 'event/sw: remove obsolete comment' " Xueming Li
2023-10-22 14:21 ` patch 'event/cnxk: fix context flush in port cleanup' " Xueming Li
2023-10-22 14:21 ` patch 'eventdev/eth_rx: fix timestamp field register in mbuf' " Xueming Li
2023-10-22 14:21 ` patch 'event/sw: fix ordering corruption with op release' " Xueming Li
2023-10-22 14:21 ` patch 'common/cnxk: fix default flow action setting' " Xueming Li
2023-10-22 14:21 ` patch 'common/cnxk: fix xstats for different packet sizes' " Xueming Li
2023-10-22 14:21 ` patch 'common/cnxk: fix different size bit operations' " Xueming Li
2023-10-22 14:21 ` patch 'common/cnxk: fix incorrect aura ID' " Xueming Li
2023-10-22 14:21 ` patch 'net/cnxk: fix uninitialized variable' " Xueming Li
2023-10-22 14:21 ` patch 'common/cnxk: fix DPI memzone name' " Xueming Li
2023-10-22 14:21 ` patch 'dma/cnxk: fix device state' " Xueming Li
2023-10-22 14:21 ` patch 'dma/cnxk: fix device reconfigure' " Xueming Li
2023-10-22 14:21 ` patch 'dma/cnxk: fix chunk buffer failure return code' " Xueming Li
2023-10-22 14:21 ` patch 'mempool/cnxk: fix free from non-EAL threads' " Xueming Li
2023-10-22 14:21 ` patch 'mempool/cnxk: fix alloc " Xueming Li
2023-10-22 14:21 ` patch 'common/cnxk: fix aura disable handling' " Xueming Li
2023-10-22 14:21 ` patch 'common/cnxk: fix RSS key configuration' " Xueming Li
2023-10-22 14:21 ` patch 'common/cnxk: remove dead Meson code' " Xueming Li
2023-10-22 14:21 ` patch 'common/cnxk: replace direct API usage in REE' " Xueming Li
2023-10-22 14:21 ` patch 'vdpa/mlx5: fix unregister kick handler order' " Xueming Li
2023-10-22 14:21 ` patch 'baseband/acc: fix ACC100 HARQ input alignment' " Xueming Li
2023-10-22 14:21 ` patch 'app/bbdev: fix link with NXP LA12XX' " Xueming Li
2023-10-22 14:21 ` patch 'net/i40e: fix FDIR queue receives broadcast packets' " Xueming Li
2023-10-22 14:21 ` patch 'net/ice: write timestamp to first segment in scattered Rx' " Xueming Li
2023-10-22 14:21 ` patch 'net/iavf: fix VLAN offload strip flag' " Xueming Li
2023-10-22 14:21 ` patch 'net/iavf: fix checksum offloading' " Xueming Li
2023-10-22 14:21 ` patch 'net/i40e: fix buffer leak on Rx reconfiguration' " Xueming Li
2023-10-22 14:21 ` patch 'net/ice: fix TM configuration clearing' " Xueming Li
2023-10-22 14:21 ` patch 'net/iavf: fix port stats " Xueming Li
2023-10-22 14:21 ` patch 'net/iavf: unregister interrupt handler before FD close' " Xueming Li
2023-10-22 14:21 ` patch 'net/iavf: fix ESN session update' " Xueming Li
2023-10-22 14:21 ` patch 'net/ice: fix initial link status' " Xueming Li
2023-10-22 14:22 ` patch 'net/iavf: fix Tx debug' " Xueming Li
2023-10-22 14:22 ` patch 'net/iavf: remove log from Tx prepare function' " Xueming Li
2023-10-22 14:22 ` patch 'net/iavf: fix TSO with big segments' " Xueming Li
2023-10-22 14:22 ` patch 'net/ice: remove log from Tx prepare function' " Xueming Li
2023-10-22 14:22 ` patch 'net/ice: fix TSO with big segments' " Xueming Li
2023-10-22 14:22 ` patch 'net/axgbe: identify CPU with cpuid' " Xueming Li
2023-10-22 14:22 ` patch 'net/ark: support single function with multiple port' " Xueming Li
2023-10-22 14:22 ` patch 'net/nfp: fix initialization of physical representors' " Xueming Li
2023-10-22 14:22 ` patch 'net/mlx5: fix leak in sysfs port name translation' " Xueming Li
2023-10-22 14:22 ` patch 'common/mlx5: replace use of PMD log type' " Xueming Li
2023-10-22 14:22 ` patch 'net/mlx5: fix jump ipool entry size' " Xueming Li
2023-10-22 14:22 ` patch 'net/mlx5/hws: fix field copy bind' " Xueming Li
2023-10-22 14:22 ` patch 'fib: fix adding default route overwriting entire table' " Xueming Li
2023-10-22 14:22 ` patch 'fib6: fix adding default route as first route' " Xueming Li
2023-10-22 14:22 ` patch 'net/mana: add missing new line to data path logs' " Xueming Li
2023-10-22 14:22 ` patch 'net/af_packet: fix Rx and Tx queue state' " Xueming Li
2023-10-22 14:22 ` patch 'net/af_xdp: " Xueming Li
2023-10-22 14:22 ` patch 'net/avp: " Xueming Li
2023-10-22 14:22 ` patch 'net/bnx2x: " Xueming Li
2023-10-22 14:22 ` patch 'net/bnxt: " Xueming Li
2023-10-22 14:22 ` patch 'net/bonding: " Xueming Li
2023-10-22 14:22 ` patch 'net/cxgbe: " Xueming Li
2023-10-22 14:22 ` patch 'net/dpaa: " Xueming Li
2023-10-22 14:22 ` patch 'net/dpaa2: " Xueming Li
2023-10-22 14:22 ` patch 'net/e1000: " Xueming Li
2023-10-22 14:22 ` patch 'net/ena: " Xueming Li
2023-10-22 14:22 ` patch 'net/enetc: " Xueming Li
2023-10-22 14:22 ` patch 'net/enic: " Xueming Li
2023-10-22 14:22 ` patch 'net/hinic: " Xueming Li
2023-10-22 14:22 ` patch 'net/ipn3ke: " Xueming Li
2023-10-22 14:22 ` patch 'net/memif: " Xueming Li
2023-10-22 14:22 ` patch 'net/mlx4: " Xueming Li
2023-10-22 14:22 ` patch 'net/mvneta: " Xueming Li
2023-10-22 14:22 ` patch 'net/mvpp2: " Xueming Li
2023-10-22 14:22 ` patch 'net/nfp: " Xueming Li
2023-10-22 14:22 ` patch 'net/ngbe: " Xueming Li
2023-10-22 14:22 ` patch 'net/null: " Xueming Li
2023-10-22 14:22 ` patch 'net/octeon_ep: " Xueming Li
2023-10-22 14:22 ` patch 'net/octeontx: " Xueming Li
2023-10-22 14:22 ` patch 'net/pfe: " Xueming Li
2023-10-22 14:22 ` patch 'net/ring: " Xueming Li
2023-10-22 14:22 ` patch 'net/sfc: " Xueming Li
2023-10-22 14:22 ` patch 'net/softnic: " Xueming Li
2023-10-22 14:22 ` patch 'net/txgbe: " Xueming Li
2023-10-22 14:22 ` patch 'net/vhost: " Xueming Li
2023-10-22 14:22 ` patch 'net/virtio: " Xueming Li
2023-10-22 14:22 ` patch 'net/vmxnet3: " Xueming Li
2023-10-22 14:22 ` patch 'app/testpmd: fix primary process not polling all queues' " Xueming Li
2023-10-22 14:22 ` patch 'net/bonding: fix link status callback stop' " Xueming Li
2023-10-22 14:22 ` patch 'ethdev: add check in async flow action query' " Xueming Li
2023-10-22 14:22 ` patch 'app/procinfo: remove unnecessary rte_malloc' " Xueming Li
2023-12-11 10:10 ` patch " Xueming Li
2023-12-11 10:10   ` patch 'bus/ifpga: fix driver header dependency' " Xueming Li
2023-12-11 10:10   ` patch 'malloc: remove return from void functions' " Xueming Li
2023-12-11 10:10   ` patch 'eventdev: fix device pointer for vdev-based devices' " Xueming Li
2023-12-11 10:10   ` patch 'eventdev: fix missing driver names in info struct' " Xueming Li
2023-12-11 10:10   ` patch 'net/virtio: fix missing next flag in Tx packed ring' " Xueming Li
2023-12-11 10:10   ` patch 'net/virtio: fix link state interrupt vector setting' " Xueming Li
2023-12-11 10:10   ` patch 'vhost: fix missing vring call check on virtqueue access' " Xueming Li
2023-12-11 10:10   ` patch 'vhost: fix missing " Xueming Li
2023-12-11 10:10   ` patch 'vhost: fix check on virtqueue access in async registration' " Xueming Li
2023-12-11 10:10   ` patch 'vhost: fix check on virtqueue access in in-flight getter' " Xueming Li
2023-12-11 10:10   ` patch 'vhost: fix missing lock protection in power monitor API' " Xueming Li
2023-12-11 10:10   ` patch 'vhost: fix checking virtqueue access in stats " Xueming Li
2023-12-11 10:10   ` patch 'common/cnxk: fix pool buffer size in opaque mode' " Xueming Li
2023-12-11 10:10   ` patch 'net/cnxk: fix data offset in vector Tx' " Xueming Li
2023-12-11 10:10   ` patch 'net/nfp: fix crash on close' " Xueming Li
2023-12-11 10:10   ` patch 'ethdev: fix function name in comment' " Xueming Li
2023-12-11 10:10   ` patch 'net/gve: update max Rx packet length to be based on MTU' " Xueming Li
2023-12-11 10:10   ` patch 'app/testpmd: fix early exit from signal' " Xueming Li
2023-12-11 10:10   ` patch 'net/hns3: fix typo in function name' " Xueming Li
2023-12-11 10:10   ` patch 'net/hns3: fix unchecked Rx free threshold' " Xueming Li
2023-12-11 10:10   ` patch 'net/hns3: fix double stats for IMP and global reset' " Xueming Li
2023-12-11 10:10   ` patch 'net/hns3: remove reset log in secondary' " Xueming Li
2023-12-11 10:10   ` patch 'net/hns3: fix multiple reset detected log' " Xueming Li
2023-12-11 10:10   ` patch 'net/hns3: fix IMP or global reset' " Xueming Li
2023-12-11 10:10   ` patch 'net/hns3: refactor interrupt state query' " Xueming Li
2023-12-11 10:10   ` patch 'net/nfp: fix reconfigure logic in PF initialization' " Xueming Li
2023-12-11 10:10   ` patch 'net/nfp: fix reconfigure logic in VF " Xueming Li
2023-12-11 10:10   ` patch 'test/bonding: remove unreachable statement' " Xueming Li
2023-12-11 10:10   ` patch 'test/bonding: add missing check' " Xueming Li
2023-12-11 10:10   ` patch 'net/bonding: fix possible overrun' " Xueming Li
2023-12-11 10:10   ` patch 'net/txgbe: add proper memory barriers in Rx' " Xueming Li
2023-12-11 10:10   ` patch 'net/ngbe: " Xueming Li
2023-12-11 10:10   ` patch 'ethdev: fix 32-bit build with GCC 13' " Xueming Li
2023-12-11 10:10   ` patch 'net/enic: avoid extra unlock in MTU set' " Xueming Li
2023-12-11 10:11   ` patch 'net/hns3: fix setting DCB capability' " Xueming Li
2023-12-11 10:11   ` patch 'net/hns3: fix LRO offload to report' " Xueming Li
2023-12-11 10:11   ` patch 'net/hns3: fix some return values' " Xueming Li
2023-12-11 10:11   ` patch 'net/hns3: fix some error logs' " Xueming Li
2023-12-11 10:11   ` patch 'net/hns3: keep set/get algo key functions local' " Xueming Li
2023-12-11 10:11   ` patch 'net/hns3: fix uninitialized hash algo value' " Xueming Li
2023-12-11 10:11   ` patch 'net/tap: fix L4 checksum offloading' " Xueming Li
2023-12-11 10:11   ` patch 'net/tap: fix IPv4 " Xueming Li
2023-12-11 10:11   ` patch 'app/procinfo: fix RSS info' " Xueming Li
2023-12-11 10:11   ` patch 'app/procinfo: adjust format of " Xueming Li
2023-12-11 10:11   ` patch 'net/nfp: fix DMA error after abnormal exit' " Xueming Li
2023-12-11 10:11   ` patch 'net/tap: fix RSS for fragmented packets' " Xueming Li
2023-12-11 10:11   ` patch 'net/mlx5: fix decap action checking in sample flow' " Xueming Li
2023-12-11 10:11   ` patch 'net/mlx5: fix NIC flow capability query' " Xueming Li
2023-12-11 10:11   ` patch 'net/mlx5: fix E-Switch mirror flow rule validation' " Xueming Li
2023-12-11 10:11   ` patch 'net/mlx5: fix flow thread safety flag for HWS' " Xueming Li
2023-12-11 10:11   ` patch 'net/mlx5/hws: fix integrity bits level' " Xueming Li
2023-12-11 10:11   ` patch 'net/mlx5: fix flow workspace double free in Windows' " Xueming Li
2023-12-11 10:11   ` patch 'common/mlx5: fix controller index parsing' " Xueming Li
2023-12-11 10:11   ` patch 'net/ice: fix L1 check interval' " Xueming Li
2023-12-11 10:11   ` patch 'net/iavf: fix Tx offload mask' " Xueming Li
2023-12-11 10:11   ` patch 'net/iavf: fix indent in Tx path' " Xueming Li
2023-12-11 10:11   ` patch 'net/iavf: fix Tx offload flags check' " Xueming Li
2023-12-11 10:11   ` patch 'net/ice: fix DCF port statistics' " Xueming Li
2023-12-11 10:11   ` patch 'doc: update kernel module entry in QAT guide' " Xueming Li
2023-12-11 10:11   ` patch 'crypto/nitrox: fix panic with high number of segments' " Xueming Li
2023-12-11 10:11   ` patch 'net/iavf: fix Tx preparation' " Xueming Li
2023-12-11 10:11   ` patch 'net/ice: " Xueming Li
2023-12-11 10:11   ` patch 'config/arm: fix aarch32 build with GCC 13' " Xueming Li
2023-12-11 10:11   ` patch 'build: add libarchive to optional external dependencies' " Xueming Li
2023-12-11 10:11   ` patch 'bus/pci: add PASID control' " Xueming Li
2023-12-11 10:11   ` patch 'event/dlb2: disable PASID' " Xueming Li
2023-12-11 10:11   ` patch 'app/dumpcap: fix mbuf pool ring type' " Xueming Li
2023-12-11 10:11   ` patch 'event/dlb2: fix name check in self-test' " Xueming Li
2023-12-11 10:11   ` patch 'baseband/acc: fix TB mode on VRB1' " Xueming Li
2023-12-11 10:11   ` patch 'test/bbdev: fix Python script subprocess' " Xueming Li
2023-12-11 10:11   ` patch 'test/bbdev: assert failed test for queue configure' " Xueming Li
2023-12-11 10:11   ` patch 'net/ice: fix crash on closing representor ports' " Xueming Li
2023-12-11 10:11   ` patch 'common/cnxk: fix SDP channel mask' " Xueming Li
2023-12-11 10:11   ` patch 'event/dlb2: fix missing queue ordering capability flag' " Xueming Li
2023-12-11 10:11   ` patch 'meter: fix RFC4115 trTCM API Doxygen' " Xueming Li
2023-12-11 10:11   ` patch 'net/sfc: remove null dereference in log' " Xueming Li
2023-12-11 10:11   ` patch 'app/testpmd: remove useless check in TSO command' " Xueming Li
2023-12-11 10:11   ` patch 'ethdev: account for smaller MTU when setting default' " Xueming Li
2023-12-11 10:11   ` patch 'test/bonding: fix uninitialized RSS configuration' " Xueming Li
2023-12-11 10:11   ` patch 'net/hns3: fix mailbox sync' " Xueming Li
2023-12-11 10:11   ` patch 'app/testpmd: fix tunnel TSO capability check' " Xueming Li
2023-12-11 10:11   ` patch 'app/testpmd: add explicit check for tunnel TSO' " Xueming Li
2023-12-11 10:11   ` patch 'app/testpmd: fix tunnel TSO configuration' " Xueming Li
2023-12-11 10:11   ` patch 'net/mlx5: fix unlock mismatch' " Xueming Li
2023-12-11 10:11   ` patch 'net/mlx5: fix validation of sample encap flow action' " Xueming Li
2023-12-11 10:11   ` patch 'net/mlx5: fix counter query during port close' " Xueming Li
2023-12-11 10:11   ` patch 'net/mlx5: fix missing flow rules for external SQ' " Xueming Li
2023-12-11 10:11   ` patch 'net/mlx5: fix destroying external representor flow' " Xueming Li
2023-12-11 10:11   ` patch 'net/mlx5: fix use after free on Rx queue start' " Xueming Li
2023-12-11 10:11   ` patch 'net/mlx5: fix hairpin queue unbind' " Xueming Li
2023-12-11 10:11   ` patch 'net/mlx5: fix hairpin queue states' " Xueming Li
2023-12-11 10:11   ` patch 'net/mlx5: fix multi-segment Tx inline data length' " Xueming Li
2023-12-11 10:11   ` patch 'net/mlx5: fix shared Rx queue list management' " Xueming Li
2023-12-11 10:11   ` patch 'net/mlx5: zero UDP checksum over IPv4 in encapsulation' " Xueming Li
2023-12-11 10:12   ` patch 'net/mlx5: fix MPRQ stride size check' " Xueming Li
2023-12-11 10:12   ` patch 'eal/riscv: fix vector type alignment' " Xueming Li
2023-12-11 10:12   ` patch 'net/txgbe: fix out of bound access' " Xueming Li
2023-12-11 10:12   ` patch 'doc: fix hns3 build option about max queue number' " Xueming Li
2023-12-11 10:12   ` patch 'doc: update features in hns3 guide' " Xueming Li
2023-12-11 10:12   ` patch 'doc: fix RSS flow description " Xueming Li
2023-12-11 10:12   ` patch 'doc: update versions recommendations for i40e and ice' " Xueming Li
2023-12-11 10:12   ` patch 'net/mlx5: fix offset size in conntrack flow action' " Xueming Li
2023-12-11 10:12   ` patch 'examples/ipsec-secgw: fix partial overflow' " Xueming Li
2023-12-11 10:12   ` patch 'config: fix RISC-V native build' " Xueming Li
2023-12-11 10:12   ` patch 'eal/windows: fix build with recent MinGW' " Xueming Li
2023-12-11 10:12   ` patch 'pdump: fix error number on IPC response' " Xueming Li
2023-12-11 10:12   ` patch 'app/dumpcap: allow multiple invocations' " Xueming Li
2023-12-11 10:12   ` patch 'examples/ethtool: fix pause configuration' " Xueming Li
2023-12-11 10:12   ` patch 'usertools/pmdinfo: fix usage typos' " Xueming Li
2023-12-11 10:12   ` patch 'test/hash: fix creation error log' " Xueming Li
2023-12-11 10:12   ` patch 'app/pipeline: add sigint handler' " Xueming Li
2023-12-11 10:12   ` patch 'doc: remove restriction on ixgbe vector support' " Xueming Li
2023-12-11 10:12   ` patch 'doc: fix some ordered lists' " Xueming Li
2023-12-11 10:12   ` patch 'doc: remove number of commands in vDPA guide' " Xueming Li
2023-12-11 10:12   ` patch 'mempool: fix get function documentation' " Xueming Li
2023-12-11 10:12   ` patch 'mempool: clarify enqueue/dequeue ops " Xueming Li
2023-12-11 10:12   ` patch 'ethdev: fix ESP packet type description' " Xueming Li
2023-12-11 10:12   ` patch 'net/hns3: fix ignored reset event' " Xueming Li
2023-12-11 10:12   ` patch 'net/hns3: fix reset event status' " Xueming Li
2023-12-11 10:12   ` patch 'net/hns3: fix VF reset handler interruption' " Xueming Li
2023-12-11 10:12   ` patch 'event/dlb2: fix disable PASID' " Xueming Li

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231022142250.10324-18-xuemingl@nvidia.com \
    --to=xuemingl@nvidia.com \
    --cc=longli@microsoft.com \
    --cc=stable@dpdk.org \
    --cc=weh@microsoft.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).