DPDK patches and discussions
 help / color / mirror / Atom feed
From: Tyler Retzlaff <roretzla@linux.microsoft.com>
To: dev@dpdk.org
Cc: Ajit Khaparde <ajit.khaparde@broadcom.com>,
	Andrew Boyer <andrew.boyer@amd.com>,
	Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>,
	Bruce Richardson <bruce.richardson@intel.com>,
	Chenbo Xia <chenbox@nvidia.com>,
	Chengwen Feng <fengchengwen@huawei.com>,
	Dariusz Sosnowski <dsosnowski@nvidia.com>,
	David Christensen <drc@linux.vnet.ibm.com>,
	Hyong Youb Kim <hyonkim@cisco.com>,
	Jerin Jacob <jerinj@marvell.com>, Jie Hai <haijie1@huawei.com>,
	Jingjing Wu <jingjing.wu@intel.com>,
	John Daley <johndale@cisco.com>,
	Kevin Laatz <kevin.laatz@intel.com>,
	Kiran Kumar K <kirankumark@marvell.com>,
	Konstantin Ananyev <konstantin.v.ananyev@yandex.ru>,
	Maciej Czekaj <mczekaj@marvell.com>,
	Matan Azrad <matan@nvidia.com>,
	Maxime Coquelin <maxime.coquelin@redhat.com>,
	Nithin Dabilpuram <ndabilpuram@marvell.com>,
	Ori Kam <orika@nvidia.com>, Ruifeng Wang <ruifeng.wang@arm.com>,
	Satha Rao <skoteshwar@marvell.com>,
	Somnath Kotur <somnath.kotur@broadcom.com>,
	Suanming Mou <suanmingm@nvidia.com>,
	Sunil Kumar Kori <skori@marvell.com>,
	Viacheslav Ovsiienko <viacheslavo@nvidia.com>,
	Yisen Zhuang <yisen.zhuang@huawei.com>,
	Yuying Zhang <Yuying.Zhang@intel.com>,
	mb@smartsharesystems.com,
	Tyler Retzlaff <roretzla@linux.microsoft.com>
Subject: [PATCH v6 18/23] net/virtio: use mbuf descriptor accessors
Date: Mon, 26 Feb 2024 21:41:34 -0800	[thread overview]
Message-ID: <1709012499-12813-19-git-send-email-roretzla@linux.microsoft.com> (raw)
In-Reply-To: <1709012499-12813-1-git-send-email-roretzla@linux.microsoft.com>

RTE_MARKER typedefs are a GCC extension unsupported by MSVC. Use
new rte_mbuf_rearm_data and rte_mbuf_rx_descriptor_fields1 accessors
that provide a compatible type pointer without using the marker fields.

Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
---
 drivers/net/virtio/virtio_rxtx_packed.h         |  4 ++--
 drivers/net/virtio/virtio_rxtx_packed_avx.h     | 16 +++++-----------
 drivers/net/virtio/virtio_rxtx_packed_neon.h    | 18 ++++++++----------
 drivers/net/virtio/virtio_rxtx_simple.c         |  4 +---
 drivers/net/virtio/virtio_rxtx_simple.h         |  5 +----
 drivers/net/virtio/virtio_rxtx_simple_altivec.c | 16 ++++++++--------
 drivers/net/virtio/virtio_rxtx_simple_neon.c    | 24 ++++++++----------------
 drivers/net/virtio/virtio_rxtx_simple_sse.c     | 16 ++++++++--------
 8 files changed, 41 insertions(+), 62 deletions(-)

diff --git a/drivers/net/virtio/virtio_rxtx_packed.h b/drivers/net/virtio/virtio_rxtx_packed.h
index 5361129..0a8c9f8 100644
--- a/drivers/net/virtio/virtio_rxtx_packed.h
+++ b/drivers/net/virtio/virtio_rxtx_packed.h
@@ -37,12 +37,12 @@
 
 /* reference count offset in mbuf rearm data */
 #define REFCNT_BITS_OFFSET ((offsetof(struct rte_mbuf, refcnt) - \
-	offsetof(struct rte_mbuf, rearm_data)) * BYTE_SIZE)
+	offsetof(struct rte_mbuf, data_off)) * BYTE_SIZE)
 
 #ifdef CC_AVX512_SUPPORT
 /* segment number offset in mbuf rearm data */
 #define SEG_NUM_BITS_OFFSET ((offsetof(struct rte_mbuf, nb_segs) - \
-	offsetof(struct rte_mbuf, rearm_data)) * BYTE_SIZE)
+	offsetof(struct rte_mbuf, data_off)) * BYTE_SIZE)
 /* default rearm data */
 #define DEFAULT_REARM_DATA (1ULL << SEG_NUM_BITS_OFFSET | \
 	1ULL << REFCNT_BITS_OFFSET)
diff --git a/drivers/net/virtio/virtio_rxtx_packed_avx.h b/drivers/net/virtio/virtio_rxtx_packed_avx.h
index 584ac72..5d30e2a 100644
--- a/drivers/net/virtio/virtio_rxtx_packed_avx.h
+++ b/drivers/net/virtio/virtio_rxtx_packed_avx.h
@@ -36,10 +36,10 @@
 	/* Load four mbufs rearm data */
 	RTE_BUILD_BUG_ON(REFCNT_BITS_OFFSET >= 64);
 	RTE_BUILD_BUG_ON(SEG_NUM_BITS_OFFSET >= 64);
