FUSE Hooks Up With IO_uring For Greater Performance Potential In Linux 6.14
([Linux Storage] 6 Hours Ago
Linux 6.14 FUSE)
- Reference: 0001522820
- News link: https://www.phoronix.com/news/Linux-6.14-FUSE
- Source link:
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 [1]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 [2]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 [3]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.
[1] https://www.phoronix.com/search/IO_uring
[2] https://lore.kernel.org/lkml/CAJfpegvZoxFLWkFzHPw71FsVxoGMwg+P_iz9eeyU54+D4KG4ow@mail.gmail.com/
[3] https://lore.kernel.org/all/20241016-fuse-uring-for-6-10-rfc4-v4-0-9739c753666e@ddn.com/
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 [2]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 [3]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.
[1] https://www.phoronix.com/search/IO_uring
[2] https://lore.kernel.org/lkml/CAJfpegvZoxFLWkFzHPw71FsVxoGMwg+P_iz9eeyU54+D4KG4ow@mail.gmail.com/
[3] https://lore.kernel.org/all/20241016-fuse-uring-for-6-10-rfc4-v4-0-9739c753666e@ddn.com/
varikonniemi