DPDK patches and discussions
 help / color / mirror / Atom feed
From: Tyler Retzlaff <roretzla@linux.microsoft.com>
To: dev@dpdk.org
Cc: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>,
	Bruce Richardson <bruce.richardson@intel.com>,
	Chengwen Feng <fengchengwen@huawei.com>,
	Cristian Dumitrescu <cristian.dumitrescu@intel.com>,
	David Christensen <drc@linux.vnet.ibm.com>,
	David Hunt <david.hunt@intel.com>,
	Ferruh Yigit <ferruh.yigit@amd.com>,
	Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>,
	Jasvinder Singh <jasvinder.singh@intel.com>,
	Jerin Jacob <jerinj@marvell.com>,
	Kevin Laatz <kevin.laatz@intel.com>,
	Konstantin Ananyev <konstantin.v.ananyev@yandex.ru>,
	Min Zhou <zhoumin@loongson.cn>,
	Ruifeng Wang <ruifeng.wang@arm.com>,
	Sameh Gobriel <sameh.gobriel@intel.com>,
	Stanislaw Kardach <kda@semihalf.com>,
	Thomas Monjalon <thomas@monjalon.net>,
	Vladimir Medvedkin <vladimir.medvedkin@intel.com>,
	Yipeng Wang <yipeng1.wang@intel.com>,
	Tyler Retzlaff <roretzla@linux.microsoft.com>
Subject: [PATCH v4 10/39] eventdev: use C11 alignas
Date: Wed, 14 Feb 2024 08:35:35 -0800	[thread overview]
Message-ID: <1707928564-28796-11-git-send-email-roretzla@linux.microsoft.com> (raw)
In-Reply-To: <1707928564-28796-1-git-send-email-roretzla@linux.microsoft.com>

* Move __rte_aligned from the end of {struct,union} definitions to
  be between {struct,union} and tag.

  The placement between {struct,union} and the tag allows the desired
  alignment to be imparted on the type regardless of the toolchain being
  used for all of GCC, LLVM, MSVC compilers building both C and C++.

* Replace use of __rte_aligned(a) on variables/fields with alignas(a).

Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
---
 lib/eventdev/event_timer_adapter_pmd.h  |  4 ++--
 lib/eventdev/eventdev_pmd.h             |  8 ++++----
 lib/eventdev/rte_event_crypto_adapter.c | 16 ++++++++--------
 lib/eventdev/rte_event_dma_adapter.c    | 16 ++++++++--------
 lib/eventdev/rte_event_eth_rx_adapter.c |  8 ++++----
 lib/eventdev/rte_event_eth_tx_adapter.c |  4 ++--
 lib/eventdev/rte_event_timer_adapter.c  |  9 +++++----
 lib/eventdev/rte_event_timer_adapter.h  |  8 ++++----
 lib/eventdev/rte_eventdev.h             |  8 ++++----
 lib/eventdev/rte_eventdev_core.h        |  4 ++--
 10 files changed, 43 insertions(+), 42 deletions(-)

