On 01/22/2012 05:55 AM, Boaz Harrosh wrote:
On 01/21/2012 10:54 PM, wangdi wrote:
Single directory performance is a critical in some use cases. For
example the multiple application threads might create hundreds of
thousands of files in a single directory simultaneously within a short
window of time.
read NFSD here ;-)
Currently, both filename lookup and file system modifying operations
(such as create and unlink) are protected with a single lock for the
entire directory. It might be useful to remove this lock, so multiple
application threads can access the directory simultaneously.
I agree about create, unlink, and so on. But don't we have some lockless
look up in place since a few Kernels ago?
The lockless lookup is only for lookups in the dcache and not in the backing filesystem, which is serialized by i_mutex in the VFS(real_lookup).
But yes the topic is very interesting, though I'd suspect its hard to
implement.
We actually already implemented this for ext4, and we saw a lot performance improvement(at least 30% improvements for open/create in a single directory)for lustre stack,
but we want to make this improvement accessible through the VFS. Probably XFS and Btrfs could also benefit from this.
Thanks
WangDi
Thanks
WangDi
Thanks
Boaz
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html