fs: fs_struct use seqlock
authorNick Piggin <npiggin@kernel.dk>
Fri, 7 Jan 2011 06:49:53 +0000 (17:49 +1100)
committerNick Piggin <npiggin@kernel.dk>
Fri, 7 Jan 2011 06:50:27 +0000 (17:50 +1100)
commitc28cc36469554dc55540f059fbdc7fa22a2c31fc
tree6b867456be48b8633a2d56a99e00bb3faf9dccc7
parent31e6b01f4183ff419a6d1f86177cbf4662347cec
fs: fs_struct use seqlock

Use a seqlock in the fs_struct to enable us to take an atomic copy of the
complete cwd and root paths. Use this in the RCU lookup path to avoid a
thread-shared spinlock in RCU lookup operations.

Multi-threaded apps may now perform path lookups with scalability matching
multi-process apps. Operations such as stat(2) become very scalable for
multi-threaded workload.

Signed-off-by: Nick Piggin <npiggin@kernel.dk>
fs/fs_struct.c
fs/namei.c
include/linux/fs_struct.h