From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57980) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aHTF2-00057g-VC for qemu-devel@nongnu.org; Fri, 08 Jan 2016 04:21:53 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aHTEy-0002Ck-Jm for qemu-devel@nongnu.org; Fri, 08 Jan 2016 04:21:52 -0500 Received: from e06smtp08.uk.ibm.com ([195.75.94.104]:33476) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aHTEy-0002CX-Ak for qemu-devel@nongnu.org; Fri, 08 Jan 2016 04:21:48 -0500 Received: from localhost by e06smtp08.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Fri, 8 Jan 2016 09:21:47 -0000 Received: from b06cxnps4074.portsmouth.uk.ibm.com (d06relay11.portsmouth.uk.ibm.com [9.149.109.196]) by d06dlp02.portsmouth.uk.ibm.com (Postfix) with ESMTP id 967572190066 for ; Fri, 8 Jan 2016 09:21:33 +0000 (GMT) Received: from d06av05.portsmouth.uk.ibm.com (d06av05.portsmouth.uk.ibm.com [9.149.37.229]) by b06cxnps4074.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id u089Li3d6553992 for ; Fri, 8 Jan 2016 09:21:44 GMT Received: from d06av05.portsmouth.uk.ibm.com (localhost [127.0.0.1]) by d06av05.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id u089LisN030946 for ; Fri, 8 Jan 2016 02:21:44 -0700 Date: Fri, 8 Jan 2016 10:21:40 +0100 From: Greg Kurz Message-ID: <20160108102140.0398ed37@bahia.local> In-Reply-To: <568EC57E.1010002@redhat.com> References: <20160107110747.10897.41118.stgit@bahia.huguette.org> <20160107113226.10897.23886.stgit@bahia.huguette.org> <568EC57E.1010002@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 5/6] vhost: move virtio 1.0 check to cross-endian helper List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Laurent Vivier Cc: qemu-devel@nongnu.org, "Michael S. Tsirkin" On Thu, 7 Jan 2016 21:07:26 +0100 Laurent Vivier wrote: > > > On 07/01/2016 12:32, Greg Kurz wrote: > > Indeed vhost doesn't need to ask for vring endian fixing if the device is > > virtio 1.0, since it is already handled by the in-kernel vhost driver. This > > patch simply consolidates the logic into the existing helper. > > > > Signed-off-by: Greg Kurz > > Reviewed-by: Cornelia Huck > > --- > > hw/virtio/vhost.c | 9 +++++---- > > 1 file changed, 5 insertions(+), 4 deletions(-) > > > > diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c > > index 2e1e792d599e..aef750df22ad 100644 > > --- a/hw/virtio/vhost.c > > +++ b/hw/virtio/vhost.c > > @@ -750,6 +750,9 @@ static void vhost_log_stop(MemoryListener *listener, > > > > static inline bool vhost_needs_vring_endian(VirtIODevice *vdev) > > { > > + if (virtio_vdev_has_feature(vdev, VIRTIO_F_VERSION_1)) { > > + return false; > > + } > > #ifdef TARGET_IS_BIENDIAN > > #ifdef HOST_WORDS_BIGENDIAN > > return !virtio_is_big_endian(vdev); > > @@ -811,8 +814,7 @@ static int vhost_virtqueue_start(struct vhost_dev *dev, > > return -errno; > > } > > > > - if (!virtio_vdev_has_feature(vdev, VIRTIO_F_VERSION_1) && > > - vhost_needs_vring_endian(vdev)) { > > + if (vhost_needs_vring_endian(vdev)) { > > r = vhost_virtqueue_set_vring_endian_legacy(dev, > > virtio_is_big_endian(vdev), > > vhost_vq_index); > > @@ -908,8 +910,7 @@ static void vhost_virtqueue_stop(struct vhost_dev *dev, > > /* In the cross-endian case, we need to reset the vring endianness to > > * native as legacy devices expect so by default. > > */ > > - if (!virtio_vdev_has_feature(vdev, VIRTIO_F_VERSION_1) && > > - vhost_needs_vring_endian(vdev)) { > > + if (vhost_needs_vring_endian(vdev)) { > > r = vhost_virtqueue_set_vring_endian_legacy(dev, > > !virtio_is_big_endian(vdev), > > vhost_vq_index); > > > > > > IMHO, I think 4/6 and 5/6 can be merged as there is no change in the > behavior and they are only consolidating code. > Maybe but I'm not sure it is really needed to help acceptance. FWIW Cornelia already reviewed both patches.