From a1e03d4da71a2452c1e5da399d96c51f1b487cad Mon Sep 17 00:00:00 2001 From: Damjan Marion Date: Wed, 6 May 2020 23:38:58 +0200 Subject: rdma: fix alignment issue Type: fix Change-Id: I0ff7a6f3354066c2252c1ebd0d43ac59db278bf0 Signed-off-by: Damjan Marion Signed-off-by: Elias Rudberg --- src/plugins/rdma/input.c | 4 ++-- src/vppinfra/clib.h | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/plugins/rdma/input.c b/src/plugins/rdma/input.c index cf0b6bffe7d..80c211bae15 100644 --- a/src/plugins/rdma/input.c +++ b/src/plugins/rdma/input.c @@ -103,7 +103,7 @@ rdma_device_input_refill (vlib_main_t * vm, rdma_device_t * rd, if (is_mlx5dv) { - u64 va[8]; + u64 __clib_aligned (32) va[8]; mlx5dv_rwq_t *wqe = rxq->wqes + slot; while (n >= 1) @@ -488,7 +488,7 @@ rdma_device_input_inline (vlib_main_t * vm, vlib_node_runtime_t * node, rdma_rxq_t *rxq = vec_elt_at_index (rd->rxqs, qid); vlib_buffer_t *bufs[VLIB_FRAME_SIZE], **b = bufs; struct ibv_wc wc[VLIB_FRAME_SIZE]; - u32 byte_cnts[VLIB_FRAME_SIZE]; + u32 __clib_aligned (32) byte_cnts[VLIB_FRAME_SIZE]; vlib_buffer_t bt; u32 next_index, *to_next, n_left_to_next, n_rx_bytes = 0; int n_rx_packets, skip_ip4_cksum = 0; diff --git a/src/vppinfra/clib.h b/src/vppinfra/clib.h index bdea43b3fe0..398f1aebb04 100644 --- a/src/vppinfra/clib.h +++ b/src/vppinfra/clib.h @@ -95,6 +95,9 @@ #define __clib_weak __attribute__ ((weak)) #define __clib_packed __attribute__ ((packed)) #define __clib_constructor __attribute__ ((constructor)) +#define __clib_noinline __attribute__ ((noinline)) +#define __clib_aligned(x) __attribute__ ((aligned(x))) +#define __clib_section(s) __attribute__ ((section(s))) #define never_inline __attribute__ ((__noinline__)) -- cgit 1.2.3-korg