-	__m256i mbufs = _mm256_set_epi64x(*tx_pkts[3]->rearm_data,
-					  *tx_pkts[2]->rearm_data,
-					  *tx_pkts[1]->rearm_data,
-					  *tx_pkts[0]->rearm_data);
+	__m256i mbufs = _mm256_set_epi64x(*rte_mbuf_rearm_data(tx_pkts[3]),
+					  *rte_mbuf_rearm_data(tx_pkts[2]),
+					  *rte_mbuf_rearm_data(tx_pkts[1]),
+					  *rte_mbuf_rearm_data(tx_pkts[0]));
 
 	/* refcnt=1 and nb_segs=1 */
 	__m256i mbuf_ref = _mm256_set1_epi64x(DEFAULT_REARM_DATA);
@@ -53,8 +53,6 @@
 
 	/* Check headroom is enough */
 	const __mmask16 data_mask = 0x1 | 0x1 << 4 | 0x1 << 8 | 0x1 << 12;
-	RTE_BUILD_BUG_ON(offsetof(struct rte_mbuf, data_off) !=
-		offsetof(struct rte_mbuf, rearm_data));
 	cmp = _mm256_mask_cmplt_epu16_mask(data_mask, mbufs, head_rooms);
 	if (unlikely(cmp))
 		return -1;
@@ -187,7 +185,7 @@
 		rx_pkts[i] = (struct rte_mbuf *)vq->vq_descx[id + i].cookie;
 		rte_packet_prefetch(rte_pktmbuf_mtod(rx_pkts[i], void *));
 
