Hi All,
I got a crash with vpp v17.07.01 on ARMv8 Soc @src/vnet/devices/virtio/vhost-user.c: Line no: 1852 if (clib_smp_swap (&dq->interrupt_pending, 0) || (node->state == VLIB_NODE_STATE_POLLING)){ } While debugging it turns out that value of (&dq->interrupt_pending) was not 8 byte aligned hence causing SIGBUS error on ARMv8 SoC. Further debugging tells that dq was added in vector using vec_add2 (src/vnet/devices/devices.c Line no: 152) vec_add2 (rt->devices_and_queues, dq, 1) which uses 0 byte alignment. Changing vec_add2 to vec_add2_aligned() fixed the problem. My question is can we completely define vec_add2() as #define vec_add2(V,P,N) vec_add2_ha(V,P,N,0,8) instead of #define vec_add2(V,P,N) vec_add2_ha(V,P,N,0,0) This can be helpful for all architecture. Thanks, Nitin
_______________________________________________ vpp-dev mailing list vpp-dev@lists.fd.io https://lists.fd.io/mailman/listinfo/vpp-dev