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? Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Attachment:
signature.asc
Description: PGP signature