diff options
author | Nick Piggin <npiggin@kernel.dk> | 2011-01-07 07:50:07 +0100 |
---|---|---|
committer | Nick Piggin <npiggin@kernel.dk> | 2011-01-07 07:50:32 +0100 |
commit | 4b936885ab04dc6e0bb0ef35e0e23c1a7364d9e5 (patch) | |
tree | a0173d27c1ce39f173be404d269c2f15144072ab /net | |
parent | fs: dcache per-inode inode alias locking (diff) | |
download | linux-4b936885ab04dc6e0bb0ef35e0e23c1a7364d9e5.tar.xz linux-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.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/socket.c b/net/socket.c index 991e266bc7ae..0ee74c325320 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; |