-		addrs[i] = (uintptr_t)rx_pkts[i]->rx_descriptor_fields1;
+		addrs[i] = (uintptr_t)rte_mbuf_rx_descriptor_fields1(rx_pkts[i]);
 	}
 
 	/*
@@ -203,10 +201,6 @@
 
 	__m512i v_value = _mm512_add_epi32(values, mbuf_len_offset);
 
-	/* assert offset of data_len */
-	RTE_BUILD_BUG_ON(offsetof(struct rte_mbuf, data_len) !=
-		offsetof(struct rte_mbuf, rx_descriptor_fields1) + 8);
-
 	__m512i v_index = _mm512_set_epi64(addrs[3] + 8, addrs[3],
 					   addrs[2] + 8, addrs[2],
 					   addrs[1] + 8, addrs[1],
diff --git a/drivers/net/virtio/virtio_rxtx_packed_neon.h b/drivers/net/virtio/virtio_rxtx_packed_neon.h
index c222ebf..c172fad 100644
--- a/drivers/net/virtio/virtio_rxtx_packed_neon.h
+++ b/drivers/net/virtio/virtio_rxtx_packed_neon.h
@@ -59,10 +59,10 @@
 	uint8x16x2_t mbuf;
 	/* Load four mbufs rearm data. */
 	RTE_BUILD_BUG_ON(REFCNT_BITS_OFFSET >= 64);
-	pkts[0] = vld1_u16((uint16_t *)&tx_pkts[0]->rearm_data);
-	pkts[1] = vld1_u16((uint16_t *)&tx_pkts[1]->rearm_data);
-	pkts[2] = vld1_u16((uint16_t *)&tx_pkts[2]->rearm_data);
-	pkts[3] = vld1_u16((uint16_t *)&tx_pkts[3]->rearm_data);
+	pkts[0] = vld1_u16((uint16_t *)rte_mbuf_rearm_data(tx_pkts[0]));
+	pkts[1] = vld1_u16((uint16_t *)rte_mbuf_rearm_data(tx_pkts[1]));
+	pkts[2] = vld1_u16((uint16_t *)rte_mbuf_rearm_data(tx_pkts[2]));
+	pkts[3] = vld1_u16((uint16_t *)rte_mbuf_rearm_data(tx_pkts[3]));
 
 	mbuf.val[0] = vreinterpretq_u8_u16(vcombine_u16(pkts[0], pkts[1]));
 	mbuf.val[1] = vreinterpretq_u8_u16(vcombine_u16(pkts[2], pkts[3]));
@@ -77,8 +77,6 @@
 
 	/* Check headroom is enough. */
 	uint16x4_t head_rooms = vdup_n_u16(head_size);
-	RTE_BUILD_BUG_ON(offsetof(struct rte_mbuf, data_off) !=
-			 offsetof(struct rte_mbuf, rearm_data));
 	uint16x4_t data_offset = vreinterpret_u16_u8(vqtbl2_u8(mbuf, data_msk));
 	uint64x1_t cmp2 = vreinterpret_u64_u16(vclt_u16(data_offset, head_rooms));
 	if (unlikely(vget_lane_u64(cmp2, 0)))
@@ -263,10 +261,10 @@
 	pkt_mb[3] = vreinterpretq_u64_u16(vsubq_u16(
 			vreinterpretq_u16_u64(pkt_mb[3]), len_adjust));
 
-	vst1q_u64((void *)&rx_pkts[0]->rx_descriptor_fields1, pkt_mb[0]);
-	vst1q_u64((void *)&rx_pkts[1]->rx_descriptor_fields1, pkt_mb[1]);
-	vst1q_u64((void *)&rx_pkts[2]->rx_descriptor_fields1, pkt_mb[2]);
-	vst1q_u64((void *)&rx_pkts[3]->rx_descriptor_fields1, pkt_mb[3]);
+	vst1q_u64(rte_mbuf_rx_descriptor_fields1(rx_pkts[0]), pkt_mb[0]);
+	vst1q_u64(rte_mbuf_rx_descriptor_fields1(rx_pkts[1]), pkt_mb[1]);
+	vst1q_u64(rte_mbuf_rx_descriptor_fields1(rx_pkts[2]), pkt_mb[2]);
+	vst1q_u64(rte_mbuf_rx_descriptor_fields1(rx_pkts[3]), pkt_mb[3]);
 
 	if (hw->has_rx_offload) {
 		virtio_for_each_try_unroll(i, 0, PACKED_BATCH_SIZE) {
diff --git a/drivers/net/virtio/virtio_rxtx_simple.c b/drivers/net/virtio/virtio_rxtx_simple.c
index 4382569..e6a82e5 100644
--- a/drivers/net/virtio/virtio_rxtx_simple.c
+++ b/drivers/net/virtio/virtio_rxtx_simple.c
@@ -31,7 +31,6 @@
 virtio_rxq_vec_setup(struct virtnet_rx *rxq)
 {
 	struct virtqueue *vq = virtnet_rxq_to_vq(rxq);
-	uintptr_t p;
 	struct rte_mbuf mb_def = { .buf_addr = 0 }; /* zeroed mbuf */
 
 	mb_def.nb_segs = 1;
@@ -41,8 +40,7 @@
 
 	/* prevent compiler reordering: rearm_data covers previous fields */
 	rte_compiler_barrier();
-	p = (uintptr_t)&mb_def.rearm_data;
-	rxq->mbuf_initializer = *(uint64_t *)p;
+	rxq->mbuf_initializer = *rte_mbuf_rearm_data(&mb_def);
 
 	return 0;
 }
diff --git a/drivers/net/virtio/virtio_rxtx_simple.h b/drivers/net/virtio/virtio_rxtx_simple.h
index 79196ed..16fef0e 100644
--- a/drivers/net/virtio/virtio_rxtx_simple.h
+++ b/drivers/net/virtio/virtio_rxtx_simple.h
@@ -39,10 +39,7 @@
 	}
 
 	for (i = 0; i < RTE_VIRTIO_VPMD_RX_REARM_THRESH; i++) {
-		uintptr_t p;
-
-		p = (uintptr_t)&sw_ring[i]->rearm_data;
-		*(uint64_t *)p = rxvq->mbuf_initializer;
+		*rte_mbuf_rearm_data(sw_ring[i]) = rxvq->mbuf_initializer;
 
 		start_dp[i].addr = VIRTIO_MBUF_ADDR(sw_ring[i], vq) +
 			RTE_PKTMBUF_HEADROOM - vq->hw->vtnet_hdr_size;
diff --git a/drivers/net/virtio/virtio_rxtx_simple_altivec.c b/drivers/net/virtio/virtio_rxtx_simple_altivec.c
index 542ec3d..39ec1ca 100644
--- a/drivers/net/virtio/virtio_rxtx_simple_altivec.c
+++ b/drivers/net/virtio/virtio_rxtx_simple_altivec.c
@@ -138,9 +138,9 @@
 			((__vector unsigned short)pkt_mb[0] + len_adjust);
 		pkt_mb[1] = (__vector unsigned char)
 			((__vector unsigned short)pkt_mb[1] + len_adjust);
-		*(__vector unsigned char *)&rx_pkts[0]->rx_descriptor_fields1 =
+		*(__vector unsigned char *)rte_mbuf_rx_descriptor_fields1(rx_pkts[0]) =
 			pkt_mb[0];
-		*(__vector unsigned char *)&rx_pkts[1]->rx_descriptor_fields1 =
+		*(__vector unsigned char *)rte_mbuf_rx_descriptor_fields1(rx_pkts[1]) =
 			pkt_mb[1];
 
 		pkt_mb[2] = vec_perm(desc[1], zero, shuf_msk1);
@@ -149,9 +149,9 @@
 			((__vector unsigned short)pkt_mb[2] + len_adjust);
 		pkt_mb[3] = (__vector unsigned char)
 			((__vector unsigned short)pkt_mb[3] + len_adjust);
-		*(__vector unsigned char *)&rx_pkts[2]->rx_descriptor_fields1 =
+		*(__vector unsigned char *)rte_mbuf_rx_descriptor_fields1(rx_pkts[2]) =
 			pkt_mb[2];
-		*(__vector unsigned char *)&rx_pkts[3]->rx_descriptor_fields1 =
+		*(__vector unsigned char *)rte_mbuf_rx_descriptor_fields1(rx_pkts[3]) =
 			pkt_mb[3];
 
 		pkt_mb[4] = vec_perm(desc[2], zero, shuf_msk1);
@@ -160,9 +160,9 @@
 			((__vector unsigned short)pkt_mb[4] + len_adjust);
 		pkt_mb[5] = (__vector unsigned char)
 			((__vector unsigned short)pkt_mb[5] + len_adjust);
-		*(__vector unsigned char *)&rx_pkts[4]->rx_descriptor_fields1 =
+		*(__vector unsigned char *)rte_mbuf_rx_descriptor_fields1(rx_pkts[4]) =
 			pkt_mb[4];
-		*(__vector unsigned char *)&rx_pkts[5]->rx_descriptor_fields1 =
+		*(__vector unsigned char *)rte_mbuf_rx_descriptor_fields1(rx_pkts[5]) =
 			pkt_mb[5];
 
 		pkt_mb[6] = vec_perm(desc[3], zero, shuf_msk1);
@@ -171,9 +171,9 @@
 			((__vector unsigned short)pkt_mb[6] + len_adjust);
 		pkt_mb[7] = (__vector unsigned char)
 			((__vector unsigned short)pkt_mb[7] + len_adjust);
-		*(__vector unsigned char *)&rx_pkts[6]->rx_descriptor_fields1 =
+		*(__vector unsigned char *)rte_mbuf_rx_descriptor_fields1(rx_pkts[6]) =
 			pkt_mb[6];
-		*(__vector unsigned char *)&rx_pkts[7]->rx_descriptor_fields1 =
+		*(__vector unsigned char *)rte_mbuf_rx_descriptor_fields1(rx_pkts[7]) =
 			pkt_mb[7];
 
 		if (unlikely(nb_used <= RTE_VIRTIO_DESC_PER_LOOP)) {
diff --git a/drivers/net/virtio/virtio_rxtx_simple_neon.c b/drivers/net/virtio/virtio_rxtx_simple_neon.c
index 7139b31..873b42c 100644
--- a/drivers/net/virtio/virtio_rxtx_simple_neon.c
+++ b/drivers/net/virtio/virtio_rxtx_simple_neon.c
@@ -138,10 +138,8 @@
 				vreinterpretq_u16_u64(pkt_mb[1]), len_adjust));
 		pkt_mb[0] = vreinterpretq_u64_u16(vsubq_u16(
 				vreinterpretq_u16_u64(pkt_mb[0]), len_adjust));
-		vst1q_u64((void *)&rx_pkts[1]->rx_descriptor_fields1,
-			pkt_mb[1]);
-		vst1q_u64((void *)&rx_pkts[0]->rx_descriptor_fields1,
-			pkt_mb[0]);
+		vst1q_u64(rte_mbuf_rx_descriptor_fields1(rx_pkts[1]), pkt_mb[1]);
+		vst1q_u64(rte_mbuf_rx_descriptor_fields1(rx_pkts[0]), pkt_mb[0]);
 
 		pkt_mb[3] = vreinterpretq_u64_u8(vqtbl1q_u8(
 				vreinterpretq_u8_u64(desc[1]), shuf_msk2));
@@ -151,10 +149,8 @@
 				vreinterpretq_u16_u64(pkt_mb[3]), len_adjust));
 		pkt_mb[2] = vreinterpretq_u64_u16(vsubq_u16(
 				vreinterpretq_u16_u64(pkt_mb[2]), len_adjust));
