public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [RFC v2 0/5] virtiofs: map buffer out of virtqueue lock
@ 2025-02-21 17:06 Eugenio Pérez
  2025-02-21 17:06 ` [RFC v2 1/5] vduse: add virtio_fs to allowed dev id Eugenio Pérez
                   ` (4 more replies)
  0 siblings, 5 replies; 12+ messages in thread
From: Eugenio Pérez @ 2025-02-21 17:06 UTC (permalink / raw)
  To: Xuan Zhuo, Stefan Hajnoczi, Hanna Reitz, linux-kernel,
	German Maglione, virtualization, Stefano Garzarella, yama,
	Vivek Goyal, Miklos Szeredi, mst, Jason Wang

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 these patches, fio read test goes from 1124MiB/s to
1263.14MiB/s.

v2:
* Follow current add_premapped virtio API
* Disable notification more aggressive too.

---
Sending this series to obtain feedback if this is the right way to go &
to profile it properly.

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 (5):
  vduse: add virtio_fs to allowed dev id
  virtiofs: Move stack sg to fuse_req
  virtio_ring: add api for premapped out and in buffer chain
  virtiofs: perform DMA operations out of the spinlock
  virtiofs: Disable notifications more aggresively

 drivers/vdpa/vdpa_user/vduse_dev.c |  1 +
 drivers/virtio/virtio_ring.c       | 35 ++++++++++++
 fs/fuse/fuse_i.h                   |  7 +++
 fs/fuse/virtio_fs.c                | 85 +++++++++++++++++++++---------
 include/linux/virtio.h             |  7 +++
 5 files changed, 110 insertions(+), 25 deletions(-)

-- 
2.48.1


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

end of thread, other threads:[~2025-02-24  7:45 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-21 17:06 [RFC v2 0/5] virtiofs: map buffer out of virtqueue lock Eugenio Pérez
2025-02-21 17:06 ` [RFC v2 1/5] vduse: add virtio_fs to allowed dev id Eugenio Pérez
2025-02-24  1:57   ` Jason Wang
2025-02-24  6:42     ` Eugenio Perez Martin
2025-02-21 17:06 ` [RFC v2 2/5] virtiofs: Move stack sg to fuse_req Eugenio Pérez
2025-02-21 17:06 ` [RFC v2 3/5] virtio_ring: add api for premapped out and in buffer chain Eugenio Pérez
2025-02-21 17:06 ` [RFC v2 4/5] virtiofs: perform DMA operations out of the spinlock Eugenio Pérez
2025-02-24  2:03   ` Jason Wang
2025-02-21 17:06 ` [RFC v2 5/5] virtiofs: Disable notifications more aggresively Eugenio Pérez
2025-02-24  2:01   ` Jason Wang
2025-02-24  6:44     ` Eugenio Perez Martin
2025-02-24  7:44       ` Eugenio Perez Martin

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