diff --git a/lib/eventdev/event_timer_adapter_pmd.h b/lib/eventdev/event_timer_adapter_pmd.h
index 65b421b..cd5127f 100644
--- a/lib/eventdev/event_timer_adapter_pmd.h
+++ b/lib/eventdev/event_timer_adapter_pmd.h
@@ -86,7 +86,7 @@ struct event_timer_adapter_ops {
  * @internal Adapter data; structure to be placed in shared memory to be
  * accessible by various processes in a multi-process configuration.
  */
-struct rte_event_timer_adapter_data {
+struct __rte_cache_aligned rte_event_timer_adapter_data {
 	uint8_t id;
 	/**< Event timer adapter ID */
 	uint8_t event_dev_id;
@@ -110,7 +110,7 @@ struct rte_event_timer_adapter_data {
 
 	uint8_t started : 1;
 	/**< Flag to indicate adapter started. */
-} __rte_cache_aligned;
+};
 
 #ifdef __cplusplus
 }
diff --git a/lib/eventdev/eventdev_pmd.h b/lib/eventdev/eventdev_pmd.h
index c415624..3934d8e 100644
--- a/lib/eventdev/eventdev_pmd.h
+++ b/lib/eventdev/eventdev_pmd.h
@@ -107,7 +107,7 @@ struct rte_eventdev_global {
  * This structure is safe to place in shared memory to be common among
  * different processes in a multi-process configuration.
  */
-struct rte_eventdev_data {
+struct __rte_cache_aligned rte_eventdev_data {
 	int socket_id;
 	/**< Socket ID where memory is allocated */
 	uint8_t dev_id;
@@ -146,10 +146,10 @@ struct rte_eventdev_data {
 
 	uint64_t reserved_64s[4]; /**< Reserved for future fields */
 	void *reserved_ptrs[4];	  /**< Reserved for future fields */
-} __rte_cache_aligned;
+};
 
 /** @internal The data structure associated with each event device. */
-struct rte_eventdev {
+struct __rte_cache_aligned rte_eventdev {
 	struct rte_eventdev_data *data;
 	/**< Pointer to device data */
 	struct eventdev_ops *dev_ops;
@@ -189,7 +189,7 @@ struct rte_eventdev {
 
 	uint64_t reserved_64s[3]; /**< Reserved for future fields */
 	void *reserved_ptrs[3];	  /**< Reserved for future fields */
-} __rte_cache_aligned;
+};
 
 extern struct rte_eventdev *rte_eventdevs;
 /** @internal The pool of rte_eventdev structures. */
diff --git a/lib/eventdev/rte_event_crypto_adapter.c b/lib/eventdev/rte_event_crypto_adapter.c
index d46595d..6bc2769 100644
--- a/lib/eventdev/rte_event_crypto_adapter.c
+++ b/lib/eventdev/rte_event_crypto_adapter.c
@@ -42,7 +42,7 @@
 
 #define ECA_ADAPTER_ARRAY "crypto_adapter_array"
 
-struct crypto_ops_circular_buffer {
+struct __rte_cache_aligned crypto_ops_circular_buffer {
 	/* index of head element in circular buffer */
 	uint16_t head;
 	/* index of tail element in circular buffer */
@@ -53,9 +53,9 @@ struct crypto_ops_circular_buffer {
 	uint16_t size;
 	/* Pointer to hold rte_crypto_ops for batching */
 	struct rte_crypto_op **op_buffer;
-} __rte_cache_aligned;
+};
 
-struct event_crypto_adapter {
+struct __rte_cache_aligned event_crypto_adapter {
 	/* Event device identifier */
 	uint8_t eventdev_id;
 	/* Event port identifier */
@@ -98,10 +98,10 @@ struct event_crypto_adapter {
 	uint16_t nb_qps;
 	/* Adapter mode */
 	enum rte_event_crypto_adapter_mode mode;
-} __rte_cache_aligned;
+};
 
 /* Per crypto device information */
-struct crypto_device_info {
+struct __rte_cache_aligned crypto_device_info {
 	/* Pointer to cryptodev */
 	struct rte_cryptodev *dev;
 	/* Pointer to queue pair info */
@@ -118,15 +118,15 @@ struct crypto_device_info {
 	 * be invoked if not already invoked
 	 */
 	uint16_t num_qpairs;
-} __rte_cache_aligned;
+};
 
 /* Per queue pair information */
-struct crypto_queue_pair_info {
+struct __rte_cache_aligned crypto_queue_pair_info {
 	/* Set to indicate queue pair is enabled */
 	bool qp_enabled;
 	/* Circular buffer for batching crypto ops to cdev */
 	struct crypto_ops_circular_buffer cbuf;
-} __rte_cache_aligned;
+};
 
 static struct event_crypto_adapter **event_crypto_adapter;
 
diff --git a/lib/eventdev/rte_event_dma_adapter.c b/lib/eventdev/rte_event_dma_adapter.c
index 4196164..24dff55 100644
--- a/lib/eventdev/rte_event_dma_adapter.c
+++ b/lib/eventdev/rte_event_dma_adapter.c
@@ -26,7 +26,7 @@
 	} while (0)
 
 /* DMA ops circular buffer */
-struct dma_ops_circular_buffer {
+struct __rte_cache_aligned dma_ops_circular_buffer {
 	/* Index of head element */
 	uint16_t head;
 
@@ -41,19 +41,19 @@ struct dma_ops_circular_buffer {
 
 	/* Pointer to hold rte_event_dma_adapter_op for processing */
 	struct rte_event_dma_adapter_op **op_buffer;
-} __rte_cache_aligned;
+};
 
 /* Vchan information */
-struct dma_vchan_info {
+struct __rte_cache_aligned dma_vchan_info {
 	/* Set to indicate vchan queue is enabled */
 	bool vq_enabled;
 
 	/* Circular buffer for batching DMA ops to dma_dev */
 	struct dma_ops_circular_buffer dma_buf;
-} __rte_cache_aligned;
+};
 
 /* DMA device information */
-struct dma_device_info {
+struct __rte_cache_aligned dma_device_info {
 	/* Pointer to vchan queue info */
 	struct dma_vchan_info *vchanq;
 
@@ -81,9 +81,9 @@ struct dma_device_info {
 	 * transfer uses a hardware mechanism
 	 */
 	uint8_t internal_event_port;
-} __rte_cache_aligned;
+};
 
-struct event_dma_adapter {
+struct __rte_cache_aligned event_dma_adapter {
 	/* Event device identifier */
 	uint8_t eventdev_id;
 
@@ -145,7 +145,7 @@ struct event_dma_adapter {
 
 	/* Per instance stats structure */
 	struct rte_event_dma_adapter_stats dma_stats;
-} __rte_cache_aligned;
+};
 
 static struct event_dma_adapter **event_dma_adapter;
 
diff --git a/lib/eventdev/rte_event_eth_rx_adapter.c b/lib/eventdev/rte_event_eth_rx_adapter.c
index 1b83a55..3ee20d9 100644
--- a/lib/eventdev/rte_event_eth_rx_adapter.c
+++ b/lib/eventdev/rte_event_eth_rx_adapter.c
@@ -72,7 +72,7 @@ struct eth_rx_poll_entry {
 	uint16_t eth_rx_qid;
 };
 
-struct eth_rx_vector_data {
+struct __rte_cache_aligned eth_rx_vector_data {
 	TAILQ_ENTRY(eth_rx_vector_data) next;
 	uint16_t port;
 	uint16_t queue;
@@ -82,7 +82,7 @@ struct eth_rx_vector_data {
 	uint64_t vector_timeout_ticks;
 	struct rte_mempool *vector_pool;
 	struct rte_event_vector *vector_ev;
-} __rte_cache_aligned;
+};
 
 TAILQ_HEAD(eth_rx_vector_data_list, eth_rx_vector_data);
 
@@ -103,7 +103,7 @@ struct eth_event_enqueue_buffer {
 	uint16_t last_mask;
 };
 
-struct event_eth_rx_adapter {
+struct __rte_cache_aligned event_eth_rx_adapter {
 	/* RSS key */
 	uint8_t rss_key_be[RSS_KEY_SIZE];
 	/* Event device identifier */
@@ -188,7 +188,7 @@ struct event_eth_rx_adapter {
 	uint8_t rxa_started;
 	/* Adapter ID */
 	uint8_t id;
-} __rte_cache_aligned;
+};
 
 /* Per eth device */
 struct eth_device_info {
diff --git a/lib/eventdev/rte_event_eth_tx_adapter.c b/lib/eventdev/rte_event_eth_tx_adapter.c
index 56435be..67fff8b 100644
--- a/lib/eventdev/rte_event_eth_tx_adapter.c
+++ b/lib/eventdev/rte_event_eth_tx_adapter.c
@@ -109,7 +109,7 @@ struct txa_service_queue_info {
 };
 
 /* PMD private structure */
-struct txa_service_data {
+struct __rte_cache_aligned txa_service_data {
 	/* Max mbufs processed in any service function invocation */
 	uint32_t max_nb_tx;
 	/* Number of Tx queues in adapter */
@@ -144,7 +144,7 @@ struct txa_service_data {
 	int64_t service_id;
 	/* Memory allocation name */
 	char mem_name[TXA_MEM_NAME_LEN];
-} __rte_cache_aligned;
+};
 
 /* Per eth device structure */
 struct txa_service_ethdev {
diff --git a/lib/eventdev/rte_event_timer_adapter.c b/lib/eventdev/rte_event_timer_adapter.c
index e6d3492..5d3e37f 100644
--- a/lib/eventdev/rte_event_timer_adapter.c
+++ b/lib/eventdev/rte_event_timer_adapter.c
@@ -4,6 +4,7 @@
  */
 
 #include <ctype.h>
+#include <stdalign.h>
 #include <string.h>
 #include <inttypes.h>
 #include <stdbool.h>
@@ -512,11 +513,11 @@ struct rte_event_timer_adapter *
 
 #define EXP_TIM_BUF_SZ 128
 
-struct event_buffer {
+struct __rte_cache_aligned event_buffer {
 	size_t head;
 	size_t tail;
 	struct rte_event events[EVENT_BUFFER_SZ];
-} __rte_cache_aligned;
+};
 
 static inline bool
 event_buffer_full(struct event_buffer *bufp)
@@ -632,9 +633,9 @@ struct swtim {
 	/* Identifier of timer data instance */
 	uint32_t timer_data_id;
 	/* Track which cores have actually armed a timer */
-	struct {
+	alignas(RTE_CACHE_LINE_SIZE) struct {
 		RTE_ATOMIC(uint16_t) v;
-	} __rte_cache_aligned in_use[RTE_MAX_LCORE];
+	} in_use[RTE_MAX_LCORE];
 	/* Track which cores' timer lists should be polled */
 	RTE_ATOMIC(unsigned int) poll_lcores[RTE_MAX_LCORE];
 	/* The number of lists that should be polled */
diff --git a/lib/eventdev/rte_event_timer_adapter.h b/lib/eventdev/rte_event_timer_adapter.h
index c133dec..0bd1b30 100644
--- a/lib/eventdev/rte_event_timer_adapter.h
+++ b/lib/eventdev/rte_event_timer_adapter.h
@@ -473,7 +473,7 @@ enum rte_event_timer_state {
  * The generic *rte_event_timer* structure to hold the event timer attributes
  * for arm and cancel operations.
  */
-struct rte_event_timer {
+struct __rte_cache_aligned rte_event_timer {
 	struct rte_event ev;
 	/**<
 	 * Expiry event attributes.  On successful event timer timeout,
@@ -504,7 +504,7 @@ struct rte_event_timer {
 	/**< Memory to store user specific metadata.
 	 * The event timer adapter implementation should not modify this area.
 	 */
-} __rte_cache_aligned;
+};
 
 typedef uint16_t (*rte_event_timer_arm_burst_t)(
 		const struct rte_event_timer_adapter *adapter,
@@ -526,7 +526,7 @@ typedef uint16_t (*rte_event_timer_cancel_burst_t)(
 /**
  * @internal Data structure associated with each event timer adapter.
  */
-struct rte_event_timer_adapter {
+struct __rte_cache_aligned rte_event_timer_adapter {
 	rte_event_timer_arm_burst_t arm_burst;
 	/**< Pointer to driver arm_burst function. */
 	rte_event_timer_arm_tmo_tick_burst_t arm_tmo_tick_burst;
@@ -540,7 +540,7 @@ struct rte_event_timer_adapter {
 
 	uint8_t allocated : 1;
 	/**< Flag to indicate that this adapter has been allocated */
-} __rte_cache_aligned;
+};
 
 #define ADAPTER_VALID_OR_ERR_RET(adapter, retval) do {		\
 	if (adapter == NULL || !adapter->allocated)		\
diff --git a/lib/eventdev/rte_eventdev.h b/lib/eventdev/rte_eventdev.h
index ec9b024..ff143c7 100644
--- a/lib/eventdev/rte_eventdev.h
+++ b/lib/eventdev/rte_eventdev.h
@@ -1078,7 +1078,7 @@ int rte_event_dev_stop_flush_callback_register(uint8_t dev_id,
 /**
  * Event vector structure.
  */
-struct rte_event_vector {
+struct __rte_aligned(16) rte_event_vector {
 	uint16_t nb_elem;
 	/**< Number of elements valid in this event vector. */
 	uint16_t elem_offset : 12;
@@ -1118,19 +1118,19 @@ struct rte_event_vector {
 	 * value to share between dequeue and enqueue operation.
 	 * The application should not modify this field.
 	 */
-	union {
+	union __rte_aligned(16) {
 #endif
 		struct rte_mbuf *mbufs[0];
 		void *ptrs[0];
 		uint64_t u64s[0];
 #ifndef __cplusplus
-	} __rte_aligned(16);
+	};
 #endif
 	/**< Start of the vector array union. Depending upon the event type the
 	 * vector array can be an array of mbufs or pointers or opaque u64
 	 * values.
 	 */
-} __rte_aligned(16);
+};
 
 /* Scheduler type definitions */
 #define RTE_SCHED_TYPE_ORDERED          0
diff --git a/lib/eventdev/rte_eventdev_core.h b/lib/eventdev/rte_eventdev_core.h
index 5b40551..fc8e155 100644
--- a/lib/eventdev/rte_eventdev_core.h
+++ b/lib/eventdev/rte_eventdev_core.h
@@ -49,7 +49,7 @@ typedef uint16_t (*event_dma_adapter_enqueue_t)(void *port, struct rte_event ev[
 typedef int (*event_profile_switch_t)(void *port, uint8_t profile);
 /**< @internal Switch active link profile on the event port. */
 
-struct rte_event_fp_ops {
+struct __rte_cache_aligned rte_event_fp_ops {
 	void **data;
 	/**< points to array of internal port data pointers */
 	event_enqueue_t enqueue;
@@ -77,7 +77,7 @@ struct rte_event_fp_ops {
 	event_profile_switch_t profile_switch;
 	/**< PMD Event switch profile function. */
 	uintptr_t reserved[4];
-} __rte_cache_aligned;
+};
 
 extern struct rte_event_fp_ops rte_event_fp_ops[RTE_EVENT_MAX_DEVS];
 
-- 
1.8.3.1


  parent reply	other threads:[~2024-02-14 16:37 UTC|newest]

Thread overview: 260+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-14  1:26 [PATCH 00/14] use C11 alignas and normalize type alignment Tyler Retzlaff
2024-02-14  1:26 ` [PATCH 01/14] eal: use C11 alignas Tyler Retzlaff
2024-02-14  1:26 ` [PATCH 02/14] stack: " Tyler Retzlaff
2024-02-14  1:26 ` [PATCH 03/14] sched: " Tyler Retzlaff
2024-02-14  1:26 ` [PATCH 04/14] ring: remove unnecessary explicit alignment Tyler Retzlaff
2024-02-14  1:26 ` [PATCH 05/14] pipeline: use C11 alignas Tyler Retzlaff
2024-02-14  1:26 ` [PATCH 06/14] net: " Tyler Retzlaff
2024-02-14  1:26 ` [PATCH 07/14] mbuf: remove unnecessary explicit alignment Tyler Retzlaff
2024-02-14  1:26 ` [PATCH 08/14] hash: use C11 alignas Tyler Retzlaff
2024-02-14  1:26 ` [PATCH 09/14] eventdev: " Tyler Retzlaff
2024-02-14  1:26 ` [PATCH 10/14] ethdev: " Tyler Retzlaff
2024-02-14  1:26 ` [PATCH 11/14] dmadev: " Tyler Retzlaff
2024-02-14  2:09   ` fengchengwen
2024-02-14  1:26 ` [PATCH 12/14] distributor: " Tyler Retzlaff
2024-02-14  1:26 ` [PATCH 13/14] acl: " Tyler Retzlaff
2024-02-14  1:26 ` [PATCH 14/14] eal: redefine macro to be integer literal for MSVC Tyler Retzlaff
2024-02-14  4:17 ` [PATCH v2 00/14] use C11 alignas and normalize type alignment Tyler Retzlaff
2024-02-14  4:17   ` [PATCH v2 01/14] eal: use C11 alignas Tyler Retzlaff
2024-02-14  4:17   ` [PATCH v2 02/14] stack: " Tyler Retzlaff
2024-02-14  4:17   ` [PATCH v2 03/14] sched: " Tyler Retzlaff
2024-02-14  4:17   ` [PATCH v2 04/14] ring: remove unnecessary explicit alignment Tyler Retzlaff
2024-02-14  4:17   ` [PATCH v2 05/14] pipeline: use C11 alignas Tyler Retzlaff
2024-02-14  4:17   ` [PATCH v2 06/14] net: " Tyler Retzlaff
2024-02-14  4:17   ` [PATCH v2 07/14] mbuf: remove unnecessary explicit alignment Tyler Retzlaff
2024-02-14  4:17   ` [PATCH v2 08/14] hash: use C11 alignas Tyler Retzlaff
2024-02-14  4:17   ` [PATCH v2 09/14] eventdev: " Tyler Retzlaff
2024-02-14  4:17   ` [PATCH v2 10/14] ethdev: " Tyler Retzlaff
2024-02-14  4:17   ` [PATCH v2 11/14] dmadev: " Tyler Retzlaff
2024-02-14  4:17   ` [PATCH v2 12/14] distributor: " Tyler Retzlaff
2024-02-14  4:17   ` [PATCH v2 13/14] acl: " Tyler Retzlaff
2024-02-14  4:17   ` [PATCH v2 14/14] eal: redefine macro to be integer literal for MSVC Tyler Retzlaff
2024-02-14  7:05 ` [PATCH v3 00/39] use C11 alignas and normalize type alignment Tyler Retzlaff
2024-02-14  7:05   ` [PATCH v3 01/39] eal: use C11 alignas Tyler Retzlaff
2024-02-14  7:05   ` [PATCH v3 02/39] eal: redefine macro to be integer literal for MSVC Tyler Retzlaff
2024-02-14  7:05   ` [PATCH v3 03/39] stack: use C11 alignas Tyler Retzlaff
2024-02-14  7:05   ` [PATCH v3 04/39] sched: " Tyler Retzlaff
2024-02-14  7:05   ` [PATCH v3 05/39] ring: " Tyler Retzlaff
2024-02-14  7:05   ` [PATCH v3 06/39] pipeline: " Tyler Retzlaff
2024-02-14  7:05   ` [PATCH v3 07/39] net: " Tyler Retzlaff
2024-02-14  7:05   ` [PATCH v3 08/39] mbuf: remove unnecessary explicit alignment Tyler Retzlaff
2024-02-14 13:12     ` David Marchand
2024-02-14 14:28       ` Tyler Retzlaff
2024-02-14  7:05   ` [PATCH v3 09/39] hash: use C11 alignas Tyler Retzlaff
2024-02-14  7:05   ` [PATCH v3 10/39] eventdev: " Tyler Retzlaff
2024-02-14  7:05   ` [PATCH v3 11/39] ethdev: " Tyler Retzlaff
2024-02-14  7:05   ` [PATCH v3 12/39] dmadev: " Tyler Retzlaff
2024-02-14  7:05   ` [PATCH v3 13/39] distributor: " Tyler Retzlaff
2024-02-14  7:05   ` [PATCH v3 14/39] acl: " Tyler Retzlaff
2024-02-14  7:05   ` [PATCH v3 15/39] vhost: " Tyler Retzlaff
2024-02-14 10:37     ` Maxime Coquelin
2024-02-14  7:05   ` [PATCH v3 16/39] timer: " Tyler Retzlaff
2024-02-14  7:06   ` [PATCH v3 17/39] table: " Tyler Retzlaff
2024-02-14  7:06   ` [PATCH v3 18/39] reorder: " Tyler Retzlaff
2024-02-14  7:06   ` [PATCH v3 19/39] regexdev: " Tyler Retzlaff
2024-02-14  7:06   ` [PATCH v3 20/39] rcu: " Tyler Retzlaff
2024-02-14  7:06   ` [PATCH v3 21/39] power: " Tyler Retzlaff
2024-02-14  7:06   ` [PATCH v3 22/39] rawdev: " Tyler Retzlaff
2024-02-14  7:06   ` [PATCH v3 23/39] port: " Tyler Retzlaff
2024-02-14  7:06   ` [PATCH v3 24/39] pdcp: " Tyler Retzlaff
2024-02-14  7:06   ` [PATCH v3 25/39] node: " Tyler Retzlaff
2024-02-14  7:06   ` [PATCH v3 26/39] mldev: " Tyler Retzlaff
2024-02-14  7:06   ` [PATCH v3 27/39] mempool: " Tyler Retzlaff
2024-02-14  7:06   ` [PATCH v3 28/39] member: " Tyler Retzlaff
2024-02-14  7:06   ` [PATCH v3 29/39] lpm: " Tyler Retzlaff
2024-02-14  7:06   ` [PATCH v3 30/39] ipsec: " Tyler Retzlaff
2024-02-14  7:06   ` [PATCH v3 31/39] jobstats: " Tyler Retzlaff
2024-02-14  7:06   ` [PATCH v3 32/39] bpf: " Tyler Retzlaff
2024-02-14  7:06   ` [PATCH v3 33/39] compressdev: " Tyler Retzlaff
2024-02-14  7:06   ` [PATCH v3 34/39] cryptodev: " Tyler Retzlaff
2024-02-14  7:06   ` [PATCH v3 35/39] dispatcher: " Tyler Retzlaff
2024-02-14  7:06   ` [PATCH v3 36/39] fib: " Tyler Retzlaff
2024-02-14  7:06   ` [PATCH v3 37/39] gpudev: " Tyler Retzlaff
2024-02-14  7:06   ` [PATCH v3 38/39] graph: " Tyler Retzlaff
2024-02-14  7:06   ` [PATCH v3 39/39] ip_frag: " Tyler Retzlaff
2024-02-14  8:22     ` Morten Brørup
2024-02-14 16:35 ` [PATCH v4 00/39] use C11 alignas and normalize type alignment Tyler Retzlaff
2024-02-14 16:35   ` [PATCH v4 01/39] eal: use C11 alignas Tyler Retzlaff
2024-02-22  6:43     ` Thomas Monjalon
2024-02-14 16:35   ` [PATCH v4 02/39] eal: redefine macro to be integer literal for MSVC Tyler Retzlaff
2024-02-14 16:35   ` [PATCH v4 03/39] stack: use C11 alignas Tyler Retzlaff
2024-02-14 16:35   ` [PATCH v4 04/39] sched: " Tyler Retzlaff
2024-02-14 16:35   ` [PATCH v4 05/39] ring: " Tyler Retzlaff
2024-02-14 16:35   ` [PATCH v4 06/39] pipeline: " Tyler Retzlaff
2024-02-14 16:35   ` [PATCH v4 07/39] net: " Tyler Retzlaff
2024-02-14 16:35   ` [PATCH v4 08/39] mbuf: " Tyler Retzlaff
2024-02-14 16:35   ` [PATCH v4 09/39] hash: " Tyler Retzlaff
2024-02-14 16:35   ` Tyler Retzlaff [this message]
2024-02-14 16:35   ` [PATCH v4 11/39] ethdev: " Tyler Retzlaff
2024-02-14 16:35   ` [PATCH v4 12/39] dmadev: " Tyler Retzlaff
2024-02-14 16:35   ` [PATCH v4 13/39] distributor: " Tyler Retzlaff
2024-02-14 16:35   ` [PATCH v4 14/39] acl: " Tyler Retzlaff
2024-02-14 16:35   ` [PATCH v4 15/39] vhost: " Tyler Retzlaff
2024-02-14 16:35   ` [PATCH v4 16/39] timer: " Tyler Retzlaff
2024-02-14 16:35   ` [PATCH v4 17/39] table: " Tyler Retzlaff
2024-02-14 16:35   ` [PATCH v4 18/39] reorder: " Tyler Retzlaff
2024-02-14 16:35   ` [PATCH v4 19/39] regexdev: " Tyler Retzlaff
2024-02-14 16:35   ` [PATCH v4 20/39] rcu: " Tyler Retzlaff
2024-02-14 16:35   ` [PATCH v4 21/39] power: " Tyler Retzlaff
2024-02-14 16:35   ` [PATCH v4 22/39] rawdev: " Tyler Retzlaff
2024-02-14 16:35   ` [PATCH v4 23/39] port: " Tyler Retzlaff
2024-02-14 16:35   ` [PATCH v4 24/39] pdcp: " Tyler Retzlaff
2024-02-14 16:35   ` [PATCH v4 25/39] node: " Tyler Retzlaff
2024-02-14 16:35   ` [PATCH v4 26/39] mldev: " Tyler Retzlaff
2024-02-14 16:35   ` [PATCH v4 27/39] mempool: " Tyler Retzlaff
2024-02-14 16:35   ` [PATCH v4 28/39] member: " Tyler Retzlaff
2024-02-14 16:35   ` [PATCH v4 29/39] lpm: " Tyler Retzlaff
2024-02-14 16:35   ` [PATCH v4 30/39] ipsec: " Tyler Retzlaff
2024-02-14 16:35   ` [PATCH v4 31/39] jobstats: " Tyler Retzlaff
2024-02-14 16:35   ` [PATCH v4 32/39] bpf: " Tyler Retzlaff
2024-02-14 16:35   ` [PATCH v4 33/39] compressdev: " Tyler Retzlaff
2024-02-14 16:35   ` [PATCH v4 34/39] cryptodev: " Tyler Retzlaff
2024-02-14 16:36   ` [PATCH v4 35/39] dispatcher: " Tyler Retzlaff
2024-02-14 16:36   ` [PATCH v4 36/39] fib: " Tyler Retzlaff
2024-02-14 16:36   ` [PATCH v4 37/39] gpudev: " Tyler Retzlaff
2024-02-14 16:36   ` [PATCH v4 38/39] graph: " Tyler Retzlaff
2024-02-14 16:36   ` [PATCH v4 39/39] ip_frag: " Tyler Retzlaff
2024-02-23 19:03 ` [PATCH v5 00/39] " Tyler Retzlaff
2024-02-23 19:03   ` [PATCH v5 01/39] eal: " Tyler Retzlaff
2024-02-26 11:13     ` Bruce Richardson
2024-02-23 19:03   ` [PATCH v5 02/39] eal: redefine macro to be integer literal for MSVC Tyler Retzlaff
2024-02-26 12:51     ` Konstantin Ananyev
2024-02-26 17:20       ` Tyler Retzlaff
2024-02-23 19:03   ` [PATCH v5 03/39] stack: use C11 alignas Tyler Retzlaff
2024-02-23 19:03   ` [PATCH v5 04/39] sched: " Tyler Retzlaff
2024-02-23 19:03   ` [PATCH v5 05/39] ring: " Tyler Retzlaff
2024-02-26 13:23     ` Konstantin Ananyev
2024-02-26 17:29       ` Tyler Retzlaff
2024-02-23 19:03   ` [PATCH v5 06/39] pipeline: " Tyler Retzlaff
2024-02-23 19:03   ` [PATCH v5 07/39] net: " Tyler Retzlaff
2024-02-23 19:03   ` [PATCH v5 08/39] mbuf: " Tyler Retzlaff
2024-02-23 19:03   ` [PATCH v5 09/39] hash: " Tyler Retzlaff
2024-02-23 19:03   ` [PATCH v5 10/39] eventdev: " Tyler Retzlaff
2024-02-23 19:03   ` [PATCH v5 11/39] ethdev: " Tyler Retzlaff
2024-02-23 19:03   ` [PATCH v5 12/39] dmadev: " Tyler Retzlaff
2024-02-23 19:03   ` [PATCH v5 13/39] distributor: " Tyler Retzlaff
2024-02-23 19:03   ` [PATCH v5 14/39] acl: " Tyler Retzlaff
2024-02-23 19:03   ` [PATCH v5 15/39] vhost: " Tyler Retzlaff
2024-02-23 19:03   ` [PATCH v5 16/39] timer: " Tyler Retzlaff
2024-02-23 19:03   ` [PATCH v5 17/39] table: " Tyler Retzlaff
2024-02-23 19:03   ` [PATCH v5 18/39] reorder: " Tyler Retzlaff
2024-02-23 19:03   ` [PATCH v5 19/39] regexdev: " Tyler Retzlaff
2024-02-23 19:03   ` [PATCH v5 20/39] rcu: " Tyler Retzlaff
2024-02-23 19:03   ` [PATCH v5 21/39] power: " Tyler Retzlaff
2024-02-23 19:03   ` [PATCH v5 22/39] rawdev: " Tyler Retzlaff
2024-02-23 19:03   ` [PATCH v5 23/39] port: " Tyler Retzlaff
2024-02-23 19:03   ` [PATCH v5 24/39] pdcp: " Tyler Retzlaff
2024-02-23 19:04   ` [PATCH v5 25/39] node: " Tyler Retzlaff
2024-02-23 19:04   ` [PATCH v5 26/39] mldev: " Tyler Retzlaff
2024-02-23 19:04   ` [PATCH v5 27/39] mempool: " Tyler Retzlaff
2024-02-23 19:04   ` [PATCH v5 28/39] member: " Tyler Retzlaff
2024-02-23 19:04   ` [PATCH v5 29/39] lpm: " Tyler Retzlaff
2024-02-23 19:04   ` [PATCH v5 30/39] ipsec: " Tyler Retzlaff
2024-02-23 19:04   ` [PATCH v5 31/39] jobstats: " Tyler Retzlaff
2024-02-23 19:04   ` [PATCH v5 32/39] bpf: " Tyler Retzlaff
2024-02-23 19:04   ` [PATCH v5 33/39] compressdev: " Tyler Retzlaff
2024-02-23 19:04   ` [PATCH v5 34/39] cryptodev: " Tyler Retzlaff
2024-02-23 19:04   ` [PATCH v5 35/39] dispatcher: " Tyler Retzlaff
2024-02-23 19:04   ` [PATCH v5 36/39] fib: " Tyler Retzlaff
2024-02-23 19:04   ` [PATCH v5 37/39] gpudev: " Tyler Retzlaff
2024-02-23 19:04   ` [PATCH v5 38/39] graph: " Tyler Retzlaff
2024-02-23 19:04   ` [PATCH v5 39/39] ip_frag: " Tyler Retzlaff
2024-02-26 18:25 ` [PATCH v6 00/39] " Tyler Retzlaff
2024-02-26 18:25   ` [PATCH v6 01/39] eal: " Tyler Retzlaff
2024-02-27  9:34     ` Konstantin Ananyev
2024-02-26 18:25   ` [PATCH v6 02/39] eal: redefine macro to be integer literal for MSVC Tyler Retzlaff
2024-02-27  9:35     ` Konstantin Ananyev
2024-02-26 18:25   ` [PATCH v6 03/39] stack: use C11 alignas Tyler Retzlaff
2024-02-26 18:25   ` [PATCH v6 04/39] sched: " Tyler Retzlaff
2024-02-26 18:25   ` [PATCH v6 05/39] ring: " Tyler Retzlaff
2024-02-27  9:36     ` Konstantin Ananyev
2024-02-26 18:25   ` [PATCH v6 06/39] pipeline: " Tyler Retzlaff
2024-02-26 18:25   ` [PATCH v6 07/39] net: " Tyler Retzlaff
2024-02-26 18:25   ` [PATCH v6 08/39] mbuf: " Tyler Retzlaff
2024-02-27  9:40     ` Konstantin Ananyev
2024-02-26 18:25   ` [PATCH v6 09/39] hash: " Tyler Retzlaff
2024-02-26 18:25   ` [PATCH v6 10/39] eventdev: " Tyler Retzlaff
2024-02-26 18:25   ` [PATCH v6 11/39] ethdev: " Tyler Retzlaff
2024-02-27  9:39     ` Konstantin Ananyev
2024-02-26 18:25   ` [PATCH v6 12/39] dmadev: " Tyler Retzlaff
2024-02-26 18:25   ` [PATCH v6 13/39] distributor: " Tyler Retzlaff
2024-02-26 18:25   ` [PATCH v6 14/39] acl: " Tyler Retzlaff
2024-02-27  9:38     ` Konstantin Ananyev
2024-02-26 18:25   ` [PATCH v6 15/39] vhost: " Tyler Retzlaff
2024-02-26 18:25   ` [PATCH v6 16/39] timer: " Tyler Retzlaff
2024-02-26 18:25   ` [PATCH v6 17/39] table: " Tyler Retzlaff
2024-02-26 18:25   ` [PATCH v6 18/39] reorder: " Tyler Retzlaff
2024-02-26 18:25   ` [PATCH v6 19/39] regexdev: " Tyler Retzlaff
2024-02-26 18:25   ` [PATCH v6 20/39] rcu: " Tyler Retzlaff
2024-02-26 18:25   ` [PATCH v6 21/39] power: " Tyler Retzlaff
2024-02-26 18:25   ` [PATCH v6 22/39] rawdev: " Tyler Retzlaff
2024-02-26 18:25   ` [PATCH v6 23/39] port: " Tyler Retzlaff
2024-02-26 18:25   ` [PATCH v6 24/39] pdcp: " Tyler Retzlaff
2024-02-26 18:25   ` [PATCH v6 25/39] node: " Tyler Retzlaff
2024-02-26 18:25   ` [PATCH v6 26/39] mldev: " Tyler Retzlaff
2024-02-26 18:25   ` [PATCH v6 27/39] mempool: " Tyler Retzlaff
2024-02-27  9:42     ` Konstantin Ananyev
2024-02-26 18:25   ` [PATCH v6 28/39] member: " Tyler Retzlaff
2024-02-26 18:25   ` [PATCH v6 29/39] lpm: " Tyler Retzlaff
2024-02-26 18:25   ` [PATCH v6 30/39] ipsec: " Tyler Retzlaff
2024-02-27  9:42     ` Konstantin Ananyev
2024-02-26 18:25   ` [PATCH v6 31/39] jobstats: " Tyler Retzlaff
2024-02-26 18:25   ` [PATCH v6 32/39] bpf: " Tyler Retzlaff
2024-02-27  9:43     ` Konstantin Ananyev
2024-02-26 18:25   ` [PATCH v6 33/39] compressdev: " Tyler Retzlaff
2024-02-26 18:25   ` [PATCH v6 34/39] cryptodev: " Tyler Retzlaff
2024-02-26 18:25   ` [PATCH v6 35/39] dispatcher: " Tyler Retzlaff
2024-02-26 18:25   ` [PATCH v6 36/39] fib: " Tyler Retzlaff
2024-02-26 18:25   ` [PATCH v6 37/39] gpudev: " Tyler Retzlaff
2024-02-26 18:25   ` [PATCH v6 38/39] graph: " Tyler Retzlaff
2024-02-26 18:25   ` [PATCH v6 39/39] ip_frag: " Tyler Retzlaff
2024-02-27  9:44     ` Konstantin Ananyev
2024-03-04 17:52 ` [PATCH v7 00/39] " Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 01/39] eal: " Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 02/39] eal: redefine macro to be integer literal for MSVC Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 03/39] stack: use C11 alignas Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 04/39] sched: " Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 05/39] ring: " Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 06/39] pipeline: " Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 07/39] net: " Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 08/39] mbuf: " Tyler Retzlaff
2024-03-05 14:30     ` David Marchand
2024-03-05 17:37       ` Tyler Retzlaff
2024-03-05 20:00         ` David Marchand
2024-03-04 17:52   ` [PATCH v7 09/39] hash: " Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 10/39] eventdev: " Tyler Retzlaff
2024-03-05 15:47     ` David Marchand
2024-03-05 17:41       ` Tyler Retzlaff
2024-03-06  9:45         ` David Marchand
2024-03-04 17:52   ` [PATCH v7 11/39] ethdev: " Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 12/39] dmadev: " Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 13/39] distributor: " Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 14/39] acl: " Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 15/39] vhost: " Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 16/39] timer: " Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 17/39] table: " Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 18/39] reorder: " Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 19/39] regexdev: " Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 20/39] rcu: " Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 21/39] power: " Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 22/39] rawdev: " Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 23/39] port: " Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 24/39] pdcp: " Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 25/39] node: " Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 26/39] mldev: " Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 27/39] mempool: " Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 28/39] member: " Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 29/39] lpm: " Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 30/39] ipsec: " Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 31/39] jobstats: " Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 32/39] bpf: " Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 33/39] compressdev: " Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 34/39] cryptodev: " Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 35/39] dispatcher: " Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 36/39] fib: " Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 37/39] gpudev: " Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 38/39] graph: " Tyler Retzlaff
2024-03-04 17:52   ` [PATCH v7 39/39] ip_frag: " Tyler Retzlaff
2024-03-05 20:08   ` [PATCH v7 00/39] " David Marchand
2024-03-06  9:55   ` David Marchand
2024-03-06 18:05     ` 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=1707928564-28796-11-git-send-email-roretzla@linux.microsoft.com \
    --to=roretzla@linux.microsoft.com \
    --cc=andrew.rybchenko@oktetlabs.ru \
    --cc=bruce.richardson@intel.com \
    --cc=cristian.dumitrescu@intel.com \
    --cc=david.hunt@intel.com \
    --cc=dev@dpdk.org \
    --cc=drc@linux.vnet.ibm.com \
    --cc=fengchengwen@huawei.com \
    --cc=ferruh.yigit@amd.com \
    --cc=honnappa.nagarahalli@arm.com \
    --cc=jasvinder.singh@intel.com \
    --cc=jerinj@marvell.com \
    --cc=kda@semihalf.com \
    --cc=kevin.laatz@intel.com \
    --cc=konstantin.v.ananyev@yandex.ru \
    --cc=ruifeng.wang@arm.com \
    --cc=sameh.gobriel@intel.com \
    --cc=thomas@monjalon.net \
    --cc=vladimir.medvedkin@intel.com \
    --cc=yipeng1.wang@intel.com \
    --cc=zhoumin@loongson.cn \
    /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).