-		vst1q_u64((void *)&rx_pkts[3]->rx_descriptor_fields1,
-			pkt_mb[3]);
-		vst1q_u64((void *)&rx_pkts[2]->rx_descriptor_fields1,
-			pkt_mb[2]);
+		vst1q_u64(rte_mbuf_rx_descriptor_fields1(rx_pkts[3]), pkt_mb[3]);
+		vst1q_u64(rte_mbuf_rx_descriptor_fields1(rx_pkts[2]), pkt_mb[2]);
 
 		pkt_mb[5] = vreinterpretq_u64_u8(vqtbl1q_u8(
 				vreinterpretq_u8_u64(desc[2]), shuf_msk2));
@@ -164,10 +160,8 @@
 				vreinterpretq_u16_u64(pkt_mb[5]), len_adjust));
 		pkt_mb[4] = vreinterpretq_u64_u16(vsubq_u16(
 				vreinterpretq_u16_u64(pkt_mb[4]), len_adjust));
-		vst1q_u64((void *)&rx_pkts[5]->rx_descriptor_fields1,
-			pkt_mb[5]);
-		vst1q_u64((void *)&rx_pkts[4]->rx_descriptor_fields1,
-			pkt_mb[4]);
+		vst1q_u64(rte_mbuf_rx_descriptor_fields1(rx_pkts[5]), pkt_mb[5]);
+		vst1q_u64(rte_mbuf_rx_descriptor_fields1(rx_pkts[4]), pkt_mb[4]);
 
 		pkt_mb[7] = vreinterpretq_u64_u8(vqtbl1q_u8(
 				vreinterpretq_u8_u64(desc[3]), shuf_msk2));
@@ -177,10 +171,8 @@
 				vreinterpretq_u16_u64(pkt_mb[7]), len_adjust));
 		pkt_mb[6] = vreinterpretq_u64_u16(vsubq_u16(
 				vreinterpretq_u16_u64(pkt_mb[6]), len_adjust));
