linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC v2 0/7] In order support for virtio_ring, vhost and vsock.
@ 2022-08-17 13:57 Guo Zhi
  2022-08-17 13:57 ` [RFC v2 1/7] vhost: expose used buffers Guo Zhi
                   ` (6 more replies)
  0 siblings, 7 replies; 26+ messages in thread
From: Guo Zhi @ 2022-08-17 13:57 UTC (permalink / raw)
  To: eperezma, jasowang, sgarzare, mst
  Cc: netdev, linux-kernel, kvm, virtualization, Guo Zhi

In virtio-spec 1.1, new feature bit VIRTIO_F_IN_ORDER was introduced.
When this feature has been negotiated, virtio driver will use
descriptors in ring order: starting from offset 0 in the table, and
wrapping around at the end of the table. Vhost devices will always use
descriptors in the same order in which they have been made available.
This can reduce virtio accesses to used ring.

Based on updated virtio-spec, this series realized IN_ORDER prototype
in virtio driver and vhost. Currently IN_ORDER feature supported devices
are *vhost_test* and *vsock*, and IN_ORDER feature works well combined with
INDIRECT feature in this patch series.

Some work haven't been done in this patch series:
1. Virtio driver in_order support for packed vq is left for the future.

Guo Zhi (7):
  vhost: expose used buffers
  vhost_test: batch used buffer
  vsock: batch buffers in tx
  vsock: announce VIRTIO_F_IN_ORDER in vsock
  virtio: unmask F_NEXT flag in desc_extra
  virtio: in order support for virtio_ring
  virtio: annouce VIRTIO_F_IN_ORDER support

 drivers/vhost/test.c         |  8 ++++-
 drivers/vhost/vhost.c        | 14 +++++++--
 drivers/vhost/vhost.h        |  1 +
 drivers/vhost/vsock.c        | 10 +++++-
 drivers/virtio/virtio_ring.c | 61 ++++++++++++++++++++++++++++++------
 5 files changed, 80 insertions(+), 14 deletions(-)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2022-08-26  3:18 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-17 13:57 [RFC v2 0/7] In order support for virtio_ring, vhost and vsock Guo Zhi
2022-08-17 13:57 ` [RFC v2 1/7] vhost: expose used buffers Guo Zhi
2022-08-18  6:16   ` Eugenio Perez Martin
2022-08-19 11:02     ` Guo Zhi
2022-08-25  7:01   ` Jason Wang
2022-08-26  3:09     ` Guo Zhi
2022-08-17 13:57 ` [RFC v2 2/7] vhost_test: batch used buffer Guo Zhi
2022-08-18  6:18   ` Eugenio Perez Martin
2022-08-25  7:03   ` Jason Wang
2022-08-17 13:57 ` [RFC v2 3/7] vsock: batch buffers in tx Guo Zhi
2022-08-18  6:19   ` Eugenio Perez Martin
2022-08-19 11:03     ` Guo Zhi
2022-08-25  7:08   ` Jason Wang
2022-08-26  3:11     ` Guo Zhi
2022-08-17 13:57 ` [RFC v2 4/7] vsock: announce VIRTIO_F_IN_ORDER in vsock Guo Zhi
2022-08-17 13:57 ` [RFC v2 5/7] virtio: unmask F_NEXT flag in desc_extra Guo Zhi
2022-08-18  3:05   ` Xuan Zhuo
2022-08-18  3:14     ` Guo Zhi
2022-08-25  7:11   ` Jason Wang
2022-08-17 13:57 ` [RFC v2 6/7] virtio: in order support for virtio_ring Guo Zhi
2022-08-18  3:11   ` Xuan Zhuo
2022-08-18  3:16     ` Guo Zhi
2022-08-25  7:44   ` Jason Wang
2022-08-26  3:14     ` Guo Zhi
2022-08-26  3:18     ` Guo Zhi
2022-08-17 13:57 ` [RFC v2 7/7] virtio: annouce VIRTIO_F_IN_ORDER support Guo Zhi

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).