dcache scalability patch set
One of the most significant changes for 2.6.38 will not be an obviously
user-visible feature; it is, instead, the
by Nick Piggin.
These patches rework the virtual filesystem layer in some tricky ways,
eliminating a number of longstanding scalability problems. The changes
were significant enough that Linus paused the
for a couple of days after merging them, saying:
It's scary because this is some very core code, and the new RCU
lookup model is way more clever and subtle than the old dentry_lock
But it's rather impressive and I really wanted to merge it, because
some of the performance numbers are pretty stunning. For example, a
hot-cache "find . -size" on my home directory (which basically just
does name lookups to get the stat information for every file
recursively) became 35% faster. And that's the _unthreaded_
case. Not some odd high-end scalability thing, and not some
recompiled binary taking advantage of new facilities. Pathname
lookup is just simply faster.
This code mostly works, but early testers have reported an issue or two,
and there are likely to be some subtle problems remaining still. This
might be a good time for people running development kernels to have
especially good backups. Also, as Nick noted, out-of-tree filesystems will need some
changes to work with new VFS.
to post comments)