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 kernel-testers" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html