From: Tyler Retzlaff <roretzla@linux.microsoft.com>
To: dev@dpdk.org
Cc: "Mattias Rönnblom" <mattias.ronnblom@ericsson.com>,
"Min Hu (Connor)" <humin29@huawei.com>,
"Morten Brørup" <mb@smartsharesystems.com>,
"Abdullah Sevincer" <abdullah.sevincer@intel.com>,
"Ajit Khaparde" <ajit.khaparde@broadcom.com>,
"Akhil Goyal" <gakhil@marvell.com>,
"Alok Prasad" <palok@marvell.com>,
"Amit Bernstein" <amitbern@amazon.com>,
"Anatoly Burakov" <anatoly.burakov@intel.com>,
"Andrew Boyer" <andrew.boyer@amd.com>,
"Andrew Rybchenko" <andrew.rybchenko@oktetlabs.ru>,
"Ankur Dwivedi" <adwivedi@marvell.com>,
"Anoob Joseph" <anoobj@marvell.com>,
"Ashish Gupta" <ashish.gupta@marvell.com>,
"Ashwin Sekhar T K" <asekhar@marvell.com>,
"Bruce Richardson" <bruce.richardson@intel.com>,
"Byron Marohn" <byron.marohn@intel.com>,
"Chaoyong He" <chaoyong.he@corigine.com>,
"Chas Williams" <chas3@att.com>,
"Chenbo Xia" <chenbox@nvidia.com>,
"Chengwen Feng" <fengchengwen@huawei.com>,
"Conor Walsh" <conor.walsh@intel.com>,
"Cristian Dumitrescu" <cristian.dumitrescu@intel.com>,
"Dariusz Sosnowski" <dsosnowski@nvidia.com>,
"David Hunt" <david.hunt@intel.com>,
"Devendra Singh Rawat" <dsinghrawat@marvell.com>,
"Ed Czeck" <ed.czeck@atomicrules.com>,
"Evgeny Schemeilin" <evgenys@amazon.com>,
"Fan Zhang" <fanzhang.oss@gmail.com>,
"Gagandeep Singh" <g.singh@nxp.com>,
"Guoyang Zhou" <zhouguoyang@huawei.com>,
"Harman Kalra" <hkalra@marvell.com>,
"Harry van Haaren" <harry.van.haaren@intel.com>,
"Hemant Agrawal" <hemant.agrawal@nxp.com>,
"Honnappa Nagarahalli" <honnappa.nagarahalli@arm.com>,
"Hyong Youb Kim" <hyonkim@cisco.com>,
"Jakub Grajciar" <jgrajcia@cisco.com>,
"Jerin Jacob" <jerinj@marvell.com>,
"Jian Wang" <jianwang@trustnetic.com>,
"Jiawen Wu" <jiawenwu@trustnetic.com>,
"Jie Hai" <haijie1@huawei.com>,
"Jingjing Wu" <jingjing.wu@intel.com>,
"John Daley" <johndale@cisco.com>,
"John Miller" <john.miller@atomicrules.com>,
"Joyce Kong" <joyce.kong@arm.com>,
"Junfeng Guo" <junfeng.guo@intel.com>,
"Kai Ji" <kai.ji@intel.com>,
"Kevin Laatz" <kevin.laatz@intel.com>,
"Kiran Kumar K" <kirankumark@marvell.com>,
"Konstantin Ananyev" <konstantin.v.ananyev@yandex.ru>,
"Lee Daly" <lee.daly@intel.com>,
"Liang Ma" <liangma@liangbit.com>,
"Liron Himi" <lironh@marvell.com>,
"Long Li" <longli@microsoft.com>,
"Maciej Czekaj" <mczekaj@marvell.com>,
"Matan Azrad" <matan@nvidia.com>,
"Matt Peters" <matt.peters@windriver.com>,
"Maxime Coquelin" <maxime.coquelin@redhat.com>,
"Michael Shamis" <michaelsh@marvell.com>,
"Nagadheeraj Rottela" <rnagadheeraj@marvell.com>,
"Nicolas Chautru" <nicolas.chautru@intel.com>,
"Nithin Dabilpuram" <ndabilpuram@marvell.com>,
"Ori Kam" <orika@nvidia.com>,
"Pablo de Lara" <pablo.de.lara.guarch@intel.com>,
"Pavan Nikhilesh" <pbhagavatula@marvell.com>,
"Peter Mccarthy" <peter.mccarthy@intel.com>,
"Radu Nicolau" <radu.nicolau@intel.com>,
"Rahul Lakkireddy" <rahul.lakkireddy@chelsio.com>,
"Rakesh Kudurumalla" <rkudurumalla@marvell.com>,
"Raveendra Padasalagi" <raveendra.padasalagi@broadcom.com>,
"Reshma Pattan" <reshma.pattan@intel.com>,
"Ron Beider" <rbeider@amazon.com>,
"Ruifeng Wang" <ruifeng.wang@arm.com>,
"Sachin Saxena" <sachin.saxena@nxp.com>,
"Selwin Sebastian" <selwin.sebastian@amd.com>,
"Shai Brandes" <shaibran@amazon.com>,
"Shepard Siegel" <shepard.siegel@atomicrules.com>,
"Shijith Thotton" <sthotton@marvell.com>,
"Sivaprasad Tummala" <sivaprasad.tummala@amd.com>,
"Somnath Kotur" <somnath.kotur@broadcom.com>,
"Srikanth Yalavarthi" <syalavarthi@marvell.com>,
"Stephen Hemminger" <stephen@networkplumber.org>,
"Steven Webster" <steven.webster@windriver.com>,
"Suanming Mou" <suanmingm@nvidia.com>,
"Sunil Kumar Kori" <skori@marvell.com>,
"Sunil Uttarwar" <sunilprakashrao.uttarwar@amd.com>,
"Sunila Sahu" <ssahu@marvell.com>,
"Tejasree Kondoj" <ktejasree@marvell.com>,
"Viacheslav Ovsiienko" <viacheslavo@nvidia.com>,
"Vikas Gupta" <vikas.gupta@broadcom.com>,
"Volodymyr Fialko" <vfialko@marvell.com>,
"Wajeeh Atrash" <atrwajee@amazon.com>,
"Wisam Jaddo" <wisamm@nvidia.com>,
"Xiaoyun Wang" <cloud.wangxiaoyun@huawei.com>,
"Yipeng Wang" <yipeng1.wang@intel.com>,
"Yisen Zhuang" <yisen.zhuang@huawei.com>,
"Yuying Zhang" <Yuying.Zhang@intel.com>,
"Zhangfei Gao" <zhangfei.gao@linaro.org>,
"Zhirun Yan" <yanzhirun_163@163.com>,
"Ziyang Xuan" <xuanziyang2@huawei.com>,
"Tyler Retzlaff" <roretzla@linux.microsoft.com>
Subject: [PATCH 01/83] examples: move alignment attribute on types
Date: Wed, 20 Mar 2024 08:36:54 -0700 [thread overview]
Message-ID: <1710949096-5786-2-git-send-email-roretzla@linux.microsoft.com> (raw)
In-Reply-To: <1710949096-5786-1-git-send-email-roretzla@linux.microsoft.com>
Move location of __rte_aligned(a) to new conventional location. The new
placement between {struct,union} and the tag allows the desired
alignment to be imparted on the type regardless of the toolchain being
used for both C and C++. Additionally, it avoids confusion by Doxygen
when generating documentation.
Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
---
examples/bbdev_app/main.c | 8 +++---
examples/bond/main.c | 2 +-
examples/distributor/main.c | 32 +++++++++++-----------
examples/eventdev_pipeline/pipeline_common.h | 8 +++---
examples/ip_fragmentation/main.c | 4 +--
examples/ip_pipeline/thread.c | 4 +--
examples/ip_reassembly/main.c | 4 +--
examples/ipsec-secgw/ipsec-secgw.c | 4 +--
examples/ipsec-secgw/ipsec-secgw.h | 8 +++---
examples/ipsec-secgw/ipsec.h | 22 +++++++--------
examples/ipsec-secgw/ipsec_worker.h | 4 +--
examples/ipv4_multicast/main.c | 4 +--
examples/l2fwd-crypto/main.c | 12 ++++----
examples/l2fwd-event/l2fwd_common.h | 8 +++---
examples/l2fwd-event/l2fwd_poll.h | 4 +--
examples/l2fwd-jobstats/main.c | 8 +++---
examples/l2fwd-keepalive/main.c | 8 +++---
examples/l2fwd-macsec/main.c | 12 ++++----
examples/l2fwd/main.c | 12 ++++----
examples/l3fwd-graph/main.c | 8 +++---
examples/l3fwd-power/main.c | 24 ++++++++--------
examples/l3fwd-power/main.h | 4 +--
examples/l3fwd-power/perf_core.c | 4 +--
examples/l3fwd/l3fwd.h | 8 +++---
examples/l3fwd/l3fwd_em.c | 4 +--
examples/l3fwd/main.c | 4 +--
examples/link_status_interrupt/main.c | 8 +++---
.../multi_process/client_server_mp/shared/common.h | 8 +++---
examples/multi_process/symmetric_mp/main.c | 4 +--
examples/ntb/ntb_fwd.c | 4 +--
examples/packet_ordering/main.c | 16 +++++------
examples/pipeline/thread.c | 4 +--
examples/qos_sched/app_thread.c | 2 +-
examples/qos_sched/main.h | 4 +--
examples/server_node_efd/shared/common.h | 12 ++++----
examples/vhost/main.h | 4 +--
examples/vhost_blk/vhost_blk.h | 4 +--
examples/vhost_crypto/main.c | 4 +--
examples/vm_power_manager/power_manager.c | 4 +--
39 files changed, 151 insertions(+), 151 deletions(-)
diff --git a/examples/bbdev_app/main.c b/examples/bbdev_app/main.c
index 16599ae..d4c686c 100644
--- a/examples/bbdev_app/main.c
+++ b/examples/bbdev_app/main.c
@@ -120,16 +120,16 @@ struct app_config_params {
uint16_t num_dec_cores;
};
-struct lcore_statistics {
+struct __rte_cache_aligned lcore_statistics {
unsigned int enqueued;
unsigned int dequeued;
unsigned int rx_lost_packets;
unsigned int enc_to_dec_lost_packets;
unsigned int tx_lost_packets;
-} __rte_cache_aligned;
+};
/** each lcore configuration */
-struct lcore_conf {
+struct __rte_cache_aligned lcore_conf {
uint64_t core_type;
unsigned int port_id;
@@ -148,7 +148,7 @@ struct lcore_conf {
struct rte_ring *enc_to_dec_ring;
struct lcore_statistics *lcore_stats;
-} __rte_cache_aligned;
+};
struct stats_lcore_params {
struct lcore_conf *lconf;
diff --git a/examples/bond/main.c b/examples/bond/main.c
index 8528abf..9f38b63 100644
--- a/examples/bond/main.c
+++ b/examples/bond/main.c
@@ -346,7 +346,7 @@ struct global_flag_stru_t {
*/
static int lcore_main(__rte_unused void *arg1)
{
- struct rte_mbuf *pkts[MAX_PKT_BURST] __rte_cache_aligned;
+ alignas(RTE_CACHE_LINE_SIZE) struct rte_mbuf *pkts[MAX_PKT_BURST];
struct rte_ether_addr dst_addr;
struct rte_ether_addr bond_mac_addr;
diff --git a/examples/distributor/main.c b/examples/distributor/main.c
index 542f76c..ddbc387 100644
--- a/examples/distributor/main.c
+++ b/examples/distributor/main.c
@@ -44,39 +44,39 @@
unsigned int num_workers;
static volatile struct app_stats {
- struct {
+ alignas(RTE_CACHE_LINE_SIZE) struct {
uint64_t rx_pkts;
uint64_t returned_pkts;
uint64_t enqueued_pkts;
uint64_t enqdrop_pkts;
- } rx __rte_cache_aligned;
- int pad1 __rte_cache_aligned;
+ } rx;
+ alignas(RTE_CACHE_LINE_SIZE) int pad1;
- struct {
+ alignas(RTE_CACHE_LINE_SIZE) struct {
uint64_t in_pkts;
uint64_t ret_pkts;
uint64_t sent_pkts;
uint64_t enqdrop_pkts;
- } dist __rte_cache_aligned;
- int pad2 __rte_cache_aligned;
+ } dist;
+ alignas(RTE_CACHE_LINE_SIZE) int pad2;
- struct {
+ alignas(RTE_CACHE_LINE_SIZE) struct {
uint64_t dequeue_pkts;
uint64_t tx_pkts;
uint64_t enqdrop_pkts;
- } tx __rte_cache_aligned;
- int pad3 __rte_cache_aligned;
+ } tx;
+ alignas(RTE_CACHE_LINE_SIZE) int pad3;
- uint64_t worker_pkts[64] __rte_cache_aligned;
+ alignas(RTE_CACHE_LINE_SIZE) uint64_t worker_pkts[64];
- int pad4 __rte_cache_aligned;
+ alignas(RTE_CACHE_LINE_SIZE) int pad4;
- uint64_t worker_bursts[64][8] __rte_cache_aligned;
+ alignas(RTE_CACHE_LINE_SIZE) uint64_t worker_bursts[64][8];
- int pad5 __rte_cache_aligned;
+ alignas(RTE_CACHE_LINE_SIZE) int pad5;
- uint64_t port_rx_pkts[64] __rte_cache_aligned;
- uint64_t port_tx_pkts[64] __rte_cache_aligned;
+ alignas(RTE_CACHE_LINE_SIZE) uint64_t port_rx_pkts[64];
+ alignas(RTE_CACHE_LINE_SIZE) uint64_t port_tx_pkts[64];
} app_stats;
struct app_stats prev_app_stats;
@@ -642,7 +642,7 @@ struct lcore_params {
* port, otherwise we send traffic from 0 to 1, 2 to 3, and vice versa
*/
const unsigned xor_val = (rte_eth_dev_count_avail() > 1);
- struct rte_mbuf *buf[8] __rte_cache_aligned;
+ alignas(RTE_CACHE_LINE_SIZE) struct rte_mbuf *buf[8];
for (i = 0; i < 8; i++)
buf[i] = NULL;
diff --git a/examples/eventdev_pipeline/pipeline_common.h b/examples/eventdev_pipeline/pipeline_common.h
index 28b6ab8..21b4c7e 100644
--- a/examples/eventdev_pipeline/pipeline_common.h
+++ b/examples/eventdev_pipeline/pipeline_common.h
@@ -24,10 +24,10 @@
#define BATCH_SIZE 16
#define MAX_NUM_CORE 64
-struct worker_data {
+struct __rte_cache_aligned worker_data {
uint8_t dev_id;
uint8_t port_id;
-} __rte_cache_aligned;
+};
typedef int (*worker_loop)(void *);
typedef void (*schedule_loop)(unsigned int);
@@ -43,7 +43,7 @@ struct setup_data {
opt_check check_opt;
};
-struct fastpath_data {
+struct __rte_cache_aligned fastpath_data {
volatile int done;
uint32_t evdev_service_id;
uint32_t rxadptr_service_id;
@@ -56,7 +56,7 @@ struct fastpath_data {
uint64_t sched_core[MAX_NUM_CORE];
uint64_t worker_core[MAX_NUM_CORE];
struct setup_data cap;
-} __rte_cache_aligned;
+};
struct config_data {
unsigned int active_cores;
diff --git a/examples/ip_fragmentation/main.c b/examples/ip_fragmentation/main.c
index 744a1aa..736eae6 100644
--- a/examples/ip_fragmentation/main.c
+++ b/examples/ip_fragmentation/main.c
@@ -135,12 +135,12 @@ struct rx_queue {
#define MAX_RX_QUEUE_PER_LCORE 16
#define MAX_TX_QUEUE_PER_PORT 16
-struct lcore_queue_conf {
+struct __rte_cache_aligned lcore_queue_conf {
uint16_t n_rx_queue;
uint16_t tx_queue_id[RTE_MAX_ETHPORTS];
struct rx_queue rx_queue_list[MAX_RX_QUEUE_PER_LCORE];
struct mbuf_table tx_mbufs[RTE_MAX_ETHPORTS];
-} __rte_cache_aligned;
+};
struct lcore_queue_conf lcore_queue_conf[RTE_MAX_LCORE];
static struct rte_eth_conf port_conf = {
diff --git a/examples/ip_pipeline/thread.c b/examples/ip_pipeline/thread.c
index b46f64b..8a912dc 100644
--- a/examples/ip_pipeline/thread.c
+++ b/examples/ip_pipeline/thread.c
@@ -63,7 +63,7 @@ struct pipeline_data {
uint8_t buffer[TABLE_RULE_ACTION_SIZE_MAX];
};
-struct thread_data {
+struct __rte_cache_aligned thread_data {
struct rte_pipeline *p[THREAD_PIPELINES_MAX];
uint32_t n_pipelines;
@@ -73,7 +73,7 @@ struct thread_data {
uint64_t timer_period; /* Measured in CPU cycles. */
uint64_t time_next;
uint64_t time_next_min;
-} __rte_cache_aligned;
+};
static struct thread_data thread_data[RTE_MAX_LCORE];
diff --git a/examples/ip_reassembly/main.c b/examples/ip_reassembly/main.c
index bd0b1d3..c701907 100644
--- a/examples/ip_reassembly/main.c
+++ b/examples/ip_reassembly/main.c
@@ -148,14 +148,14 @@ struct tx_lcore_stat {
#define MAX_TX_QUEUE_PER_PORT 16
#define MAX_RX_QUEUE_PER_PORT 128
-struct lcore_queue_conf {
+struct __rte_cache_aligned lcore_queue_conf {
uint16_t n_rx_queue;
struct rx_queue rx_queue_list[MAX_RX_QUEUE_PER_LCORE];
uint16_t tx_queue_id[RTE_MAX_ETHPORTS];
struct rte_ip_frag_death_row death_row;
struct mbuf_table *tx_mbufs[RTE_MAX_ETHPORTS];
struct tx_lcore_stat tx_stat;
-} __rte_cache_aligned;
+};
static struct lcore_queue_conf lcore_queue_conf[RTE_MAX_LCORE];
static struct rte_eth_conf port_conf = {
diff --git a/examples/ipsec-secgw/ipsec-secgw.c b/examples/ipsec-secgw/ipsec-secgw.c
index 45a3038..d7c18be 100644
--- a/examples/ipsec-secgw/ipsec-secgw.c
+++ b/examples/ipsec-secgw/ipsec-secgw.c
@@ -218,11 +218,11 @@ struct app_sa_prm app_sa_prm = {
};
static const char *cfgfile;
-struct lcore_params {
+struct __rte_cache_aligned lcore_params {
uint16_t port_id;
uint8_t queue_id;
uint8_t lcore_id;
-} __rte_cache_aligned;
+};
static struct lcore_params lcore_params_array[MAX_LCORE_PARAMS];
diff --git a/examples/ipsec-secgw/ipsec-secgw.h b/examples/ipsec-secgw/ipsec-secgw.h
index ec33a98..b4ef4b6 100644
--- a/examples/ipsec-secgw/ipsec-secgw.h
+++ b/examples/ipsec-secgw/ipsec-secgw.h
@@ -54,13 +54,13 @@
#define IPSEC_NAT_T_PORT 4500
#define MBUF_PTYPE_TUNNEL_ESP_IN_UDP (RTE_PTYPE_TUNNEL_ESP | RTE_PTYPE_L4_UDP)
-struct traffic_type {
+struct __rte_cache_aligned traffic_type {
uint32_t num;
struct rte_mbuf *pkts[MAX_PKTS];
const uint8_t *data[MAX_PKTS];
void *saptr[MAX_PKTS];
uint32_t res[MAX_PKTS];
-} __rte_cache_aligned;
+};
struct ipsec_traffic {
struct traffic_type ipsec;
@@ -98,7 +98,7 @@ struct ipsec_sa_stats {
uint64_t miss;
};
-struct ipsec_core_statistics {
+struct __rte_cache_aligned ipsec_core_statistics {
uint64_t tx;
uint64_t rx;
uint64_t rx_call;
@@ -126,7 +126,7 @@ struct ipsec_core_statistics {
struct {
uint64_t miss;
} lpm6;
-} __rte_cache_aligned;
+};
extern struct ipsec_core_statistics core_statistics[RTE_MAX_LCORE];
diff --git a/examples/ipsec-secgw/ipsec.h b/examples/ipsec-secgw/ipsec.h
index bdcada1..4cf4c9d 100644
--- a/examples/ipsec-secgw/ipsec.h
+++ b/examples/ipsec-secgw/ipsec.h
@@ -112,7 +112,7 @@ enum {
return (struct ipsec_sa *)i;
}
-struct ipsec_sa {
+struct __rte_cache_aligned ipsec_sa {
struct rte_ipsec_session sessions[IPSEC_SESSION_MAX];
uint32_t spi;
struct cdev_qp *cqp[RTE_MAX_LCORE];
@@ -170,7 +170,7 @@ struct ipsec_sa {
struct rte_flow_item_esp esp_spec;
struct rte_flow *flow;
struct rte_security_session_conf sess_conf;
-} __rte_cache_aligned;
+};
struct ipsec_xf {
struct rte_crypto_sym_xform a;
@@ -190,12 +190,12 @@ struct sa_ctx {
struct ipsec_sa sa[];
};
-struct ipsec_mbuf_metadata {
+struct __rte_cache_aligned ipsec_mbuf_metadata {
struct ipsec_sa *sa;
struct rte_crypto_op cop;
struct rte_crypto_sym_op sym_cop;
uint8_t buf[32];
-} __rte_cache_aligned;
+};
#define IS_TRANSPORT(flags) ((flags) & TRANSPORT)
@@ -224,7 +224,7 @@ struct cdev_qp {
uint16_t qp;
uint16_t in_flight;
uint16_t len;
- struct rte_crypto_op *buf[MAX_PKT_BURST] __rte_aligned(sizeof(void *));
+ alignas(sizeof(void *)) struct rte_crypto_op *buf[MAX_PKT_BURST];
};
struct ipsec_ctx {
@@ -235,7 +235,7 @@ struct ipsec_ctx {
uint16_t nb_qps;
uint16_t last_qp;
struct cdev_qp tbl[MAX_QP_PER_LCORE];
- struct rte_mbuf *ol_pkts[MAX_PKT_BURST] __rte_aligned(sizeof(void *));
+ alignas(sizeof(void *)) struct rte_mbuf *ol_pkts[MAX_PKT_BURST];
uint16_t ol_pkts_cnt;
uint64_t ipv4_offloads;
uint64_t ipv6_offloads;
@@ -283,18 +283,18 @@ struct cnt_blk {
uint32_t cnt;
} __rte_packed;
-struct lcore_rx_queue {
+struct __rte_cache_aligned lcore_rx_queue {
uint16_t port_id;
uint8_t queue_id;
void *sec_ctx;
-} __rte_cache_aligned;
+};
struct buffer {
uint16_t len;
- struct rte_mbuf *m_table[MAX_PKT_BURST] __rte_aligned(sizeof(void *));
+ alignas(sizeof(void *)) struct rte_mbuf *m_table[MAX_PKT_BURST];
};
-struct lcore_conf {
+struct __rte_cache_aligned lcore_conf {
uint16_t nb_rx_queue;
struct lcore_rx_queue rx_queue_list[MAX_RX_QUEUE_PER_LCORE];
uint16_t tx_queue_id[RTE_MAX_ETHPORTS];
@@ -308,7 +308,7 @@ struct lcore_conf {
struct rte_mempool *pool_indir;
struct rte_ip_frag_death_row dr;
} frag;
-} __rte_cache_aligned;
+};
extern struct lcore_conf lcore_conf[RTE_MAX_LCORE];
diff --git a/examples/ipsec-secgw/ipsec_worker.h b/examples/ipsec-secgw/ipsec_worker.h
index 8e937fd..8f6a1c0 100644
--- a/examples/ipsec-secgw/ipsec_worker.h
+++ b/examples/ipsec-secgw/ipsec_worker.h
@@ -37,11 +37,11 @@ struct route_table {
/*
* Conf required by event mode worker with tx internal port
*/
-struct lcore_conf_ev_tx_int_port_wrkr {
+struct __rte_cache_aligned lcore_conf_ev_tx_int_port_wrkr {
struct ipsec_ctx inbound;
struct ipsec_ctx outbound;
struct route_table rt;
-} __rte_cache_aligned;
+};
void ipsec_poll_mode_worker(void);
void ipsec_poll_mode_wrkr_inl_pr(void);
diff --git a/examples/ipv4_multicast/main.c b/examples/ipv4_multicast/main.c
index 6d0a850..1eed645 100644
--- a/examples/ipv4_multicast/main.c
+++ b/examples/ipv4_multicast/main.c
@@ -98,13 +98,13 @@ struct mbuf_table {
#define MAX_RX_QUEUE_PER_LCORE 16
#define MAX_TX_QUEUE_PER_PORT 16
-struct lcore_queue_conf {
+struct __rte_cache_aligned lcore_queue_conf {
uint64_t tx_tsc;
uint16_t n_rx_queue;
uint8_t rx_queue_list[MAX_RX_QUEUE_PER_LCORE];
uint16_t tx_queue_id[MAX_PORTS];
struct mbuf_table tx_mbufs[MAX_PORTS];
-} __rte_cache_aligned;
+};
static struct lcore_queue_conf lcore_queue_conf[RTE_MAX_LCORE];
static struct rte_eth_conf port_conf = {
diff --git a/examples/l2fwd-crypto/main.c b/examples/l2fwd-crypto/main.c
index 19db0a2..a441312 100644
--- a/examples/l2fwd-crypto/main.c
+++ b/examples/l2fwd-crypto/main.c
@@ -201,7 +201,7 @@ struct l2fwd_crypto_params {
};
/** lcore configuration */
-struct lcore_queue_conf {
+struct __rte_cache_aligned lcore_queue_conf {
unsigned nb_rx_ports;
uint16_t rx_port_list[MAX_RX_QUEUE_PER_LCORE];
@@ -210,7 +210,7 @@ struct lcore_queue_conf {
struct op_buffer op_buf[RTE_CRYPTO_MAX_DEVS];
struct pkt_buffer pkt_buf[RTE_MAX_ETHPORTS];
-} __rte_cache_aligned;
+};
struct lcore_queue_conf lcore_queue_conf[RTE_MAX_LCORE];
@@ -230,7 +230,7 @@ struct lcore_queue_conf {
} session_pool_socket[RTE_MAX_NUMA_NODES];
/* Per-port statistics struct */
-struct l2fwd_port_statistics {
+struct __rte_cache_aligned l2fwd_port_statistics {
uint64_t tx;
uint64_t rx;
@@ -238,14 +238,14 @@ struct l2fwd_port_statistics {
uint64_t crypto_dequeued;
uint64_t dropped;
-} __rte_cache_aligned;
+};
-struct l2fwd_crypto_statistics {
+struct __rte_cache_aligned l2fwd_crypto_statistics {
uint64_t enqueued;
uint64_t dequeued;
uint64_t errors;
-} __rte_cache_aligned;
+};
struct l2fwd_port_statistics port_statistics[RTE_MAX_ETHPORTS];
struct l2fwd_crypto_statistics crypto_statistics[RTE_CRYPTO_MAX_DEVS];
diff --git a/examples/l2fwd-event/l2fwd_common.h b/examples/l2fwd-event/l2fwd_common.h
index 07f84cb..c56b3e7 100644
--- a/examples/l2fwd-event/l2fwd_common.h
+++ b/examples/l2fwd-event/l2fwd_common.h
@@ -59,11 +59,11 @@
#define VECTOR_TMO_NS_DEFAULT 1E6 /* 1ms */
/* Per-port statistics struct */
-struct l2fwd_port_statistics {
+struct __rte_cache_aligned l2fwd_port_statistics {
uint64_t dropped;
uint64_t tx;
uint64_t rx;
-} __rte_cache_aligned;
+};
/* Event vector attributes */
struct l2fwd_event_vector_params {
@@ -72,7 +72,7 @@ struct l2fwd_event_vector_params {
uint64_t timeout_ns;
};
-struct l2fwd_resources {
+struct __rte_cache_aligned l2fwd_resources {
volatile uint8_t force_quit;
uint8_t event_mode;
uint8_t sched_type;
@@ -91,7 +91,7 @@ struct l2fwd_resources {
struct l2fwd_event_vector_params evt_vec;
void *evt_rsrc;
void *poll_rsrc;
-} __rte_cache_aligned;
+};
static __rte_always_inline void
l2fwd_mac_updating(struct rte_mbuf *m, uint32_t dest_port_id,
diff --git a/examples/l2fwd-event/l2fwd_poll.h b/examples/l2fwd-event/l2fwd_poll.h
index d59b0c8..9d72008 100644
--- a/examples/l2fwd-event/l2fwd_poll.h
+++ b/examples/l2fwd-event/l2fwd_poll.h
@@ -9,10 +9,10 @@
typedef void (*poll_main_loop_cb)(struct l2fwd_resources *rsrc);
-struct lcore_queue_conf {
+struct __rte_cache_aligned lcore_queue_conf {
uint32_t rx_port_list[MAX_RX_QUEUE_PER_LCORE];
uint32_t n_rx_port;
-} __rte_cache_aligned;
+};
struct l2fwd_poll_resources {
poll_main_loop_cb poll_main_loop;
diff --git a/examples/l2fwd-jobstats/main.c b/examples/l2fwd-jobstats/main.c
index 2653db4..cb7582a 100644
--- a/examples/l2fwd-jobstats/main.c
+++ b/examples/l2fwd-jobstats/main.c
@@ -67,7 +67,7 @@
#define MAX_RX_QUEUE_PER_LCORE 16
#define MAX_TX_QUEUE_PER_PORT 16
/* List of queues to be polled for given lcore. 8< */
-struct lcore_queue_conf {
+struct __rte_cache_aligned lcore_queue_conf {
unsigned n_rx_port;
unsigned rx_port_list[MAX_RX_QUEUE_PER_LCORE];
uint64_t next_flush_time[RTE_MAX_ETHPORTS];
@@ -82,7 +82,7 @@ struct lcore_queue_conf {
uint16_t stats_read_pending;
rte_spinlock_t lock;
-} __rte_cache_aligned;
+};
/* >8 End of list of queues to be polled for given lcore. */
struct lcore_queue_conf lcore_queue_conf[RTE_MAX_LCORE];
@@ -97,11 +97,11 @@ struct lcore_queue_conf {
struct rte_mempool *l2fwd_pktmbuf_pool = NULL;
/* Per-port statistics struct */
-struct l2fwd_port_statistics {
+struct __rte_cache_aligned l2fwd_port_statistics {
uint64_t tx;
uint64_t rx;
uint64_t dropped;
-} __rte_cache_aligned;
+};
struct l2fwd_port_statistics port_statistics[RTE_MAX_ETHPORTS];
/* 1 day max */
diff --git a/examples/l2fwd-keepalive/main.c b/examples/l2fwd-keepalive/main.c
index 1463cef..c3ead9e 100644
--- a/examples/l2fwd-keepalive/main.c
+++ b/examples/l2fwd-keepalive/main.c
@@ -69,10 +69,10 @@
#define MAX_RX_QUEUE_PER_LCORE 16
#define MAX_TX_QUEUE_PER_PORT 16
-struct lcore_queue_conf {
+struct __rte_cache_aligned lcore_queue_conf {
unsigned n_rx_port;
unsigned rx_port_list[MAX_RX_QUEUE_PER_LCORE];
-} __rte_cache_aligned;
+};
struct lcore_queue_conf lcore_queue_conf[RTE_MAX_LCORE];
struct rte_eth_dev_tx_buffer *tx_buffer[RTE_MAX_ETHPORTS];
@@ -86,11 +86,11 @@ struct lcore_queue_conf {
struct rte_mempool *l2fwd_pktmbuf_pool = NULL;
/* Per-port statistics struct */
-struct l2fwd_port_statistics {
+struct __rte_cache_aligned l2fwd_port_statistics {
uint64_t tx;
uint64_t rx;
uint64_t dropped;
-} __rte_cache_aligned;
+};
struct l2fwd_port_statistics port_statistics[RTE_MAX_ETHPORTS];
/* A tsc-based timer responsible for triggering statistics printout */
diff --git a/examples/l2fwd-macsec/main.c b/examples/l2fwd-macsec/main.c
index a5d7a84..294ee11 100644
--- a/examples/l2fwd-macsec/main.c
+++ b/examples/l2fwd-macsec/main.c
@@ -72,10 +72,10 @@
/* list of enabled ports */
static uint32_t l2fwd_dst_ports[RTE_MAX_ETHPORTS];
-struct port_pair_params {
+struct __rte_cache_aligned port_pair_params {
#define NUM_PORTS 2
uint16_t port[NUM_PORTS];
-} __rte_cache_aligned;
+};
static struct port_pair_params port_pair_params_array[RTE_MAX_ETHPORTS / 2];
static struct port_pair_params *port_pair_params;
@@ -86,10 +86,10 @@ struct port_pair_params {
#define MAX_RX_QUEUE_PER_LCORE 16
#define MAX_TX_QUEUE_PER_PORT 16
/* List of queues to be polled for a given lcore. 8< */
-struct lcore_queue_conf {
+struct __rte_cache_aligned lcore_queue_conf {
unsigned int n_rx_port;
unsigned int rx_port_list[MAX_RX_QUEUE_PER_LCORE];
-} __rte_cache_aligned;
+};
struct lcore_queue_conf lcore_queue_conf[RTE_MAX_LCORE];
/* >8 End of list of queues to be polled for a given lcore. */
@@ -105,11 +105,11 @@ struct lcore_queue_conf {
struct rte_mempool *l2fwd_pktmbuf_pool;
/* Per-port statistics struct */
-struct l2fwd_port_statistics {
+struct __rte_cache_aligned l2fwd_port_statistics {
uint64_t tx;
uint64_t rx;
uint64_t dropped;
-} __rte_cache_aligned;
+};
struct l2fwd_port_statistics port_statistics[RTE_MAX_ETHPORTS];
#define MAX_TIMER_PERIOD 86400 /* 1 day max */
diff --git a/examples/l2fwd/main.c b/examples/l2fwd/main.c
index 96fb331..c6fafdd 100644
--- a/examples/l2fwd/main.c
+++ b/examples/l2fwd/main.c
@@ -69,10 +69,10 @@
/* list of enabled ports */
static uint32_t l2fwd_dst_ports[RTE_MAX_ETHPORTS];
-struct port_pair_params {
+struct __rte_cache_aligned port_pair_params {
#define NUM_PORTS 2
uint16_t port[NUM_PORTS];
-} __rte_cache_aligned;
+};
static struct port_pair_params port_pair_params_array[RTE_MAX_ETHPORTS / 2];
static struct port_pair_params *port_pair_params;
@@ -83,10 +83,10 @@ struct port_pair_params {
#define MAX_RX_QUEUE_PER_LCORE 16
#define MAX_TX_QUEUE_PER_PORT 16
/* List of queues to be polled for a given lcore. 8< */
-struct lcore_queue_conf {
+struct __rte_cache_aligned lcore_queue_conf {
unsigned n_rx_port;
unsigned rx_port_list[MAX_RX_QUEUE_PER_LCORE];
-} __rte_cache_aligned;
+};
struct lcore_queue_conf lcore_queue_conf[RTE_MAX_LCORE];
/* >8 End of list of queues to be polled for a given lcore. */
@@ -101,11 +101,11 @@ struct lcore_queue_conf {
struct rte_mempool * l2fwd_pktmbuf_pool = NULL;
/* Per-port statistics struct */
-struct l2fwd_port_statistics {
+struct __rte_cache_aligned l2fwd_port_statistics {
uint64_t tx;
uint64_t rx;
uint64_t dropped;
-} __rte_cache_aligned;
+};
struct l2fwd_port_statistics port_statistics[RTE_MAX_ETHPORTS];
#define MAX_TIMER_PERIOD 86400 /* 1 day max */
diff --git a/examples/l3fwd-graph/main.c b/examples/l3fwd-graph/main.c
index 96cb1c8..ec4d8c9 100644
--- a/examples/l3fwd-graph/main.c
+++ b/examples/l3fwd-graph/main.c
@@ -97,22 +97,22 @@ struct lcore_rx_queue {
static uint8_t model_conf = RTE_GRAPH_MODEL_DEFAULT;
/* Lcore conf */
-struct lcore_conf {
+struct __rte_cache_aligned lcore_conf {
uint16_t n_rx_queue;
struct lcore_rx_queue rx_queue_list[MAX_RX_QUEUE_PER_LCORE];
struct rte_graph *graph;
char name[RTE_GRAPH_NAMESIZE];
rte_graph_t graph_id;
-} __rte_cache_aligned;
+};
static struct lcore_conf lcore_conf[RTE_MAX_LCORE];
-struct lcore_params {
+struct __rte_cache_aligned lcore_params {
uint16_t port_id;
uint8_t queue_id;
uint8_t lcore_id;
-} __rte_cache_aligned;
+};
static struct lcore_params lcore_params_array[MAX_LCORE_PARAMS];
static struct lcore_params lcore_params_array_default[] = {
diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c
index f4adcf4..fba11da 100644
--- a/examples/l3fwd-power/main.c
+++ b/examples/l3fwd-power/main.c
@@ -212,13 +212,13 @@ enum freq_scale_hint_t
FREQ_HIGHEST = 2
};
-struct lcore_rx_queue {
+struct __rte_cache_aligned lcore_rx_queue {
uint16_t port_id;
uint8_t queue_id;
enum freq_scale_hint_t freq_up_hint;
uint32_t zero_rx_packet_count;
uint32_t idle_hint;
-} __rte_cache_aligned;
+};
#define MAX_RX_QUEUE_PER_LCORE 16
#define MAX_TX_QUEUE_PER_PORT RTE_MAX_ETHPORTS
@@ -329,8 +329,8 @@ struct ipv6_l3fwd_route {
#define L3FWD_HASH_ENTRIES 1024
-static uint16_t ipv4_l3fwd_out_if[L3FWD_HASH_ENTRIES] __rte_cache_aligned;
-static uint16_t ipv6_l3fwd_out_if[L3FWD_HASH_ENTRIES] __rte_cache_aligned;
+static alignas(RTE_CACHE_LINE_SIZE) uint16_t ipv4_l3fwd_out_if[L3FWD_HASH_ENTRIES];
+static alignas(RTE_CACHE_LINE_SIZE) uint16_t ipv6_l3fwd_out_if[L3FWD_HASH_ENTRIES];
#endif
#if (APP_LOOKUP_METHOD == APP_LOOKUP_LPM)
@@ -357,7 +357,7 @@ struct ipv4_l3fwd_route {
static lookup_struct_t *ipv4_l3fwd_lookup_struct[NB_SOCKETS];
#endif
-struct lcore_conf {
+struct __rte_cache_aligned lcore_conf {
uint16_t n_rx_queue;
struct lcore_rx_queue rx_queue_list[MAX_RX_QUEUE_PER_LCORE];
uint16_t n_tx_port;
@@ -366,9 +366,9 @@ struct lcore_conf {
struct rte_eth_dev_tx_buffer *tx_buffer[RTE_MAX_ETHPORTS];
lookup_struct_t * ipv4_lookup_struct;
lookup_struct_t * ipv6_lookup_struct;
-} __rte_cache_aligned;
+};
-struct lcore_stats {
+struct __rte_cache_aligned lcore_stats {
/* total sleep time in ms since last frequency scaling down */
uint32_t sleep_time;
/* number of long sleep recently */
@@ -399,10 +399,10 @@ struct lcore_stats {
uint64_t fp_nfp[2];
enum busy_rate br;
rte_spinlock_t telemetry_lock;
-} __rte_cache_aligned;
+};
-static struct lcore_conf lcore_conf[RTE_MAX_LCORE] __rte_cache_aligned;
-static struct lcore_stats stats[RTE_MAX_LCORE] __rte_cache_aligned;
+static alignas(RTE_CACHE_LINE_SIZE) struct lcore_conf lcore_conf[RTE_MAX_LCORE];
+static alignas(RTE_CACHE_LINE_SIZE) struct lcore_stats stats[RTE_MAX_LCORE];
static struct rte_timer power_timers[RTE_MAX_LCORE];
static inline uint32_t power_idle_heuristic(uint32_t zero_rx_packet_count);
@@ -832,9 +832,9 @@ static int is_done(void)
* back to sleep again without log spamming. Avoid cache line sharing
* to prevent threads stepping on each others' toes.
*/
- static struct {
+ static alignas(RTE_CACHE_LINE_SIZE) struct {
bool wakeup;
- } __rte_cache_aligned status[RTE_MAX_LCORE];
+ } status[RTE_MAX_LCORE];
struct rte_epoll_event event[num];
int n, i;
uint16_t port_id;
diff --git a/examples/l3fwd-power/main.h b/examples/l3fwd-power/main.h
index 258de98..e85e14b 100644
--- a/examples/l3fwd-power/main.h
+++ b/examples/l3fwd-power/main.h
@@ -7,11 +7,11 @@
#define MAX_LCORE_PARAMS 1024
-struct lcore_params {
+struct __rte_cache_aligned lcore_params {
uint16_t port_id;
uint8_t queue_id;
uint8_t lcore_id;
-} __rte_cache_aligned;
+};
extern struct lcore_params *lcore_params;
extern uint16_t nb_lcore_params;
diff --git a/examples/l3fwd-power/perf_core.c b/examples/l3fwd-power/perf_core.c
index 41ef6d0..c8fc69e 100644
--- a/examples/l3fwd-power/perf_core.c
+++ b/examples/l3fwd-power/perf_core.c
@@ -20,12 +20,12 @@
static uint16_t hp_lcores[RTE_MAX_LCORE];
static uint16_t nb_hp_lcores;
-struct perf_lcore_params {
+struct __rte_cache_aligned perf_lcore_params {
uint16_t port_id;
uint8_t queue_id;
uint8_t high_perf;
uint8_t lcore_idx;
-} __rte_cache_aligned;
+};
static struct perf_lcore_params prf_lc_prms[MAX_LCORE_PARAMS];
static uint16_t nb_prf_lc_prms;
diff --git a/examples/l3fwd/l3fwd.h b/examples/l3fwd/l3fwd.h
index e7ae0e5..f51da43 100644
--- a/examples/l3fwd/l3fwd.h
+++ b/examples/l3fwd/l3fwd.h
@@ -72,12 +72,12 @@ struct mbuf_table {
struct rte_mbuf *m_table[MAX_PKT_BURST];
};
-struct lcore_rx_queue {
+struct __rte_cache_aligned lcore_rx_queue {
uint16_t port_id;
uint8_t queue_id;
-} __rte_cache_aligned;
+};
-struct lcore_conf {
+struct __rte_cache_aligned lcore_conf {
uint16_t n_rx_queue;
struct lcore_rx_queue rx_queue_list[MAX_RX_QUEUE_PER_LCORE];
uint16_t n_tx_port;
@@ -86,7 +86,7 @@ struct lcore_conf {
struct mbuf_table tx_mbufs[RTE_MAX_ETHPORTS];
void *ipv4_lookup_struct;
void *ipv6_lookup_struct;
-} __rte_cache_aligned;
+};
extern volatile bool force_quit;
diff --git a/examples/l3fwd/l3fwd_em.c b/examples/l3fwd/l3fwd_em.c
index 40e102b..d98e66e 100644
--- a/examples/l3fwd/l3fwd_em.c
+++ b/examples/l3fwd/l3fwd_em.c
@@ -208,8 +208,8 @@
return init_val;
}
-static uint8_t ipv4_l3fwd_out_if[L3FWD_HASH_ENTRIES] __rte_cache_aligned;
-static uint8_t ipv6_l3fwd_out_if[L3FWD_HASH_ENTRIES] __rte_cache_aligned;
+static alignas(RTE_CACHE_LINE_SIZE) uint8_t ipv4_l3fwd_out_if[L3FWD_HASH_ENTRIES];
+static alignas(RTE_CACHE_LINE_SIZE) uint8_t ipv6_l3fwd_out_if[L3FWD_HASH_ENTRIES];
static rte_xmm_t mask0;
static rte_xmm_t mask1;
diff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c
index 8d32ae1..ad28ba9 100644
--- a/examples/l3fwd/main.c
+++ b/examples/l3fwd/main.c
@@ -96,11 +96,11 @@ enum L3FWD_LOOKUP_MODE {
struct parm_cfg parm_config;
-struct lcore_params {
+struct __rte_cache_aligned lcore_params {
uint16_t port_id;
uint8_t queue_id;
uint8_t lcore_id;
-} __rte_cache_aligned;
+};
static struct lcore_params lcore_params_array[MAX_LCORE_PARAMS];
static struct lcore_params lcore_params_array_default[] = {
diff --git a/examples/link_status_interrupt/main.c b/examples/link_status_interrupt/main.c
index a8423d5..ac9c7f6 100644
--- a/examples/link_status_interrupt/main.c
+++ b/examples/link_status_interrupt/main.c
@@ -66,11 +66,11 @@
#define MAX_RX_QUEUE_PER_LCORE 16
#define MAX_TX_QUEUE_PER_PORT 16
/* List of queues must be polled for a give lcore. 8< */
-struct lcore_queue_conf {
+struct __rte_cache_aligned lcore_queue_conf {
unsigned n_rx_port;
unsigned rx_port_list[MAX_RX_QUEUE_PER_LCORE];
unsigned tx_queue_id;
-} __rte_cache_aligned;
+};
struct lcore_queue_conf lcore_queue_conf[RTE_MAX_LCORE];
/* >8 End of list of queues to be polled. */
@@ -90,11 +90,11 @@ struct lcore_queue_conf {
struct rte_mempool * lsi_pktmbuf_pool = NULL;
/* Per-port statistics struct */
-struct lsi_port_statistics {
+struct __rte_cache_aligned lsi_port_statistics {
uint64_t tx;
uint64_t rx;
uint64_t dropped;
-} __rte_cache_aligned;
+};
struct lsi_port_statistics port_statistics[RTE_MAX_ETHPORTS];
/* A tsc-based timer responsible for triggering statistics printout */
diff --git a/examples/multi_process/client_server_mp/shared/common.h b/examples/multi_process/client_server_mp/shared/common.h
index 76beca0..b3f3a41 100644
--- a/examples/multi_process/client_server_mp/shared/common.h
+++ b/examples/multi_process/client_server_mp/shared/common.h
@@ -18,14 +18,14 @@
* themselves are written by the clients, so we have a distinct set, on different
* cache lines for each client to use.
*/
-struct rx_stats{
+struct __rte_cache_aligned rx_stats {
uint64_t rx[RTE_MAX_ETHPORTS];
-} __rte_cache_aligned;
+};
-struct tx_stats{
+struct __rte_cache_aligned tx_stats {
uint64_t tx[RTE_MAX_ETHPORTS];
uint64_t tx_drop[RTE_MAX_ETHPORTS];
-} __rte_cache_aligned;
+};
struct port_info {
uint16_t num_ports;
diff --git a/examples/multi_process/symmetric_mp/main.c b/examples/multi_process/symmetric_mp/main.c
index 1ff8587..f7d8439 100644
--- a/examples/multi_process/symmetric_mp/main.c
+++ b/examples/multi_process/symmetric_mp/main.c
@@ -61,11 +61,11 @@ struct lcore_ports{
/* structure to record the rx and tx packets. Put two per cache line as ports
* used in pairs */
-struct port_stats{
+struct __rte_aligned(RTE_CACHE_LINE_SIZE / 2) port_stats{
unsigned rx;
unsigned tx;
unsigned drop;
-} __rte_aligned(RTE_CACHE_LINE_SIZE / 2);
+};
static int proc_id = -1;
static unsigned num_procs = 0;
diff --git a/examples/ntb/ntb_fwd.c b/examples/ntb/ntb_fwd.c
index 95a6148..56c7672 100644
--- a/examples/ntb/ntb_fwd.c
+++ b/examples/ntb/ntb_fwd.c
@@ -24,10 +24,10 @@
#include "commands.h"
/* Per-port statistics struct */
-struct ntb_port_statistics {
+struct __rte_cache_aligned ntb_port_statistics {
uint64_t tx;
uint64_t rx;
-} __rte_cache_aligned;
+};
/* Port 0: NTB dev, Port 1: ethdev when iofwd. */
struct ntb_port_statistics ntb_port_stats[2];
diff --git a/examples/packet_ordering/main.c b/examples/packet_ordering/main.c
index f839db9..5ffdf72 100644
--- a/examples/packet_ordering/main.c
+++ b/examples/packet_ordering/main.c
@@ -58,19 +58,19 @@ struct send_thread_args {
};
volatile struct app_stats {
- struct {
+ alignas(RTE_CACHE_LINE_SIZE) struct {
uint64_t rx_pkts;
uint64_t enqueue_pkts;
uint64_t enqueue_failed_pkts;
- } rx __rte_cache_aligned;
+ } rx;
- struct {
+ alignas(RTE_CACHE_LINE_SIZE) struct {
uint64_t dequeue_pkts;
uint64_t enqueue_pkts;
uint64_t enqueue_failed_pkts;
- } wkr __rte_cache_aligned;
+ } wkr;
- struct {
+ alignas(RTE_CACHE_LINE_SIZE) struct {
uint64_t dequeue_pkts;
/* Too early pkts transmitted directly w/o reordering */
uint64_t early_pkts_txtd_woro;
@@ -78,15 +78,15 @@ struct send_thread_args {
uint64_t early_pkts_tx_failed_woro;
uint64_t ro_tx_pkts;
uint64_t ro_tx_failed_pkts;
- } tx __rte_cache_aligned;
+ } tx;
} app_stats;
/* per worker lcore stats */
-struct wkr_stats_per {
+struct __rte_cache_aligned wkr_stats_per {
uint64_t deq_pkts;
uint64_t enq_pkts;
uint64_t enq_failed_pkts;
-} __rte_cache_aligned;
+};
static struct wkr_stats_per wkr_stats[RTE_MAX_LCORE] = { {0} };
/**
diff --git a/examples/pipeline/thread.c b/examples/pipeline/thread.c
index dc3ea73..cf2af55 100644
--- a/examples/pipeline/thread.c
+++ b/examples/pipeline/thread.c
@@ -47,13 +47,13 @@ struct block {
void *block;
};
-struct thread {
+struct __rte_cache_aligned thread {
struct rte_swx_pipeline *pipelines[THREAD_PIPELINES_MAX];
struct block *blocks[THREAD_BLOCKS_MAX];
volatile uint64_t n_pipelines;
volatile uint64_t n_blocks;
int enabled;
-} __rte_cache_aligned;
+};
static struct thread threads[RTE_MAX_LCORE];
diff --git a/examples/qos_sched/app_thread.c b/examples/qos_sched/app_thread.c
index 059c470..e50cc33 100644
--- a/examples/qos_sched/app_thread.c
+++ b/examples/qos_sched/app_thread.c
@@ -62,7 +62,7 @@
app_rx_thread(struct thread_conf **confs)
{
uint32_t i, nb_rx;
- struct rte_mbuf *rx_mbufs[burst_conf.rx_burst] __rte_cache_aligned;
+ alignas(RTE_CACHE_LINE_SIZE) struct rte_mbuf *rx_mbufs[burst_conf.rx_burst];
struct thread_conf *conf;
int conf_idx = 0;
diff --git a/examples/qos_sched/main.h b/examples/qos_sched/main.h
index bc647ec..04e77a4 100644
--- a/examples/qos_sched/main.h
+++ b/examples/qos_sched/main.h
@@ -63,7 +63,7 @@ struct thread_stat
};
-struct thread_conf
+struct __rte_cache_aligned thread_conf
{
uint16_t rx_port;
uint16_t tx_port;
@@ -76,7 +76,7 @@ struct thread_conf
#if APP_COLLECT_STAT
struct thread_stat stat;
#endif
-} __rte_cache_aligned;
+};
struct flow_conf
diff --git a/examples/server_node_efd/shared/common.h b/examples/server_node_efd/shared/common.h
index 130fd4f..e1ab7e6 100644
--- a/examples/server_node_efd/shared/common.h
+++ b/examples/server_node_efd/shared/common.h
@@ -20,19 +20,19 @@
* themselves are written by the nodes, so we have a distinct set, on different
* cache lines for each node to use.
*/
-struct rx_stats {
+struct __rte_cache_aligned rx_stats {
uint64_t rx[RTE_MAX_ETHPORTS];
-} __rte_cache_aligned;
+};
-struct tx_stats {
+struct __rte_cache_aligned tx_stats {
uint64_t tx[RTE_MAX_ETHPORTS];
uint64_t tx_drop[RTE_MAX_ETHPORTS];
-} __rte_cache_aligned;
+};
-struct filter_stats {
+struct __rte_cache_aligned filter_stats {
uint64_t drop;
uint64_t passed;
-} __rte_cache_aligned;
+};
struct shared_info {
uint8_t num_nodes;
diff --git a/examples/vhost/main.h b/examples/vhost/main.h
index 2fcb837..c1c9a42 100644
--- a/examples/vhost/main.h
+++ b/examples/vhost/main.h
@@ -32,7 +32,7 @@ struct vhost_queue {
uint16_t last_used_idx;
};
-struct vhost_dev {
+struct __rte_cache_aligned vhost_dev {
/**< Number of memory regions for gpa to hpa translation. */
uint32_t nregions_hpa;
/**< Device MAC address (Obtained on first TX packet). */
@@ -59,7 +59,7 @@ struct vhost_dev {
#define MAX_QUEUE_PAIRS 4
struct vhost_queue queues[MAX_QUEUE_PAIRS * 2];
-} __rte_cache_aligned;
+};
typedef uint16_t (*vhost_enqueue_burst_t)(struct vhost_dev *dev,
uint16_t queue_id, struct rte_mbuf **pkts,
diff --git a/examples/vhost_blk/vhost_blk.h b/examples/vhost_blk/vhost_blk.h
index 975f0b4..649a52b 100644
--- a/examples/vhost_blk/vhost_blk.h
+++ b/examples/vhost_blk/vhost_blk.h
@@ -66,7 +66,7 @@ struct vhost_block_dev {
uint8_t *data;
};
-struct vhost_blk_ctrlr {
+struct __rte_cache_aligned vhost_blk_ctrlr {
uint8_t started;
/** ID for vhost library. */
int vid;
@@ -76,7 +76,7 @@ struct vhost_blk_ctrlr {
struct vhost_block_dev *bdev;
/** VM memory region */
struct rte_vhost_memory *mem;
-} __rte_cache_aligned;
+};
#define VHOST_BLK_MAX_IOVS 128
diff --git a/examples/vhost_crypto/main.c b/examples/vhost_crypto/main.c
index 02987eb..558c09a 100644
--- a/examples/vhost_crypto/main.c
+++ b/examples/vhost_crypto/main.c
@@ -42,7 +42,7 @@ struct lcore_option {
uint16_t qid;
};
-struct vhost_crypto_info {
+struct __rte_cache_aligned vhost_crypto_info {
int vids[MAX_NB_SOCKETS];
uint32_t nb_vids;
struct rte_mempool *sess_pool;
@@ -51,7 +51,7 @@ struct vhost_crypto_info {
uint32_t qid;
uint32_t nb_inflight_ops;
volatile uint32_t initialized[MAX_NB_SOCKETS];
-} __rte_cache_aligned;
+};
struct vhost_crypto_options {
struct lcore_option los[MAX_NB_WORKER_CORES];
diff --git a/examples/vm_power_manager/power_manager.c b/examples/vm_power_manager/power_manager.c
index 739372d..0355a7f 100644
--- a/examples/vm_power_manager/power_manager.c
+++ b/examples/vm_power_manager/power_manager.c
@@ -32,11 +32,11 @@
rte_spinlock_unlock(&global_core_freq_info[core_num].power_sl); \
} while (0)
-struct freq_info {
+struct __rte_cache_aligned freq_info {
rte_spinlock_t power_sl;
uint32_t freqs[RTE_MAX_LCORE_FREQS];
unsigned num_freqs;
-} __rte_cache_aligned;
+};
static struct freq_info global_core_freq_info[RTE_MAX_LCORE];
--
1.8.3.1
next prev parent reply other threads:[~2024-03-20 15:38 UTC|newest]
Thread overview: 181+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-20 15:36 [PATCH 00/83] " Tyler Retzlaff
2024-03-20 15:36 ` Tyler Retzlaff [this message]
2024-04-06 14:55 ` [PATCH 01/83] examples: " Morten Brørup
2024-04-08 15:44 ` Tyler Retzlaff
2024-04-10 15:29 ` Akhil Goyal
2024-03-20 15:36 ` [PATCH 02/83] net/ark: " Tyler Retzlaff
2024-03-20 15:36 ` [PATCH 03/83] net/avp: " Tyler Retzlaff
2024-03-20 15:36 ` [PATCH 04/83] net/axgbe: " Tyler Retzlaff
2024-03-20 15:36 ` [PATCH 05/83] net/bnxt: " Tyler Retzlaff
2024-03-20 15:36 ` [PATCH 06/83] net/bonding: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 07/83] net/cxgbe: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 08/83] net/e1000: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 09/83] net/ena: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 10/83] net/enic: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 11/83] net/fm10k: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 12/83] net/hinic: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 13/83] net/hns3: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 14/83] net/i40e: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 15/83] net/iavf: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 16/83] net/ice: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 17/83] net/igc: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 18/83] net/ionic: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 19/83] net/ixgbe: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 20/83] net/memif: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 21/83] net/mlx5: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 22/83] net/mlx4: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 23/83] net/mvpp2: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 24/83] net/netvsc: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 25/83] net/nfp: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 26/83] net/ngbe: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 27/83] net/octeontx: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 28/83] net/pfe: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 29/83] net/qede: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 30/83] net/softnic: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 31/83] net/tap: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 32/83] net/thunderx: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 33/83] net/txgbe: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 34/83] net/virtio: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 35/83] vdpa/mlx5: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 36/83] regex/cn9k: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 37/83] raw/ntb: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 38/83] ml/cnxk: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 39/83] mempool/cnxk: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 40/83] event/sw: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 41/83] event/skeleton: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 42/83] event/opdl: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 43/83] event/octeontx: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 44/83] event/dsw: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 45/83] event/dlb2: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 46/83] event/cnxk: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 47/83] dma/skeleton: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 48/83] dma/ioat: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 49/83] dma/idxd: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 50/83] crypto/uadk: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 51/83] crypto/scheduler: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 52/83] crypto/qat: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 53/83] crypto/openssl: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 54/83] crypto/octeontx: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 55/83] crypto/null: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 56/83] crypto/mvsam: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 57/83] crypto/mlx5: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 58/83] crypto/ipsec_mb: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 59/83] crypto/cnxk: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 60/83] crypto/ccp: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 61/83] crypto/caam_jr: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 62/83] crypto/bcmfs: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 63/83] crypto/armv8: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 64/83] compress/zlib: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 65/83] compress/qat: " Tyler Retzlaff
2024-03-20 15:37 ` [PATCH 66/83] compress/octeontx: " Tyler Retzlaff
2024-03-20 15:38 ` [PATCH 67/83] compress/nitrox: " Tyler Retzlaff
2024-03-20 15:38 ` [PATCH 68/83] compress/isal: " Tyler Retzlaff
2024-03-20 15:38 ` [PATCH 69/83] common/qat: " Tyler Retzlaff
2024-03-20 15:38 ` [PATCH 70/83] common/mlx5: " Tyler Retzlaff
2024-03-20 15:38 ` [PATCH 71/83] common/idpf: " Tyler Retzlaff
2024-03-20 15:38 ` [PATCH 72/83] common/cpt: " Tyler Retzlaff
2024-03-20 15:38 ` [PATCH 73/83] bus/fslmc: " Tyler Retzlaff
2024-03-20 15:38 ` [PATCH 74/83] baseband/turbo_sw: " Tyler Retzlaff
2024-03-20 15:38 ` [PATCH 75/83] baseband/null: " Tyler Retzlaff
2024-03-20 15:38 ` [PATCH 76/83] app/test: " Tyler Retzlaff
2024-03-20 15:38 ` [PATCH 77/83] app/test-pipeline: " Tyler Retzlaff
2024-03-20 15:38 ` [PATCH 78/83] app/test-mldev: " Tyler Retzlaff
2024-03-20 15:38 ` [PATCH 79/83] app/test-flow-perf: " Tyler Retzlaff
2024-03-20 15:38 ` [PATCH 80/83] app/test-eventdev: " Tyler Retzlaff
2024-03-20 15:38 ` [PATCH 81/83] app/pdump: " Tyler Retzlaff
2024-03-20 15:38 ` [PATCH 82/83] app/graph: " Tyler Retzlaff
2024-03-20 15:38 ` [PATCH 83/83] bus/dpaa: " Tyler Retzlaff
2024-03-20 15:50 ` [PATCH 00/83] " Bruce Richardson
2024-03-20 16:00 ` David Marchand
2024-03-20 17:40 ` Morten Brørup
2024-03-20 17:41 ` David Marchand
2024-03-20 19:12 ` Tyler Retzlaff
2024-04-02 17:56 ` Tyler Retzlaff
2024-04-15 20:03 ` [PATCH v2 " Tyler Retzlaff
2024-04-15 20:03 ` [PATCH v2 01/83] examples: " Tyler Retzlaff
2024-04-17 6:21 ` [EXTERNAL] " Akhil Goyal
2024-04-15 20:03 ` [PATCH v2 02/83] net/ark: " Tyler Retzlaff
2024-04-15 20:03 ` [PATCH v2 03/83] net/avp: " Tyler Retzlaff
2024-04-15 20:03 ` [PATCH v2 04/83] net/axgbe: " Tyler Retzlaff
2024-04-15 20:03 ` [PATCH v2 05/83] net/bnxt: " Tyler Retzlaff
2024-04-15 20:03 ` [PATCH v2 06/83] net/bonding: " Tyler Retzlaff
2024-04-15 20:03 ` [PATCH v2 07/83] net/cxgbe: " Tyler Retzlaff
2024-04-15 20:03 ` [PATCH v2 08/83] net/e1000: " Tyler Retzlaff
2024-04-15 20:03 ` [PATCH v2 09/83] net/ena: " Tyler Retzlaff
2024-04-15 20:03 ` [PATCH v2 10/83] net/enic: " Tyler Retzlaff
2024-04-15 20:03 ` [PATCH v2 11/83] net/fm10k: " Tyler Retzlaff
2024-04-15 20:03 ` [PATCH v2 12/83] net/hinic: " Tyler Retzlaff
2024-04-15 20:03 ` [PATCH v2 13/83] net/hns3: " Tyler Retzlaff
2024-04-15 20:03 ` [PATCH v2 14/83] net/i40e: " Tyler Retzlaff
2024-04-15 20:03 ` [PATCH v2 15/83] net/iavf: " Tyler Retzlaff
2024-04-15 20:03 ` [PATCH v2 16/83] net/ice: " Tyler Retzlaff
2024-04-15 20:03 ` [PATCH v2 17/83] net/igc: " Tyler Retzlaff
2024-04-15 20:03 ` [PATCH v2 18/83] net/ionic: " Tyler Retzlaff
2024-04-15 20:03 ` [PATCH v2 19/83] net/ixgbe: " Tyler Retzlaff
2024-04-15 20:03 ` [PATCH v2 20/83] net/memif: " Tyler Retzlaff
2024-04-15 20:03 ` [PATCH v2 21/83] net/mlx5: " Tyler Retzlaff
2024-04-15 20:03 ` [PATCH v2 22/83] net/mlx4: " Tyler Retzlaff
2024-04-15 20:03 ` [PATCH v2 23/83] net/mvpp2: " Tyler Retzlaff
2024-04-15 20:03 ` [PATCH v2 24/83] net/netvsc: " Tyler Retzlaff
2024-04-15 20:03 ` [PATCH v2 25/83] net/nfp: " Tyler Retzlaff
2024-04-15 20:03 ` [PATCH v2 26/83] net/ngbe: " Tyler Retzlaff
2024-04-15 20:03 ` [PATCH v2 27/83] net/octeontx: " Tyler Retzlaff
2024-04-15 20:03 ` [PATCH v2 28/83] net/pfe: " Tyler Retzlaff
2024-04-15 20:03 ` [PATCH v2 29/83] net/qede: " Tyler Retzlaff
2024-04-15 20:03 ` [PATCH v2 30/83] net/softnic: " Tyler Retzlaff
2024-04-15 20:03 ` [PATCH v2 31/83] net/tap: " Tyler Retzlaff
2024-05-02 18:33 ` Stephen Hemminger
2024-04-15 20:03 ` [PATCH v2 32/83] net/thunderx: " Tyler Retzlaff
2024-04-15 20:03 ` [PATCH v2 33/83] net/txgbe: " Tyler Retzlaff
2024-04-15 20:03 ` [PATCH v2 34/83] net/virtio: " Tyler Retzlaff
2024-04-15 20:03 ` [PATCH v2 35/83] vdpa/mlx5: " Tyler Retzlaff
2024-04-15 20:03 ` [PATCH v2 36/83] regex/cn9k: " Tyler Retzlaff
2024-04-15 20:03 ` [PATCH v2 37/83] raw/ntb: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 38/83] ml/cnxk: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 39/83] mempool/cnxk: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 40/83] event/sw: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 41/83] event/skeleton: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 42/83] event/opdl: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 43/83] event/octeontx: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 44/83] event/dsw: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 45/83] event/dlb2: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 46/83] event/cnxk: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 47/83] dma/skeleton: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 48/83] dma/ioat: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 49/83] dma/idxd: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 50/83] crypto/uadk: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 51/83] crypto/scheduler: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 52/83] crypto/qat: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 53/83] crypto/openssl: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 54/83] crypto/octeontx: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 55/83] crypto/null: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 56/83] crypto/mvsam: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 57/83] crypto/mlx5: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 58/83] crypto/ipsec_mb: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 59/83] crypto/cnxk: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 60/83] crypto/ccp: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 61/83] crypto/caam_jr: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 62/83] crypto/bcmfs: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 63/83] crypto/armv8: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 64/83] compress/zlib: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 65/83] compress/qat: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 66/83] compress/octeontx: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 67/83] compress/nitrox: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 68/83] compress/isal: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 69/83] common/qat: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 70/83] common/mlx5: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 71/83] common/idpf: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 72/83] common/cpt: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 73/83] bus/fslmc: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 74/83] baseband/turbo_sw: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 75/83] baseband/null: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 76/83] app/test: " Tyler Retzlaff
2024-04-17 6:18 ` [EXTERNAL] " Akhil Goyal
2024-04-15 20:04 ` [PATCH v2 77/83] app/test-pipeline: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 78/83] app/test-mldev: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 79/83] app/test-flow-perf: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 80/83] app/test-eventdev: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 81/83] app/pdump: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 82/83] app/graph: " Tyler Retzlaff
2024-04-15 20:04 ` [PATCH v2 83/83] bus/dpaa: " Tyler Retzlaff
2024-04-19 15:05 ` [PATCH v2 00/83] " David Marchand
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=1710949096-5786-2-git-send-email-roretzla@linux.microsoft.com \
--to=roretzla@linux.microsoft.com \
--cc=Yuying.Zhang@intel.com \
--cc=abdullah.sevincer@intel.com \
--cc=adwivedi@marvell.com \
--cc=ajit.khaparde@broadcom.com \
--cc=amitbern@amazon.com \
--cc=anatoly.burakov@intel.com \
--cc=andrew.boyer@amd.com \
--cc=andrew.rybchenko@oktetlabs.ru \
--cc=anoobj@marvell.com \
--cc=asekhar@marvell.com \
--cc=ashish.gupta@marvell.com \
--cc=atrwajee@amazon.com \
--cc=bruce.richardson@intel.com \
--cc=byron.marohn@intel.com \
--cc=chaoyong.he@corigine.com \
--cc=chas3@att.com \
--cc=chenbox@nvidia.com \
--cc=cloud.wangxiaoyun@huawei.com \
--cc=conor.walsh@intel.com \
--cc=cristian.dumitrescu@intel.com \
--cc=david.hunt@intel.com \
--cc=dev@dpdk.org \
--cc=dsinghrawat@marvell.com \
--cc=dsosnowski@nvidia.com \
--cc=ed.czeck@atomicrules.com \
--cc=evgenys@amazon.com \
--cc=fanzhang.oss@gmail.com \
--cc=fengchengwen@huawei.com \
--cc=g.singh@nxp.com \
--cc=gakhil@marvell.com \
--cc=haijie1@huawei.com \
--cc=harry.van.haaren@intel.com \
--cc=hemant.agrawal@nxp.com \
--cc=hkalra@marvell.com \
--cc=honnappa.nagarahalli@arm.com \
--cc=humin29@huawei.com \
--cc=hyonkim@cisco.com \
--cc=jerinj@marvell.com \
--cc=jgrajcia@cisco.com \
--cc=jianwang@trustnetic.com \
--cc=jiawenwu@trustnetic.com \
--cc=jingjing.wu@intel.com \
--cc=john.miller@atomicrules.com \
--cc=johndale@cisco.com \
--cc=joyce.kong@arm.com \
--cc=junfeng.guo@intel.com \
--cc=kai.ji@intel.com \
--cc=kevin.laatz@intel.com \
--cc=kirankumark@marvell.com \
--cc=konstantin.v.ananyev@yandex.ru \
--cc=ktejasree@marvell.com \
--cc=lee.daly@intel.com \
--cc=liangma@liangbit.com \
--cc=lironh@marvell.com \
--cc=longli@microsoft.com \
--cc=matan@nvidia.com \
--cc=matt.peters@windriver.com \
--cc=mattias.ronnblom@ericsson.com \
--cc=maxime.coquelin@redhat.com \
--cc=mb@smartsharesystems.com \
--cc=mczekaj@marvell.com \
--cc=michaelsh@marvell.com \
--cc=ndabilpuram@marvell.com \
--cc=nicolas.chautru@intel.com \
--cc=orika@nvidia.com \
--cc=pablo.de.lara.guarch@intel.com \
--cc=palok@marvell.com \
--cc=pbhagavatula@marvell.com \
--cc=peter.mccarthy@intel.com \
--cc=radu.nicolau@intel.com \
--cc=rahul.lakkireddy@chelsio.com \
--cc=raveendra.padasalagi@broadcom.com \
--cc=rbeider@amazon.com \
--cc=reshma.pattan@intel.com \
--cc=rkudurumalla@marvell.com \
--cc=rnagadheeraj@marvell.com \
--cc=ruifeng.wang@arm.com \
--cc=sachin.saxena@nxp.com \
--cc=selwin.sebastian@amd.com \
--cc=shaibran@amazon.com \
--cc=shepard.siegel@atomicrules.com \
--cc=sivaprasad.tummala@amd.com \
--cc=skori@marvell.com \
--cc=somnath.kotur@broadcom.com \
--cc=ssahu@marvell.com \
--cc=stephen@networkplumber.org \
--cc=steven.webster@windriver.com \
--cc=sthotton@marvell.com \
--cc=suanmingm@nvidia.com \
--cc=sunilprakashrao.uttarwar@amd.com \
--cc=syalavarthi@marvell.com \
--cc=vfialko@marvell.com \
--cc=viacheslavo@nvidia.com \
--cc=vikas.gupta@broadcom.com \
--cc=wisamm@nvidia.com \
--cc=xuanziyang2@huawei.com \
--cc=yanzhirun_163@163.com \
--cc=yipeng1.wang@intel.com \
--cc=yisen.zhuang@huawei.com \
--cc=zhangfei.gao@linaro.org \
--cc=zhouguoyang@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).