packed ring layout spec
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v10 Latest13 patches 11 repliesIn review
- v9 posting 2/216 patches 19 repliesSuperseded
- v9 posting 1/21 patch 1 replySuperseded
Earlier versions · 4
| Version | Posted | Patches | Replies | Status |
|---|---|---|---|---|
| v8 | 14 of 16 patches | 34 replies | Superseded | |
| v7 | 11 patches | 40 replies | Superseded | |
| v6 | 5 patches | 14 replies | Superseded | |
| v1 RFC | 1 patch | 12 replies | Superseded |
Changes in v10 from the cover letter
- corrected pseudo-code to work correctly without IN_ORDER (since that's what the accompanying text says).
- new bit-field notation
- update format for the event suppression structure
- prefix packed ring structures with pvirtq_ for consistency and to avoid confusion with the split ring structures
- deferred NOTIFICATION_DATA patches - will post separately, they need more review by s390 editor, and proof of concept code is not ready yet (needs host kernel support).
Patches in v10 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/13 | introduction: document bitfield notationintroduction.tex | +41 | 0 replies | |
| 2/13 | content: move 1.0 queue format out to a separate sectioncontent.tex | +24 | 0 replies | |
| 3/13 | content: move ring text out to a separate filecontent.tex split-ring.tex | +499 | 0 replies | |
| 4/13 | content: move virtqueue operation descriptionconformance.tex content.tex split-ring.tex | +185 | 0 replies | |
| 5/13 | content: len -> used length, used ring -> vqcontent.tex | +20 | 0 replies | |
| 6/13 | content: generalize transport ring part namingcontent.tex split-ring.tex | +43 | 0 replies | |
| 7/13 | content: generalize rest of textcontent.tex | +6 | 0 replies | |
| 8/13 | split-ring: generalize textconformance.tex content.tex split-ring.tex | +9 | 0 replies | |
| 9/13 | split-ring: typo: aligmentsplit-ring.tex | +1 | 0 replies | |
| 10/13 | packed virtqueues: more efficient virtqueue layoutcontent.tex packed-ring.tex | +715 | 0 replies | |
| 11/13 | content: in-order buffer usecontent.tex | +15 | 0 replies | |
| 12/13 | packed-ring: add in order supportpacked-ring.tex | +24 | 0 replies | |
| 13/13 | split-ring: in order featuresplit-ring.tex | +18 | 11 replies |
Reviews trailers per patch
10 of 13 patches have a Reviewed-by or Acked-by.
| Patch | Cornelia Huck | Stefan Hajnoczi |
|---|---|---|
| 1/13 | ||
| 2/13 | R-b | |
| 3/13 | R-b | |
| 4/13 | R-b | |
| 5/13 | R-b | |
| 6/13 | R-b | |
| 7/13 | R-b | |
| 8/13 | ||
| 9/13 | ||
| 10/13 | A-b | |
| 11/13 | R-b | R-b |
| 12/13 | R-b | R-b |
| 13/13 | R-b | R-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [virtio] [PATCH v10 00/13] packed ring layout spec
This is a proposal to implement an alternative ring layout. The idea is to have a r/w descriptor in a ring structure, replacing the used and available ring, index and descriptor buffer.
This is more efficient and easier for devices to implement than the 1.0 layout.
Additionally, a new feature flag is proposed that makes devices promise to process descriptors in-order. With this feature drivers can also be made simpler and more efficient.
Discussion and performance analysis of this is in Michael Tsirkin's kvm forum 2016 and 2017 presentations.
---
This revision addresses review comments on v9.
Thanks a lot to all reviewers of earlier revisions!
I plan to start voting on this shortly.
A compiled version can
be found under https://github.com/oasis-tcs/virtio-docs.git
See
virtio-v1.1-packed-wd10-diff.pdf virtio-v1.1-packed-wd10.pdf
for redline and clean versions, respectively.
If you are interested in changes from v9, that's in
virtio-v1.1-packed-w09-to-wd10-diff.pdf
in the same directory.
Note: please do not try to edit the pdf and post comments in the edited file. Please post comments in a text format, as pdfs are not archived with the list.
TODO: support for actual passthrough devices will likely require more new features, such as requirement for stronger memory barriers.
Changes since v9:
- corrected pseudo-code to work correctly without IN_ORDER (since that's what the accompanying text says).
- new bit-field notation
- update format for the event suppression structure
- prefix packed ring structures with pvirtq_ for consistency and to avoid confusion with the split ring structures
- deferred NOTIFICATION_DATA patches - will post separately, they need more review by s390 editor, and proof of concept code is not ready yet (needs host kernel support).
Note: should this proposal be accepted and approved, one or more
claims disclosed to the TC admin and listed on the Virtio TC IPR page https://github.com/oasis-tcs/virtio-admin/blob/master/IPR.md
might become Essential Claims.
Michael S. Tsirkin (13):
introduction: document bitfield notation
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
content: len -> used length, used ring -> vq
content: generalize transport ring part naming
content: generalize rest of text
split-ring: generalize text
split-ring: typo: aligment
packed virtqueues: more efficient virtqueue layout
content: in-order buffer use
packed-ring: add in order support
split-ring: in order feature
conformance.tex | 5 +- content.tex | 808 ++++++++----------------------------------------------- introduction.tex | 41 +++ packed-ring.tex | 714 ++++++++++++++++++++++++++++++++++++++++++++++++ split-ring.tex | 689 +++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 1563 insertions(+), 694 deletions(-) create mode 100644 packed-ring.tex create mode 100644 split-ring.tex
Signature · 7 lines
MST --------------------------------------------------------------------- To unsubscribe from this mail list, you must leave the OASIS TC that generates this mail. Follow this link to all your TCs in OASIS at: https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php