Scaling the VFS*
Fine grained locking to improve scalability of the Linux VFS
The Linux VFS contains a number of complex data structures to represent and manage filesystem and namespace details. This includes “dcache”, which is a cache of the directory entry layout of mounted filesystems, “inode cache” to cache filesystems’ inode metadata, among others. These data structures tend to be protected with global locks which do not scale well as CPU core count increases. I am working on implementing fine grained locking for some of the important cases. To date I have posted patches to remove the global dcache lock for initial review. These already provide about 50% performance gain on the dbench workload on an 8 core system. I would like to give a presentation on my progress on this project.
This presentation should describe my designs and give some results, but also implementation problems that I am encountering, with a mind to getting vfs and filesystem developers interested and hopefully helping with ideas.
I’m a Linux kernel developer for SuSE Labs.