virtualization.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/2] virtio: abstract virtqueue related methods
@ 2023-05-17  2:54 zhenwei pi via Virtualization
  2023-05-17  2:54 ` [PATCH v2 1/2] " zhenwei pi via Virtualization
                   ` (2 more replies)
  0 siblings, 3 replies; 21+ messages in thread
From: zhenwei pi via Virtualization @ 2023-05-17  2:54 UTC (permalink / raw)
  To: stefanha, mst, jasowang
  Cc: xuanzhuo, linux-kernel, zhenwei pi, virtualization

v1 -> v2:
- Suggested by MST, use fast path for vring based performance
sensitive API.
- Reduce changes in tools/virtio.

Add test result(no obvious change):
Before:
time ./vringh_test --parallel
Using CPUS 0 and 191
Guest: notified 10036893, pinged 68278
Host: notified 68278, pinged 3093532

real	0m14.463s
user	0m6.437s
sys	0m8.010s

After:
time ./vringh_test --parallel
Using CPUS 0 and 191
Guest: notified 10036709, pinged 68347
Host: notified 68347, pinged 3085292

real	0m14.196s
user	0m6.289s
sys	0m7.885s

v1:
Hi,

3 weeks ago, I posted a proposal 'Virtio Over Fabrics':
https://lists.oasis-open.org/archives/virtio-comment/202304/msg00442.html

Jason and Stefan pointed out that a non-vring based virtqueue has a
chance to overwrite virtqueue instead of using vring virtqueue.

Then I try to abstract virtqueue related methods in this series, the
details changes see the comment of patch 'virtio: abstract virtqueue related methods'.

Something is still remained:
- __virtqueue_break/__virtqueue_unbreak is supposed to use by internal
  virtio core, I'd like to rename them to vring_virtqueue_break
  /vring_virtqueue_unbreak. Is this reasonable?
- virtqueue_get_desc_addr/virtqueue_get_avail_addr/virtqueue_get_used_addr
  /virtqueue_get_vring is vring specific, I'd like to rename them like
  vring_virtqueue_get_desc_addr. Is this reasonable?
- there are still some functions in virtio_ring.c with prefix *virtqueue*,
  for example 'virtqueue_add_split', just keep it or rename it to
  'vring_virtqueue_add_split'?
zhenwei pi (2):
  virtio: abstract virtqueue related methods
  tools/virtio: implement virtqueue in test

 drivers/virtio/virtio_ring.c | 285 +++++-----------------
 include/linux/virtio.h       | 441 +++++++++++++++++++++++++++++++----
 include/linux/virtio_ring.h  |  26 +++
 tools/virtio/linux/virtio.h  | 355 +++++++++++++++++++++++++---
 4 files changed, 807 insertions(+), 300 deletions(-)

-- 
2.20.1

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

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

end of thread, other threads:[~2023-05-18 11:03 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-05-17  2:54 [PATCH v2 0/2] virtio: abstract virtqueue related methods zhenwei pi via Virtualization
2023-05-17  2:54 ` [PATCH v2 1/2] " zhenwei pi via Virtualization
2023-05-17  6:57   ` kernel test robot
2023-05-17  7:10   ` kernel test robot
2023-05-17  7:39   ` Christoph Hellwig
2023-05-17  7:43     ` zhenwei pi via Virtualization
2023-05-17  7:46       ` Christoph Hellwig
2023-05-17  8:35         ` zhenwei pi via Virtualization
2023-05-17 10:39           ` Michael S. Tsirkin
2023-05-18  0:47             ` zhenwei pi via Virtualization
2023-05-18 10:09               ` Michael S. Tsirkin
2023-05-18 11:01                 ` zhenwei pi via Virtualization
2023-05-17 17:59   ` kernel test robot
2023-05-17  2:54 ` [PATCH v2 2/2] tools/virtio: implement virtqueue in test zhenwei pi via Virtualization
2023-05-17  3:46 ` [PATCH v2 0/2] virtio: abstract virtqueue related methods Michael S. Tsirkin
2023-05-17  3:51   ` zhenwei pi via Virtualization
2023-05-17  3:57     ` Michael S. Tsirkin
2023-05-17  4:58       ` zhenwei pi via Virtualization
2023-05-17  6:10         ` Michael S. Tsirkin
2023-05-17  6:21           ` zhenwei pi via Virtualization
2023-05-17 10:13             ` Michael S. Tsirkin

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