On 9/5/24 1:45 PM, Joanne Koong wrote:
Introduce the capability to dynamically configure the fuse max pages limit (formerly #defined as FUSE_MAX_MAX_PAGES) through a sysctl. This enhancement allows system administrators to adjust the value based on system-specific requirements. This removes the previous static limit of 256 max pages, which limits the max write size of a request to 1 MiB (on 4096 pagesize systems). Having the ability to up the max write size beyond 1 MiB allows for the perf improvements detailed in this thread [1]. $ sysctl -a | grep max_pages_limit fs.fuse.max_pages_limit = 256 $ sysctl -n fs.fuse.max_pages_limit 256 $ echo 1024 | sudo tee /proc/sys/fs/fuse/max_pages_limit 1024 $ sysctl -n fs.fuse.max_pages_limit 1024 $ echo 65536 | sudo tee /proc/sys/fs/fuse/max_pages_limit tee: /proc/sys/fs/fuse/max_pages_limit: Invalid argument $ echo 0 | sudo tee /proc/sys/fs/fuse/max_pages_limit tee: /proc/sys/fs/fuse/max_pages_limit: Invalid argument $ echo 65535 | sudo tee /proc/sys/fs/fuse/max_pages_limit 65535 $ sysctl -n fs.fuse.max_pages_limit 65535 v2 (original): https://lore.kernel.org/linux-fsdevel/20240702014627.4068146-1-joannelkoong@xxxxxxxxx/ v1: https://lore.kernel.org/linux-fsdevel/20240628001355.243805-1-joannelkoong@xxxxxxxxx/ Changes from v1: - Rename fuse_max_max_pages to fuse_max_pages_limit internally - Rename /proc/sys/fs/fuse/fuse_max_max_pages to /proc/sys/fs/fuse/max_pages_limit - Restrict fuse max_pages_limit sysctl values to between 1 and 65535 (inclusive) [1] https://lore.kernel.org/linux-fsdevel/20240124070512.52207-1-jefflexu@xxxxxxxxxxxxxxxxx/T/#u Signed-off-by: Joanne Koong <joannelkoong@xxxxxxxxx> Reviewed-by: Josef Bacik <josef@xxxxxxxxxxxxxx>
Reviewed-by: Sweet Tea Dorminy <sweettea-kernel@xxxxxxxxxx> Thanks for doing this!!