[PATCH v4 16/39] timer: use C11 alignas
Tyler Retzlaff
roretzla at linux.microsoft.com
Wed Feb 14 17:35:41 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>
Acked-by: Morten Brørup <mb at smartsharesystems.com>
---
lib/timer/rte_timer.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/timer/rte_timer.c b/lib/timer/rte_timer.c
index 53ed221..bb8b6a6 100644
--- a/lib/timer/rte_timer.c
+++ b/lib/timer/rte_timer.c
@@ -24,7 +24,7 @@
/**
* Per-lcore info for timers.
*/
-struct priv_timer {
+struct __rte_cache_aligned priv_timer {
struct rte_timer pending_head; /**< dummy timer instance to head up list */
rte_spinlock_t list_lock; /**< lock to protect list access */
@@ -44,7 +44,7 @@ struct priv_timer {
/** per-lcore statistics */
struct rte_timer_debug_stats stats;
#endif
-} __rte_cache_aligned;
+};
#define FL_ALLOCATED (1 << 0)
struct rte_timer_data {
--
1.8.3.1
More information about the dev
mailing list