[PATCH v4 26/39] mldev: use C11 alignas
Tyler Retzlaff
roretzla at linux.microsoft.com
Wed Feb 14 17:35:51 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/mldev/rte_mldev.h | 4 ++--
lib/mldev/rte_mldev_core.h | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/lib/mldev/rte_mldev.h b/lib/mldev/rte_mldev.h
index 5cf6f05..457dc01 100644
--- a/lib/mldev/rte_mldev.h
+++ b/lib/mldev/rte_mldev.h
@@ -421,7 +421,7 @@ struct rte_ml_buff_seg {
* This structure contains data related to performing an ML operation on the buffers using
* the model specified through model_id.
*/
-struct rte_ml_op {
+struct __rte_cache_aligned rte_ml_op {
uint16_t model_id;
/**< Model ID to be used for the operation. */
uint16_t nb_batches;
@@ -469,7 +469,7 @@ struct rte_ml_op {
* dequeue and enqueue operation.
* The application should not modify this field.
*/
-} __rte_cache_aligned;
+};
/* Enqueue/Dequeue operations */
diff --git a/lib/mldev/rte_mldev_core.h b/lib/mldev/rte_mldev_core.h
index 2279b1d..b3bd281 100644
--- a/lib/mldev/rte_mldev_core.h
+++ b/lib/mldev/rte_mldev_core.h
@@ -626,7 +626,7 @@ struct rte_ml_dev_data {
*
* The data structure associated with each ML device.
*/
-struct rte_ml_dev {
+struct __rte_cache_aligned rte_ml_dev {
/** Pointer to PMD enqueue function. */
mldev_enqueue_t enqueue_burst;
@@ -647,7 +647,7 @@ struct rte_ml_dev {
/** Flag indicating the device is attached. */
__extension__ uint8_t attached : 1;
-} __rte_cache_aligned;
+};
/**
* @internal
--
1.8.3.1
More information about the dev
mailing list