From patchwork Thu Jan 24 16:59:00 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Maximets X-Patchwork-Id: 50034 X-Patchwork-Delegate: maxime.coquelin@redhat.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id D9BF65942; Thu, 24 Jan 2019 17:59:17 +0100 (CET) Received: from mailout1.w1.samsung.com (mailout1.w1.samsung.com [210.118.77.11]) by dpdk.org (Postfix) with ESMTP id EEF1A58FA for ; Thu, 24 Jan 2019 17:59:16 +0100 (CET) Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout1.w1.samsung.com (KnoxPortal) with ESMTP id 20190124165915euoutp012090ad5f40bcd0bbe0186d5e536d894a~811qRHuqF3017130171euoutp01E for ; Thu, 24 Jan 2019 16:59:15 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20190124165915euoutp012090ad5f40bcd0bbe0186d5e536d894a~811qRHuqF3017130171euoutp01E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1548349155; bh=KC2jpYUiOezLK67n0153TwJFP9NZ+yZgrjCpRxJBebo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=qerakZEL2Du7gBl6RY9u1FSo1povfOqBkf7Wd3W4RL9CroV44YLbBn6VbWydrT9j+ hizds1l3DyFN5231L3bWp11+FufDxCvKl21/pxKLRhFeQ+EJA/i00hKDQHixuZKUrk LdLtQdkN2gbRn2VVUWxVDMVykBYs3/msusEWI4UM= Received: from eusmges2new.samsung.com (unknown [203.254.199.244]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20190124165915eucas1p2cd948d4a6e2aab194b5d96b7cc61b4a1~811p5n_B40263802638eucas1p2N; Thu, 24 Jan 2019 16:59:15 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges2new.samsung.com (EUCPMTA) with SMTP id A8.62.04294.3EEE94C5; Thu, 24 Jan 2019 16:59:15 +0000 (GMT) Received: from eusmtrp1.samsung.com (unknown [182.198.249.138]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20190124165914eucas1p111b991d9e398368f63da918290e768de~811osR5CL2227922279eucas1p1E; Thu, 24 Jan 2019 16:59:14 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp1.samsung.com (KnoxPortal) with ESMTP id 20190124165913eusmtrp1d5093e03f431f9d40d45bdd75aaa739a~811oeAZuY2842228422eusmtrp1D; Thu, 24 Jan 2019 16:59:13 +0000 (GMT) X-AuditID: cbfec7f4-84fff700000010c6-26-5c49eee32a83 Received: from eusmtip2.samsung.com ( [203.254.199.222]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id 22.26.04128.1EEE94C5; Thu, 24 Jan 2019 16:59:13 +0000 (GMT) Received: from imaximets.rnd.samsung.ru (unknown [106.109.129.180]) by eusmtip2.samsung.com (KnoxPortal) with ESMTPA id 20190124165912eusmtip2a8f932ec5fc003577bf1ad75eaa57bbf~811ngaERh1449914499eusmtip2D; Thu, 24 Jan 2019 16:59:12 +0000 (GMT) From: Ilya Maximets To: dev@dpdk.org, Maxime Coquelin , "Michael S . Tsirkin" Cc: Tiwei Bie , Zhihong Wang , Jens Freimann , Ilya Maximets , stable@dpdk.org Date: Thu, 24 Jan 2019 19:59:00 +0300 Message-Id: <20190124165902.24178-2-i.maximets@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190124165902.24178-1-i.maximets@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrLIsWRmVeSWpSXmKPExsWy7djP87qP33nGGPz4yWnx7tN2Josr7T/Z Lc6tWcpicaxzD4vF/1+vWC3+dfxht9ja8J/JYvPFSUwOHB6/Fixl9Vi85yWTx/t9V9k8+ras YgxgieKySUnNySxLLdK3S+DK6Jk2nbVgFU/FnFezGRsYF3F1MXJySAiYSGxuWcXexcjFISSw glFi9cTVLBDOF0aJpkn/mCCcz4wSM/7vYIVp+bGoBSqxnFHi24frzBDOD0aJzyeOg1WxCehI nFp9hBHEFhHIkDh5+zkjSBGzwFpGibOdT5hAEsICQRLvLu0Fa2ARUJVYvXQtWJxXwFrixeGd UOvkJVZvOMAMYnMK2Eh8vjiNDSL+nU3iUZ8UhO0icezfFhYIW1ji1fEt7BC2jMTpyT1Q8XqJ +y0vwY6QEOhglJh+6B8TRMJeYsvrc0ANHEDXaUqs36UPEXaU2HB5IxtIWEKAT+LGW0GQMDOQ OWnbdGaIMK9ER5sQRLWKxO+Dy5khbCmJm+8+Q13gIbGj9TsjJHz6GSUuHXzDPIFRfhbCsgWM jKsYxVNLi3PTU4uN8lLL9YoTc4tL89L1kvNzNzECE8Xpf8e/7GDc9SfpEKMAB6MSD2/HIc8Y IdbEsuLK3EOMEhzMSiK8rhfdYoR4UxIrq1KL8uOLSnNSiw8xSnOwKInzVjM8iBYSSE8sSc1O TS1ILYLJMnFwSjUwNl1ZO43VKHh1RnZ62flil1j/hJTIHZyn7l4vvz33lqLvIbYYowcqahPL e0+/fzbVqWCj6PzHe5qfsm9KXJz58sXKrzXM0UwhU013/wx4Wfqk7W9wY8Jmsbxlp0Ie1snO 4t7mrMif6btkwsF/TpPuu6qtbT/oOE9daJ75+w3NJzJ0/kyPNN25S4mlOCPRUIu5qDgRAFIa GzwQAwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrHLMWRmVeSWpSXmKPExsVy+t/xe7oP33nGGHzdbWbx7tN2Josr7T/Z Lc6tWcpicaxzD4vF/1+vWC3+dfxht9ja8J/JYvPFSUwOHB6/Fixl9Vi85yWTx/t9V9k8+ras YgxgidKzKcovLUlVyMgvLrFVija0MNIztLTQMzKx1DM0No+1MjJV0rezSUnNySxLLdK3S9DL 6Jk2nbVgFU/FnFezGRsYF3F1MXJySAiYSPxY1MLUxcjFISSwlFHi3foJbBAJKYkfvy6wQtjC En+udbFBFH1jlLix/jBYgk1AR+LU6iOMXYwcHCICWRLvXnuA1DALbGSUmL5iCTtIjbBAgMTC tZMYQWwWAVWJ1UvXMoHYvALWEi8O74RaIC+xesMBZhCbU8BG4vPFaWBHCAHVzHr2jXkCI98C RoZVjCKppcW56bnFRnrFibnFpXnpesn5uZsYgWG77djPLTsYu94FH2IU4GBU4uHtOOQZI8Sa WFZcmXuIUYKDWUmE1/WiW4wQb0piZVVqUX58UWlOavEhRlOgoyYyS4km5wNjKq8k3tDU0NzC 0tDc2NzYzEJJnPe8QWWUkEB6YklqdmpqQWoRTB8TB6dUA6Ph9FzDq/8rl5rs175yOyNz0byz bunKQSLemfVrgy6eT3JyYZa8UuE8SWevWtFU5rhX5w7lr/JYxl3Cobjl6+rLopInp+7Yk2B2 8k+B6Iurzj0bmIsetAlsYGRumDbt+IK29t1nExmrTtsLtj7hu2xaHrA4a7rDsTk+kRfd/k1e Jyw6J+P00StKLMUZiYZazEXFiQCMOHs5cQIAAA== X-CMS-MailID: 20190124165914eucas1p111b991d9e398368f63da918290e768de X-Msg-Generator: CA X-RootMTR: 20190124165914eucas1p111b991d9e398368f63da918290e768de X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20190124165914eucas1p111b991d9e398368f63da918290e768de References: <20190124165902.24178-1-i.maximets@samsung.com> Subject: [dpdk-dev] [PATCH 1/3] net/virtio: fix improper read barriers on packed Tx cleanup X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Read barrier must be implied between reading descriptor flags and descriptor id. Otherwise, in case of reordering, we could read wrong descriptor id. For the reference, similar barrier for split rings is the read barrier between VIRTQUEUE_NUSED (reading the used->idx) and the call to the virtio_xmit_cleanup(). Additionally removed double update of 'used_idx'. It's enough to set it in the end of the loop. Fixes: 892dc798fa9c ("net/virtio: implement Tx path for packed queues") Cc: stable@dpdk.org Signed-off-by: Ilya Maximets Reviewed-by: Jens Freimann --- drivers/net/virtio/virtio_rxtx.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/net/virtio/virtio_rxtx.c b/drivers/net/virtio/virtio_rxtx.c index cc476b898..63e4370e4 100644 --- a/drivers/net/virtio/virtio_rxtx.c +++ b/drivers/net/virtio/virtio_rxtx.c @@ -234,7 +234,7 @@ virtio_xmit_cleanup_packed(struct virtqueue *vq, int num) used_idx = vq->vq_used_cons_idx; while (num-- && desc_is_used(&desc[used_idx], vq)) { - used_idx = vq->vq_used_cons_idx; + virtio_rmb(vq->hw->weak_barriers); id = desc[used_idx].id; dxp = &vq->vq_descx[id]; vq->vq_used_cons_idx += dxp->ndescs; @@ -1940,7 +1940,6 @@ virtio_xmit_pkts_packed(void *tx_queue, struct rte_mbuf **tx_pkts, /* Positive value indicates it need free vring descriptors */ if (unlikely(need > 0)) { - virtio_rmb(hw->weak_barriers); need = RTE_MIN(need, (int)nb_pkts); virtio_xmit_cleanup_packed(vq, need); need = slots - vq->vq_free_cnt; From patchwork Thu Jan 24 16:59:01 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Maximets X-Patchwork-Id: 50035 X-Patchwork-Delegate: maxime.coquelin@redhat.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B9B8F5B1E; Thu, 24 Jan 2019 17:59:20 +0100 (CET) Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.12]) by dpdk.org (Postfix) with ESMTP id 4F96D5A6A for ; Thu, 24 Jan 2019 17:59:19 +0100 (CET) Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20190124165918euoutp02ed95450758bea126610aef557854885c~811s-XoYp1875018750euoutp02a for ; Thu, 24 Jan 2019 16:59:18 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20190124165918euoutp02ed95450758bea126610aef557854885c~811s-XoYp1875018750euoutp02a DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1548349158; bh=o9h4CjbGJOEcTcyxFLPrNRX91JeJVjMhSsdDTTVE290=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=FGR9r0f1SiUD9XKD0kM8yp2g0lbbRowUZ8WVe1FP0TElfPKvf7J7d5F4MeiF1TxVz Ia4LUYsm+TVHXlPxLgJHOSwk6ltUD0pHrW4i0YJg675sE4lr3RggC7jxxnJIYsSCDV EHAL861XoiGiyjO/KYB970S95Ohrnl/9S3f/Lov8= Received: from eusmges2new.samsung.com (unknown [203.254.199.244]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20190124165918eucas1p12a786aa37ab0d11fab04454a9dde044d~811smdFZe2975429754eucas1p1J; Thu, 24 Jan 2019 16:59:18 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges2new.samsung.com (EUCPMTA) with SMTP id 59.62.04294.6EEE94C5; Thu, 24 Jan 2019 16:59:18 +0000 (GMT) Received: from eusmtrp1.samsung.com (unknown [182.198.249.138]) by eucas1p2.samsung.com (KnoxPortal) with ESMTPA id 20190124165917eucas1p21b83186e336b1099ee32937fa81d8cc7~811rz5NNx0263202632eucas1p2R; Thu, 24 Jan 2019 16:59:17 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp1.samsung.com (KnoxPortal) with ESMTP id 20190124165917eusmtrp13713104e0752a691b24b21a0ac5d8531~811rlo5hY2842228422eusmtrp1H; Thu, 24 Jan 2019 16:59:17 +0000 (GMT) X-AuditID: cbfec7f4-84fff700000010c6-2a-5c49eee6f48f Received: from eusmtip2.samsung.com ( [203.254.199.222]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id 23.26.04128.5EEE94C5; Thu, 24 Jan 2019 16:59:17 +0000 (GMT) Received: from imaximets.rnd.samsung.ru (unknown [106.109.129.180]) by eusmtip2.samsung.com (KnoxPortal) with ESMTPA id 20190124165916eusmtip2b906013c304c975f0719abe7263bd5b9~811qn6P-E1425414254eusmtip2Z; Thu, 24 Jan 2019 16:59:16 +0000 (GMT) From: Ilya Maximets To: dev@dpdk.org, Maxime Coquelin , "Michael S . Tsirkin" Cc: Tiwei Bie , Zhihong Wang , Jens Freimann , Ilya Maximets , stable@dpdk.org Date: Thu, 24 Jan 2019 19:59:01 +0300 Message-Id: <20190124165902.24178-3-i.maximets@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190124165902.24178-1-i.maximets@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrDIsWRmVeSWpSXmKPExsWy7djPc7rP3nnGGFz7wmHx7tN2Josr7T/Z Lc6tWcpicaxzD4vF/1+vWC3+dfxht9ja8J/JYvPFSUwOHB6/Fixl9Vi85yWTx/t9V9k8+ras YgxgieKySUnNySxLLdK3S+DK6P1RW7CMq2L20ZWsDYz7OboYOTkkBEwkXl6/ytTFyMUhJLCC UeL1nh4o5wujxKv7V9ghnM+MEg8nvGKEael+9pkNIrGcUeJL/yRGCOcHo8S0AyAZTg42AR2J U6uPgHWICGRInLz9HKyIWWAto8TZzidMIAlhgUCJ9stLwIpYBFQlppy/xQJi8wpYS0xunccC sU5eYvWGA8wgNqeAjcTni9PYIOKf2SSm3aiEsF0kfsx5AFUvLPHq+BZ2CFtG4vTkHqh4vcT9 lpdgR0gIdDBKTD/0jwkiYS+x5fU5oAYOoOs0Jdbv0ocIO0p0rvnHChKWEOCTuPFWECTMDGRO 2jadGSLMK9HRJgRRrSLx++ByZghbSuLmu89QF3hIvLl/jgUSPv3AUNxylnkCo/wshGULGBlX MYqnlhbnpqcWG+WllusVJ+YWl+al6yXn525iBKaJ0/+Of9nBuOtP0iFGAQ5GJR7ejkOeMUKs iWXFlbmHGCU4mJVEeF0vusUI8aYkVlalFuXHF5XmpBYfYpTmYFES561meBAtJJCeWJKanZpa kFoEk2Xi4JRqYExw1z7o6Xjsh5xDTEPtxyyX2DnpuY3vLq+r8aqb+p97/uY935StZU5aqNY7 9z3fvm2uxUdd9n3tKSETv317wfLuw7xWATvjE7WbLHxSmpfPs/2teqNz99ldOgmbtOYoe2yV z0sv22N8hGc1Z+rZXx/+V16Pz7DSPDrznduXHv0+CeOw8lVl75RYijMSDbWYi4oTAfKQjyoP AwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrDLMWRmVeSWpSXmKPExsVy+t/xe7pP33nGGEy6z2/x7tN2Josr7T/Z Lc6tWcpicaxzD4vF/1+vWC3+dfxht9ja8J/JYvPFSUwOHB6/Fixl9Vi85yWTx/t9V9k8+ras YgxgidKzKcovLUlVyMgvLrFVija0MNIztLTQMzKx1DM0No+1MjJV0rezSUnNySxLLdK3S9DL 6P1RW7CMq2L20ZWsDYz7OboYOTkkBEwkup99Zuti5OIQEljKKPF2/j9GiISUxI9fF1ghbGGJ P9e6oIq+MUp8m7maCSTBJqAjcWr1EaAGDg4RgSyJd689QGqYBTYySkxfsYQdJC4s4C/x/wbY TBYBVYkp52+xgNi8AtYSk1vnsUDMl5dYveEAM4jNKWAj8fniNDYQWwioZtazb8wTGPkWMDKs YhRJLS3OTc8tNtIrTswtLs1L10vOz93ECAzZbcd+btnB2PUu+BCjAAejEg9vxyHPGCHWxLLi ytxDjBIczEoivK4X3WKEeFMSK6tSi/Lji0pzUosPMZoCHTWRWUo0OR8YT3kl8YamhuYWlobm xubGZhZK4rznDSqjhATSE0tSs1NTC1KLYPqYODilGhjTz80p2BT1ZkdPhssW9ffr7N5mzCn/ OjnRombl/z/P+mNP+7PlVItN/dq5ZcNS1hVzT8sXOrvNaSxhUzh30Gn3orudH25cZf3VLDvh 8rrj2x/2r131ad72bXmnEiR0K656zarbUybLZMq/LeGG9DmhPyo6x9SLrwsfPyaf92zOK8Hp aU6XxA9xK7EUZyQaajEXFScCAEI1hc1vAgAA X-CMS-MailID: 20190124165917eucas1p21b83186e336b1099ee32937fa81d8cc7 X-Msg-Generator: CA X-RootMTR: 20190124165917eucas1p21b83186e336b1099ee32937fa81d8cc7 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20190124165917eucas1p21b83186e336b1099ee32937fa81d8cc7 References: <20190124165902.24178-1-i.maximets@samsung.com> Subject: [dpdk-dev] [PATCH 2/3] net/virtio: add barriers for extra descriptors on Rx split X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" There should be read barrier between checking VIRTQUEUE_NUSED (reading the used->idx) and reading these descriptors. It's done for the first checks at the beginning of these functions but missed while checking for extra required descriptors. Fixes: e5f456a98d3c ("net/virtio: support in-order Rx and Tx") Fixes: 13ce5e7eb94f ("virtio: mergeable buffers") Cc: stable@dpdk.org Signed-off-by: Ilya Maximets --- drivers/net/virtio/virtio_rxtx.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/virtio/virtio_rxtx.c b/drivers/net/virtio/virtio_rxtx.c index 63e4370e4..5ffed6a51 100644 --- a/drivers/net/virtio/virtio_rxtx.c +++ b/drivers/net/virtio/virtio_rxtx.c @@ -1456,6 +1456,7 @@ virtio_recv_pkts_inorder(void *rx_queue, prev = rcv_pkts[nb_rx]; if (likely(VIRTQUEUE_NUSED(vq) >= rcv_cnt)) { + virtio_rmb(hw->weak_barriers); num = virtqueue_dequeue_rx_inorder(vq, rcv_pkts, len, rcv_cnt); uint16_t extra_idx = 0; @@ -1642,6 +1643,7 @@ virtio_recv_mergeable_pkts(void *rx_queue, prev = rcv_pkts[nb_rx]; if (likely(VIRTQUEUE_NUSED(vq) >= rcv_cnt)) { + virtio_rmb(hw->weak_barriers); num = virtqueue_dequeue_burst_rx(vq, rcv_pkts, len, rcv_cnt); uint16_t extra_idx = 0; From patchwork Thu Jan 24 16:59:02 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Maximets X-Patchwork-Id: 50036 X-Patchwork-Delegate: maxime.coquelin@redhat.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 43BE85B2C; Thu, 24 Jan 2019 17:59:25 +0100 (CET) Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.12]) by dpdk.org (Postfix) with ESMTP id 941F75B2C for ; Thu, 24 Jan 2019 17:59:23 +0100 (CET) Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20190124165923euoutp02fe75293394adbec5cbebbadd0e6ddf19~811xT3d6M1959619596euoutp02A for ; Thu, 24 Jan 2019 16:59:23 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20190124165923euoutp02fe75293394adbec5cbebbadd0e6ddf19~811xT3d6M1959619596euoutp02A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1548349163; bh=2u37m1MLaIa6aRG9bUA55Ahp1tUHqg9cnA3Gg5haU1c=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=GvHmM2WucLdOjH7rMG56q+bp+99kbUmVCTiEaZZWv9MAS41PlIevqL7bfI6dKoVDt lcB/QlVLQbS1L9AKcEjizn6F7bbH5cEro7fzw+eMXDejde0Nkr+pxanORRdk80fluy OG7a1w9es5INTlIi8aWu9AZbf0cjVdytEsuBOKyM= Received: from eusmges2new.samsung.com (unknown [203.254.199.244]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20190124165922eucas1p2581104aa20f76492e3828ebe759b4b51~811ws0m0A0263702637eucas1p2S; Thu, 24 Jan 2019 16:59:22 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges2new.samsung.com (EUCPMTA) with SMTP id 8A.62.04294.AEEE94C5; Thu, 24 Jan 2019 16:59:22 +0000 (GMT) Received: from eusmtrp1.samsung.com (unknown [182.198.249.138]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20190124165921eucas1p1fee7e668285fc26bc4f01c6b5ec0b66a~811v1cUFO1987719877eucas1p1k; Thu, 24 Jan 2019 16:59:21 +0000 (GMT) Received: from eusmgms1.samsung.com (unknown [182.198.249.179]) by eusmtrp1.samsung.com (KnoxPortal) with ESMTP id 20190124165921eusmtrp1fe2a97d4c0052aac0e1b42005d1af1c9~811vm3cqM2842328423eusmtrp1K; Thu, 24 Jan 2019 16:59:21 +0000 (GMT) X-AuditID: cbfec7f4-84fff700000010c6-32-5c49eeea3099 Received: from eusmtip2.samsung.com ( [203.254.199.222]) by eusmgms1.samsung.com (EUCPMTA) with SMTP id BC.FF.04284.9EEE94C5; Thu, 24 Jan 2019 16:59:21 +0000 (GMT) Received: from imaximets.rnd.samsung.ru (unknown [106.109.129.180]) by eusmtip2.samsung.com (KnoxPortal) with ESMTPA id 20190124165920eusmtip29ef83526cfd19b46a1ad8e83a9f51849~811unSbqf1449914499eusmtip2K; Thu, 24 Jan 2019 16:59:20 +0000 (GMT) From: Ilya Maximets To: dev@dpdk.org, Maxime Coquelin , "Michael S . Tsirkin" Cc: Tiwei Bie , Zhihong Wang , Jens Freimann , Ilya Maximets , stable@dpdk.org Date: Thu, 24 Jan 2019 19:59:02 +0300 Message-Id: <20190124165902.24178-4-i.maximets@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190124165902.24178-1-i.maximets@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrFIsWRmVeSWpSXmKPExsWy7djP87qv3nnGGJxeqGDx7tN2Josr7T/Z Lc6tWcpicaxzD4vF/1+vWC3+dfxht9ja8J/JYvPFSUwOHB6/Fixl9Vi85yWTx/t9V9k8+ras YgxgieKySUnNySxLLdK3S+DKmPh6K0vBPfaKLT05DYzH2LoYOTgkBEwkth7U72Lk4hASWMEo sezQAzYI5wujxPwFy9i7GDmBnM+MEjfuaoDYIA0vv75hhihazijx6X4XE4Tzg1Fi2ySQsZwc bAI6EqdWH2EEsUUEMiRO3n7OCFLELLCWUeJs5xMmkISwgI/Es4XXwGwWAVWJw99/MIPYvALW El2LLzJCrJOXWL3hAFicU8BG4vPFaWD3SQh8ZpN4MPs5O0SRi0T/jFPMELawxKvjW6DiMhKn J/ewQNj1EvdbXjJCNHcwSkw/9I8JImEvseX1OXZQaDALaEqs36UPEXaUmPP8ORMkkPgkbrwV BAkzA5mTtk1nhgjzSnS0CUFUq0j8Prgc6gIpiZvvPkNd4CHRMek7EyQU+xkltu/NmcAoPwth 1wJGxlWM4qmlxbnpqcVGeanlesWJucWleel6yfm5mxiBKeL0v+NfdjDu+pN0iFGAg1GJh7fj kGeMEGtiWXFl7iFGCQ5mJRFe14tuMUK8KYmVValF+fFFpTmpxYcYpTlYlMR5qxkeRAsJpCeW pGanphakFsFkmTg4pRoYHS6xR6zi41qj0TZp7SZXjojOw3K3wktDCiVOBwSl6m6W6UjeUWbh f/HAw+VTXgpUl6979efd3ysCNcWx11dOkYzjX9ZueuSISeg71fWbZikbTwvdf7uE4bvjjwnt 7A8CntXFpSs3Pn8/Y6tsQaHfDVOHuVN2v04+FJoiduFiyn7+tmnM6gbXlFiKMxINtZiLihMB 5vWuUg0DAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrLLMWRmVeSWpSXmKPExsVy+t/xe7ov33nGGKxpVrV492k7k8WV9p/s FufWLGWxONa5h8Xi/69XrBb/Ov6wW2xt+M9ksfniJCYHDo9fC5ayeize85LJ4/2+q2wefVtW MQawROnZFOWXlqQqZOQXl9gqRRtaGOkZWlroGZlY6hkam8daGZkq6dvZpKTmZJalFunbJehl THy9laXgHnvFlp6cBsZjbF2MnBwSAiYSL7++Ye5i5OIQEljKKHG5bw87REJK4sevC6wQtrDE n2tdbBBF3xglHrzYClbEJqAjcWr1EcYuRg4OEYEsiXevPUBqmAU2MkpMX7EErEZYwEfi2cJr TCA2i4CqxOHvP5hBbF4Ba4muxRcZIRbIS6zecAAszilgI/H54jSw64SAamY9+8Y8gZFvASPD KkaR1NLi3PTcYkO94sTc4tK8dL3k/NxNjMCg3Xbs5+YdjJc2Bh9iFOBgVOLh7TjkGSPEmlhW XJl7iFGCg1lJhNf1oluMEG9KYmVValF+fFFpTmrxIUZToKMmMkuJJucDIyqvJN7Q1NDcwtLQ 3Njc2MxCSZz3vEFllJBAemJJanZqakFqEUwfEwenVANjiVD7sVx74e5YYaZpn69XfdOwPLjk zQYdtQkFfiYKHbnF7QpPX+/ONWX7LLpMuNgjf3fzp37elJM35CyrLKeu8Dt439/49rULL9Yc W6VUmnfsl9e3qU17piT6iYdN1y1xKtp8/1D4sahg149TOnp4NgVG/bN70szy9HbhOgNucwnh bjOlReJKLMUZiYZazEXFiQATXqhvcAIAAA== X-CMS-MailID: 20190124165921eucas1p1fee7e668285fc26bc4f01c6b5ec0b66a X-Msg-Generator: CA X-RootMTR: 20190124165921eucas1p1fee7e668285fc26bc4f01c6b5ec0b66a X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20190124165921eucas1p1fee7e668285fc26bc4f01c6b5ec0b66a References: <20190124165902.24178-1-i.maximets@samsung.com> Subject: [dpdk-dev] [PATCH 3/3] net/virtio: add missing read barrier for packed dequeue X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Read barrier is required between reading the flags (desc_is_used) and the content of descriptor to ensure the ordering. Otherwise, speculative read of desc.id could be reordered with reading of the desc.flags. Fixes: a76290c8f1cf ("net/virtio: implement Rx path for packed queues") Cc: stable@dpdk.org Signed-off-by: Ilya Maximets Reviewed-by: Jens Freimann --- drivers/net/virtio/virtio_rxtx.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/virtio/virtio_rxtx.c b/drivers/net/virtio/virtio_rxtx.c index 5ffed6a51..4c701c514 100644 --- a/drivers/net/virtio/virtio_rxtx.c +++ b/drivers/net/virtio/virtio_rxtx.c @@ -124,6 +124,7 @@ virtqueue_dequeue_burst_rx_packed(struct virtqueue *vq, used_idx = vq->vq_used_cons_idx; if (!desc_is_used(&desc[used_idx], vq)) return i; + virtio_rmb(vq->hw->weak_barriers); len[i] = desc[used_idx].len; id = desc[used_idx].id; cookie = (struct rte_mbuf *)vq->vq_descx[id].cookie;