[v4,31/39] jobstats: use C11 alignas
Checks
Commit Message
* 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/jobstats/rte_jobstats.h | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
@@ -32,7 +32,7 @@
typedef void (*rte_job_update_period_cb_t)(struct rte_jobstats *job,
int64_t job_result);
-struct rte_jobstats {
+struct __rte_cache_aligned rte_jobstats {
uint64_t period;
/**< Estimated period of execution. */
@@ -65,9 +65,9 @@ struct rte_jobstats {
struct rte_jobstats_context *context;
/**< Job stats context object that is executing this job. */
-} __rte_cache_aligned;
+};
-struct rte_jobstats_context {
+struct __rte_cache_aligned rte_jobstats_context {
/** Variable holding time at different points:
* -# loop start time if loop was started but no job executed yet.
* -# job start time if job is currently executing.
@@ -111,7 +111,7 @@ struct rte_jobstats_context {
uint64_t loop_cnt;
/**< Total count of executed loops with at least one executed job. */
-} __rte_cache_aligned;
+};
/**
* Initialize given context object with default values.