From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ilya Maximets Subject: [PATCH RFC v3 0/3] Thread safe rte_vhost_enqueue_burst(). Date: Wed, 24 Feb 2016 14:47:15 +0300 Message-ID: <1456314438-4021-1-git-send-email-i.maximets@samsung.com> Cc: Dyasly Sergey , Ilya Maximets To: dev@dpdk.org, Huawei Xie , Yuanhan Liu Return-path: Received: from mailout3.w1.samsung.com (mailout3.w1.samsung.com [210.118.77.13]) by dpdk.org (Postfix) with ESMTP id 084D22B98 for ; Wed, 24 Feb 2016 12:47:34 +0100 (CET) Received: from eucpsbgm2.samsung.com (unknown [203.254.199.245]) by mailout3.w1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTP id <0O3100IQCVF7XNA0@mailout3.w1.samsung.com> for dev@dpdk.org; Wed, 24 Feb 2016 11:47:31 +0000 (GMT) List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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. version 3: * Rebased on top of current master. version 2: * Documentation patch dropped. Other patches of series still may be merged to fix existing issues and keep code in consistent state for the future. * buf_vec field of struct vhost_virtqueue marked as deprecated. Ilya Maximets (3): 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/guides/rel_notes/deprecation.rst | 1 + lib/librte_vhost/rte_virtio_net.h | 2 +- lib/librte_vhost/vhost_rxtx.c | 71 ++++++++++++++++++++---------------- 3 files changed, 42 insertions(+), 32 deletions(-) -- 2.5.0