FUSE Getting Another Performance Boost In Linux 4.20~5.0

Already having been queued for this next kernel cycle is copy_file_range support for FUSE to yield more efficient copy operations.
And now is at least one other performance optimization queued for this kernel cycle that will kick off in October. Merged on Tuesday to the FUSE "for-next" tree is this patch:
fuse: Use hash table to link processing request
We noticed the performance bottleneck in FUSE running our Virtuozzo storage over rdma. On some types of workload we observe 20% of times spent in request_find() in profiler. This function is iterating over long requests list, and it scales bad.
The patch introduces hash table to reduce the number of iterations, we do in this function. Hash generating algorithm is taken from hash_add() function, while 256 lines table is used to store pending requests. This fixes problem and improves the performance.
This improvement comes thanks to the engineers at software provider Virtuozzo.
Add A Comment