From: Halil Pasic <pasic@linux.ibm.com>
To: Cornelia Huck <cohuck@redhat.com>
Cc: "Daniel P. Berrangé" <berrange@redhat.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
qemu-devel@nongnu.org,
"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
"Marc Hartmayer" <mhartmay@linux.ibm.com>,
"Stefan Hajnoczi" <stefanha@redhat.com>,
"Marc-André Lureau" <marcandre.lureau@redhat.com>
Subject: Re: [RFC v2 2/3] libvhost-user: handle endianness as mandated by the spec
Date: Tue, 28 Jul 2020 13:31:29 +0200 [thread overview]
Message-ID: <20200728133129.386e2025.pasic@linux.ibm.com> (raw)
In-Reply-To: <20200728124850.7c15eade.cohuck@redhat.com>
On Tue, 28 Jul 2020 12:48:50 +0200
Cornelia Huck <cohuck@redhat.com> wrote:
> On Tue, 21 Jul 2020 18:44:56 +0200
> Halil Pasic <pasic@linux.ibm.com> wrote:
>
> > On Tue, 21 Jul 2020 09:40:10 -0400
> > "Michael S. Tsirkin" <mst@redhat.com> wrote:
> >
> > > On Fri, Jul 17, 2020 at 11:29:28AM +0200, Marc Hartmayer wrote:
> > > > Since virtio existed even before it got standardized, the virtio
> > > > standard defines the following types of virtio devices:
> > > >
> > > > + legacy device (pre-virtio 1.0)
> > > > + non-legacy or VIRTIO 1.0 device
> > > > + transitional device (which can act both as legacy and non-legacy)
> > > >
> > > > Virtio 1.0 defines the fields of the virtqueues as little endian,
> > > > while legacy uses guest's native endian [1]. Currently libvhost-user
> > > > does not handle virtio endianness at all, i.e. it works only if the
> > > > native endianness matches with whatever is actually needed. That means
> > > > things break spectacularly on big-endian targets. Let us handle virtio
> > > > endianness for non-legacy as required by the virtio specification
> > > > [1]. We will fence non-legacy virtio devices with the upcoming patch.
> > > >
> > > > [1] https://docs.oasis-open.org/virtio/virtio/v1.1/cs01/virtio-v1.1-cs01.html#x1-210003
> > > >
> > > > Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
> > > >
> > > > ---
> > > > Note: As we don't support legacy virtio devices
> > >
> > > Who's "we" in this sentence? vhost user supports legacy generally ...
> >
> > In that sentence "we" is the library "libvhost-user". I would like
> > to avoid s390x being an oddball regarding this. Marc's previous
> > version made an attempt at correct endianness handling for legacy
> > and non-legacy. That spawned a discussion on how we don't want
> > legacy devices in this context. This series makes what seemed to be the
> > consensus reached in that discussion explicit: namely that libvhost-user
> > does not support legacy-virtio.
>
> Can someone please clarify what libvhost-user actually supports?
>
> virtio-fs is clearly non-legacy only, but in the changelog I also see a
> mention of scsi, and that one probably does support legacy?
>
> Can we make a distinction along the lines of:
> - if we are non-legacy, we support any endianness;
> - if we are legacy, we support little endian host/guest only?
>
I don't like the idea of this conditional support of legacy (with a
condition being a little endian host/guest). The library is supposed
to be portable in my opinion.
Regards,
Halil
next prev parent reply other threads:[~2020-07-28 11:32 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-17 9:29 [RFC v2 0/3] Enable virtio-fs on s390x Marc Hartmayer
2020-07-17 9:29 ` [RFC v2 1/3] virtio: add vhost-user-fs-ccw device Marc Hartmayer
2020-07-21 13:47 ` Stefan Hajnoczi
2020-07-28 10:31 ` Cornelia Huck
2020-07-28 11:25 ` Halil Pasic
2020-07-28 11:33 ` Cornelia Huck
2020-07-17 9:29 ` [RFC v2 2/3] libvhost-user: handle endianness as mandated by the spec Marc Hartmayer
2020-07-21 12:48 ` Stefan Hajnoczi
2020-07-30 13:15 ` Marc Hartmayer
2020-07-21 13:40 ` Michael S. Tsirkin
2020-07-21 16:44 ` Halil Pasic
2020-07-28 10:48 ` Cornelia Huck
2020-07-28 11:31 ` Halil Pasic [this message]
2020-07-28 10:52 ` Marc Hartmayer
2020-07-29 14:13 ` Michael S. Tsirkin
2020-07-29 16:11 ` Marc Hartmayer
2020-07-17 9:29 ` [RFC v2 3/3] libvhost-user: fence legacy virtio devices Marc Hartmayer
2020-07-21 13:47 ` Stefan Hajnoczi
2020-07-17 10:26 ` [RFC v2 0/3] Enable virtio-fs on s390x no-reply
2020-07-17 10:31 ` no-reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200728133129.386e2025.pasic@linux.ibm.com \
--to=pasic@linux.ibm.com \
--cc=berrange@redhat.com \
--cc=cohuck@redhat.com \
--cc=dgilbert@redhat.com \
--cc=marcandre.lureau@redhat.com \
--cc=mhartmay@linux.ibm.com \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).