[v4,26/39] mldev: 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/mldev/rte_mldev.h | 4 ++--
lib/mldev/rte_mldev_core.h | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
@@ -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 */
@@ -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