The FUSE feature enhancements were submitted today for the Linux 6.13 kernel as part of improving the file-system in user-space capabilities.
One of the notable FUSE changes for Linux 6.13 is allowing the maximize size of FUSE requests to be configurable via a new sysctl setting. The “FUSE_MAX_MAX_PAGES” value now can be configured via the “fs.fuse.max_pages_limit” sysctl tunable or as /proc/sys/fs/fuse/fuse_max_max_pages. Up to now FUSE defaulted to 256 as the maximum number of pages which for a 4K page-size kernel meant just a maximum write size of 1MB.
In turn increasing this max_pages_limit for FUSE can allow for better performance by taking advantage of a larger maximum write size. Quadrupling the fuse_max_max_pages value to 1024 has yielded a nice performance improvement in some situations.
The FUSE code in Linux 6.13 also completes more page to folio conversions and brings several fixes. More details on the FUSE changes via this pull request.