Nick Piggin c28cc36469 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>
2011-01-07 17:50:27 +11:00
..
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:23 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2010-10-29 04:16:13 -04:00
2010-10-29 04:16:28 -04:00
2010-10-29 04:16:28 -04:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:21 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:23 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2010-10-29 04:16:13 -04:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:27 +11:00
2011-01-07 17:50:26 +11:00
2010-10-29 04:16:31 -04:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:18 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:26 +11:00
2010-10-25 21:26:11 -04:00
2010-10-29 04:16:33 -04:00
2010-10-29 04:16:28 -04:00
2011-01-07 17:50:26 +11:00
2011-01-07 17:50:27 +11:00
2010-10-15 15:53:27 +02:00
2011-01-07 17:50:27 +11:00
2011-01-07 17:50:27 +11:00
2010-10-29 05:49:13 -04:00
2010-10-28 09:44:56 -07:00
2011-01-07 17:50:23 +11:00
2011-01-07 17:50:21 +11:00
2010-10-28 09:44:56 -07:00
2011-01-07 17:50:27 +11:00
2010-10-29 04:14:56 -04:00
2010-08-18 08:35:48 -04:00
2010-08-09 16:48:44 -04:00
2010-10-29 04:17:03 -04:00
2010-08-09 16:47:43 -04:00