fs: use percpu counter for nr_dentry and nr_dentry_unused
authorChristoph Hellwig <hch@infradead.org>
Sun, 10 Oct 2010 09:36:23 +0000 (05:36 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Tue, 26 Oct 2010 01:26:12 +0000 (21:26 -0400)
commit312d3ca856d369bb04d0443846b85b4cdde6fa8a
treecf95d01cffaf02bf53c2bb0f7c2c924279ec6eeb
parent9c82ab9c9e16cb9edf17bd0d31f3d6904afce04f
fs: use percpu counter for nr_dentry and nr_dentry_unused

The nr_dentry stat is a globally touched cacheline and atomic operation
twice over the lifetime of a dentry. It is used for the benfit of userspace
only. Turn it into a per-cpu counter and always decrement it in d_free instead
of doing various batching operations to reduce lock hold times in the callers.

Based on an earlier patch from Nick Piggin <npiggin@suse.de>.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/dcache.c
include/linux/fs.h
kernel/sysctl.c