On Tue, 28 May 2024 at 14:39, Peter-Jan Gootzen <[email protected]> wrote:

> I am not that familiar yet with the FUSE driver. What are these
> listeners you are referring to? If I follow a FUSE file system operation
> like fuse_statfs, I see a single-threaded path towards the
> wake_pending_and_unlock of virtio-fs via fuse_simple_request.
> Or are these listeners something from the virtiofsd implementation?

I was thinking of the regular /dev/fuse interface, not virtiofs.  For
the /dev/fuse there can be multiple threads that call read(2) on the
fuse fd, which I call "listeners" above.

The design is outdated for both /dev/fuse and for virtiofs.  When a
request is created by the filesystem it shouldn't normally have to go
through that fc->fiq bottleneck...

I'll see if there's an easy fix for that.

Thanks,
Miklos

Reply via email to