Implementation of rte_vhost_enqueue_burst() based on lockless ring-buffer algorithm and contains almost all to be thread-safe, but it's not.
This set adds required changes. First patch in set is a standalone patch that fixes many times discussed issue with barriers on different architectures. Second and third adds fixes to make rte_vhost_enqueue_burst thread safe. Last is a documentation fix. Ilya Maximets (4): vhost: use SMP barriers instead of compiler ones. vhost: make buf vector for scatter RX local. vhost: avoid reordering of used->idx and last_used_idx updating. doc: add note about rte_vhost_enqueue_burst thread safety. .../prog_guide/thread_safety_dpdk_functions.rst | 1 + lib/librte_vhost/rte_virtio_net.h | 1 - lib/librte_vhost/vhost_rxtx.c | 67 ++++++++++++---------- 3 files changed, 39 insertions(+), 30 deletions(-) -- 2.5.0