On Wed, 10 Jan 2018 13:10:49 +0200
"Michael S. Tsirkin" <> wrote:
> On Wed, Jan 10, 2018 at 11:33:15AM +0100, Cornelia Huck wrote:
>
> On Wed, 10 Jan 2018 11:47:53 +0200
> > "Michael S. Tsirkin" <> wrote:
> >
> >
> OK, this is in a shape where we could include it in the spec.
> >
> Changes from v5:
> > > - scope reductions (see below). We can add more
> >
>
features down the road, hopefully reduced scope will be enough
> >
>
to finalize spec soon.
> > > - cleanup and integrate in the spec
> > > - pseudo-code
> > >
> >
> Deferred features:
> > > - dropped _F_DESC_LIST, 1.0 includes this unconditionally, we
> >
>
can do same
> > > - dropped event structure change notifications - needed for
> >
>
efficient hardware implementations but let's add this on top
> > >
> >
> 3 1st patches just move text around so all virtio 1.0
> >
> things are in the same place. 2 last ones add the new layout
> > >
> >
> Option to mark descriptors as not generating events isn't
> >
> yet implemented. Again, let's add this on top.
> > >
> >
> I also note that for hardware implementations, a different
> >
> set of memory barriers is needed. Again, let's add this on top
> > >
> >
> not linking into conformance sections, will add after spec
> >
> itself is approved.
> > >
> >
> Michael S. Tsirkin (5):
> >
>
content: move 1.0 queue format out to a separate section
> >
>
content: move ring text out to a separate file
> >
>
content: move virtqueue operation description
> >
>
packed virtqueues: more efficient virtqueue layout
> >
>
packed-ring: add in order request support
> > >
> >
> conformance.tex |
4 +-
> >
> content.tex
| 718 +++++
---------------------------------------------------
> >
> packed-ring.tex | 692 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >
> split-ring.tex | 666 ++++++++++++++++++++++++++++++++++++++++++++++++++++
> >
> 4 files changed, 1423 insertions(+), 657 deletions(-)
> >
> create mode 100644 packed-ring.tex
> >
> create mode 100644 split-ring.tex
> > >
> >
>
> One thing I just noticed: This does not seem to contain any changes for
>
> transports. For ccw, we use different payloads in the SET_VQ command
>
> for legacy (pre-virtio-1) and virtio-1 split layout. I think we would
>
> need a new SET_VQ payload for the packed ring guarded by a new
>
> revision, but I have not investigated it yet. I have not yet thought
>
> through how this interacts with feature negotiation, either.
>
> Good point.
> There's exactly same number of chunks (descriptor, device and driver
> event suppression).
>
> So the idea is to substitute descriptor for descriptor, device event
> suppression for available ring and driver event suppression for
> used ring.
>
> That's why we don't need to change transports.
>
> I will add text to clarify that.
I think we also need to update the text for the transports, as they
explicitly refer to avail/used.
>
>
> Otherwise, I don't see any reason why the packed ring would not work
>
> fine for ccw as well.