All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cornelia Huck <cornelia.huck@de.ibm.com>
To: Jason Wang <jasowang@redhat.com>
Cc: kwolf@redhat.com, pbonzini@redhat.com, qemu-devel@nongnu.org,
	stefanha@redhat.com, mst@redhat.com
Subject: Re: [Qemu-devel] [PATCH V2 0/5] Set correct blk feature for virtio 1.0
Date: Wed, 15 Jul 2015 13:38:42 +0200	[thread overview]
Message-ID: <20150715133842.2811cc67.cornelia.huck@de.ibm.com> (raw)
In-Reply-To: <55A62A69.8060603@redhat.com>

On Wed, 15 Jul 2015 17:39:53 +0800
Jason Wang <jasowang@redhat.com> wrote:

> 
> 
> On 07/15/2015 05:11 PM, Cornelia Huck wrote:
> > On Wed, 15 Jul 2015 13:29:56 +0800
> > Jason Wang <jasowang@redhat.com> wrote:
> >
> >> Hi all:
> >>
> >> This series tries to set feature correctly for virtio-blk when virtio
> >> 1.0 is supported. Two isssues were addressed according to the spec:
> >>
> >> - scsi passthrough was not support in 1.0. This is done by, 1) disable
> >>   scsi by defautl for 2.4 machine type and fail the initialization
> >>   when both scsi and 1.0 were set.
> >> - any layout must be set for transitional device. This is done by set
> >>   any layout when 1.0 is supported.
> >>
> >> Please review
> >>
> >> Changes from V1:
> >> - Split virtio-net changes out of the series
> >> - Enable VIRTIO_BLK_F_SCSI only when scsi is set
> >> - Disable scsi by default and compat it for legacy machine types
> >> - Let get_features() can fail and fail the initialization of
> >>   virito-blk when both 1.0 and scsi were supported.
> > Hm, this seems confusing to me mainly due to the different way
> > transitional devices are handled by pci and ccw.
> >
> > For virtio-pci: (please correct me if I misunderstood)
> > - devices (except input) are transitional by default
> > - user can disable legacy or modern support
> > - drivers can use method they prefer, depending on VERSION_1
> >
> > For virtio-ccw:
> > - transitional means "in limbo" regarding legacy or modern
> > - devices become legacy if features are read without negotiation of a
> >   revision, or if revision 0 is negotiated
> > - they become modern if revision 1 is negotiated
> >
> > That implies that for ccw, a transitional device does not offer any
> > features: It either transitions to the legacy or modern state if a
> > revision was negotiated, or it becomes a legacy device by reading
> > features (which are the legacy features, then). While pci has "real"
> > transitional devices needing to offer a certain feature set.
> >
> > I'm not sure what the solution is here: basically, ccw needs a dynamic
> > feature set, while pci does not.
> >
> 
> So, if I understand correctly. All virtio-ccw devices are transitional
> since user can disable neither legacy nor modern. It looks to me then we
> can set VIRTIO_F_VERSION_1 unconditionally for ccw. Then there's no
> issue left?

I think the base problem is that "transitional" for pci means something
slightly different than "transitional" for ccw - it's more transient
for ccw.

Setting VERSION_1 is not really the problem (as legacy guests will only
retrieve the first 32 bits of features anyway), but any decicions about
other feature bits that are made based upon the presence of VERSION_1.

  reply	other threads:[~2015-07-15 11:38 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-15  5:29 [Qemu-devel] [PATCH V2 0/5] Set correct blk feature for virtio 1.0 Jason Wang
2015-07-15  5:29 ` [Qemu-devel] [PATCH V2 1/5] virtio: get_features() can fail Jason Wang
2015-07-15  9:01   ` Cornelia Huck
2015-07-15  9:11     ` Jason Wang
2015-07-15 11:36     ` Paolo Bonzini
2015-07-22 15:13       ` Markus Armbruster
2015-07-15  5:29 ` [Qemu-devel] [PATCH V2 2/5] virtio-blk: advertise scsi only when scsi is set Jason Wang
2015-07-15  7:57   ` Paolo Bonzini
2015-07-15  8:31     ` Jason Wang
2015-07-15  8:33       ` Paolo Bonzini
2015-07-15  5:29 ` [Qemu-devel] [PATCH V2 3/5] virtio-blk: disable scsi passthrough by default Jason Wang
2015-07-15 12:21   ` Michael S. Tsirkin
2015-07-15 12:47     ` Paolo Bonzini
2015-07-15 14:14       ` Michael S. Tsirkin
2015-07-15 14:18         ` Paolo Bonzini
2015-07-15 14:28           ` Michael S. Tsirkin
2015-07-15 14:45             ` Paolo Bonzini
2015-10-14 10:29               ` Cornelia Huck
2015-10-14 15:58                 ` Paolo Bonzini
2015-07-15  5:30 ` [Qemu-devel] [PATCH V2 4/5] virtio-blk: fail the init when both 1.0 and scsi is set Jason Wang
2015-07-15  5:30 ` [Qemu-devel] [PATCH V2 5/5] virtio-blk: set VIRTIO_F_ANY_LAYOUT when 1.0 is supported Jason Wang
2015-07-15  9:11 ` [Qemu-devel] [PATCH V2 0/5] Set correct blk feature for virtio 1.0 Cornelia Huck
2015-07-15  9:39   ` Jason Wang
2015-07-15 11:38     ` Cornelia Huck [this message]
2015-07-15 11:52       ` Michael S. Tsirkin
2015-07-15 12:46         ` Cornelia Huck
2015-07-15 14:08           ` Michael S. Tsirkin
2015-07-15 14:20             ` Cornelia Huck
2015-07-15 11:49   ` Michael S. Tsirkin
2015-07-15 12:49     ` Cornelia Huck

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=20150715133842.2811cc67.cornelia.huck@de.ibm.com \
    --to=cornelia.huck@de.ibm.com \
    --cc=jasowang@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.