This patch set aims to improve the latencies of virtio-fs requests when
the system is under high load, namely when the application's IO depth
is greater than the size of the Virtio queue.

We found that the handling of -ENOMEM when enqueueing requests is
inconsistent with other parts of the kernel (e.g. FUSE) and also
obstructs optimizing the enqueueing behavior.

It is important to first remove the -ENOMEM behavior as the new style of
retrying virtio-fs requests in patch 2/2 is only correct in case of
-ENOSPC. With -ENOMEM the failed enqueue might never be retried as there
might not be another completion to trigger retrying the enqueue.

Note that this patch series is a revival of my patch that was last
discussed in the mailing list on 2023-08-16.

Peter-Jan Gootzen (2):
  virtio-fs: let -ENOMEM bubble up or burst gently
  virtio-fs: improved request latencies when Virtio queue is full

 fs/fuse/virtio_fs.c | 40 ++++++++++++++++++++++------------------
 1 file changed, 22 insertions(+), 18 deletions(-)

-- 
2.34.1


Reply via email to