From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ilya Maximets Subject: [PATCH RFC 0/4] Thread safe rte_vhost_enqueue_burst(). Date: Fri, 19 Feb 2016 09:32:39 +0300 Message-ID: <1455863563-15751-1-git-send-email-i.maximets@samsung.com> Cc: Ilya Maximets , Dyasly Sergey To: dev@dpdk.org, Huawei Xie , Yuanhan Liu Return-path: Received: from mailout1.w1.samsung.com (mailout1.w1.samsung.com [210.118.77.11]) by dpdk.org (Postfix) with ESMTP id 72A12C48C for ; Fri, 19 Feb 2016 07:32:51 +0100 (CET) Received: from eucpsbgm2.samsung.com (unknown [203.254.199.245]) by mailout1.w1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTP id <0O2S005BU7IPOY70@mailout1.w1.samsung.com> for dev@dpdk.org; Fri, 19 Feb 2016 06:32:49 +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. 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