diff options
author | Nick Piggin <npiggin@kernel.dk> | 2011-01-07 01:49:32 -0500 |
---|---|---|
committer | Nick Piggin <npiggin@kernel.dk> | 2011-01-07 01:50:21 -0500 |
commit | b7ab39f631f505edc2bbdb86620d5493f995c9da (patch) | |
tree | 62be97ebc7fc69ceb601f23312d335ebb8038ee7 /kernel | |
parent | 2304450783dfde7b0b94ae234edd0dbffa865073 (diff) |
fs: dcache scale dentry refcount
Make d_count non-atomic and protect it with d_lock. This allows us to ensure a
0 refcount dentry remains 0 without dcache_lock. It is also fairly natural when
we start protecting many other dentry members with d_lock.
Signed-off-by: Nick Piggin <npiggin@kernel.dk>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/cgroup.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/kernel/cgroup.c b/kernel/cgroup.c index 746055b214d7..eb7af39350c6 100644 --- a/kernel/cgroup.c +++ b/kernel/cgroup.c | |||
@@ -3655,9 +3655,7 @@ again: | |||
3655 | list_del(&cgrp->sibling); | 3655 | list_del(&cgrp->sibling); |
3656 | cgroup_unlock_hierarchy(cgrp->root); | 3656 | cgroup_unlock_hierarchy(cgrp->root); |
3657 | 3657 | ||
3658 | spin_lock(&cgrp->dentry->d_lock); | ||
3659 | d = dget(cgrp->dentry); | 3658 | d = dget(cgrp->dentry); |
3660 | spin_unlock(&d->d_lock); | ||
3661 | 3659 | ||
3662 | cgroup_d_remove_dir(d); | 3660 | cgroup_d_remove_dir(d); |
3663 | dput(d); | 3661 | dput(d); |