Greg Banks
fce1456a19
[PATCH] knfsd: make nfsd readahead params cache SMP-friendly
...
Make the nfsd read-ahead params cache more SMP-friendly by changing the single
global list and lock into a fixed 16-bucket hashtable with per-bucket locks.
This reduces spinlock contention in nfsd_read() on read-heavy workloads on
multiprocessor servers.
Testing was on a 4 CPU 4 NIC Altix using 4 IRIX clients each doing 1K
streaming reads at full line rate. The server had 128 nfsd threads, which
sizes the RA cache at 256 entries, of which only a handful were used. Flat
profiling shows nfsd_read(), including the inlined nfsd_get_raparms(), taking
10.4% of each CPU. This patch drops the contribution from nfsd() to 1.71% for
each CPU.
Signed-off-by: Greg Banks <gnb@melbourne.sgi.com>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-04 07:55:16 -07:00
..
2006-10-01 00:39:30 -07:00
2006-10-01 00:39:28 -07:00
2006-10-01 00:39:28 -07:00
2006-10-03 08:03:40 -07:00
2006-10-01 00:39:30 -07:00
2006-10-01 00:39:30 -07:00
2006-10-03 23:01:26 +02:00
2006-10-01 00:39:30 -07:00
2006-10-03 22:36:44 +02:00
2006-10-01 00:39:30 -07:00
2006-10-03 08:04:19 -07:00
2006-09-29 09:18:20 -07:00
2006-10-03 23:28:36 +02:00
2006-09-27 08:26:18 -07:00
2006-09-27 08:26:10 -07:00
2006-10-03 08:03:40 -07:00
2006-10-01 00:39:30 -07:00
2006-10-01 00:39:30 -07:00
2006-10-03 08:03:40 -07:00
2006-09-29 09:18:20 -07:00
2006-10-01 00:39:30 -07:00
2006-10-01 00:39:30 -07:00
2006-10-03 23:01:26 +02:00
2006-10-01 00:39:28 -07:00
2006-10-01 00:39:30 -07:00
2006-09-27 08:26:18 -07:00
2006-10-01 00:39:30 -07:00
2006-09-29 09:18:15 -07:00
2006-10-03 23:01:26 +02:00
2006-10-01 00:39:30 -07:00
2006-10-01 00:39:30 -07:00
2006-10-02 09:55:27 -05:00
2006-10-02 07:57:21 -07:00
2006-10-01 00:39:30 -07:00
2006-10-01 00:39:30 -07:00
2006-10-01 00:39:23 -07:00
2006-10-02 07:57:21 -07:00
2005-10-11 09:46:54 -07:00
2006-10-04 07:55:16 -07:00
2006-10-03 23:01:26 +02:00
2006-10-01 00:39:28 -07:00
2006-10-01 00:39:30 -07:00
2006-09-24 11:13:19 -04:00
2006-10-01 00:39:19 -07:00
2006-10-02 07:57:25 -07:00
2006-10-01 00:39:30 -07:00
2006-10-01 00:39:30 -07:00
2006-10-04 07:55:14 -07:00
2006-09-27 08:26:10 -07:00
2006-10-01 00:39:28 -07:00
2006-10-03 08:04:19 -07:00
2006-10-01 00:39:30 -07:00
2006-10-01 00:39:30 -07:00
2006-10-01 00:39:30 -07:00
2006-10-01 00:39:30 -07:00
2006-10-03 23:37:55 +02:00
2006-10-03 08:04:19 -07:00
2006-01-11 18:42:13 -08:00
2006-10-01 00:39:28 -07:00
2006-09-29 09:18:08 -07:00
2006-09-29 09:18:14 -07:00
2006-10-01 00:39:33 -07:00
2005-04-16 15:20:36 -07:00
2006-06-30 19:25:36 +02:00
2006-09-29 09:18:12 -07:00
2005-04-16 15:20:36 -07:00
2006-06-30 19:25:36 +02:00
2006-09-30 20:52:34 +02:00
2006-10-01 00:39:28 -07:00
2006-09-30 20:31:19 +02:00
2006-09-30 20:52:18 +02:00
2006-10-01 00:39:23 -07:00
2006-10-03 08:03:40 -07:00
2006-09-30 20:52:18 +02:00
2006-06-30 19:25:36 +02:00
2006-07-03 15:27:06 -07:00
2006-10-02 07:57:14 -07:00
2006-09-29 09:18:14 -07:00
2006-01-08 20:12:40 -08:00
2006-10-03 08:03:41 -07:00
2006-10-02 07:57:21 -07:00
2006-10-02 07:57:15 -07:00
2006-04-11 13:53:33 +02:00
2006-10-02 07:57:14 -07:00
2006-09-29 09:18:25 -07:00
2006-09-29 09:18:20 -07:00
2006-09-30 20:52:26 +02:00
2006-09-29 09:18:24 -07:00
2006-10-02 07:57:14 -07:00
2006-07-31 13:28:41 -07:00
2006-06-20 05:25:19 -04:00
2006-09-30 20:52:32 +02:00
2006-06-30 19:25:36 +02:00
2006-09-30 20:52:34 +02:00
2006-10-03 22:36:44 +02:00
2006-01-08 20:13:36 -08:00
2006-10-01 00:39:30 -07:00
2006-10-02 07:57:14 -07:00
2006-10-01 00:39:19 -07:00
2006-09-29 09:18:07 -07:00
2006-09-30 20:52:26 +02:00
2006-10-01 00:39:30 -07:00
2006-10-02 07:57:20 -07:00
2006-06-30 19:25:36 +02:00
2006-09-30 20:52:31 +02:00
2006-10-01 00:39:30 -07:00
2006-10-01 00:39:33 -07:00
2006-06-26 09:58:17 -07:00
2005-11-07 18:18:11 -08:00
2006-10-01 00:39:19 -07:00
2005-04-16 15:20:36 -07:00
2006-03-23 07:38:11 -08:00
2006-09-30 20:52:31 +02:00
2006-10-01 00:39:29 -07:00
2006-10-01 00:39:28 -07:00
2006-10-03 08:03:40 -07:00
2006-09-29 09:18:23 -07:00
2006-03-23 07:38:12 -08:00
2006-09-30 20:52:34 +02:00
2006-10-03 08:03:40 -07:00
2006-09-30 20:52:31 +02:00
2006-09-30 20:31:19 +02:00
2006-10-01 00:39:19 -07:00
2005-04-16 15:20:36 -07:00
2006-06-20 05:25:28 -04:00