Let's say we have a FUSE filesystem.
Will it have a drastic performance impact with the Kaiser patch?
According to my understanding as FUSE filesystem runs completely in userspace and hence are less impacted when compared to Kernel File systems?
It is mentioned here https://access.redhat.com/articles/3307751 that:
benchmarks with high kernel-to-user space transitions were measured to be impacted between 8-19%
HPC (High Performance Computing) CPU-intensive workloads that spend little time in the kernel were measured to have 2-5% performance impact. This is with jobs that run mostly in user space and are scheduled using cpu-pinning or numa-control.
Well since you didn't say what the FUSE filesystem was or what it was doing it's tough to say anything too definitive but if you think about it you're still making syscalls into the kernel (e.g. through your libc's
write
call) which in turn will have to transition BACK to userspace to talk to the FUSE filesystem. So:Yes, FUSE performance will be affected by the Kaiser patch on Red Hat because you're likely to make at least user-kernel-user-kernel-user transitions when your user program is operating on a FUSE file (see the Direct-FUSE: Removing the Middleman for High-Performance FUSE File System Support, To FUSE or Not to FUSE: Performance of User-Space File Systems papers and the "Comparison of kernel and user space file systems" thesis (chapter 4.1.1)). You're correct that FUSE filesystems run in userspace but typically as a different process to the one performing the operations (yes, a program might be able to talk to a FUSE filesystem by using it as a library but this is not the typical case because the filesystem code will have to have been written with that style of operation in mind and without
LD_PRELOAD
tricks, programs will have to be changed on a case-by-case basis to use it in that fashion).Maybe? :-) Impossible to say for sure - it will depend on your workload, your hardware and your configuration.