On Wed, 2024-05-29 at 14:32 -0400, Stefan Hajnoczi wrote: > On Wed, May 29, 2024 at 05:52:07PM +0200, Miklos Szeredi wrote: > > Virtiofs has its own queing mechanism, but still requests are first > > queued > > on fiq->pending to be immediately dequeued and queued onto the > > virtio > > queue. > > > > The queuing on fiq->pending is unnecessary and might even have some > > performance impact due to being a contention point. > > > > Forget requests are handled similarly. > > > > Move the queuing of requests and forgets into the fiq->ops->*. > > fuse_iqueue_ops are renamed to reflect the new semantics. > > > > Signed-off-by: Miklos Szeredi <mszeredi@xxxxxxxxxx> > > --- > > fs/fuse/dev.c | 159 ++++++++++++++++++++++++----------------- > > --- > > fs/fuse/fuse_i.h | 19 ++---- > > fs/fuse/virtio_fs.c | 41 ++++-------- > > 3 files changed, 106 insertions(+), 113 deletions(-) > > This is a little scary but I can't think of a scenario where directly > dispatching requests to virtqueues is a problem. > > Is there someone who can run single and multiqueue virtiofs > performance > benchmarks? Yes we can provide that with our BlueField DPU setup. I will review, test and perform some experiments on the patch and get back to you all on this with some numbers. > > Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> - Peter-Jan