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 v3 10/39] eventdev: use C11 alignas
Date: Tue, 13 Feb 2024 23:05:53 -0800 [thread overview]
Message-ID: <1707894382-307-11-git-send-email-roretzla@linux.microsoft.com> (raw)
In-Reply-To: <1707894382-307-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>
---
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
next prev parent reply other threads:[~2024-02-14 7:07 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 ` Tyler Retzlaff [this message]
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 ` [PATCH v4 10/39] eventdev: " Tyler Retzlaff
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=1707894382-307-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).