Proposal for virtio standardization.

From: Rusty Russell
Date: Wed Sep 26 2012 - 22:06:14 EST


Hi all,

I've had several requests for a more formal approach to the
virtio draft spec, and (after some soul-searching) I'd like to try that.

The proposal is to use OASIS as the standards body, as it's
fairly light-weight as these things go. For me this means paperwork and
setting up a Working Group and getting the right people involved as
Voting members starting with the current contributors; for most of you
it just means a new mailing list, though I'll be cross-posting any
drafts and major changes here anyway.

I believe that a documented standard (aka virtio 1.0) will
increase visibility and adoption in areas outside our normal linux/kvm
universe. There's been some of that already, but this is the clearest
path to accelerate it. Not the easiest path, but I believe that a solid
I/O standard is a Good Thing for everyone.

Yet I also want to decouple new and experimental development
from the standards effort; running code comes first. New feature bits
and new device numbers should be reservable without requiring a full
spec change.

So the essence of my proposal is:
1) I start a Working Group within OASIS where we can aim for virtio spec
1.0.

2) The current spec is textually reordered so the core is clearly
bus-independent, with PCI, mmio, etc appendices.

3) Various clarifications, formalizations and cleanups to the spec text,
and possibly elimination of old deprecated features.

4) The only significant change to the spec is that we use PCI
capabilities, so we can have infinite feature bits.
(see
http://lists.linuxfoundation.org/pipermail/virtualization/2011-December/019198.html)

5) Changes to the ring layout and other such things are deferred to a
future virtio version; whether this is done within OASIS or
externally depends on how well this works for the 1.0 release.

Thoughts?
Rusty.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/