From: liujie5@linkdatatechnology.com
To: stephen@networkplumber.org
Cc: dev@dpdk.org, Jie Liu <liujie5@linkdatatechnology.com>, stable@dpdk.org
Subject: [PATCH v7 31/47] net/sxe2: fix NEON Rx ptype mapping and memory ordering
Date: Mon, 31 Aug 2026 10:44:03 +0800 [thread overview]
Message-ID: <20260831024403.3231082-1-liujie5@linkdatatechnology.com> (raw)
In-Reply-To: <20260828074056.2250222-1-liujie5@linkdatatechnology.com>
From: Jie Liu <liujie5@linkdatatechnology.com>
Compute the descriptor lower/upper dwords (desc_lo/desc_hi) once per
loop iteration and pass them to sxe2_rx_desc_ptype_fill_neon() and
sxe2_rx_desc_offloads_para_fill_neon(). Map the packet_type lanes
from desc_lo lanes 1/3/5/7, fixing the previous lane ordering that
mapped pkt0/1/2/3 from lanes 5/1/7/3.
Drop three of the four rte_atomic_thread_fence(acquire) barriers
between the descriptor loads in sxe2_rx_pkts_common_vec_neon(); the
single acquire fence after the descriptor set is loaded is sufficient
for the Rx producer/consumer ordering.
Fixes: ac60f302cbef ("net/sxe2: add vectorized Rx and Tx")
Cc: stable@dpdk.org
Signed-off-by: Jie Liu <liujie5@linkdatatechnology.com>
---
drivers/net/sxe2/sxe2_txrx_vec_neon.c | 132 +++++++++++++-------------
1 file changed, 68 insertions(+), 64 deletions(-)
diff --git a/drivers/net/sxe2/sxe2_txrx_vec_neon.c b/drivers/net/sxe2/sxe2_txrx_vec_neon.c
index 6b4c70c7ac..0b139b8269 100644
--- a/drivers/net/sxe2/sxe2_txrx_vec_neon.c
+++ b/drivers/net/sxe2/sxe2_txrx_vec_neon.c
@@ -213,22 +213,24 @@ uint16_t sxe2_tx_pkts_vec_neon(void *tx_queue,
}
static __rte_always_inline void
-sxe2_rx_desc_ptype_fill_neon(uint16x8_t staterr, struct rte_mbuf **__rte_restrict rx_pkts)
+sxe2_rx_desc_ptype_fill_neon(uint32x4_t desc_lo,
+ struct rte_mbuf **__rte_restrict rx_pkts,
+ const uint32_t *__rte_restrict ptype_tbl)
{
- uint16x8_t ptype_mask = {
- 0, 0x3FFULL,
- 0, 0x3FFULL,
- 0, 0x3FFULL,
- 0, 0x3FFULL,
+ const uint32x4_t ptype_mask = {
+ SXE2_RX_DESC_PTYPE_MASK_NO_SHIFT << 16,
+ SXE2_RX_DESC_PTYPE_MASK_NO_SHIFT << 16,
+ SXE2_RX_DESC_PTYPE_MASK_NO_SHIFT << 16,
+ SXE2_RX_DESC_PTYPE_MASK_NO_SHIFT << 16,
};
uint16x8_t ptype_all;
- ptype_all = vandq_u16(staterr, ptype_mask);
+ ptype_all = vreinterpretq_u16_u32(vandq_u32(desc_lo, ptype_mask));
- rx_pkts[3]->packet_type = sxe2_ptype_tbl[vgetq_lane_u16(ptype_all, 3)];
- rx_pkts[2]->packet_type = sxe2_ptype_tbl[vgetq_lane_u16(ptype_all, 7)];
- rx_pkts[1]->packet_type = sxe2_ptype_tbl[vgetq_lane_u16(ptype_all, 1)];
- rx_pkts[0]->packet_type = sxe2_ptype_tbl[vgetq_lane_u16(ptype_all, 5)];
+ rx_pkts[0]->packet_type = ptype_tbl[vgetq_lane_u16(ptype_all, 1)];
+ rx_pkts[1]->packet_type = ptype_tbl[vgetq_lane_u16(ptype_all, 3)];
+ rx_pkts[2]->packet_type = ptype_tbl[vgetq_lane_u16(ptype_all, 5)];
+ rx_pkts[3]->packet_type = ptype_tbl[vgetq_lane_u16(ptype_all, 7)];
}
static __rte_always_inline uint32x4_t
@@ -271,9 +273,10 @@ sxe2_rx_desc_fnav_flags_neon(uint64x2_t descs_arr[4])
static __rte_always_inline void
sxe2_rx_desc_offloads_para_fill_neon(struct sxe2_rx_queue *rxq,
volatile union sxe2_rx_desc *desc,
- uint64x2_t descs[4], struct rte_mbuf **rx_pkts)
+ uint64x2_t descs[4], uint32x4_t desc_lo, uint32x4_t desc_hi,
+ struct rte_mbuf **rx_pkts)
{
- uint32x4_t desc_lo, desc_hi, flags, tmp_flags;
+ uint32x4_t flags, tmp_flags;
const uint64x2_t mbuf_init = {rxq->mbuf_init_value, 0};
uint64x2_t rearm0, rearm1, rearm2, rearm3;
@@ -330,23 +333,6 @@ sxe2_rx_desc_offloads_para_fill_neon(struct sxe2_rx_queue *rxq,
0, 0, 0, 0, 0, 0, 0, 0
};
- {
- uint32x4_t d0 = vreinterpretq_u32_u64(descs[0]);
- uint32x4_t d1 = vreinterpretq_u32_u64(descs[1]);
- uint32x4_t d2 = vreinterpretq_u32_u64(descs[2]);
- uint32x4_t d3 = vreinterpretq_u32_u64(descs[3]);
- uint64x2_t f64, t64;
-
- flags = vzip2q_u32(d1, d0);
- tmp_flags = vzip2q_u32(d3, d2);
- f64 = vreinterpretq_u64_u32(flags);
- t64 = vreinterpretq_u64_u32(tmp_flags);
- desc_lo = vreinterpretq_u32_u64(vcombine_u64(vget_low_u64(f64),
- vget_low_u64(t64)));
- desc_hi = vreinterpretq_u32_u64(vcombine_u64(vget_high_u64(f64),
- vget_high_u64(t64)));
- }
-
desc_lo = vandq_u32(desc_lo, desc_msk);
desc_hi = vandq_u32(desc_hi, rss_msk);
@@ -505,25 +491,39 @@ sxe2_rx_pkts_common_vec_neon(struct sxe2_rx_queue *rxq, struct rte_mbuf **rx_pkt
uint64x2_t descs[SXE2_RX_NUM_PER_LOOP_NEON];
uint8x16_t pkt_mb1, pkt_mb2, pkt_mb3, pkt_mb4;
uint64x2_t mbp1, mbp2;
+ uint32x4_t desc_lo, desc_hi;
uint16x8_t staterr;
uint16x8_t tmp;
uint16_t bit_num;
descs[3] = vld1q_u64(RTE_CAST_PTR(uint64_t *, desc + 3));
- rte_atomic_thread_fence(rte_memory_order_acquire);
descs[2] = vld1q_u64(RTE_CAST_PTR(uint64_t *, desc + 2));
- rte_atomic_thread_fence(rte_memory_order_acquire);
descs[1] = vld1q_u64(RTE_CAST_PTR(uint64_t *, desc + 1));
- rte_atomic_thread_fence(rte_memory_order_acquire);
descs[0] = vld1q_u64(RTE_CAST_PTR(uint64_t *, desc));
rte_atomic_thread_fence(rte_memory_order_acquire);
-
descs[3] = vld1q_lane_u64(RTE_CAST_PTR(uint64_t *, desc + 3), descs[3], 0);
descs[2] = vld1q_lane_u64(RTE_CAST_PTR(uint64_t *, desc + 2), descs[2], 0);
descs[1] = vld1q_lane_u64(RTE_CAST_PTR(uint64_t *, desc + 1), descs[1], 0);
descs[0] = vld1q_lane_u64(RTE_CAST_PTR(uint64_t *, desc), descs[0], 0);
+ {
+ uint32x4_t d0 = vreinterpretq_u32_u64(descs[0]);
+ uint32x4_t d1 = vreinterpretq_u32_u64(descs[1]);
+ uint32x4_t d2 = vreinterpretq_u32_u64(descs[2]);
+ uint32x4_t d3 = vreinterpretq_u32_u64(descs[3]);
+
+ uint32x4_t q1_01 = vzip2q_u32(d0, d1);
+ uint32x4_t q1_23 = vzip2q_u32(d2, d3);
+ uint64x2_t q1_01_64 = vreinterpretq_u64_u32(q1_01);
+ uint64x2_t q1_23_64 = vreinterpretq_u64_u32(q1_23);
+
+ desc_lo = vreinterpretq_u32_u64(vcombine_u64(vget_low_u64(q1_01_64),
+ vget_low_u64(q1_23_64)));
+ desc_hi = vreinterpretq_u32_u64(vcombine_u64(vget_high_u64(q1_01_64),
+ vget_high_u64(q1_23_64)));
+ }
+
mbp1 = vld1q_u64((uint64_t *)&buffer[i]);
mbp2 = vld1q_u64((uint64_t *)&buffer[i + 2]);
@@ -543,7 +543,8 @@ sxe2_rx_pkts_common_vec_neon(struct sxe2_rx_queue *rxq, struct rte_mbuf **rx_pkt
pkt_mb1 = vqtbl1q_u8(vreinterpretq_u8_u64(descs[0]), rvp_shuf_mask);
if (do_offload) {
- sxe2_rx_desc_offloads_para_fill_neon(rxq, desc, descs, &rx_pkts[i]);
+ sxe2_rx_desc_offloads_para_fill_neon(rxq, desc, descs, desc_lo,
+ desc_hi, &rx_pkts[i]);
} else {
const uint64x2_t mbuf_init = {
rxq->mbuf_init_value,
@@ -578,55 +579,48 @@ sxe2_rx_pkts_common_vec_neon(struct sxe2_rx_queue *rxq, struct rte_mbuf **rx_pkt
rte_prefetch_non_temporal(desc + SXE2_RX_NUM_PER_LOOP_NEON);
{
- uint32x4_t d0 = vreinterpretq_u32_u64(descs[0]);
- uint32x4_t d1 = vreinterpretq_u32_u64(descs[1]);
- uint32x4_t d2 = vreinterpretq_u32_u64(descs[2]);
- uint32x4_t d3 = vreinterpretq_u32_u64(descs[3]);
- uint32x4_t sterr_tmp1 = vzip2q_u32(d1, d0);
- uint32x4_t sterr_tmp2 = vzip2q_u32(d3, d2);
- uint32x4_t sterr_u32 = vzip1q_u32(sterr_tmp1, sterr_tmp2);
-
- staterr = vreinterpretq_u16_u32(sterr_u32);
+ uint16x8_t sterr_tmp1 = vzip2q_u16(vreinterpretq_u16_u64(descs[0]),
+ vreinterpretq_u16_u64(descs[2]));
+ uint16x8_t sterr_tmp2 = vzip2q_u16(vreinterpretq_u16_u64(descs[1]),
+ vreinterpretq_u16_u64(descs[3]));
+ staterr = vzip1q_u16(sterr_tmp1, sterr_tmp2);
}
- sxe2_rx_desc_ptype_fill_neon(staterr, &rx_pkts[i]);
+ sxe2_rx_desc_ptype_fill_neon(desc_lo, &rx_pkts[i], sxe2_ptype_tbl);
if (umbcast_flags != NULL) {
- uint32x4_t umbcast_mask = {
- SXE2_RX_DESC_STATUS_UMBCAST_MASK, SXE2_RX_DESC_STATUS_UMBCAST_MASK,
- SXE2_RX_DESC_STATUS_UMBCAST_MASK, SXE2_RX_DESC_STATUS_UMBCAST_MASK,
- };
-
+ const uint32x4_t umbcast_mask =
+ vdupq_n_u32(SXE2_RX_DESC_STATUS_UMBCAST_MASK);
uint8x16_t umbcast_shuf_mask = {
- 0x0B, 0x03, 0x0F, 0x07,
+ 3, 7, 11, 15,
0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF,
};
uint8x16_t umbcast_bits =
- vreinterpretq_u8_u32(vandq_u32(vreinterpretq_u32_u16(staterr),
- umbcast_mask));
+ vreinterpretq_u8_u32(vandq_u32(desc_lo, umbcast_mask));
umbcast_bits = vqtbl1q_u8(umbcast_bits, umbcast_shuf_mask);
- vst1q_lane_u32((uint32_t *)umbcast_flags,
- vreinterpretq_u32_u8(umbcast_bits), 0);
+ *(uint32_t *)umbcast_flags =
+ vgetq_lane_u32(vreinterpretq_u32_u8(umbcast_bits), 0);
umbcast_flags += SXE2_RX_NUM_PER_LOOP_NEON;
}
if (split_rxe_flags) {
uint8x16_t eop_shuf_mask = {
- 0x08, 0x00, 0x0C, 0x04,
+ 0, 2, 4, 6,
0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF};
uint8x16_t eop_bits;
uint32x4_t rxe_mask = {
- 0x2080, 0x2080, 0x2080, 0x2080
+ 0x20802080, 0x20802080, 0x20802080, 0x20802080
};
uint32x4_t rxe_bits;
uint32x4_t eop_mask;
- eop_mask = vshlq_n_u32(vdupq_n_u32(1), SXE2_RX_DESC_STATUS_EOP_SHIFT);
+ eop_mask = vdupq_n_u32((1U << SXE2_RX_DESC_STATUS_EOP_SHIFT) |
+ (1U << (SXE2_RX_DESC_STATUS_EOP_SHIFT + 16)));
eop_bits = vandq_u8(vmvnq_u8(vreinterpretq_u8_u16(staterr)),
vreinterpretq_u8_u32(eop_mask));
@@ -650,12 +644,22 @@ sxe2_rx_pkts_common_vec_neon(struct sxe2_rx_queue *rxq, struct rte_mbuf **rx_pkt
}
{
- uint32x4_t dd_mask = vdupq_n_u32(1);
- uint32x4_t sterr_dd = vandq_u32(vreinterpretq_u32_u16(staterr), dd_mask);
- uint16x4_t packed_lo = vmovn_u32(sterr_dd);
- uint64_t dd64 = vget_lane_u64(vreinterpret_u64_u16(packed_lo), 0);
-
- bit_num = (uint16_t)rte_popcount64(dd64);
+ const uint16x8_t dd_check = {
+ 0x0001, 0x0001, 0x0001, 0x0001,
+ 0, 0, 0, 0
+ };
+ uint16x8_t sterr_dd;
+ uint64_t stat;
+ sterr_dd = vandq_u16(staterr, dd_check);
+ sterr_dd = vshlq_n_u16(sterr_dd, 15);
+ sterr_dd =
+ vreinterpretq_u16_s16(vshrq_n_s16(vreinterpretq_s16_u16(sterr_dd),
+ 15));
+ stat = ~vgetq_lane_u64(vreinterpretq_u64_u16(sterr_dd), 0);
+ if (likely(stat == 0))
+ bit_num = SXE2_RX_NUM_PER_LOOP_NEON;
+ else
+ bit_num = (uint16_t)(rte_ctz64(stat) / 16);
}
done_num += bit_num;
if (likely(bit_num != SXE2_RX_NUM_PER_LOOP_NEON))
--
2.52.0
next prev parent reply other threads:[~2026-08-31 2:44 UTC|newest]
Thread overview: 429+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-18 2:15 [PATCH v1 00/13] net/sxe2: fix bugs liujie5
2026-08-18 2:15 ` [PATCH v1 01/13] net/sxe2: add Rx queue buffer split fill support liujie5
2026-08-18 2:15 ` [PATCH v1 02/13] net/sxe2: update switchdev repr VSI ID display format liujie5
2026-08-18 2:15 ` [PATCH v1 03/13] net/sxe2: add ACL engine event statistics support liujie5
2026-08-18 2:15 ` [PATCH v1 04/13] net/sxe2: enhance device cap and res management liujie5
2026-08-18 2:15 ` [PATCH v1 05/13] net/sxe2: improve representor device initialization liujie5
2026-08-18 2:15 ` [PATCH v1 06/13] net/sxe2: refactor flow tunnel port handling liujie5
2026-08-18 2:15 ` [PATCH v1 07/13] net/sxe2: validate IPsec key length against maximum limit liujie5
2026-08-18 2:15 ` [PATCH v1 08/13] net/sxe2: enhance repr event handling and MP code liujie5
2026-08-18 2:15 ` [PATCH v1 09/13] net/sxe2: optimize vectorized Tx/Rx path liujie5
2026-08-18 2:15 ` [PATCH v1 10/13] common/sxe2: allow munmap during kernel reset liujie5
2026-08-18 2:15 ` [PATCH v1 11/13] net/sxe2: clean up duplicate function declarations liujie5
2026-08-18 2:15 ` [PATCH v1 12/13] net/sxe2: clean up structure definitions liujie5
2026-08-18 2:15 ` [PATCH v1 13/13] doc/sxe2: add acl-stat-type parameter documentation liujie5
2026-08-26 8:53 ` [PATCH v3 00/51] net/sxe2: add Stars SXE2 net driver with fixes liujie5
2026-08-26 17:07 ` Stephen Hemminger
2026-08-26 8:53 ` [PATCH v3 01/51] common/sxe2: fix null pointer in class driver remove liujie5
2026-08-26 8:53 ` [PATCH v3 02/51] common/sxe2: allow munmap during kernel reset liujie5
2026-08-26 8:53 ` [PATCH v3 03/51] net/sxe2: fix VF PCI device ID liujie5
2026-08-26 8:54 ` [PATCH v3 04/51] net/sxe2: fix MSIX register width in PF map table liujie5
2026-08-26 8:54 ` [PATCH v3 05/51] net/sxe2: restore pf and port index caps assignment liujie5
2026-08-26 8:54 ` [PATCH v3 06/51] net/sxe2: fix VSI lifecycle management liujie5
2026-08-26 8:54 ` [PATCH v3 07/51] net/sxe2: initialize stats in representor device init liujie5
2026-08-26 8:54 ` [PATCH v3 08/51] net/sxe2: use base device name for representor naming liujie5
2026-08-26 8:54 ` [PATCH v3 09/51] net/sxe2: propagate LSC event to VF representors liujie5
2026-08-26 8:54 ` [PATCH v3 10/51] net/sxe2: validate IPsec key length against maximum limit liujie5
2026-08-26 8:54 ` [PATCH v3 11/51] net/sxe2: rename representor VSI ID fields liujie5
2026-08-26 8:54 ` [PATCH v3 12/51] net/sxe2: clean up duplicate function declarations liujie5
2026-08-26 8:54 ` [PATCH v3 13/51] net/sxe2: fix null VSI dereference in device info liujie5
2026-08-26 8:55 ` [PATCH v3 14/51] net/sxe2: fill MAC and queue counts " liujie5
2026-08-26 8:55 ` [PATCH v3 15/51] net/sxe2: fix QinQ and RSS offload capability report liujie5
2026-08-26 8:55 ` [PATCH v3 16/51] net/sxe2: use regular write for mapped registers liujie5
2026-08-26 8:55 ` [PATCH v3 17/51] net/sxe2: move PCI register read macro to common header liujie5
2026-08-26 8:55 ` [PATCH v3 18/51] net/sxe2: validate PCI map resource type liujie5
2026-08-26 8:55 ` [PATCH v3 19/51] net/sxe2: guard PCI BAR unmap when not initialized liujie5
2026-08-26 8:55 ` [PATCH v3 20/51] net/sxe2: fix null dereference in dev uninit liujie5
2026-08-26 8:55 ` [PATCH v3 21/51] net/sxe2: fix duplicated cleanup in dev close liujie5
2026-08-26 8:55 ` [PATCH v3 22/51] net/sxe2: align dev init and cleanup order liujie5
2026-08-26 8:55 ` [PATCH v3 23/51] net/sxe2: simplify switchdev representor matching liujie5
2026-08-26 8:55 ` [PATCH v3 24/51] net/sxe2: probe all requested PF ports liujie5
2026-08-26 8:56 ` [PATCH v3 25/51] net/sxe2: rename fnav cid manager symbols to flow liujie5
2026-08-26 8:56 ` [PATCH v3 26/51] net/sxe2: move tunnel port helpers into flow module liujie5
2026-08-26 8:56 ` [PATCH v3 27/51] net/sxe2: add ACL engine event statistics support liujie5
2026-08-26 8:56 ` [PATCH v3 28/51] net/sxe2: guard Rx queue event FD free in unregister liujie5
2026-08-26 8:56 ` [PATCH v3 29/51] net/sxe2: refactor primary process MP message handling liujie5
2026-08-26 8:56 ` [PATCH v3 30/51] net/sxe2: refactor Tx queue reset operations liujie5
2026-08-26 8:56 ` [PATCH v3 31/51] net/sxe2: unify vectorized Tx buffer handling liujie5
2026-08-26 8:56 ` [PATCH v3 32/51] net/sxe2: refine vectorized Tx/Rx mode setup liujie5
2026-08-26 8:56 ` [PATCH v3 33/51] net/sxe2: fix RSS action attribute validation liujie5
2026-08-26 8:56 ` [PATCH v3 34/51] net/sxe2: restore PF-only guard in udp tunnel port add liujie5
2026-08-26 8:57 ` [PATCH v3 35/51] net/sxe2: align flow meta proc priority handling with V3 liujie5
2026-08-26 8:57 ` [PATCH v3 36/51] net/sxe2: restore link update call in status query liujie5
2026-08-26 8:57 ` [PATCH v3 37/51] net/sxe2: validate representor ID against VF count liujie5
2026-08-26 8:57 ` [PATCH v3 38/51] net/sxe2: use primary VSI ID for representor VSI liujie5
2026-08-26 8:57 ` [PATCH v3 39/51] net/sxe2: wrap command params fill debug log in macro liujie5
2026-08-26 8:57 ` [PATCH v3 40/51] net/sxe2: restore Rx queue buffer split fill support liujie5
2026-08-26 8:57 ` [PATCH v3 41/51] net/sxe2: skip tunnel config fill on get failure liujie5
2026-08-26 8:57 ` [PATCH v3 42/51] net/sxe2: skip flow id assignment on filter add failure liujie5
2026-08-26 8:57 ` [PATCH v3 43/51] net/sxe2: fix command channel log messages liujie5
2026-08-26 8:57 ` [PATCH v3 44/51] net/sxe2: align command structs with historical kernel layout liujie5
2026-08-26 8:58 ` [PATCH v3 45/51] common/sxe2: fix ioctl channel log and close handling liujie5
2026-08-26 8:58 ` [PATCH v3 46/51] doc/sxe2: remove drv-sw-stats parameter documentation liujie5
2026-08-26 8:58 ` [PATCH v3 47/51] net/sxe2: harden ACL flow count resource handling liujie5
2026-08-26 8:58 ` [PATCH v3 48/51] net/sxe2: fix device init and representor matching issues liujie5
2026-08-26 8:58 ` [PATCH v3 49/51] net/sxe2: use correct loop counter type for representor LSC liujie5
2026-08-26 8:58 ` [PATCH v3 50/51] net/sxe2: restore NULL check in vectorized Tx mbuf release liujie5
2026-08-26 8:58 ` [PATCH v3 51/51] net/sxe2: simplify Rx queue buffer split fill helper liujie5
2026-08-27 2:36 ` [PATCH v4 00/44] net/sxe2: add Stars SXE2 net driver with fixes liujie5
2026-08-27 15:14 ` Stephen Hemminger
2026-08-27 2:36 ` [PATCH v4 01/44] common/sxe2: fix null pointer in class driver remove liujie5
2026-08-27 2:36 ` [PATCH v4 02/44] common/sxe2: allow munmap during kernel reset liujie5
2026-08-27 2:36 ` [PATCH v4 03/44] net/sxe2: fix VF PCI device ID liujie5
2026-08-27 2:36 ` [PATCH v4 04/44] net/sxe2: fix MSIX register width in PF map table liujie5
2026-08-27 2:36 ` [PATCH v4 05/44] net/sxe2: restore pf and port index caps assignment liujie5
2026-08-27 2:36 ` [PATCH v4 06/44] net/sxe2: fix VSI lifecycle management liujie5
2026-08-27 2:37 ` [PATCH v4 07/44] net/sxe2: initialize stats in representor device init liujie5
2026-08-27 2:37 ` [PATCH v4 08/44] net/sxe2: use base device name for representor naming liujie5
2026-08-27 2:37 ` [PATCH v4 09/44] net/sxe2: propagate LSC event to VF representors liujie5
2026-08-27 2:37 ` [PATCH v4 10/44] net/sxe2: validate IPsec key length against maximum limit liujie5
2026-08-27 2:37 ` [PATCH v4 11/44] net/sxe2: rename representor VSI ID fields liujie5
2026-08-27 2:37 ` [PATCH v4 12/44] net/sxe2: clean up duplicate function declarations liujie5
2026-08-27 2:37 ` [PATCH v4 13/44] net/sxe2: fix null VSI dereference in device info liujie5
2026-08-27 2:37 ` [PATCH v4 14/44] net/sxe2: fill MAC and queue counts " liujie5
2026-08-27 2:37 ` [PATCH v4 15/44] net/sxe2: fix QinQ and RSS offload capability report liujie5
2026-08-27 2:37 ` [PATCH v4 16/44] net/sxe2: use regular write for mapped registers liujie5
2026-08-27 2:37 ` [PATCH v4 17/44] net/sxe2: move PCI register read macro to common header liujie5
2026-08-27 2:38 ` [PATCH v4 18/44] net/sxe2: validate PCI map resource type liujie5
2026-08-27 2:38 ` [PATCH v4 19/44] net/sxe2: guard PCI BAR unmap when not initialized liujie5
2026-08-27 2:38 ` [PATCH v4 20/44] net/sxe2: fix null dereference in dev uninit liujie5
2026-08-27 2:38 ` [PATCH v4 21/44] net/sxe2: fix duplicated cleanup in dev close liujie5
2026-08-27 2:38 ` [PATCH v4 22/44] net/sxe2: align dev init and cleanup order liujie5
2026-08-27 2:38 ` [PATCH v4 23/44] net/sxe2: simplify switchdev representor matching liujie5
2026-08-27 2:38 ` [PATCH v4 24/44] net/sxe2: rename fnav cid manager symbols to flow liujie5
2026-08-27 2:38 ` [PATCH v4 25/44] net/sxe2: move tunnel port helpers into flow module liujie5
2026-08-27 2:38 ` [PATCH v4 26/44] net/sxe2: add ACL engine event statistics support liujie5
2026-08-27 2:38 ` [PATCH v4 27/44] net/sxe2: guard Rx queue event FD free in unregister liujie5
2026-08-27 2:39 ` [PATCH v4 28/44] net/sxe2: refactor primary process MP message handling liujie5
2026-08-27 2:39 ` [PATCH v4 29/44] net/sxe2: refactor Tx queue reset operations liujie5
2026-08-27 2:39 ` [PATCH v4 30/44] net/sxe2: unify vectorized Tx buffer handling liujie5
2026-08-27 2:39 ` [PATCH v4 31/44] net/sxe2: refine vectorized Tx/Rx mode setup liujie5
2026-08-27 2:39 ` [PATCH v4 32/44] net/sxe2: fix RSS action attribute validation liujie5
2026-08-27 2:39 ` [PATCH v4 33/44] net/sxe2: restore PF-only guard in udp tunnel port add liujie5
2026-08-27 2:39 ` [PATCH v4 34/44] net/sxe2: restore link update call in status query liujie5
2026-08-27 2:39 ` [PATCH v4 35/44] net/sxe2: validate representor ID against VF count liujie5
2026-08-27 2:39 ` [PATCH v4 36/44] net/sxe2: use primary VSI ID for representor VSI liujie5
2026-08-27 2:39 ` [PATCH v4 37/44] net/sxe2: wrap command params fill debug log in macro liujie5
2026-08-27 2:40 ` [PATCH v4 38/44] net/sxe2: restore Rx queue buffer split fill support liujie5
2026-08-27 2:40 ` [PATCH v4 39/44] net/sxe2: skip tunnel config fill on get failure liujie5
2026-08-27 2:40 ` [PATCH v4 40/44] net/sxe2: skip flow id assignment on filter add failure liujie5
2026-08-27 2:40 ` [PATCH v4 41/44] net/sxe2: fix command channel log messages liujie5
2026-08-27 2:40 ` [PATCH v4 42/44] net/sxe2: align command structs with historical kernel layout liujie5
2026-08-27 2:40 ` [PATCH v4 43/44] common/sxe2: fix ioctl channel log and close handling liujie5
2026-08-27 2:40 ` [PATCH v4 44/44] doc/sxe2: remove drv-sw-stats parameter documentation liujie5
2026-08-28 3:23 ` [PATCH v5 00/45] net/sxe2: add Stars SXE2 net driver with fixes liujie5
2026-08-28 3:23 ` [PATCH v5 01/45] common/sxe2: fix null pointer in class driver remove liujie5
2026-08-28 3:23 ` [PATCH v5 02/45] common/sxe2: allow munmap during kernel reset liujie5
2026-08-28 3:23 ` [PATCH v5 03/45] net/sxe2: fix VF PCI device ID liujie5
2026-08-28 3:23 ` [PATCH v5 04/45] net/sxe2: fix MSIX register width in PF map table liujie5
2026-08-28 3:23 ` [PATCH v5 05/45] net/sxe2: restore pf and port index caps assignment liujie5
2026-08-28 3:23 ` [PATCH v5 06/45] net/sxe2: fix VSI lifecycle management liujie5
2026-08-28 3:23 ` [PATCH v5 07/45] net/sxe2: initialize stats in representor device init liujie5
2026-08-28 3:23 ` [PATCH v5 08/45] net/sxe2: use base device name for representor naming liujie5
2026-08-28 3:23 ` [PATCH v5 09/45] net/sxe2: propagate LSC event to VF representors liujie5
2026-08-28 3:24 ` [PATCH v5 10/45] net/sxe2: clear security context pointer on uninit liujie5
2026-08-28 3:24 ` [PATCH v5 11/45] net/sxe2: rename representor VSI ID fields liujie5
2026-08-28 3:24 ` [PATCH v5 12/45] net/sxe2: clean up duplicate function declarations liujie5
2026-08-28 3:24 ` [PATCH v5 13/45] net/sxe2: fix null VSI dereference in device info liujie5
2026-08-28 3:24 ` [PATCH v5 14/45] net/sxe2: fill MAC and queue counts " liujie5
2026-08-28 3:24 ` [PATCH v5 15/45] net/sxe2: fix QinQ and RSS offload capability report liujie5
2026-08-28 3:24 ` [PATCH v5 16/45] net/sxe2: use regular write for mapped registers liujie5
2026-08-28 3:24 ` [PATCH v5 17/45] net/sxe2: move PCI register read macro to common header liujie5
2026-08-28 3:24 ` [PATCH v5 18/45] net/sxe2: validate PCI map resource type liujie5
2026-08-28 3:24 ` [PATCH v5 19/45] net/sxe2: guard PCI BAR unmap when not initialized liujie5
2026-08-28 3:25 ` [PATCH v5 20/45] net/sxe2: fix null dereference in dev uninit liujie5
2026-08-28 3:25 ` [PATCH v5 21/45] net/sxe2: fix duplicated cleanup in dev close liujie5
2026-08-28 3:25 ` [PATCH v5 22/45] net/sxe2: align dev init and cleanup order liujie5
2026-08-28 3:25 ` [PATCH v5 23/45] net/sxe2: simplify switchdev representor matching liujie5
2026-08-28 3:25 ` [PATCH v5 24/45] net/sxe2: rename fnav cid manager symbols to flow liujie5
2026-08-28 3:25 ` [PATCH v5 25/45] net/sxe2: move tunnel port helpers into flow module liujie5
2026-08-28 3:25 ` [PATCH v5 26/45] net/sxe2: add ACL engine event statistics support liujie5
2026-08-28 3:25 ` [PATCH v5 27/45] net/sxe2: guard Rx queue event FD free in unregister liujie5
2026-08-28 3:25 ` [PATCH v5 28/45] net/sxe2: refactor primary process MP message handling liujie5
2026-08-28 3:25 ` [PATCH v5 29/45] net/sxe2: refactor Tx queue reset operations liujie5
2026-08-28 3:26 ` [PATCH v5 30/45] net/sxe2: unify vectorized Tx buffer handling liujie5
2026-08-28 3:26 ` [PATCH v5 31/45] net/sxe2: refine vectorized Tx/Rx mode setup liujie5
2026-08-28 3:26 ` [PATCH v5 32/45] net/sxe2: fix RSS action attribute validation liujie5
2026-08-28 3:26 ` [PATCH v5 33/45] net/sxe2: restore PF-only guard in udp tunnel port add liujie5
2026-08-28 3:26 ` [PATCH v5 34/45] net/sxe2: restore link update call in status query liujie5
2026-08-28 3:26 ` [PATCH v5 35/45] net/sxe2: validate representor ID against VF count liujie5
2026-08-28 3:26 ` [PATCH v5 36/45] net/sxe2: use primary VSI ID for representor VSI liujie5
2026-08-28 3:26 ` [PATCH v5 37/45] net/sxe2: wrap command params fill debug log in macro liujie5
2026-08-28 3:26 ` [PATCH v5 38/45] net/sxe2: restore Rx queue buffer split fill support liujie5
2026-08-28 3:26 ` [PATCH v5 39/45] net/sxe2: skip tunnel config fill on get failure liujie5
2026-08-28 3:27 ` [PATCH v5 40/45] net/sxe2: skip flow id assignment on filter add failure liujie5
2026-08-28 3:27 ` [PATCH v5 41/45] net/sxe2: fix command channel log messages liujie5
2026-08-28 3:27 ` [PATCH v5 42/45] net/sxe2: align command structs with historical kernel layout liujie5
2026-08-28 3:27 ` [PATCH v5 43/45] common/sxe2: fix ioctl channel log and close handling liujie5
2026-08-28 3:27 ` [PATCH v5 44/45] doc/sxe2: remove drv-sw-stats parameter documentation liujie5
2026-08-28 3:27 ` [PATCH v5 45/45] net/sxe2: remove ineffective queue counts in representor info liujie5
2026-08-28 7:36 ` [PATCH v6 00/45] net/sxe2: update SXE2 poll mode driver liujie5
2026-08-28 16:49 ` Stephen Hemminger
2026-08-28 7:36 ` [PATCH v6 01/45] common/sxe2: fix null pointer in class driver remove liujie5
2026-08-28 7:36 ` [PATCH v6 02/45] common/sxe2: allow munmap during kernel reset liujie5
2026-08-28 7:36 ` [PATCH v6 03/45] net/sxe2: fix VF PCI device ID liujie5
2026-08-28 7:37 ` [PATCH v6 04/45] net/sxe2: fix MSIX register width in PF map table liujie5
2026-08-28 7:37 ` [PATCH v6 05/45] net/sxe2: restore pf and port index caps assignment liujie5
2026-08-28 7:37 ` [PATCH v6 06/45] net/sxe2: fix VSI lifecycle management liujie5
2026-08-28 7:37 ` [PATCH v6 07/45] net/sxe2: initialize stats in representor device init liujie5
2026-08-28 7:37 ` [PATCH v6 08/45] net/sxe2: use base device name for representor naming liujie5
2026-08-28 7:37 ` [PATCH v6 09/45] net/sxe2: propagate LSC event to VF representors liujie5
2026-08-28 7:37 ` [PATCH v6 10/45] net/sxe2: clear security context pointer on uninit liujie5
2026-08-28 7:37 ` [PATCH v6 11/45] net/sxe2: rename representor VSI ID fields liujie5
2026-08-28 7:37 ` [PATCH v6 12/45] net/sxe2: clean up duplicate function declarations liujie5
2026-08-28 7:37 ` [PATCH v6 13/45] net/sxe2: fix null VSI dereference in device info liujie5
2026-08-28 7:37 ` [PATCH v6 14/45] net/sxe2: fill MAC and queue counts " liujie5
2026-08-28 7:38 ` [PATCH v6 15/45] net/sxe2: fix QinQ and RSS offload capability report liujie5
2026-08-28 7:38 ` [PATCH v6 16/45] net/sxe2: use regular write for mapped registers liujie5
2026-08-28 7:38 ` [PATCH v6 17/45] net/sxe2: move PCI register read macro to common header liujie5
2026-08-28 7:38 ` [PATCH v6 18/45] net/sxe2: validate PCI map resource type liujie5
2026-08-28 7:38 ` [PATCH v6 19/45] net/sxe2: guard PCI BAR unmap when not initialized liujie5
2026-08-28 7:38 ` [PATCH v6 20/45] net/sxe2: fix null dereference in dev uninit liujie5
2026-08-28 7:38 ` [PATCH v6 21/45] net/sxe2: fix duplicated cleanup in dev close liujie5
2026-08-28 7:38 ` [PATCH v6 22/45] net/sxe2: align dev init and cleanup order liujie5
2026-08-28 7:38 ` [PATCH v6 23/45] net/sxe2: simplify switchdev representor matching liujie5
2026-08-28 7:38 ` [PATCH v6 24/45] net/sxe2: rename fnav cid manager symbols to flow liujie5
2026-08-28 7:39 ` [PATCH v6 25/45] net/sxe2: move tunnel port helpers into flow module liujie5
2026-08-28 7:39 ` [PATCH v6 26/45] net/sxe2: add ACL engine event statistics support liujie5
2026-08-28 7:39 ` [PATCH v6 27/45] net/sxe2: guard Rx queue event FD free in unregister liujie5
2026-08-28 7:39 ` [PATCH v6 28/45] net/sxe2: refactor primary process MP message handling liujie5
2026-08-28 7:39 ` [PATCH v6 29/45] net/sxe2: refactor Tx queue reset operations liujie5
2026-08-28 7:39 ` [PATCH v6 30/45] net/sxe2: unify vectorized Tx buffer handling liujie5
2026-08-28 7:39 ` [PATCH v6 31/45] net/sxe2: refine vectorized Tx/Rx mode setup liujie5
2026-08-28 7:39 ` [PATCH v6 32/45] net/sxe2: fix RSS action attribute validation liujie5
2026-08-28 7:39 ` [PATCH v6 33/45] net/sxe2: restore PF-only guard in udp tunnel port add liujie5
2026-08-28 7:39 ` [PATCH v6 34/45] net/sxe2: restore link update call in status query liujie5
2026-08-28 7:39 ` [PATCH v6 35/45] net/sxe2: validate representor ID against VF count liujie5
2026-08-28 7:40 ` [PATCH v6 36/45] net/sxe2: use primary VSI ID for representor VSI liujie5
2026-08-28 7:40 ` [PATCH v6 37/45] net/sxe2: wrap command params fill debug log in macro liujie5
2026-08-28 7:40 ` [PATCH v6 38/45] net/sxe2: restore Rx queue buffer split fill support liujie5
2026-08-28 7:40 ` [PATCH v6 39/45] net/sxe2: skip tunnel config fill on get failure liujie5
2026-08-28 7:40 ` [PATCH v6 40/45] net/sxe2: skip flow id assignment on filter add failure liujie5
2026-08-28 7:40 ` [PATCH v6 41/45] net/sxe2: fix command channel log messages liujie5
2026-08-28 7:40 ` [PATCH v6 42/45] net/sxe2: align command structs with historical kernel layout liujie5
2026-08-28 7:40 ` [PATCH v6 43/45] common/sxe2: fix ioctl channel log and close handling liujie5
2026-08-28 7:40 ` [PATCH v6 44/45] doc/sxe2: remove drv-sw-stats parameter documentation liujie5
2026-08-28 7:40 ` [PATCH v6 45/45] net/sxe2: remove ineffective queue counts in representor info liujie5
2026-08-31 2:34 ` [PATCH v7 00/47] net/sxe2: re-align with reference and fix review findings Jie Liu
2026-08-31 2:34 ` [PATCH v7 01/47] common/sxe2: fix null pointer in class driver remove Jie Liu
2026-08-31 2:34 ` [PATCH v7 02/47] common/sxe2: allow munmap during kernel reset Jie Liu
2026-08-31 2:34 ` [PATCH v7 03/47] net/sxe2: fix VF PCI device ID Jie Liu
2026-08-31 2:34 ` [PATCH v7 04/47] net/sxe2: fix MSIX register width in PF map table Jie Liu
2026-08-31 2:34 ` [PATCH v7 05/47] net/sxe2: restore PF and port index caps assignment Jie Liu
2026-08-31 2:34 ` [PATCH v7 06/47] net/sxe2: fix VSI lifecycle management Jie Liu
2026-08-31 2:34 ` [PATCH v7 07/47] net/sxe2: initialize stats in representor device init Jie Liu
2026-08-31 2:34 ` [PATCH v7 08/47] net/sxe2: use base device name for representor naming Jie Liu
2026-08-31 2:34 ` [PATCH v7 09/47] net/sxe2: propagate LSC event to VF representors Jie Liu
2026-08-31 2:34 ` [PATCH v7 10/47] net/sxe2: clear security context pointer on uninit Jie Liu
2026-08-31 2:34 ` [PATCH v7 11/47] net/sxe2: rename representor VSI ID fields Jie Liu
2026-08-31 2:34 ` [PATCH v7 12/47] net/sxe2: clean up duplicate function declarations Jie Liu
2026-08-31 2:34 ` [PATCH v7 13/47] net/sxe2: fix null VSI dereference in device info Jie Liu
2026-08-31 2:34 ` [PATCH v7 14/47] net/sxe2: fill MAC addresses " Jie Liu
2026-08-31 2:34 ` [PATCH v7 15/47] net/sxe2: fix QinQ and RSS offload capability report Jie Liu
2026-08-31 2:34 ` [PATCH v7 16/47] net/sxe2: use regular write for mapped registers Jie Liu
2026-08-31 2:34 ` [PATCH v7 17/47] net/sxe2: move PCI register read macro to common header Jie Liu
2026-08-31 2:34 ` [PATCH v7 18/47] net/sxe2: validate PCI map resource type Jie Liu
2026-08-31 2:34 ` [PATCH v7 19/47] net/sxe2: guard PCI BAR unmap when not initialized Jie Liu
2026-08-31 2:34 ` [PATCH v7 20/47] net/sxe2: fix null dereference in dev uninit Jie Liu
2026-08-31 2:41 ` [PATCH v7 00/47] net/sxe2: re-align with reference and fix review findings liujie5
2026-08-31 7:46 ` David Marchand
2026-08-31 16:18 ` Stephen Hemminger
2026-08-31 2:41 ` [PATCH v7 01/47] common/sxe2: fix null pointer in class driver remove liujie5
2026-08-31 2:41 ` [PATCH v7 02/47] common/sxe2: allow munmap during kernel reset liujie5
2026-08-31 2:41 ` [PATCH v7 03/47] net/sxe2: fix VF PCI device ID liujie5
2026-08-31 2:41 ` [PATCH v7 04/47] net/sxe2: fix MSIX register width in PF map table liujie5
2026-08-31 2:41 ` [PATCH v7 05/47] net/sxe2: restore PF and port index caps assignment liujie5
2026-08-31 2:41 ` [PATCH v7 06/47] net/sxe2: fix VSI lifecycle management liujie5
2026-08-31 2:41 ` [PATCH v7 07/47] net/sxe2: initialize stats in representor device init liujie5
2026-08-31 2:41 ` [PATCH v7 08/47] net/sxe2: use base device name for representor naming liujie5
2026-08-31 2:41 ` [PATCH v7 09/47] net/sxe2: propagate LSC event to VF representors liujie5
2026-08-31 2:42 ` [PATCH v7 10/47] net/sxe2: clear security context pointer on uninit liujie5
2026-08-31 2:42 ` [PATCH v7 11/47] net/sxe2: rename representor VSI ID fields liujie5
2026-08-31 2:42 ` [PATCH v7 12/47] net/sxe2: clean up duplicate function declarations liujie5
2026-08-31 2:42 ` [PATCH v7 13/47] net/sxe2: fix null VSI dereference in device info liujie5
2026-08-31 2:42 ` [PATCH v7 14/47] net/sxe2: fill MAC addresses " liujie5
2026-08-31 2:42 ` [PATCH v7 15/47] net/sxe2: fix QinQ and RSS offload capability report liujie5
2026-08-31 2:42 ` [PATCH v7 16/47] net/sxe2: use regular write for mapped registers liujie5
2026-08-31 2:42 ` [PATCH v7 17/47] net/sxe2: move PCI register read macro to common header liujie5
2026-08-31 2:42 ` [PATCH v7 18/47] net/sxe2: validate PCI map resource type liujie5
2026-08-31 2:42 ` [PATCH v7 19/47] net/sxe2: guard PCI BAR unmap when not initialized liujie5
2026-08-31 2:42 ` [PATCH v7 20/47] net/sxe2: fix null dereference in dev uninit liujie5
2026-08-31 2:43 ` [PATCH v7 21/47] net/sxe2: fix duplicated cleanup in dev close liujie5
2026-08-31 2:43 ` [PATCH v7 22/47] net/sxe2: align dev init and cleanup order liujie5
2026-08-31 2:43 ` [PATCH v7 23/47] net/sxe2: simplify switchdev representor matching liujie5
2026-08-31 2:43 ` [PATCH v7 24/47] net/sxe2: rename fnav cid manager symbols to flow liujie5
2026-08-31 2:43 ` [PATCH v7 25/47] net/sxe2: move tunnel port helpers into flow module liujie5
2026-08-31 2:43 ` [PATCH v7 26/47] net/sxe2: add ACL engine event statistics support liujie5
2026-08-31 2:43 ` [PATCH v7 27/47] net/sxe2: refactor primary process MP message handling liujie5
2026-08-31 2:43 ` [PATCH v7 28/47] net/sxe2: refactor Tx queue reset operations liujie5
2026-08-31 2:43 ` [PATCH v7 29/47] net/sxe2: unify vectorized Tx buffer handling liujie5
2026-08-31 2:43 ` [PATCH v7 30/47] net/sxe2: optimize NEON Tx descriptor fill liujie5
2026-08-31 2:44 ` liujie5 [this message]
2026-08-31 2:44 ` [PATCH v7 32/47] net/sxe2: refine vectorized Tx/Rx mode setup liujie5
2026-08-31 2:44 ` [PATCH v7 33/47] net/sxe2: fix RSS action attribute validation liujie5
2026-08-31 2:44 ` [PATCH v7 34/47] net/sxe2: restore PF-only guard in UDP tunnel port add liujie5
2026-08-31 2:44 ` [PATCH v7 35/47] net/sxe2: restore link update call in status query liujie5
2026-08-31 2:44 ` [PATCH v7 36/47] net/sxe2: validate representor ID against VF count liujie5
2026-08-31 2:44 ` [PATCH v7 37/47] net/sxe2: use primary VSI ID for representor VSI liujie5
2026-08-31 2:44 ` [PATCH v7 38/47] net/sxe2: wrap command params fill debug log in macro liujie5
2026-08-31 2:44 ` [PATCH v7 39/47] net/sxe2: restore Rx queue buffer split fill support liujie5
2026-08-31 2:44 ` [PATCH v7 40/47] net/sxe2: skip tunnel config fill on get failure liujie5
2026-08-31 2:45 ` [PATCH v7 41/47] net/sxe2: skip flow ID assignment on filter add failure liujie5
2026-08-31 2:45 ` [PATCH v7 42/47] net/sxe2: correct command channel log messages liujie5
2026-08-31 2:45 ` [PATCH v7 43/47] net/sxe2: align command structs with kernel layout liujie5
2026-08-31 2:45 ` [PATCH v7 44/47] common/sxe2: fix ioctl channel log and close handling liujie5
2026-08-31 2:45 ` [PATCH v7 45/47] doc/sxe2: remove drv-SW-stats parameter documentation liujie5
2026-08-31 2:45 ` [PATCH v7 46/47] net/sxe2: remove ineffective representor queue counts liujie5
2026-08-31 2:45 ` [PATCH v7 47/47] net/sxe2: fix VEC mode selection in mode set functions liujie5
2026-09-01 3:05 ` [PATCH v8 00/49] net/sxe2: re-align with reference and fix review findings liujie5
2026-09-01 15:23 ` Stephen Hemminger
2026-09-01 3:05 ` [PATCH v8 01/49] common/sxe2: fix null pointer in class driver remove liujie5
2026-09-01 3:05 ` [PATCH v8 02/49] common/sxe2: allow munmap during kernel reset liujie5
2026-09-01 3:05 ` [PATCH v8 03/49] net/sxe2: fix VF PCI device ID liujie5
2026-09-01 3:05 ` [PATCH v8 04/49] net/sxe2: fix MSIX register width in PF map table liujie5
2026-09-01 3:05 ` [PATCH v8 05/49] net/sxe2: restore PF and port index caps assignment liujie5
2026-09-01 3:05 ` [PATCH v8 06/49] net/sxe2: fix VSI lifecycle management liujie5
2026-09-01 3:05 ` [PATCH v8 07/49] net/sxe2: initialize stats in representor device init liujie5
2026-09-01 3:06 ` [PATCH v8 08/49] net/sxe2: use base device name for representor naming liujie5
2026-09-01 3:06 ` [PATCH v8 09/49] net/sxe2: propagate LSC event to VF representors liujie5
2026-09-01 3:06 ` [PATCH v8 10/49] net/sxe2: clear security context pointer on uninit liujie5
2026-09-01 3:06 ` [PATCH v8 11/49] net/sxe2: rename representor VSI ID fields liujie5
2026-09-01 3:06 ` [PATCH v8 12/49] net/sxe2: clean up duplicate function declarations liujie5
2026-09-01 3:06 ` [PATCH v8 13/49] net/sxe2: fix null VSI dereference in device info liujie5
2026-09-01 3:06 ` [PATCH v8 14/49] net/sxe2: fill MAC addresses " liujie5
2026-09-01 3:06 ` [PATCH v8 15/49] net/sxe2: fix QinQ and RSS offload capability report liujie5
2026-09-01 3:06 ` [PATCH v8 16/49] net/sxe2: use regular write for mapped registers liujie5
2026-09-01 3:06 ` [PATCH v8 17/49] net/sxe2: move PCI register read macro to common header liujie5
2026-09-01 3:07 ` [PATCH v8 18/49] net/sxe2: validate PCI map resource type liujie5
2026-09-01 3:07 ` [PATCH v8 19/49] net/sxe2: guard PCI BAR unmap when not initialized liujie5
2026-09-01 3:07 ` [PATCH v8 20/49] net/sxe2: fix null dereference in dev uninit liujie5
2026-09-01 3:07 ` [PATCH v8 21/49] net/sxe2: fix duplicated cleanup in dev close liujie5
2026-09-01 3:07 ` [PATCH v8 22/49] net/sxe2: align dev init and cleanup order liujie5
2026-09-01 3:07 ` [PATCH v8 23/49] net/sxe2: simplify switchdev representor matching liujie5
2026-09-01 3:07 ` [PATCH v8 24/49] net/sxe2: rename fnav cid manager symbols to flow liujie5
2026-09-01 3:07 ` [PATCH v8 25/49] net/sxe2: move tunnel port helpers into flow module liujie5
2026-09-01 3:07 ` [PATCH v8 26/49] net/sxe2: add ACL engine event statistics support liujie5
2026-09-01 3:07 ` [PATCH v8 27/49] net/sxe2: enable FDIR on all Rx queues liujie5
2026-09-01 3:08 ` [PATCH v8 28/49] net/sxe2: refactor primary process MP message handling liujie5
2026-09-01 3:08 ` [PATCH v8 29/49] net/sxe2: refactor Tx queue reset operations liujie5
2026-09-01 3:08 ` [PATCH v8 30/49] net/sxe2: unify vectorized Tx buffer handling liujie5
2026-09-01 3:08 ` [PATCH v8 31/49] net/sxe2: optimize NEON Tx descriptor fill liujie5
2026-09-01 3:08 ` [PATCH v8 32/49] net/sxe2: fix NEON Rx ptype mapping and memory ordering liujie5
2026-09-01 3:08 ` [PATCH v8 33/49] net/sxe2: refine vectorized Tx/Rx mode setup liujie5
2026-09-01 3:08 ` [PATCH v8 34/49] net/sxe2: fix RSS action attribute validation liujie5
2026-09-01 3:08 ` [PATCH v8 35/49] net/sxe2: restore PF-only guard in UDP tunnel port add liujie5
2026-09-01 3:08 ` [PATCH v8 36/49] net/sxe2: refresh link state on link change events liujie5
2026-09-01 3:08 ` [PATCH v8 37/49] net/sxe2: validate representor ID against VF count liujie5
2026-09-01 3:09 ` [PATCH v8 38/49] net/sxe2: use primary VSI ID for representor VSI liujie5
2026-09-01 3:09 ` [PATCH v8 39/49] net/sxe2: wrap command params fill debug log in macro liujie5
2026-09-01 3:09 ` [PATCH v8 40/49] net/sxe2: restore Rx queue buffer split fill support liujie5
2026-09-01 3:09 ` [PATCH v8 41/49] net/sxe2: skip tunnel config fill on get failure liujie5
2026-09-01 3:09 ` [PATCH v8 42/49] net/sxe2: skip flow ID assignment on filter add failure liujie5
2026-09-01 3:09 ` [PATCH v8 43/49] net/sxe2: correct command channel log messages liujie5
2026-09-01 3:09 ` [PATCH v8 44/49] net/sxe2: align command structs with kernel layout liujie5
2026-09-01 3:09 ` [PATCH v8 45/49] common/sxe2: fix ioctl channel log and close handling liujie5
2026-09-01 3:09 ` [PATCH v8 46/49] doc/sxe2: remove drv-SW-stats parameter documentation liujie5
2026-09-01 3:09 ` [PATCH v8 47/49] net/sxe2: remove ineffective representor queue counts liujie5
2026-09-01 3:10 ` [PATCH v8 48/49] net/sxe2: fix VEC mode selection in mode set functions liujie5
2026-09-01 3:10 ` [PATCH v8 49/49] net/sxe2: fix devargs parse error check for representors liujie5
2026-09-02 1:56 ` [PATCH v9 00/48] net/sxe2: re-align with reference and fix review findings liujie5
2026-09-02 14:27 ` Stephen Hemminger
2026-09-02 1:57 ` [PATCH v9 01/48] common/sxe2: fix null pointer in class driver remove liujie5
2026-09-02 1:57 ` [PATCH v9 02/48] common/sxe2: allow munmap during kernel reset liujie5
2026-09-02 1:57 ` [PATCH v9 03/48] net/sxe2: fix VF PCI device ID liujie5
2026-09-02 1:57 ` [PATCH v9 04/48] net/sxe2: fix MSIX register width in PF map table liujie5
2026-09-02 1:57 ` [PATCH v9 05/48] net/sxe2: restore PF and port index caps assignment liujie5
2026-09-02 1:57 ` [PATCH v9 06/48] net/sxe2: fix VSI lifecycle management liujie5
2026-09-02 1:57 ` [PATCH v9 07/48] net/sxe2: initialize stats in representor device init liujie5
2026-09-02 1:57 ` [PATCH v9 08/48] net/sxe2: use base device name for representor naming liujie5
2026-09-02 1:57 ` [PATCH v9 09/48] net/sxe2: propagate LSC event to VF representors liujie5
2026-09-02 1:57 ` [PATCH v9 10/48] net/sxe2: clear security context pointer on uninit liujie5
2026-09-02 1:58 ` [PATCH v9 11/48] net/sxe2: rename representor VSI ID fields liujie5
2026-09-02 1:58 ` [PATCH v9 12/48] net/sxe2: clean up duplicate function declarations liujie5
2026-09-02 1:58 ` [PATCH v9 13/48] net/sxe2: fix null VSI dereference in device info liujie5
2026-09-02 1:58 ` [PATCH v9 14/48] net/sxe2: fill MAC addresses " liujie5
2026-09-02 1:58 ` [PATCH v9 15/48] net/sxe2: fix QinQ and RSS offload capability report liujie5
2026-09-02 1:58 ` [PATCH v9 16/48] net/sxe2: use regular write for mapped registers liujie5
2026-09-02 1:58 ` [PATCH v9 17/48] net/sxe2: move PCI register read macro to common header liujie5
2026-09-02 1:59 ` [PATCH v9 18/48] net/sxe2: validate PCI map resource type liujie5
2026-09-02 1:59 ` [PATCH v9 19/48] net/sxe2: guard PCI BAR unmap when not initialized liujie5
2026-09-02 1:59 ` [PATCH v9 20/48] net/sxe2: fix duplicated cleanup in dev close liujie5
2026-09-02 1:59 ` [PATCH v9 21/48] net/sxe2: align dev init and cleanup order liujie5
2026-09-02 2:00 ` [PATCH v9 22/48] net/sxe2: simplify switchdev representor matching liujie5
2026-09-02 2:00 ` [PATCH v9 23/48] net/sxe2: rename fnav cid manager symbols to flow liujie5
2026-09-02 2:00 ` [PATCH v9 24/48] net/sxe2: move tunnel port helpers into flow module liujie5
2026-09-02 2:00 ` [PATCH v9 25/48] net/sxe2: add ACL engine event statistics support liujie5
2026-09-02 2:00 ` [PATCH v9 26/48] net/sxe2: enable FDIR on all Rx queues liujie5
2026-09-02 2:01 ` [PATCH v9 27/48] net/sxe2: refactor primary process MP message handling liujie5
2026-09-02 2:01 ` [PATCH v9 28/48] net/sxe2: refactor Tx queue reset operations liujie5
2026-09-02 2:02 ` [PATCH v9 29/48] net/sxe2: unify vectorized Tx buffer handling liujie5
2026-09-02 2:02 ` [PATCH v9 30/48] net/sxe2: optimize NEON Tx descriptor fill liujie5
2026-09-02 2:02 ` [PATCH v9 31/48] net/sxe2: fix NEON Rx ptype mapping and memory ordering liujie5
2026-09-02 2:02 ` [PATCH v9 32/48] net/sxe2: refine vectorized Tx/Rx mode setup liujie5
2026-09-02 2:03 ` [PATCH v9 33/48] net/sxe2: fix RSS action attribute validation liujie5
2026-09-02 2:03 ` [PATCH v9 34/48] net/sxe2: restore PF-only guard in UDP tunnel port add liujie5
2026-09-02 2:04 ` [PATCH v9 35/48] net/sxe2: refresh link state on link change events liujie5
2026-09-02 2:05 ` [PATCH v9 37/48] net/sxe2: use primary VSI ID for representor VSI liujie5
2026-09-02 2:05 ` [PATCH v9 38/48] net/sxe2: wrap command params fill debug log in macro liujie5
2026-09-02 2:05 ` [PATCH v9 39/48] net/sxe2: restore Rx queue buffer split fill support liujie5
2026-09-02 2:05 ` [PATCH v9 40/48] net/sxe2: skip tunnel config fill on get failure liujie5
2026-09-02 2:05 ` [PATCH v9 41/48] net/sxe2: skip flow ID assignment on filter add failure liujie5
2026-09-02 2:06 ` [PATCH v9 42/48] net/sxe2: correct command channel log messages liujie5
2026-09-02 2:06 ` [PATCH v9 43/48] net/sxe2: align command structs with kernel layout liujie5
2026-09-02 2:06 ` [PATCH v9 44/48] common/sxe2: fix ioctl channel log and close handling liujie5
2026-09-02 2:06 ` [PATCH v9 45/48] doc/sxe2: remove drv-SW-stats parameter documentation liujie5
2026-09-02 2:06 ` [PATCH v9 46/48] net/sxe2: remove ineffective representor queue counts liujie5
2026-09-02 2:06 ` [PATCH v9 47/48] net/sxe2: fix VEC mode selection in mode set functions liujie5
2026-09-02 2:07 ` [PATCH v9 48/48] net/sxe2: fix devargs parse error check for representors liujie5
2026-09-02 2:16 ` [PATCH v9 36/48] net/sxe2: validate representor ID against VF count liujie5
2026-09-03 1:53 ` [PATCH v10 00/48] net/sxe2: re-align with reference and fix review findings liujie5
2026-09-03 18:45 ` Stephen Hemminger
2026-09-03 1:53 ` [PATCH v10 01/48] common/sxe2: fix null pointer in class driver remove liujie5
2026-09-03 1:54 ` [PATCH v10 02/48] common/sxe2: allow munmap during kernel reset liujie5
2026-09-03 1:54 ` [PATCH v10 03/48] net/sxe2: fix VF PCI device ID liujie5
2026-09-03 1:54 ` [PATCH v10 04/48] net/sxe2: fix MSIX register width in PF map table liujie5
2026-09-03 1:54 ` [PATCH v10 05/48] net/sxe2: restore PF and port index caps assignment liujie5
2026-09-03 1:54 ` [PATCH v10 06/48] net/sxe2: fix VSI lifecycle management liujie5
2026-09-03 1:54 ` [PATCH v10 07/48] net/sxe2: initialize stats in representor device init liujie5
2026-09-03 1:54 ` [PATCH v10 08/48] net/sxe2: use base device name for representor naming liujie5
2026-09-03 1:54 ` [PATCH v10 09/48] net/sxe2: propagate LSC event to VF representors liujie5
2026-09-03 1:54 ` [PATCH v10 10/48] net/sxe2: clear security context pointer on uninit liujie5
2026-09-03 1:54 ` [PATCH v10 11/48] net/sxe2: rename representor VSI ID fields liujie5
2026-09-03 1:55 ` [PATCH v10 12/48] net/sxe2: clean up duplicate function declarations liujie5
2026-09-03 1:55 ` [PATCH v10 13/48] net/sxe2: fix null VSI dereference in device info liujie5
2026-09-03 1:55 ` [PATCH v10 14/48] net/sxe2: fill MAC addresses " liujie5
2026-09-03 1:55 ` [PATCH v10 15/48] net/sxe2: fix QinQ and RSS offload capability report liujie5
2026-09-03 1:55 ` [PATCH v10 16/48] net/sxe2: use regular write for mapped registers liujie5
2026-09-03 1:55 ` [PATCH v10 17/48] net/sxe2: move PCI register read macro to common header liujie5
2026-09-03 1:55 ` [PATCH v10 18/48] net/sxe2: validate PCI map resource type liujie5
2026-09-03 1:55 ` [PATCH v10 19/48] net/sxe2: guard PCI BAR unmap when not initialized liujie5
2026-09-03 1:55 ` [PATCH v10 20/48] net/sxe2: fix duplicated cleanup in dev close liujie5
2026-09-03 1:55 ` [PATCH v10 21/48] net/sxe2: align dev init and cleanup order liujie5
2026-09-03 1:56 ` [PATCH v10 22/48] net/sxe2: simplify switchdev representor matching liujie5
2026-09-03 1:56 ` [PATCH v10 23/48] net/sxe2: rename fnav cid manager symbols to flow liujie5
2026-09-03 1:56 ` [PATCH v10 24/48] net/sxe2: move tunnel port helpers into flow module liujie5
2026-09-03 1:56 ` [PATCH v10 25/48] net/sxe2: add ACL engine event statistics support liujie5
2026-09-03 1:56 ` [PATCH v10 26/48] net/sxe2: enable FDIR on all Rx queues liujie5
2026-09-03 1:56 ` [PATCH v10 27/48] net/sxe2: refactor primary process MP message handling liujie5
2026-09-03 1:56 ` [PATCH v10 28/48] net/sxe2: refactor Tx queue reset operations liujie5
2026-09-03 1:56 ` [PATCH v10 29/48] net/sxe2: unify vectorized Tx buffer handling liujie5
2026-09-03 1:56 ` [PATCH v10 30/48] net/sxe2: optimize NEON Tx descriptor fill liujie5
2026-09-03 1:56 ` [PATCH v10 31/48] net/sxe2: fix NEON Rx ptype mapping and memory ordering liujie5
2026-09-03 1:56 ` [PATCH v10 32/48] net/sxe2: refine vectorized Tx/Rx mode setup liujie5
2026-09-03 1:57 ` [PATCH v10 33/48] net/sxe2: fix RSS action attribute validation liujie5
2026-09-03 1:57 ` [PATCH v10 34/48] net/sxe2: restore PF-only guard in UDP tunnel port add liujie5
2026-09-03 1:57 ` [PATCH v10 35/48] net/sxe2: refresh link state on link change events liujie5
2026-09-03 1:57 ` [PATCH v10 36/48] net/sxe2: validate representor ID against VF count liujie5
2026-09-03 1:57 ` [PATCH v10 37/48] net/sxe2: use primary VSI ID for representor VSI liujie5
2026-09-03 1:57 ` [PATCH v10 38/48] net/sxe2: wrap command params fill debug log in macro liujie5
2026-09-03 1:57 ` [PATCH v10 39/48] net/sxe2: restore Rx queue buffer split fill support liujie5
2026-09-03 1:57 ` [PATCH v10 40/48] net/sxe2: skip tunnel config fill on get failure liujie5
2026-09-03 1:57 ` [PATCH v10 41/48] net/sxe2: skip flow ID assignment on filter add failure liujie5
2026-09-03 1:57 ` [PATCH v10 42/48] net/sxe2: correct command channel log messages liujie5
2026-09-03 1:58 ` [PATCH v10 43/48] net/sxe2: align command structs with kernel layout liujie5
2026-09-03 1:58 ` [PATCH v10 44/48] common/sxe2: fix ioctl channel log and close handling liujie5
2026-09-03 1:58 ` [PATCH v10 45/48] doc/sxe2: remove drv-SW-stats parameter documentation liujie5
2026-09-03 1:58 ` [PATCH v10 46/48] net/sxe2: remove ineffective representor queue counts liujie5
2026-09-03 1:58 ` [PATCH v10 47/48] net/sxe2: fix VEC mode selection in mode set functions liujie5
2026-09-03 1:58 ` [PATCH v10 48/48] net/sxe2: fix devargs parse error check for representors liujie5
2026-08-18 14:22 ` [PATCH v1 00/13] net/sxe2: fix bugs Stephen Hemminger
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=20260831024403.3231082-1-liujie5@linkdatatechnology.com \
--to=liujie5@linkdatatechnology.com \
--cc=dev@dpdk.org \
--cc=stable@dpdk.org \
--cc=stephen@networkplumber.org \
/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