From nobody Wed May 15 07:02:19 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 1646309046171592.6200367375761; Thu, 3 Mar 2022 04:04:06 -0800 (PST) Received: from localhost ([::1]:53614 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nPkBg-0005tc-S1 for importer@patchew.org; Thu, 03 Mar 2022 07:04:04 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36512) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nPk80-00028k-1o for qemu-devel@nongnu.org; Thu, 03 Mar 2022 07:00:16 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:31747) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nPk7y-0003No-25 for qemu-devel@nongnu.org; Thu, 03 Mar 2022 07:00:15 -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-32-_3OU1C2pOTmZ7s9ykW7b-g-1; Thu, 03 Mar 2022 07:00:09 -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 6F895801DDB; Thu, 3 Mar 2022 12:00:07 +0000 (UTC) Received: from toolbox.redhat.com (unknown [10.33.37.20]) by smtp.corp.redhat.com (Postfix) with ESMTP id 97A3A842CC; Thu, 3 Mar 2022 12:00:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1646308812; 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=KdMdqEWeBP2boGVGfeEr3E5hnozpl+T46v4UlfqVOqc=; b=GZ8BhupHxleeNJFsCOb2vMRqIhhw3t9E4ZdOrbbmdm/+xomb2dSPWUmIlNd+Kw93QWYznl sQl2Uqh90tFa+f/2FNMLHK8V1HaRLbRM8ozLQQWfGZwmRB3dk+IXn+TXsc6bTGCGwrBB8g 8AJ9z/iDCdZjB2VoS+TxpVpGr8xxDnM= X-MC-Unique: _3OU1C2pOTmZ7s9ykW7b-g-1 From: Sergio Lopez To: qemu-devel@nongnu.org Subject: [PATCH v3 1/4] event_notifier: add event_notifier_get_wfd() Date: Thu, 3 Mar 2022 12:59:08 +0100 Message-Id: <20220303115911.20962-2-slp@redhat.com> In-Reply-To: <20220303115911.20962-1-slp@redhat.com> References: <20220303115911.20962-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: Elena Ufimtseva , Fam Zheng , Matthew Rosato , John G Johnson , David Hildenbrand , Eric Farman , Alex Williamson , kvm@vger.kernel.org, qemu-block@nongnu.org, "Michael S. Tsirkin" , Halil Pasic , Christian Borntraeger , vgoyal@redhat.com, Thomas Huth , Sergio Lopez , Richard Henderson , qemu-s390x@nongnu.org, Stefan Hajnoczi , Jagannathan Raman , Kevin Wolf , 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: 1646309048355100001 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 07:02:19 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 1646309376640675.3033431537482; Thu, 3 Mar 2022 04:09:36 -0800 (PST) Received: from localhost ([::1]:33398 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nPkH1-0003KU-Bk for importer@patchew.org; Thu, 03 Mar 2022 07:09:35 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36580) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nPk82-0002Bo-Uh for qemu-devel@nongnu.org; Thu, 03 Mar 2022 07:00:20 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]:57377) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nPk80-0003Pn-Kg for qemu-devel@nongnu.org; Thu, 03 Mar 2022 07:00:18 -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-211-3W1kVpZMPwuJ_4tjpoIfAA-1; Thu, 03 Mar 2022 07:00: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 9D791180FD72; Thu, 3 Mar 2022 12:00:12 +0000 (UTC) Received: from toolbox.redhat.com (unknown [10.33.37.20]) by smtp.corp.redhat.com (Postfix) with ESMTP id C2A4C842CC; Thu, 3 Mar 2022 12:00:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1646308815; 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=efzJa6/W9diGcwuLPP5Fb7/4uwCddpKtVjz83/Ys+RU=; b=U485DyfOOO0Lw6lKypm8oyImjySGyeiPwMFGKp1aslTn8Yl8X0eD1fukHZYFZqNJc7AOqn ZdMrgYSb4+pRysODuz4rGaEt4vgVHOa1a1IYWvVW8uPofWMOa6ArbdXCdAzEiNyiVF/M5N H18i0Chy9Ay0ubIu9Qr8nO4j6UQ179M= X-MC-Unique: 3W1kVpZMPwuJ_4tjpoIfAA-1 From: Sergio Lopez To: qemu-devel@nongnu.org Subject: [PATCH v3 2/4] vhost: use wfd on functions setting vring call fd Date: Thu, 3 Mar 2022 12:59:09 +0100 Message-Id: <20220303115911.20962-3-slp@redhat.com> In-Reply-To: <20220303115911.20962-1-slp@redhat.com> References: <20220303115911.20962-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: Elena Ufimtseva , Fam Zheng , Matthew Rosato , John G Johnson , David Hildenbrand , Eric Farman , Alex Williamson , kvm@vger.kernel.org, qemu-block@nongnu.org, "Michael S. Tsirkin" , Halil Pasic , Christian Borntraeger , vgoyal@redhat.com, Thomas Huth , Sergio Lopez , Richard Henderson , qemu-s390x@nongnu.org, Stefan Hajnoczi , Jagannathan Raman , Kevin Wolf , 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: 1646309378362100003 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 07:02:19 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 1646309135268121.24199802000089; Thu, 3 Mar 2022 04:05:35 -0800 (PST) Received: from localhost ([::1]:56852 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nPkD8-0008GE-5X for importer@patchew.org; Thu, 03 Mar 2022 07:05:34 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36650) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nPk89-0002Rc-M2 for qemu-devel@nongnu.org; Thu, 03 Mar 2022 07:00:25 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]:26715) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nPk87-0003Rf-Uq for qemu-devel@nongnu.org; Thu, 03 Mar 2022 07:00:25 -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-601-ws9u5eVDPgS5WbHEubGu6g-1; Thu, 03 Mar 2022 07:00:19 -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 C917F824FA6; Thu, 3 Mar 2022 12:00:17 +0000 (UTC) Received: from toolbox.redhat.com (unknown [10.33.37.20]) by smtp.corp.redhat.com (Postfix) with ESMTP id 00CBE842CC; Thu, 3 Mar 2022 12:00:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1646308823; 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=GU2PkYv/oO0WBN6akEtPQqLOjiJQ79hZYXxHxM/rB9g=; b=Z3vDCWnv18peahKMKJz4D7qb+Yazko2rBabvod6L2EzDE9FuwiYyMaoxdQswnWl0RQEK6g UpjyfAFC+MZ3xa9MqAQFcEvU1oDe+XBSrWqJLxHvv4UN3CwErfXyfve5d9MuNhwT/XgQwA yh48wGFGgqdNjSGdvYfL+pJRyiGvUIU= X-MC-Unique: ws9u5eVDPgS5WbHEubGu6g-1 From: Sergio Lopez To: qemu-devel@nongnu.org Subject: [PATCH v3 3/4] configure, meson: allow enabling vhost-user on all POSIX systems Date: Thu, 3 Mar 2022 12:59:10 +0100 Message-Id: <20220303115911.20962-4-slp@redhat.com> In-Reply-To: <20220303115911.20962-1-slp@redhat.com> References: <20220303115911.20962-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=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: Elena Ufimtseva , Fam Zheng , Matthew Rosato , John G Johnson , David Hildenbrand , Eric Farman , Alex Williamson , kvm@vger.kernel.org, qemu-block@nongnu.org, "Michael S. Tsirkin" , Halil Pasic , Christian Borntraeger , vgoyal@redhat.com, Thomas Huth , Sergio Lopez , Richard Henderson , qemu-s390x@nongnu.org, Stefan Hajnoczi , Jagannathan Raman , Kevin Wolf , 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: 1646309136445100001 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 --- 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 07:02:19 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 1646309549441105.97441257116589; Thu, 3 Mar 2022 04:12:29 -0800 (PST) Received: from localhost ([::1]:36652 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nPkJo-0006Dr-46 for importer@patchew.org; Thu, 03 Mar 2022 07:12:28 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36704) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nPk8I-0002li-80 for qemu-devel@nongnu.org; Thu, 03 Mar 2022 07:00:34 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:37369) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nPk8C-0003cf-SO for qemu-devel@nongnu.org; Thu, 03 Mar 2022 07:00:33 -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-610-XBLt5vFsMViTWgAkHsQfNw-1; Thu, 03 Mar 2022 07:00:25 -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 F344D801AAD; Thu, 3 Mar 2022 12:00:22 +0000 (UTC) Received: from toolbox.redhat.com (unknown [10.33.37.20]) by smtp.corp.redhat.com (Postfix) with ESMTP id 2C688842CC; Thu, 3 Mar 2022 12:00:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1646308828; 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=SChHcwg/89XMGoVWOn4WPsullesTZfsuoF5vcE1hxbw=; b=QxA6kedIPZQN3bFZTC5ucHtK0xDzM24Al4i61nunqWBDdyQzhPGM4o0Edx1xJAHPOEQx0x Ep9gg+NzPE097tunHb4vOI/xbWNGfLGCONuH4eIYcVp8MtwZMlpb+ZbUAqWzMUoX2M8ZQq ti/4SS1dblWVGL+vrDr/lCRDoB/gcC4= X-MC-Unique: XBLt5vFsMViTWgAkHsQfNw-1 From: Sergio Lopez To: qemu-devel@nongnu.org Subject: [PATCH v3 4/4] docs: vhost-user: add subsection for non-Linux platforms Date: Thu, 3 Mar 2022 12:59:11 +0100 Message-Id: <20220303115911.20962-5-slp@redhat.com> In-Reply-To: <20220303115911.20962-1-slp@redhat.com> References: <20220303115911.20962-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: Elena Ufimtseva , Fam Zheng , Matthew Rosato , John G Johnson , David Hildenbrand , Eric Farman , Alex Williamson , kvm@vger.kernel.org, qemu-block@nongnu.org, "Michael S. Tsirkin" , Halil Pasic , Christian Borntraeger , vgoyal@redhat.com, Thomas Huth , Sergio Lopez , Richard Henderson , qemu-s390x@nongnu.org, Stefan Hajnoczi , Jagannathan Raman , Kevin Wolf , 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: 1646309550407100001 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 | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/docs/interop/vhost-user.rst b/docs/interop/vhost-user.rst index edc3ad84a3..590a626b92 100644 --- a/docs/interop/vhost-user.rst +++ b/docs/interop/vhost-user.rst @@ -38,6 +38,24 @@ 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 is +supported on any platform that provides the following features: + +- The ability to share a mapping injected into the guest between + multiple processes, so both QEMU and the vhost-user daemon servicing + the device can access simultaneously the memory regions containing + the virtqueues and the data associated with each request. + +- AF_UNIX sockets with SCM_RIGHTS, so QEMU can communicate with the + vhost-user daemon and send it file descriptors when needed. + +- Either eventfd or pipe/pipe2. On platforms where eventfd is not + available, QEMU will automatically fallback to pipe2 or, as a last + resort, pipe. + 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