Stephen Hemminger
942e4a2bd6
netfilter: revised locking for x_tables
...
The x_tables are organized with a table structure and a per-cpu copies
of the counters and rules. On older kernels there was a reader/writer
lock per table which was a performance bottleneck. In 2.6.30-rc, this
was converted to use RCU and the counters/rules which solved the performance
problems for do_table but made replacing rules much slower because of
the necessary RCU grace period.
This version uses a per-cpu set of spinlocks and counters to allow to
table processing to proceed without the cache thrashing of a global
reader lock and keeps the same performance for table updates.
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-04-28 22:36:33 -07:00
..
2009-02-01 00:45:17 -08:00
2009-02-18 16:29:08 +01:00
2009-04-24 16:55:25 +02:00
2009-03-16 17:10:36 +01:00
2008-11-03 18:21:05 -08:00
2009-02-01 00:45:17 -08:00
2009-03-26 22:45:23 -07:00
2008-11-18 11:56:20 +01:00
2009-04-06 17:47:20 +02:00
2008-07-26 17:50:05 -07:00
2008-11-25 18:23:03 +01:00
2009-02-01 00:45:17 -08:00
2009-04-15 12:45:08 +02:00
2009-03-28 23:55:57 -07:00
2009-02-01 00:45:17 -08:00
2009-04-22 02:26:37 -07:00
2009-03-26 15:23:24 -07:00
2009-04-24 16:58:41 +02:00
2009-02-18 16:28:35 +01:00
2009-03-25 21:53:39 +01:00
2009-03-25 21:53:39 +01:00
2009-03-26 22:45:23 -07:00
2009-03-25 21:53:39 +01:00
2009-04-24 15:37:44 +02:00
2009-03-25 18:24:48 +01:00
2008-11-17 16:01:42 +01:00
2008-11-17 16:01:42 +01:00
2009-03-25 21:05:46 +01:00
2008-11-17 16:01:42 +01:00
2008-10-08 11:35:00 +02:00
2009-04-15 12:16:19 +02:00
2008-10-08 11:35:00 +02:00
2008-10-08 11:35:11 +02:00
2009-02-04 16:55:27 -08:00
2009-03-24 13:24:36 -07:00
2008-07-19 22:34:43 -07:00
2009-04-17 17:48:44 +02:00
2009-04-28 22:36:33 -07:00
2008-10-08 11:35:19 +02:00
2009-03-29 13:46:01 -07:00
2008-10-08 11:35:20 +02:00
2008-10-08 11:35:20 +02:00
2009-03-25 21:05:46 +01:00
2008-10-08 11:35:20 +02:00
2008-10-08 11:35:20 +02:00
2008-10-08 11:35:20 +02:00
2008-10-08 11:35:20 +02:00
2008-12-14 23:19:02 -08:00
2008-10-08 11:35:18 +02:00
2008-10-08 11:35:19 +02:00
2008-10-08 11:35:18 +02:00
2009-02-24 15:30:29 +01:00
2008-10-08 11:35:20 +02:00
2009-02-18 18:39:31 +01:00
2009-02-18 18:38:40 +01:00
2008-10-31 00:54:29 -07:00
2009-02-20 10:55:14 +01:00
2008-10-08 11:35:18 +02:00
2009-03-16 15:35:29 +01:00
2008-10-08 11:35:20 +02:00
2008-10-08 11:35:18 +02:00
2008-10-08 11:35:20 +02:00
2008-10-08 11:35:18 +02:00
2008-11-04 14:21:08 +01:00
2008-10-20 03:34:51 -07:00
2008-10-08 11:35:20 +02:00
2008-11-14 10:39:25 +11:00
2009-03-25 17:31:52 +01:00
2008-10-08 11:35:20 +02:00
2008-10-08 11:35:18 +02:00
2009-03-16 15:35:29 +01:00
2008-10-08 11:35:19 +02:00
2008-10-08 11:35:19 +02:00
2008-10-08 11:35:20 +02:00
2009-04-24 17:05:21 +02:00
2009-02-09 14:34:56 -08:00
2008-10-08 11:35:19 +02:00
2008-12-07 23:53:46 -08:00
2008-10-08 11:35:19 +02:00
2009-03-16 15:35:29 +01:00
2008-10-08 11:35:19 +02:00
2008-10-08 11:35:18 +02:00
2008-10-08 11:35:19 +02:00
2008-10-08 11:35:19 +02:00
2008-10-08 11:35:18 +02:00
2009-01-12 21:18:36 -08:00
2008-10-08 11:35:19 +02:00
2008-10-08 11:35:19 +02:00
2008-10-08 11:35:18 +02:00