Nick Piggin
2a4419b5b2
fs: fs_struct rwlock to spinlock
...
fs: fs_struct rwlock to spinlock
struct fs_struct.lock is an rwlock with the read-side used to protect root and
pwd members while taking references to them. Taking a reference to a path
typically requires just 2 atomic ops, so the critical section is very small.
Parallel read-side operations would have cacheline contention on the lock, the
dentry, and the vfsmount cachelines, so the rwlock is unlikely to ever give a
real parallelism increase.
Replace it with a spinlock to avoid one or two atomic operations in typical
path lookup fastpath.
Signed-off-by: Nick Piggin <npiggin@kernel.dk>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2010-08-18 08:35:46 -04:00
..
2010-08-06 13:18:29 -07:00
2010-07-29 13:24:57 +02:00
2010-08-10 15:22:42 -07:00
2010-08-13 12:03:24 -07:00
2010-08-12 08:43:30 -07:00
2010-08-09 16:48:42 -04:00
2010-07-14 11:29:46 +02:00
2010-07-28 10:18:55 -04:00
2010-08-12 14:23:04 -07:00
2010-08-10 11:39:13 -07:00
2010-07-28 09:58:19 -04:00
2010-07-28 09:58:17 -04:00
2010-08-11 00:28:20 -04:00
2009-12-12 13:08:14 +01:00
2010-04-02 20:12:00 +02:00
2010-05-10 23:18:47 +02:00
2010-08-11 08:59:18 -07:00
2010-07-16 09:48:48 +02:00
2010-06-08 21:40:36 +02:00
2010-08-06 09:39:22 -07:00
2010-08-12 09:51:35 -07:00
2010-07-19 11:54:15 +01:00
2010-03-06 11:26:46 -08:00
2010-08-09 20:45:05 -07:00
2010-08-11 08:59:19 -07:00
2010-08-18 08:35:46 -04:00
2009-12-09 14:22:14 +01:00
2010-06-30 15:43:44 -07:00
2010-04-12 12:19:18 +10:00
2010-08-06 13:18:29 -07:00
2009-11-27 06:21:57 +01:00
2010-08-06 09:30:52 -07:00
2010-05-20 21:04:21 -05:00
2009-12-03 11:50:11 +01:00
2010-08-11 08:59:22 -07:00
2010-08-12 08:43:29 -07:00
2010-05-27 09:12:45 -07:00
2010-05-08 18:08:30 +02:00
2010-05-21 09:37:31 -07:00
2010-06-29 10:07:09 +02:00
2010-03-30 22:02:32 +09:00
2010-05-04 05:38:16 +02:00
2010-04-06 00:15:37 +02:00
2010-06-09 10:34:49 +02:00
2010-08-10 11:39:13 -07:00
2010-08-05 12:59:13 +09:30
2009-12-14 23:55:32 +01:00
2010-05-19 08:18:44 +02:00
2010-02-25 10:34:26 +01:00
2010-03-30 22:02:32 +09:00
2010-08-04 15:23:14 -07:00
2010-08-11 08:59:22 -07:00
2010-08-11 23:04:20 +09:30
2010-08-06 09:39:22 -07:00
2010-03-30 22:02:32 +09:00
2010-08-11 08:59:20 -07:00
2010-07-19 02:00:34 +02:00
2010-08-10 12:07:51 -07:00
2010-07-23 15:08:12 +02:00
2010-08-09 20:45:06 -07:00
2010-05-27 09:12:57 -07:00
2010-08-11 08:59:19 -07:00
2010-08-09 20:45:06 -07:00
2010-06-14 16:37:26 -07:00
2010-05-10 11:08:34 -07:00
2010-06-14 16:37:26 -07:00
2010-06-09 10:34:49 +02:00
2010-05-11 16:10:47 -07:00
2010-05-10 11:08:35 -07:00
2010-06-14 16:37:26 -07:00
2010-05-10 11:08:35 -07:00
2010-05-27 09:12:48 -07:00
2010-03-30 22:02:32 +09:00
2010-05-11 12:01:10 -07:00
2009-12-14 23:55:33 +01:00
2009-12-14 23:55:33 +01:00
2010-06-09 10:34:49 +02:00
2010-07-17 12:06:22 +02:00
2010-07-17 12:06:22 +02:00
2010-07-21 21:46:12 +02:00
2010-07-21 21:45:08 +02:00
2010-03-11 18:32:53 +01:00
2010-04-23 11:02:02 +02:00
2010-06-18 10:46:56 +02:00
2010-06-18 10:46:56 +02:00
2010-08-06 09:39:22 -07:00
2010-08-04 11:17:10 -07:00
2010-05-27 09:12:48 -07:00
2010-06-04 15:21:45 -07:00
2009-12-14 23:55:33 +01:00
2010-03-30 22:02:32 +09:00
2010-08-09 20:45:06 -07:00
2010-07-28 09:58:55 -04:00
2010-07-16 09:48:48 +02:00
2010-05-25 08:07:05 -07:00
2009-12-03 12:14:38 -08:00
2010-08-10 11:39:13 -07:00
2010-03-30 22:02:32 +09:00
2010-07-27 12:40:54 +02:00
2010-08-10 15:33:09 -07:00
2010-05-14 09:50:34 -04:00
2010-03-06 11:26:23 -08:00
2010-06-16 14:55:34 -07:00
2009-12-02 10:22:59 +01:00
2010-05-10 08:48:39 +02:00
2010-07-07 08:46:42 +02:00
2010-06-29 10:07:14 +02:00
2010-08-09 11:50:34 +02:00