Re: [PATCH 5/6] fs: Introduce special inodes

From: David Miller
Date: Thu Nov 27 2008 - 03:21:01 EST


From: Eric Dumazet <dada1@xxxxxxxxxxxxx>
Date: Thu, 27 Nov 2008 00:32:41 +0100

> Goal of this patch is to not touch inode_lock for socket/pipes/anonfd
> inodes allocation/freeing.
>
> In new_inode(), we test if super block has MS_SPECIAL flag set.
> If yes, we dont put inode in "inode_in_use" list nor "sb->s_inodes" list
> As inode_lock was taken only to protect these lists, we avoid it as well
>
> Using iput_special() from dput_special() avoids taking inode_lock
> at freeing time.
>
> This patch has a very noticeable effect, because we avoid dirtying of three contended cache lines in new_inode(), and five cache lines
> in iput()
>
> Note: Not sure if we can use MS_SPECIAL=MS_NOUSER, or if we
> really need a different flag.
>
> (socket8 bench result : from 20.5s to 2.94s)
>
> Signed-off-by: Eric Dumazet <dada1@xxxxxxxxxxxxx>

No problem with networking part:

Acked-by: David S. Miller <davem@xxxxxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/