[PATCH v3 32/39] bpf: use C11 alignas
Tyler Retzlaff
roretzla at linux.microsoft.com
Wed Feb 14 08:06:15 CET 2024
* 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 at linux.microsoft.com>
---
lib/bpf/bpf_pkt.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/bpf/bpf_pkt.c b/lib/bpf/bpf_pkt.c
index 793a75d..aaca935 100644
--- a/lib/bpf/bpf_pkt.c
+++ b/lib/bpf/bpf_pkt.c
@@ -23,7 +23,7 @@
* information about installed BPF rx/tx callback
*/
-struct bpf_eth_cbi {
+struct __rte_cache_aligned bpf_eth_cbi {
/* used by both data & control path */
RTE_ATOMIC(uint32_t) use; /*usage counter */
const struct rte_eth_rxtx_callback *cb; /* callback handle */
@@ -33,7 +33,7 @@ struct bpf_eth_cbi {
LIST_ENTRY(bpf_eth_cbi) link;
uint16_t port;
uint16_t queue;
-} __rte_cache_aligned;
+};
/*
* Odd number means that callback is used by datapath.
--
1.8.3.1
More information about the dev
mailing list