From nobody Wed May 15 23:02:42 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1646388726550683.7164140795293; Fri, 4 Mar 2022 02:12:06 -0800 (PST) Received: from localhost ([::1]:47596 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nQ4us-00049d-5v for importer@patchew.org; Fri, 04 Mar 2022 05:12:06 -0500 Received: from eggs.gnu.org ([209.51.188.92]:38268) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nQ4sm-0002dL-5G for qemu-devel@nongnu.org; Fri, 04 Mar 2022 05:09:56 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:52602) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nQ4sk-0007R3-PQ for qemu-devel@nongnu.org; Fri, 04 Mar 2022 05:09:55 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-318-u7FxdYnVMcyKNfbs4GfQEg-1; Fri, 04 Mar 2022 05:09:40 -0500 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id E5C7F501EE; Fri, 4 Mar 2022 10:09:38 +0000 (UTC) Received: from toolbox.redhat.com (unknown [10.33.36.250]) by smtp.corp.redhat.com (Postfix) with ESMTP id 15097842BA; Fri, 4 Mar 2022 10:09:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1646388594; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=2bdEk9MzUI/N0m+HiOdQdbRzTmVVSyB4FcT+JOH8W0w=; b=IxvKkahdu+/RX8L/tecZPFUSF11UsJNACJ2yh33PcJMmvxVuKpqrTBAEB+Tg3b2uOpGyXO v0yLzPF1owzHSDeELNqpK6LTi24W+ju1cwNleAiN9hjddBPunrPYTxE3tpM9v05eTnFNCA M4LzZyDWtpt5K3YKquhJwuX9dkyQKmU= X-MC-Unique: u7FxdYnVMcyKNfbs4GfQEg-1 From: Sergio Lopez To: qemu-devel@nongnu.org Subject: [PATCH v4 1/4] event_notifier: add event_notifier_get_wfd() Date: Fri, 4 Mar 2022 11:08:51 +0100 Message-Id: <20220304100854.14829-2-slp@redhat.com> In-Reply-To: <20220304100854.14829-1-slp@redhat.com> References: <20220304100854.14829-1-slp@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=slp@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -28 X-Spam_score: -2.9 X-Spam_bar: -- X-Spam_report: (-2.9 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.082, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Fam Zheng , John G Johnson , kvm@vger.kernel.org, David Hildenbrand , Eric Farman , Jagannathan Raman , Matthew Rosato , qemu-block@nongnu.org, "Michael S. Tsirkin" , Elena Ufimtseva , Halil Pasic , Christian Borntraeger , vgoyal@redhat.com, Thomas Huth , Sergio Lopez , Richard Henderson , Alex Williamson , Stefan Hajnoczi , Kevin Wolf , qemu-s390x@nongnu.org, Cornelia Huck , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Hanna Reitz , Paolo Bonzini Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1646388727937100001 Content-Type: text/plain; charset="utf-8" event_notifier_get_fd(const EventNotifier *e) always returns EventNotifier's read file descriptor (rfd). This is not a problem when the EventNotifier is backed by a an eventfd, as a single file descriptor is used both for reading and triggering events (rfd =3D=3D wfd). But, when EventNotifier is backed by a pipe pair, we have two file descriptors, one that can only be used for reads (rfd), and the other only for writes (wfd). There's, at least, one known situation in which we need to obtain wfd instead of rfd, which is when setting up the file that's going to be sent to the peer in vhost's SET_VRING_CALL. Add a new event_notifier_get_wfd(const EventNotifier *e) that can be used to obtain wfd where needed. Signed-off-by: Sergio Lopez Reviewed-by: Stefan Hajnoczi --- include/qemu/event_notifier.h | 1 + util/event_notifier-posix.c | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/include/qemu/event_notifier.h b/include/qemu/event_notifier.h index b79add035d..8a4ff308e1 100644 --- a/include/qemu/event_notifier.h +++ b/include/qemu/event_notifier.h @@ -38,6 +38,7 @@ int event_notifier_test_and_clear(EventNotifier *); #ifdef CONFIG_POSIX void event_notifier_init_fd(EventNotifier *, int fd); int event_notifier_get_fd(const EventNotifier *); +int event_notifier_get_wfd(const EventNotifier *); #else HANDLE event_notifier_get_handle(EventNotifier *); #endif diff --git a/util/event_notifier-posix.c b/util/event_notifier-posix.c index 8307013c5d..16294e98d4 100644 --- a/util/event_notifier-posix.c +++ b/util/event_notifier-posix.c @@ -99,6 +99,11 @@ int event_notifier_get_fd(const EventNotifier *e) return e->rfd; } =20 +int event_notifier_get_wfd(const EventNotifier *e) +{ + return e->wfd; +} + int event_notifier_set(EventNotifier *e) { static const uint64_t value =3D 1; --=20 2.35.1 From nobody Wed May 15 23:02:42 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1646388801263413.2256757547091; Fri, 4 Mar 2022 02:13:21 -0800 (PST) Received: from localhost ([::1]:51586 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nQ4w3-0006pZ-UU for importer@patchew.org; Fri, 04 Mar 2022 05:13:19 -0500 Received: from eggs.gnu.org ([209.51.188.92]:38564) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nQ4u7-00048M-Ix for qemu-devel@nongnu.org; Fri, 04 Mar 2022 05:11:19 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:49541) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nQ4u5-0007ou-P8 for qemu-devel@nongnu.org; Fri, 04 Mar 2022 05:11:19 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-544-LTD4M1sSPUWJyQrxSp1IhQ-1; Fri, 04 Mar 2022 05:11:14 -0500 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 258E851DF; Fri, 4 Mar 2022 10:11:12 +0000 (UTC) Received: from toolbox.redhat.com (unknown [10.33.36.250]) by smtp.corp.redhat.com (Postfix) with ESMTP id 48B4C842BA; Fri, 4 Mar 2022 10:09:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1646388677; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ztDvj7fiM7xkapi0r03fC+oUdKdfsZD0L/E+xi9O+Iw=; b=cbgSqwWcxFPhc7N7nD49KRKOTPvrj5AMXcOfOlvj6SXDDAobEGzWi1Tjgtsn+upJ43e3am rCPjotMN6B9YRB0nqm0Y4XCCpHJEjAzcJkiolPpVbnJQsGlt0EvkG/uN8sqbCAqTLlZiDR 5vnzKGslEMnueuXF0SSUDmPggidNuqc= X-MC-Unique: LTD4M1sSPUWJyQrxSp1IhQ-1 From: Sergio Lopez To: qemu-devel@nongnu.org Subject: [PATCH v4 2/4] vhost: use wfd on functions setting vring call fd Date: Fri, 4 Mar 2022 11:08:52 +0100 Message-Id: <20220304100854.14829-3-slp@redhat.com> In-Reply-To: <20220304100854.14829-1-slp@redhat.com> References: <20220304100854.14829-1-slp@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=slp@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -28 X-Spam_score: -2.9 X-Spam_bar: -- X-Spam_report: (-2.9 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.082, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Fam Zheng , John G Johnson , kvm@vger.kernel.org, David Hildenbrand , Eric Farman , Jagannathan Raman , Matthew Rosato , qemu-block@nongnu.org, "Michael S. Tsirkin" , Elena Ufimtseva , Halil Pasic , Christian Borntraeger , vgoyal@redhat.com, Thomas Huth , Sergio Lopez , Richard Henderson , Alex Williamson , Stefan Hajnoczi , Kevin Wolf , qemu-s390x@nongnu.org, Cornelia Huck , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Hanna Reitz , Paolo Bonzini Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1646388802810100001 Content-Type: text/plain; charset="utf-8" When ioeventfd is emulated using qemu_pipe(), only EventNotifier's wfd can be used for writing. Use the recently introduced event_notifier_get_wfd() function to obtain the fd that our peer must use to signal the vring. Signed-off-by: Sergio Lopez Reviewed-by: Stefan Hajnoczi --- hw/virtio/vhost.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c index 7b03efccec..b643f42ea4 100644 --- a/hw/virtio/vhost.c +++ b/hw/virtio/vhost.c @@ -1287,7 +1287,7 @@ static int vhost_virtqueue_init(struct vhost_dev *dev, return r; } =20 - file.fd =3D event_notifier_get_fd(&vq->masked_notifier); + file.fd =3D event_notifier_get_wfd(&vq->masked_notifier); r =3D dev->vhost_ops->vhost_set_vring_call(dev, &file); if (r) { VHOST_OPS_DEBUG(r, "vhost_set_vring_call failed"); @@ -1542,9 +1542,9 @@ void vhost_virtqueue_mask(struct vhost_dev *hdev, Vir= tIODevice *vdev, int n, =20 if (mask) { assert(vdev->use_guest_notifier_mask); - file.fd =3D event_notifier_get_fd(&hdev->vqs[index].masked_notifie= r); + file.fd =3D event_notifier_get_wfd(&hdev->vqs[index].masked_notifi= er); } else { - file.fd =3D event_notifier_get_fd(virtio_queue_get_guest_notifier(= vvq)); + file.fd =3D event_notifier_get_wfd(virtio_queue_get_guest_notifier= (vvq)); } =20 file.index =3D hdev->vhost_ops->vhost_get_vq_index(hdev, n); --=20 2.35.1 From nobody Wed May 15 23:02:42 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1646388820064337.4400552337536; Fri, 4 Mar 2022 02:13:40 -0800 (PST) Received: from localhost ([::1]:52746 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nQ4wN-0007b4-10 for importer@patchew.org; Fri, 04 Mar 2022 05:13:39 -0500 Received: from eggs.gnu.org ([209.51.188.92]:38642) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nQ4uS-0004fu-C2 for qemu-devel@nongnu.org; Fri, 04 Mar 2022 05:11:42 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]:43771) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nQ4uN-0007rE-B1 for qemu-devel@nongnu.org; Fri, 04 Mar 2022 05:11:36 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-83-PtLhnYhaO_iY1Dc7Xj4OcA-1; Fri, 04 Mar 2022 05:11:31 -0500 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 7776C5234; Fri, 4 Mar 2022 10:11:29 +0000 (UTC) Received: from toolbox.redhat.com (unknown [10.33.36.250]) by smtp.corp.redhat.com (Postfix) with ESMTP id 7916D842CA; Fri, 4 Mar 2022 10:11:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1646388694; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=XKvBT0IgzI7fojcpNLya1TNPvRgQkv3CgqP1MpKeJKE=; b=RJgOJe7cyJrza5iwbefo8flZu/Nb0PZnrODGhnMscfacNgwtczeKzZFi5tYRGBB/srQaGz ZzynjbEtF3AB/asEvA7hW9368qF7KS1AbCuzBFGj4+7EiIcX8vSlj2kDNc7roB+2Nmazo9 0O6CoZXbHvzqCuMWebKBzcCIbrbZ/Bs= X-MC-Unique: PtLhnYhaO_iY1Dc7Xj4OcA-1 From: Sergio Lopez To: qemu-devel@nongnu.org Subject: [PATCH v4 3/4] configure, meson: allow enabling vhost-user on all POSIX systems Date: Fri, 4 Mar 2022 11:08:53 +0100 Message-Id: <20220304100854.14829-4-slp@redhat.com> In-Reply-To: <20220304100854.14829-1-slp@redhat.com> References: <20220304100854.14829-1-slp@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=slp@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -28 X-Spam_score: -2.9 X-Spam_bar: -- X-Spam_report: (-2.9 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.082, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Fam Zheng , John G Johnson , kvm@vger.kernel.org, David Hildenbrand , Eric Farman , Jagannathan Raman , Matthew Rosato , qemu-block@nongnu.org, "Michael S. Tsirkin" , Elena Ufimtseva , Halil Pasic , Christian Borntraeger , vgoyal@redhat.com, Thomas Huth , Sergio Lopez , Richard Henderson , Alex Williamson , Stefan Hajnoczi , Kevin Wolf , qemu-s390x@nongnu.org, Cornelia Huck , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Hanna Reitz , Paolo Bonzini Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1646388820695100003 Content-Type: text/plain; charset="utf-8" With the possibility of using a pipe pair via qemu_pipe() as a replacement on operating systems that doesn't support eventfd, vhost-user can also work on all POSIX systems. This change allows enabling vhost-user on all non-Windows platforms and makes libvhost_user (which still depends on eventfd) a linux-only feature. Signed-off-by: Sergio Lopez Reviewed-by: Stefan Hajnoczi Reviewed-by: Thomas Huth --- configure | 4 ++-- meson.build | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/configure b/configure index c56ed53ee3..daccf4be7c 100755 --- a/configure +++ b/configure @@ -1659,8 +1659,8 @@ fi # vhost interdependencies and host support =20 # vhost backends -if test "$vhost_user" =3D "yes" && test "$linux" !=3D "yes"; then - error_exit "vhost-user is only available on Linux" +if test "$vhost_user" =3D "yes" && test "$mingw32" =3D "yes"; then + error_exit "vhost-user is not available on Windows" fi test "$vhost_vdpa" =3D "" && vhost_vdpa=3D$linux if test "$vhost_vdpa" =3D "yes" && test "$linux" !=3D "yes"; then diff --git a/meson.build b/meson.build index 8df40bfac4..f2bc439c30 100644 --- a/meson.build +++ b/meson.build @@ -2701,7 +2701,7 @@ if have_system or have_user endif =20 vhost_user =3D not_found -if 'CONFIG_VHOST_USER' in config_host +if targetos =3D=3D 'linux' and 'CONFIG_VHOST_USER' in config_host libvhost_user =3D subproject('libvhost-user') vhost_user =3D libvhost_user.get_variable('vhost_user_dep') endif --=20 2.35.1 From nobody Wed May 15 23:02:42 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1646388860250368.6257038954175; Fri, 4 Mar 2022 02:14:20 -0800 (PST) Received: from localhost ([::1]:54184 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nQ4x1-00006G-8L for importer@patchew.org; Fri, 04 Mar 2022 05:14:19 -0500 Received: from eggs.gnu.org ([209.51.188.92]:38692) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nQ4uX-0004gq-Ts for qemu-devel@nongnu.org; Fri, 04 Mar 2022 05:11:49 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]:21478) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nQ4uS-0007rc-3i for qemu-devel@nongnu.org; Fri, 04 Mar 2022 05:11:41 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-395-MMtLvB3SPmu79DVmnNaAaA-1; Fri, 04 Mar 2022 05:11:36 -0500 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 98BD31091DA1; Fri, 4 Mar 2022 10:11:34 +0000 (UTC) Received: from toolbox.redhat.com (unknown [10.33.36.250]) by smtp.corp.redhat.com (Postfix) with ESMTP id CA54C842BA; Fri, 4 Mar 2022 10:11:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1646388697; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=sSLRnYb2QNIjWpP3fV5flR6BmyZe4IaIK5k4ivhzeY4=; b=MwTwsALQn/yiZDtvXPbN4W9n5thJ5sUn2162lt4a8zqpXLuHNjyfzf/WzWWacB/rcxIghu FnVIEJYfOdWfehaX8ELayQKQUVZeJu33G3y6+DsaxyV33HvDTMnQbjjOFlNgklMdOMkFEV MXTDW1TR14KI/0pDivHtEE7gh9xvrXk= X-MC-Unique: MMtLvB3SPmu79DVmnNaAaA-1 From: Sergio Lopez To: qemu-devel@nongnu.org Subject: [PATCH v4 4/4] docs: vhost-user: add subsection for non-Linux platforms Date: Fri, 4 Mar 2022 11:08:54 +0100 Message-Id: <20220304100854.14829-5-slp@redhat.com> In-Reply-To: <20220304100854.14829-1-slp@redhat.com> References: <20220304100854.14829-1-slp@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=slp@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -28 X-Spam_score: -2.9 X-Spam_bar: -- X-Spam_report: (-2.9 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.082, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Fam Zheng , John G Johnson , kvm@vger.kernel.org, David Hildenbrand , Eric Farman , Jagannathan Raman , Matthew Rosato , qemu-block@nongnu.org, "Michael S. Tsirkin" , Elena Ufimtseva , Halil Pasic , Christian Borntraeger , vgoyal@redhat.com, Thomas Huth , Sergio Lopez , Richard Henderson , Alex Williamson , Stefan Hajnoczi , Kevin Wolf , qemu-s390x@nongnu.org, Cornelia Huck , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Hanna Reitz , Paolo Bonzini Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1646388861049100001 Content-Type: text/plain; charset="utf-8" Add a section explaining how vhost-user is supported on platforms other than Linux. Signed-off-by: Sergio Lopez Reviewed-by: Stefan Hajnoczi --- docs/interop/vhost-user.rst | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/docs/interop/vhost-user.rst b/docs/interop/vhost-user.rst index edc3ad84a3..4dbc84fd00 100644 --- a/docs/interop/vhost-user.rst +++ b/docs/interop/vhost-user.rst @@ -38,6 +38,26 @@ conventions `. *Master* and *slave* can be either a client (i.e. connecting) or server (listening) in the socket communication. =20 +Support for platforms other than Linux +-------------------------------------- + +While vhost-user was initially developed targeting Linux, nowadays it +is supported on any platform that provides the following features: + +- A way for requesting shared memory represented by a file descriptor + so it can be passed over a UNIX domain socket and then mapped by the + other process. + +- AF_UNIX sockets with SCM_RIGHTS, so QEMU and the other process can + exchange messages through it, including ancillary data when needed. + +- Either eventfd or pipe/pipe2. On platforms where eventfd is not + available, QEMU will automatically fall back to pipe2 or, as a last + resort, pipe. Each file descriptor will be used for receiving or + sending events by reading or writing (respectively) an 8-byte value + to the corresponding it. The 8-value itself has no meaning and + should not be interpreted. + Message Specification =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20 --=20 2.35.1