From nobody Mon Apr 29 04:15:29 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=samsung.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1544808777885256.8049569745559; Fri, 14 Dec 2018 09:32:57 -0800 (PST) Received: from localhost ([::1]:34764 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gXrKa-00018j-M1 for importer@patchew.org; Fri, 14 Dec 2018 12:32:56 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40762) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gXrJR-0000p7-A3 for qemu-devel@nongnu.org; Fri, 14 Dec 2018 12:31:46 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gXrJN-0003SA-8M for qemu-devel@nongnu.org; Fri, 14 Dec 2018 12:31:45 -0500 Received: from mailout1.w1.samsung.com ([210.118.77.11]:52012) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gXrJM-0003P8-O0 for qemu-devel@nongnu.org; Fri, 14 Dec 2018 12:31:41 -0500 Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout1.w1.samsung.com (KnoxPortal) with ESMTP id 20181214173130euoutp01142082c16c53d9c40562c44332466415~wQ1HAEyOh2686126861euoutp01g for ; Fri, 14 Dec 2018 17:31:30 +0000 (GMT) Received: from eusmges1new.samsung.com (unknown [203.254.199.242]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20181214173129eucas1p2264888cfbb32db99256f62dae9d7b9a2~wQ1GMDTkj2983129831eucas1p2O; Fri, 14 Dec 2018 17:31:29 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges1new.samsung.com (EUCPMTA) with SMTP id B3.BC.04441.1F8E31C5; Fri, 14 Dec 2018 17:31:29 +0000 (GMT) Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by eucas1p2.samsung.com (KnoxPortal) with ESMTPA id 20181214173128eucas1p25789b473622f9506c239c6a02d95e8b6~wQ1FZGktR1108911089eucas1p2_; Fri, 14 Dec 2018 17:31:28 +0000 (GMT) Received: from eusmgms1.samsung.com (unknown [182.198.249.179]) by eusmtrp2.samsung.com (KnoxPortal) with ESMTP id 20181214173128eusmtrp2544c286b260962282205f3938c80c6e1~wQ1FKr9dh0136501365eusmtrp24; Fri, 14 Dec 2018 17:31:28 +0000 (GMT) Received: from eusmtip2.samsung.com ( [203.254.199.222]) by eusmgms1.samsung.com (EUCPMTA) with SMTP id 3D.2B.04284.0F8E31C5; Fri, 14 Dec 2018 17:31:28 +0000 (GMT) Received: from imaximets.rnd.samsung.ru (unknown [106.109.129.180]) by eusmtip2.samsung.com (KnoxPortal) with ESMTPA id 20181214173128eusmtip23f45f594553359e9d561c354a305a980~wQ1EqBTBa2246922469eusmtip2i; Fri, 14 Dec 2018 17:31:28 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20181214173130euoutp01142082c16c53d9c40562c44332466415~wQ1HAEyOh2686126861euoutp01g DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1544808690; bh=VJt0Kxwg54APy7Ku72HZU/Aw5ohzcGHoUV391DZ9eKw=; h=From:To:Cc:Subject:Date:References:From; b=ZhkShnTVaZrXJI4lOggiA88GBl4esF71RHE1kxCPZwJQXAJjcN/D/IwAAB7+YpgwF P8xPVeDjsqeFuMMIOb6FjOt+bvWAiY9ER4m6n1fYqrOJxMSN05fxUCDIw75NpvVF70 cZMJIFE3pXQhBpv5oPCx/wzKVReCI9BZsypoWrho= X-AuditID: cbfec7f2-5e3ff70000001159-2a-5c13e8f129fa From: Ilya Maximets To: "Michael S . Tsirkin" Date: Fri, 14 Dec 2018 20:31:23 +0300 Message-Id: <20181214173123.31223-1-i.maximets@samsung.com> X-Mailer: git-send-email 2.17.1 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrOIsWRmVeSWpSXmKPExsWy7djPc7ofXwjHGJz6K2Fxpf0nu8WyS5+Z LI517mGx+P/rFavF8d4dLBZbG/4zWex/fpjdgd1j8Z6XTB5Prm1m8ni/7yqbR9+WVYwBLFFc NimpOZllqUX6dglcGev3qxW0ilQsW3+RpYHxEn8XIyeHhICJxNa5j5hAbCGBFYwSZ5aGQ9hf GCUamw0h7M+MEi8Pc8PUb/73EaieCyi+nFHi4JYvbBDOD0aJLW9WsIBUsQnoSJxafYQRxBYR 0JL492gamM0scJNR4kGHI4gtLGAt8ejuVzYQm0VAVWJ/4y2wK3iB4i/79rNDbJOXWL3hADPI AgmBM2wSlw/fZ4RIuEj0v2pmg7CFJV4d3wLVICPxf+d8Jgi7XuJ+y0tGiOYORonph/5BJewl trw+B9TAAXSRpsT6XfoQYUeJf5dBXuMAsvkkbrwVhLiZT2LStunMEGFeiY42IYhqFYnfB5cz Q9hSEjfffYa6wEOidflvdkjAxUpseNzFPIFRbhbCrgWMjKsYxVNLi3PTU4sN81LL9YoTc4tL 89L1kvNzNzECo//0v+OfdjB+vZR0iFGAg1GJh7fjlnCMEGtiWXFl7iFGCQ5mJRHesFagEG9K YmVValF+fFFpTmrxIUZpDhYlcd5qhgfRQgLpiSWp2ampBalFMFkmDk6pBsaevdt8TasdrIXi eKzKYyVreN+ESq3tiP7eKLqxfmMZG4seo790zny2HyYP96Su3zfZcsm+GRu5fLRP/ym9Oyfj zK0JFVuMWjdZmD2uOevz/mW2+uf2pn9ino1vPHPZd3U53bXcm+ZvWDpn9sJcrZXqjYdt5h6/ lbr7hr6k7t3KM/crvT7IVyuxFGckGmoxFxUnAgC08l+t+gIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrILMWRmVeSWpSXmKPExsVy+t/xe7ofXgjHGPybrGRxpf0nu8WyS5+Z LI517mGx+P/rFavF8d4dLBZbG/4zWex/fpjdgd1j8Z6XTB5Prm1m8ni/7yqbR9+WVYwBLFF6 NkX5pSWpChn5xSW2StGGFkZ6hpYWekYmlnqGxuaxVkamSvp2NimpOZllqUX6dgl6Gev3qxW0 ilQsW3+RpYHxEn8XIyeHhICJxOZ/H5m6GLk4hASWMkps71jPApGQkvjx6wIrhC0s8edaFxtE 0TdGiXlNyxlBEmwCOhKnVh8Bs0UEtCT+PZrGCFLELHCfUWLG2e1g3cIC1hKP7n5lA7FZBFQl 9jfeYgKxeYHiL/v2s0NskJdYveEA8wRGngWMDKsYRVJLi3PTc4sN9YoTc4tL89L1kvNzNzEC g2/bsZ+bdzBe2hh8iFGAg1GJh9fghnCMEGtiWXFl7iFGCQ5mJRHesFagEG9KYmVValF+fFFp TmrxIUZToOUTmaVEk/OBkZFXEm9oamhuYWlobmxubGahJM573qAySkggPbEkNTs1tSC1CKaP iYNTqoFR5vsLJfP/ssYclbv3spy7+OTYyaXu+4XMjLimHZ0jqzmV52Lykyz9zCXyCl47bIq6 3ZPn106ad4C55fAT/9beDuGDc3iYbZ/EzngvuPpE3vfYpCWv1wTXOjllTVSTE9y367SN5fHA 9pu3Zwftj5wXENkpmH1cOGY6a6OodIuiOueuj9kKPglKLMUZiYZazEXFiQCPtpdZVAIAAA== X-CMS-MailID: 20181214173128eucas1p25789b473622f9506c239c6a02d95e8b6 X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-RootMTR: 20181214173128eucas1p25789b473622f9506c239c6a02d95e8b6 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20181214173128eucas1p25789b473622f9506c239c6a02d95e8b6 References: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-Received-From: 210.118.77.11 Subject: [Qemu-devel] [PATCH] virtio: add ORDER_PLATFORM feature support X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Tiwei Bie , Jason Wang , qemu-devel@nongnu.org, Maxime Coquelin , Xiao Wang , Ilya Maximets Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 This patch adds new property "order_platform" which is required to allow VIRTIO_F_ORDER_PLATFORM feature negotiation. Disabled by default because needed only for HW assited vhost backends. Enabling of this feature will request guest drivers to use heavier (platform dependent) techniques for memory ordering if negotiated. Signed-off-by: Ilya Maximets --- Note: Patch to change the name of the feature from VIRTIO_F_IO_BARRIER to VIRTIO_F_ORDER_PLATFORM is not merged yet: https://www.mail-archive.com/virtio-dev@lists.oasis-open.org/msg04114= .html Patch for DPDK virtio driver available here: http://patches.dpdk.org/patch/48886/ hw/net/vhost_net.c | 1 + include/hw/virtio/virtio.h | 13 ++++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/hw/net/vhost_net.c b/hw/net/vhost_net.c index e037db63a3..71877e46a5 100644 --- a/hw/net/vhost_net.c +++ b/hw/net/vhost_net.c @@ -78,6 +78,7 @@ static const int user_feature_bits[] =3D { VIRTIO_NET_F_MRG_RXBUF, VIRTIO_NET_F_MTU, VIRTIO_F_IOMMU_PLATFORM, + VIRTIO_F_ORDER_PLATFORM, =20 /* This bit implies RARP isn't sent by QEMU out of band */ VIRTIO_NET_F_GUEST_ANNOUNCE, diff --git a/include/hw/virtio/virtio.h b/include/hw/virtio/virtio.h index 9c1fa07d6d..7e206dadbc 100644 --- a/include/hw/virtio/virtio.h +++ b/include/hw/virtio/virtio.h @@ -29,6 +29,15 @@ (0x1ULL << VIRTIO_F_NOTIFY_ON_EMPTY) | \ (0x1ULL << VIRTIO_F_ANY_LAYOUT)) =20 +#ifndef VIRTIO_F_ORDER_PLATFORM +/* + * This feature indicates that memory accesses by the driver and the device + * are ordered in a way described by the platform. + * Not yet defined in Linux, i.e. not in standard-headers. + */ +#define VIRTIO_F_ORDER_PLATFORM 36 +#endif + struct VirtQueue; =20 static inline hwaddr vring_align(hwaddr addr, @@ -264,7 +273,9 @@ typedef struct VirtIORNGConf VirtIORNGConf; DEFINE_PROP_BIT64("any_layout", _state, _field, \ VIRTIO_F_ANY_LAYOUT, true), \ DEFINE_PROP_BIT64("iommu_platform", _state, _field, \ - VIRTIO_F_IOMMU_PLATFORM, false) + VIRTIO_F_IOMMU_PLATFORM, false), \ + DEFINE_PROP_BIT64("order_platform", _state, _field, \ + VIRTIO_F_ORDER_PLATFORM, false) =20 hwaddr virtio_queue_get_desc_addr(VirtIODevice *vdev, int n); hwaddr virtio_queue_get_avail_addr(VirtIODevice *vdev, int n); --=20 2.17.1