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.

Change-Id: I8ed74115fb164a96e5a726d2cb7f476f140c384d
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>
Signed-off-by: Pankaj Kumar <pakuma@codeaurora.org>
This commit is contained in:
Eric Dumazet
2011-07-26 11:36:34 +02:00
committed by Pankaj Kumar
parent 6bc6375e10
commit 88b3f3dc89
5 changed files with 35 additions and 13 deletions

View File

@@ -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;