From mboxrd@z Thu Jan 1 00:00:00 1970 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) X-AuditID: cbfec7f5-f79b16d000005389-ce-56cd9853c635 Received: from eusync4.samsung.com ( [203.254.199.214]) by eucpsbgm2.samsung.com (EUCPMTA) with SMTP id 01.79.21385.3589DC65; Wed, 24 Feb 2016 11:47:31 +0000 (GMT) Received: from imaximets.rnd.samsung.ru ([106.109.129.180]) by eusync4.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id <0O3100380VF3RS40@eusync4.samsung.com>; Wed, 24 Feb 2016 11:47:31 +0000 (GMT) From: Ilya Maximets To: dev@dpdk.org, Huawei Xie , Yuanhan Liu Date: Wed, 24 Feb 2016 14:47:15 +0300 Message-id: <1456314438-4021-1-git-send-email-i.maximets@samsung.com> X-Mailer: git-send-email 2.5.0 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupnluLIzCtJLcpLzFFi42I5/e/4Nd3gGWfDDNq+G1i8+7SdyaJ95lkm iyvtP9ktJk4ysZj+NMLiWM8nVovJs6UsvmyazmZxfcIFVgdOj4v9dxg9NpzoZ/X4tWApq0fj cwmPxXteMnncubaHzWPeyUCPvi2rGAM4orhsUlJzMstSi/TtErgybn17zVxwiaOi8e5PxgbG 72xdjJwcEgImEtOvvGOCsMUkLtxbDxYXEljKKDH3dWUXIxeQ3cok8XnTQXaQBJuAjsSp1UcY QWwRgQSJI/t/s4IUMQv8ZpTYsaeJGSQhLOAkcaJnLSuIzSKgKnHz4AGWLkYODl4BV4mP051B TAkBOYkFF9InMHIvYGRYxSiaWppcUJyUnmukV5yYW1yal66XnJ+7iRESTF93MC49ZnWIUYCD UYmH98GGM2FCrIllxZW5hxglOJiVRHjjpp0NE+JNSaysSi3Kjy8qzUktPsQozcGiJM47c9f7 ECGB9MSS1OzU1ILUIpgsEwenVAPjtZul3ZUt31vm817vX//97s5/ie52ixbPPf/owZwLc7o3 rt7YNTvKns0nec/zo0vzsoRr6rYts3nN32GS4S+/19st06dDeOe60zdEHy99YhJj+bzi+/IX mjdWWvRbThA//EKJsVOgI23+hH/f7+9Jnrru/HKVVl9v6xc7znwxnG51dcbdRRcbbiqxFGck GmoxFxUnAgAHF6/rIgIAAA== Cc: Dyasly Sergey , Ilya Maximets Subject: [dpdk-dev] [PATCH RFC v3 0/3] Thread safe rte_vhost_enqueue_burst(). X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Feb 2016 11:47:34 -0000 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