summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorNick Piggin <npiggin@kernel.dk>2011-01-07 17:50:07 +1100
committerNick Piggin <npiggin@kernel.dk>2011-01-07 17:50:32 +1100
commit4b936885ab04dc6e0bb0ef35e0e23c1a7364d9e5 (patch)
treea0173d27c1ce39f173be404d269c2f15144072ab /net
parent873feea09ebc980cbd3631b767356ce1eee65ec1 (diff)
downloadlinux-3.10-4b936885ab04dc6e0bb0ef35e0e23c1a7364d9e5.tar.gz
linux-3.10-4b936885ab04dc6e0bb0ef35e0e23c1a7364d9e5.tar.bz2
linux-3.10-4b936885ab04dc6e0bb0ef35e0e23c1a7364d9e5.zip
fs: improve scalability of pseudo filesystems
Regardless of how much we possibly try to scale dcache, there is likely always going to be some fundamental contention when adding or removing children under the same parent. Pseudo filesystems do not seem need to have connected dentries because by definition they are disconnected. Signed-off-by: Nick Piggin <npiggin@kernel.dk>
Diffstat (limited to 'net')
-rw-r--r--net/socket.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/socket.c b/net/socket.c
index 991e266bc7a..0ee74c32532 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -361,7 +361,7 @@ static int sock_alloc_file(struct socket *sock, struct file **f, int flags)
if (unlikely(fd < 0))
return fd;
- path.dentry = d_alloc(sock_mnt->mnt_sb->s_root, &name);
+ path.dentry = d_alloc_pseudo(sock_mnt->mnt_sb, &name);
if (unlikely(!path.dentry)) {
put_unused_fd(fd);
return -ENOMEM;