From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <i.maximets@samsung.com>
Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com
 [210.118.77.12]) by dpdk.org (Postfix) with ESMTP id 941F75B2C
 for <dev@dpdk.org>; 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 <dev@dpdk.org>; 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 <i.maximets@samsung.com>
To: dev@dpdk.org, Maxime Coquelin <maxime.coquelin@redhat.com>, "Michael S .
 Tsirkin" <mst@redhat.com>
Cc: Tiwei Bie <tiwei.bie@intel.com>, Zhihong Wang <zhihong.wang@intel.com>,
 Jens Freimann <jfreimann@redhat.com>, Ilya Maximets
 <i.maximets@samsung.com>, 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
Content-Type: text/plain; charset="utf-8"
X-RootMTR: 20190124165921eucas1p1fee7e668285fc26bc4f01c6b5ec0b66a
X-EPHeader: CA
CMS-TYPE: 201P
X-CMS-RootMailID: 20190124165921eucas1p1fee7e668285fc26bc4f01c6b5ec0b66a
References: <20190124165902.24178-1-i.maximets@samsung.com>
 <CGME20190124165921eucas1p1fee7e668285fc26bc4f01c6b5ec0b66a@eucas1p1.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 <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Thu, 24 Jan 2019 16:59:23 -0000

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 <i.maximets@samsung.com>
---
 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;
-- 
2.17.1