summaryrefslogtreecommitdiff
path: root/net/socket.c
diff options
context:
space:
mode:
authorEric Dumazet <eric.dumazet@gmail.com>2011-07-26 11:36:34 +0200
committerAl Viro <viro@zeniv.linux.org.uk>2011-07-26 12:57:09 -0400
commita209dfc7b0d94bd6fa94553c097836a2e6d0f0ba (patch)
tree7dacc92b08264c675a0dfcbae83982b7d3ad5135 /net/socket.c
parent5b9f4567726513a359e70f85029482c7c3714dbd (diff)
downloadlwn-a209dfc7b0d94bd6fa94553c097836a2e6d0f0ba.tar.gz
lwn-a209dfc7b0d94bd6fa94553c097836a2e6d0f0ba.zip
vfs: dont chain pipe/anon/socket on superblock s_inodes list
Workloads using pipes and sockets hit inode_sb_list_lock contention. superblock s_inodes list is needed for quota, dirty, pagecache and fsnotify management. pipe/anon/socket fs are clearly not candidates for these. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'net/socket.c')
-rw-r--r--net/socket.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/socket.c b/net/socket.c
index 02dc82db3d23..26ed35c7751e 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -467,7 +467,7 @@ static struct socket *sock_alloc(void)
struct inode *inode;
struct socket *sock;
- inode = new_inode(sock_mnt->mnt_sb);
+ inode = new_inode_pseudo(sock_mnt->mnt_sb);
if (!inode)
return NULL;