mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [RFC 0/5] virtiofs: map buffer out of virtqueue lock
@ 2025-01-22 16:31 Eugenio Pérez
  2025-01-22 16:31 ` [RFC 1/5] vduse: add virtio_fs to allowed dev id Eugenio Pérez
                   ` (4 more replies)
  0 siblings, 5 replies; 14+ messages in thread
From: Eugenio Pérez @ 2025-01-22 16:31 UTC (permalink / raw)
  To: linux-kernel, mst, Hanna Reitz, Stefano Garzarella, Xuan Zhuo,
	Jason Wang, Vivek Goyal, Miklos Szeredi, German Maglione,
	Stefan Hajnoczi, virtualization

This is useful for some setups like swiotlb or VDUSE where the DMA
operations are expensive and/or need to be performed with a write lock.

After applying this patch, fio read test goes from 1201MiB/s to
1211MiB/s.

---
Sending this series to obtain feedback if this is the right way to go.

Q: Do we need virtqueue_map_sgs? XDP directly call dma_map. Need to
profile.
TODO: Profile multiqueue.
TODO: Handling errors.
TODO: Do the same for hiprio queue.
TODO: Can we batch maps? virtiofs always sends many buffers.

Eugenio Pérez (4):
  vduse: add virtio_fs to allowed dev id
  virtiofs: Move stack sg to fuse_req
  virtio_ring: add virtqueue premapped out/in buffers support
  virtiofs: perform DMA operations out of the spinlock

Jason Wang (1):
  virtio_ring: introduce virtqueue_map/unmap_sgs()

 drivers/vdpa/vdpa_user/vduse_dev.c |   1 +
 drivers/virtio/virtio_ring.c       | 165 ++++++++++++++++++++++++++---
 fs/fuse/fuse_i.h                   |   7 ++
 fs/fuse/virtio_fs.c                |  68 +++++++-----
 include/linux/virtio.h             |  17 +++
 5 files changed, 220 insertions(+), 38 deletions(-)

-- 
2.48.1


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

end of thread, other threads:[~2025-01-24  1:03 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-01-22 16:31 [RFC 0/5] virtiofs: map buffer out of virtqueue lock Eugenio Pérez
2025-01-22 16:31 ` [RFC 1/5] vduse: add virtio_fs to allowed dev id Eugenio Pérez
2025-01-23  1:48   ` Jason Wang
2025-01-22 16:31 ` [RFC 2/5] virtio_ring: introduce virtqueue_map/unmap_sgs() Eugenio Pérez
2025-01-23  1:51   ` Jason Wang
2025-01-23  7:31     ` Eugenio Perez Martin
2025-01-24  1:03       ` Jason Wang
2025-01-22 16:31 ` [RFC 3/5] virtiofs: Move stack sg to fuse_req Eugenio Pérez
2025-01-23  1:54   ` Jason Wang
2025-01-23  7:33     ` Eugenio Perez Martin
2025-01-22 16:31 ` [RFC 4/5] virtio_ring: add virtqueue premapped out/in buffers support Eugenio Pérez
2025-01-22 16:31 ` [RFC 5/5] virtiofs: perform DMA operations out of the spinlock Eugenio Pérez
2025-01-23  1:56   ` Jason Wang
2025-01-23  2:26     ` Jason Wang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®