The FUSE code within the Linux kernel for enabling file-systems in user-space has a new performance capability up its sleeve with now supporting IO_uring communication between kernel and user-space.
A set of patches by Bernd Schubert enables new IO_uring-based capabilities for FUSE file-systems with this next version of the Linux kernel. This “FUSE over IO_uring” support opens up the potential for greater performance. The merged pull request explains:
Add support for io-uring communication between kernel and userspace using IORING_OP_URING_CMD (Bernd Schubert). Following features enable gains in performance compared to the regular interface:
– Allow processing multiple requests with less syscall overhead
– Combine commit of old and fetch of new fuse request
– CPU/NUMA affinity of queues
Indeed benchmarks shown in earlier patches have indicated some very nice advantages to read and write speeds for FUSE file-systems. Plus there are CPU time savings in addition to the read/write performance.
Some very nice performance improvements for FUSE with this IO_uring support.
The code is merged and now set to be part of the Linux 6.14 stable kernel in March.