-		vst1q_u64((void *)&rx_pkts[7]->rx_descriptor_fields1,
-			pkt_mb[7]);
-		vst1q_u64((void *)&rx_pkts[6]->rx_descriptor_fields1,
-			pkt_mb[6]);
+		vst1q_u64(rte_mbuf_rx_descriptor_fields1(rx_pkts[7]), pkt_mb[7]);
+		vst1q_u64(rte_mbuf_rx_descriptor_fields1(rx_pkts[6]), pkt_mb[6]);
 
 		if (unlikely(nb_used <= RTE_VIRTIO_DESC_PER_LOOP)) {
 			if (sw_ring + nb_used <= sw_ring_end)
diff --git a/drivers/net/virtio/virtio_rxtx_simple_sse.c b/drivers/net/virtio/virtio_rxtx_simple_sse.c
index 6a18741..25db486 100644
--- a/drivers/net/virtio/virtio_rxtx_simple_sse.c
+++ b/drivers/net/virtio/virtio_rxtx_simple_sse.c
@@ -134,36 +134,36 @@
 		pkt_mb[0] = _mm_shuffle_epi8(desc[0], shuf_msk1);
 		pkt_mb[1] = _mm_add_epi16(pkt_mb[1], len_adjust);
 		pkt_mb[0] = _mm_add_epi16(pkt_mb[0], len_adjust);
-		_mm_storeu_si128((void *)&rx_pkts[1]->rx_descriptor_fields1,
+		_mm_storeu_si128(rte_mbuf_rx_descriptor_fields1(rx_pkts[1]),
 			pkt_mb[1]);
-		_mm_storeu_si128((void *)&rx_pkts[0]->rx_descriptor_fields1,
+		_mm_storeu_si128(rte_mbuf_rx_descriptor_fields1(rx_pkts[0]),
 			pkt_mb[0]);
 
 		pkt_mb[3] = _mm_shuffle_epi8(desc[1], shuf_msk2);
 		pkt_mb[2] = _mm_shuffle_epi8(desc[1], shuf_msk1);
 		pkt_mb[3] = _mm_add_epi16(pkt_mb[3], len_adjust);
 		pkt_mb[2] = _mm_add_epi16(pkt_mb[2], len_adjust);
-		_mm_storeu_si128((void *)&rx_pkts[3]->rx_descriptor_fields1,
+		_mm_storeu_si128(rte_mbuf_rx_descriptor_fields1(rx_pkts[3]),
 			pkt_mb[3]);
-		_mm_storeu_si128((void *)&rx_pkts[2]->rx_descriptor_fields1,
+		_mm_storeu_si128(rte_mbuf_rx_descriptor_fields1(rx_pkts[2]),
 			pkt_mb[2]);
 
 		pkt_mb[5] = _mm_shuffle_epi8(desc[2], shuf_msk2);
 		pkt_mb[4] = _mm_shuffle_epi8(desc[2], shuf_msk1);
 		pkt_mb[5] = _mm_add_epi16(pkt_mb[5], len_adjust);
 		pkt_mb[4] = _mm_add_epi16(pkt_mb[4], len_adjust);
-		_mm_storeu_si128((void *)&rx_pkts[5]->rx_descriptor_fields1,
+		_mm_storeu_si128(rte_mbuf_rx_descriptor_fields1(rx_pkts[5]),
 			pkt_mb[5]);
-		_mm_storeu_si128((void *)&rx_pkts[4]->rx_descriptor_fields1,
+		_mm_storeu_si128(rte_mbuf_rx_descriptor_fields1(rx_pkts[4]),
 			pkt_mb[4]);
 
 		pkt_mb[7] = _mm_shuffle_epi8(desc[3], shuf_msk2);
 		pkt_mb[6] = _mm_shuffle_epi8(desc[3], shuf_msk1);
 		pkt_mb[7] = _mm_add_epi16(pkt_mb[7], len_adjust);
 		pkt_mb[6] = _mm_add_epi16(pkt_mb[6], len_adjust);
-		_mm_storeu_si128((void *)&rx_pkts[7]->rx_descriptor_fields1,
+		_mm_storeu_si128(rte_mbuf_rx_descriptor_fields1(rx_pkts[7]),
 			pkt_mb[7]);
-		_mm_storeu_si128((void *)&rx_pkts[6]->rx_descriptor_fields1,
+		_mm_storeu_si128(rte_mbuf_rx_descriptor_fields1(rx_pkts[6]),
 			pkt_mb[6]);
 
 		if (unlikely(nb_used <= RTE_VIRTIO_DESC_PER_LOOP)) {
-- 
1.8.3.1


  parent reply	other threads:[~2024-02-27  5:44 UTC|newest]

Thread overview: 171+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-30 23:26 [PATCH] replace GCC marker extension with C11 anonymous unions Tyler Retzlaff
2024-01-30 23:26 ` [PATCH] mbuf: " Tyler Retzlaff
2024-01-31  9:18   ` Morten Brørup
2024-01-31 21:09     ` Tyler Retzlaff
2024-01-31 22:39       ` Morten Brørup
2024-01-31 13:49   ` Bruce Richardson
2024-01-31 20:45     ` Tyler Retzlaff
2024-01-31 22:55       ` Morten Brørup
2024-02-13  6:45   ` [PATCH v2] RFC: " Tyler Retzlaff
2024-02-13  6:45     ` [PATCH v2] mbuf: " Tyler Retzlaff
2024-02-13 16:58       ` Morten Brørup
2024-02-13 18:48         ` Tyler Retzlaff
2024-02-13 19:27           ` Morten Brørup
2024-02-13 20:00             ` Tyler Retzlaff
2024-02-13  8:57     ` [PATCH v2] RFC: " Bruce Richardson
2024-02-13 17:09     ` Morten Brørup
2024-02-13 23:33   ` [PATCH v3] RFC deprecate RTE_MARKER in struct rte_mbuf Tyler Retzlaff
2024-02-13 23:33     ` [PATCH v3] mbuf: deprecate GCC marker in rte mbuf struct Tyler Retzlaff
2024-02-14 10:46       ` Morten Brørup
2024-02-14 20:16         ` Tyler Retzlaff
2024-02-14 10:49     ` [PATCH v3] RFC deprecate RTE_MARKER in struct rte_mbuf Morten Brørup
2024-02-26  1:18     ` Stephen Hemminger
2024-02-15  6:21 ` [PATCH v4 00/18] stop using zero sized marker fields Tyler Retzlaff
2024-02-15  6:21   ` [PATCH v4 01/18] mbuf: deprecate GCC marker in rte mbuf struct Tyler Retzlaff
2024-02-18  2:28     ` fengchengwen
2024-02-18 12:39     ` Thomas Monjalon
2024-02-18 13:07       ` Morten Brørup
2024-02-18 15:22         ` Thomas Monjalon
2024-02-18 16:20           ` Morten Brørup
2024-02-20 17:24           ` Tyler Retzlaff
2024-02-20 17:20       ` Tyler Retzlaff
2024-02-20 17:53         ` Thomas Monjalon
2024-02-20 19:16           ` Thomas Monjalon
2024-02-20 19:37             ` Tyler Retzlaff
2024-02-15  6:21   ` [PATCH v4 02/18] mbuf: stop using zero sized marker fields Tyler Retzlaff
2024-02-18  2:38     ` fengchengwen
2024-02-15  6:21   ` [PATCH v4 03/18] net/i40e: " Tyler Retzlaff
2024-02-15  6:21   ` [PATCH v4 04/18] net/iavf: " Tyler Retzlaff
2024-02-15  6:21   ` [PATCH v4 05/18] net/ice: " Tyler Retzlaff
2024-02-15  6:21   ` [PATCH v4 06/18] net/ixgbe: " Tyler Retzlaff
2024-02-15  6:21   ` [PATCH v4 07/18] net/mlx5: " Tyler Retzlaff
2024-02-15  6:21   ` [PATCH v4 08/18] net/sfc: " Tyler Retzlaff
2024-02-15  6:21   ` [PATCH v4 09/18] net/bnxt: " Tyler Retzlaff
2024-02-15  6:21   ` [PATCH v4 10/18] net/enic: " Tyler Retzlaff
2024-02-15  6:21   ` [PATCH v4 11/18] net/fm10k: " Tyler Retzlaff
2024-02-15  6:21   ` [PATCH v4 12/18] net/hns3: " Tyler Retzlaff
2024-02-18  3:00     ` fengchengwen
2024-02-15  6:21   ` [PATCH v4 13/18] net/ionic: " Tyler Retzlaff
2024-02-15  6:21   ` [PATCH v4 14/18] net/thunderx: " Tyler Retzlaff
2024-02-15  6:21   ` [PATCH v4 15/18] net/virtio: " Tyler Retzlaff
2024-02-15  6:21   ` [PATCH v4 16/18] net/cnxk: " Tyler Retzlaff
2024-02-15  6:21   ` [PATCH v4 17/18] common/idpf: " Tyler Retzlaff
2024-02-15  6:21   ` [PATCH v4 18/18] examples/dma: " Tyler Retzlaff
2024-02-15  9:37   ` [PATCH v4 00/18] " Morten Brørup
2024-02-24  8:21 ` [PATCH v5 00/22] stop using RTE_MARKER extensions Tyler Retzlaff
2024-02-24  8:21   ` [PATCH v5 01/22] eal: provide macro to expand marker extensions Tyler Retzlaff
2024-02-24 10:51     ` Thomas Monjalon
2024-02-24 11:18       ` Thomas Monjalon
2024-02-24  8:21   ` [PATCH v5 02/22] mbuf: expand rte markers empty when building with MSVC Tyler Retzlaff
2024-02-24  8:21   ` [PATCH v5 03/22] security: " Tyler Retzlaff
2024-02-24  8:21   ` [PATCH v5 04/22] cryptodev: " Tyler Retzlaff
2024-02-24  8:21   ` [PATCH v5 05/22] mbuf: stop using mbuf cacheline marker fields Tyler Retzlaff
2024-02-24 10:58     ` Thomas Monjalon
2024-02-26 18:20       ` Stephen Hemminger
2024-02-24  8:21   ` [PATCH v5 06/22] mbuf: add mbuf descriptor accessors Tyler Retzlaff
2024-02-24 11:01     ` Thomas Monjalon
2024-02-24  8:21   ` [PATCH v5 07/22] common/idpf: use " Tyler Retzlaff
2024-02-24  8:21   ` [PATCH v5 08/22] net/bnxt: " Tyler Retzlaff
2024-02-24  8:21   ` [PATCH v5 09/22] net/cnxk: " Tyler Retzlaff
2024-02-24  8:21   ` [PATCH v5 10/22] net/enic: " Tyler Retzlaff
2024-02-24  8:21   ` [PATCH v5 11/22] net/fm10k: " Tyler Retzlaff
2024-02-24  8:21   ` [PATCH v5 12/22] net/hns3: " Tyler Retzlaff
2024-02-24  8:21   ` [PATCH v5 13/22] net/i40e: " Tyler Retzlaff
2024-02-24  8:21   ` [PATCH v5 14/22] net/iavf: " Tyler Retzlaff
2024-02-24  8:22   ` [PATCH v5 15/22] net/ice: " Tyler Retzlaff
2024-02-24  8:22   ` [PATCH v5 16/22] net/ionic: " Tyler Retzlaff
2024-02-24  8:22   ` [PATCH v5 17/22] net/ixgbe: " Tyler Retzlaff
2024-02-24  8:22   ` [PATCH v5 18/22] net/mlx5: " Tyler Retzlaff
2024-02-24  8:22   ` [PATCH v5 19/22] net/octeon_ep: " Tyler Retzlaff
2024-02-24  8:22   ` [PATCH v5 20/22] net/sfc: " Tyler Retzlaff
2024-02-24  8:22   ` [PATCH v5 21/22] net/thunderx: " Tyler Retzlaff
2024-02-24  8:22   ` [PATCH v5 22/22] net/virtio: " Tyler Retzlaff
2024-02-24 10:42   ` [PATCH v5 00/22] stop using RTE_MARKER extensions Morten Brørup
2024-02-24 11:13     ` Thomas Monjalon
2024-02-24 11:23       ` Morten Brørup
2024-02-27  5:41 ` [PATCH v6 00/23] stop and remove RTE_MARKER typedefs Tyler Retzlaff
2024-02-27  5:41   ` [PATCH v6 01/23] mbuf: add accessors for rearm and Rx descriptor fields Tyler Retzlaff
2024-02-27  9:10     ` Morten Brørup
2024-02-27 17:17       ` Tyler Retzlaff
2024-02-28  8:28         ` Morten Brørup
2024-02-28 16:20           ` Tyler Retzlaff
2024-02-27  5:41   ` [PATCH v6 02/23] mbuf: consolidate driver asserts for mbuf struct Tyler Retzlaff
2024-02-27 10:02     ` Konstantin Ananyev
2024-03-14 16:51     ` Tyler Retzlaff
2024-02-27  5:41   ` [PATCH v6 03/23] common/idpf: use mbuf descriptor accessors Tyler Retzlaff
2024-02-27  5:41   ` [PATCH v6 04/23] net/bnxt: " Tyler Retzlaff
2024-02-27  5:41   ` [PATCH v6 05/23] net/cnxk: " Tyler Retzlaff
2024-02-27  5:41   ` [PATCH v6 06/23] net/enic: " Tyler Retzlaff
2024-02-27  5:41   ` [PATCH v6 07/23] net/fm10k: " Tyler Retzlaff
2024-02-27  5:41   ` [PATCH v6 08/23] net/hns3: " Tyler Retzlaff
2024-02-27  5:41   ` [PATCH v6 09/23] net/i40e: " Tyler Retzlaff
2024-02-27  5:41   ` [PATCH v6 10/23] net/iavf: " Tyler Retzlaff
2024-02-27  5:41   ` [PATCH v6 11/23] net/ice: " Tyler Retzlaff
2024-02-27  5:41   ` [PATCH v6 12/23] net/ionic: " Tyler Retzlaff
2024-02-27  5:41   ` [PATCH v6 13/23] net/ixgbe: " Tyler Retzlaff
2024-02-27  5:41   ` [PATCH v6 14/23] net/mlx5: " Tyler Retzlaff
2024-02-27  5:41   ` [PATCH v6 15/23] net/octeon_ep: " Tyler Retzlaff
2024-02-27  5:41   ` [PATCH v6 16/23] net/sfc: " Tyler Retzlaff
2024-02-27  5:41   ` [PATCH v6 17/23] net/thunderx: " Tyler Retzlaff
2024-02-27  5:41   ` Tyler Retzlaff [this message]
2024-02-27  5:41   ` [PATCH v6 19/23] examples/dma: use mbuf descriptor accessor Tyler Retzlaff
2024-02-27  5:41   ` [PATCH v6 20/23] mbuf: remove and stop using rte marker fields Tyler Retzlaff
2024-02-27  9:15     ` Morten Brørup
2024-02-27 10:03     ` Konstantin Ananyev
2024-02-27 15:18     ` David Marchand
2024-02-27 16:04       ` Morten Brørup
2024-02-27 17:23       ` Tyler Retzlaff
2024-02-28 10:42         ` David Marchand
2024-02-28 14:03       ` Dodji Seketeli
2024-02-28 14:43         ` David Marchand
2024-02-29 14:50           ` Dodji Seketeli
2024-02-28 14:18     ` David Marchand
2024-02-28 15:01       ` Morten Brørup
2024-02-28 15:33         ` David Marchand
2024-02-28 17:20       ` Tyler Retzlaff
2024-02-27  5:41   ` [PATCH v6 21/23] security: remove " Tyler Retzlaff
2024-02-27  5:41   ` [PATCH v6 22/23] cryptodev: " Tyler Retzlaff
2024-02-27  5:41   ` [PATCH v6 23/23] devtools: forbid new use of rte marker typedefs Tyler Retzlaff
2024-03-20 22:01 ` [PATCH v7 0/4] remove use of RTE_MARKER fields in libraries Tyler Retzlaff
2024-03-20 22:01   ` [PATCH v7 1/4] net/i40e: use inline prefetch function Tyler Retzlaff
2024-03-26 10:16     ` Morten Brørup
2024-03-27 18:14       ` Tyler Retzlaff
2024-03-27 19:45         ` Morten Brørup
2024-03-20 22:01   ` [PATCH v7 2/4] mbuf: remove rte marker fields Tyler Retzlaff
2024-03-21 10:32     ` Bruce Richardson
2024-03-21 15:31       ` Tyler Retzlaff
2024-03-21 16:19         ` Morten Brørup
2024-03-26 11:12     ` Morten Brørup
2024-03-20 22:01   ` [PATCH v7 3/4] security: " Tyler Retzlaff
2024-03-26 10:28     ` Morten Brørup
2024-03-27 19:59       ` Tyler Retzlaff
2024-03-20 22:01   ` [PATCH v7 4/4] cryptodev: " Tyler Retzlaff
2024-03-26 10:31     ` Morten Brørup
2024-03-27 19:56 ` [PATCH v8 0/4] remove use of RTE_MARKER fields in libraries Tyler Retzlaff
2024-03-27 19:56   ` [PATCH v8 1/4] net/i40e: use inline prefetch function Tyler Retzlaff
2024-03-27 19:56   ` [PATCH v8 2/4] mbuf: remove rte marker fields Tyler Retzlaff
2024-03-27 19:56   ` [PATCH v8 3/4] security: " Tyler Retzlaff
2024-03-27 19:56   ` [PATCH v8 4/4] cryptodev: " Tyler Retzlaff
2024-04-02 20:08 ` [PATCH v9 0/4] remove use of RTE_MARKER fields in libraries Tyler Retzlaff
2024-04-02 20:08   ` [PATCH v9 1/4] net/i40e: use inline prefetch function Tyler Retzlaff
2024-04-02 20:08   ` [PATCH v9 2/4] mbuf: remove rte marker fields Tyler Retzlaff
2024-04-02 20:45     ` Stephen Hemminger
2024-04-02 20:51       ` Tyler Retzlaff
2024-04-02 20:08   ` [PATCH v9 3/4] security: " Tyler Retzlaff
2024-04-02 20:08   ` [PATCH v9 4/4] cryptodev: " Tyler Retzlaff
2024-04-03 17:53 ` [PATCH v10 0/4] remove use of RTE_MARKER fields in libraries Tyler Retzlaff
2024-04-03 17:53   ` [PATCH v10 1/4] net/i40e: use inline prefetch function Tyler Retzlaff
2024-04-03 21:49     ` Stephen Hemminger
2024-04-03 17:53   ` [PATCH v10 2/4] mbuf: remove rte marker fields Tyler Retzlaff
2024-04-03 19:32     ` Morten Brørup
2024-04-03 22:45       ` Tyler Retzlaff
2024-04-03 21:49     ` Stephen Hemminger
2024-04-03 17:53   ` [PATCH v10 3/4] security: " Tyler Retzlaff
2024-04-03 21:50     ` Stephen Hemminger
2024-04-03 17:53   ` [PATCH v10 4/4] cryptodev: " Tyler Retzlaff
2024-04-03 21:50     ` Stephen Hemminger
2024-04-04 17:51 ` [PATCH v11 0/4] remove use of RTE_MARKER fields in libraries Tyler Retzlaff
2024-04-04 17:51   ` [PATCH v11 1/4] net/i40e: use inline prefetch function Tyler Retzlaff
2024-04-04 17:51   ` [PATCH v11 2/4] mbuf: remove rte marker fields Tyler Retzlaff
2024-04-04 17:51   ` [PATCH v11 3/4] security: " Tyler Retzlaff
2024-04-04 17:51   ` [PATCH v11 4/4] cryptodev: " Tyler Retzlaff

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=1709012499-12813-19-git-send-email-roretzla@linux.microsoft.com \
    --to=roretzla@linux.microsoft.com \
    --cc=Yuying.Zhang@intel.com \
    --cc=ajit.khaparde@broadcom.com \
    --cc=andrew.boyer@amd.com \
    --cc=andrew.rybchenko@oktetlabs.ru \
    --cc=bruce.richardson@intel.com \
    --cc=chenbox@nvidia.com \
    --cc=dev@dpdk.org \
    --cc=drc@linux.vnet.ibm.com \
    --cc=dsosnowski@nvidia.com \
    --cc=fengchengwen@huawei.com \
    --cc=haijie1@huawei.com \
    --cc=hyonkim@cisco.com \
    --cc=jerinj@marvell.com \
    --cc=jingjing.wu@intel.com \
    --cc=johndale@cisco.com \
    --cc=kevin.laatz@intel.com \
    --cc=kirankumark@marvell.com \
    --cc=konstantin.v.ananyev@yandex.ru \
    --cc=matan@nvidia.com \
    --cc=maxime.coquelin@redhat.com \
    --cc=mb@smartsharesystems.com \
    --cc=mczekaj@marvell.com \
    --cc=ndabilpuram@marvell.com \
    --cc=orika@nvidia.com \
    --cc=ruifeng.wang@arm.com \
    --cc=skori@marvell.com \
    --cc=skoteshwar@marvell.com \
    --cc=somnath.kotur@broadcom.com \
    --cc=suanmingm@nvidia.com \
    --cc=viacheslavo@nvidia.com \
    --cc=yisen.zhuang@huawei.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).