Julian Anastasov
088339a57d
ipvs: convert connection locking
...
Convert __ip_vs_conntbl_lock_array as follows:
- readers that do not modify conn lists will use RCU lock
- updaters that modify lists will use spinlock_t
Now for conn lookups we will use RCU read-side
critical section. Without using __ip_vs_conn_get such
places have access to connection fields and can
dereference some pointers like pe and pe_data plus
the ability to update timer expiration. If full access
is required we contend for reference.
We add barrier in __ip_vs_conn_put, so that
other CPUs see the refcnt operation after other writes.
With the introduction of ip_vs_conn_unlink()
we try to reorganize ip_vs_conn_expire(), so that
unhashing of connections that should stay more time is
avoided, even if it is for very short time.
Signed-off-by: Julian Anastasov <ja@ssi.bg >
Signed-off by: Hans Schillstrom <hans@schillstrom.com >
Signed-off-by: Simon Horman <horms@verge.net.au >
2013-04-02 00:23:45 +02:00
..
2013-02-27 22:51:08 -05:00
2013-02-01 15:50:17 -02:00
2013-03-17 12:16:38 -04:00
2013-01-03 16:15:49 +01:00
2012-03-07 22:52:24 -08:00
2013-03-19 17:08:31 +01:00
2013-03-24 17:16:29 -04:00
2013-01-10 00:51:54 +01:00
2012-06-17 16:29:38 -07:00
2013-02-27 19:10:24 -08:00
2013-02-12 18:59:45 -05:00
2013-01-29 13:59:57 -05:00
2012-10-21 20:37:06 -04:00
2012-08-09 16:18:06 -07:00
2013-02-27 19:10:24 -08:00
2013-03-06 16:36:11 +01:00
2012-08-30 03:00:16 +02:00
2012-06-01 14:18:29 -04:00
2012-10-26 05:07:00 -04:00
2012-08-10 16:52:54 -07:00
2012-04-15 12:44:40 -04:00
2012-04-05 05:08:04 -04:00
2013-03-22 10:31:16 -04:00
2013-01-28 00:15:27 -05:00
2012-04-15 12:44:40 -04:00
2013-01-09 23:59:53 -08:00
2012-07-19 10:43:03 -07:00
2013-03-15 09:06:58 -04:00
2012-06-29 01:36:36 -07:00
2013-03-26 12:32:13 -04:00
2013-03-20 12:14:36 -04:00
2012-10-08 17:42:36 -04:00
2012-09-10 15:30:41 -04:00
2013-03-26 12:27:18 -04:00
2013-01-27 22:46:33 -05:00
2013-02-22 15:10:18 -05:00
2012-11-27 11:56:18 +01:00
2012-05-16 15:16:56 -04:00
2012-05-15 20:14:35 -04:00
2012-07-16 03:44:56 -07:00
2013-02-21 18:15:58 -05:00
2012-07-19 11:02:03 -07:00
2013-03-12 08:30:34 -04:00
2012-09-27 18:12:37 -04:00
2013-03-27 12:48:33 -04:00
2013-02-27 19:10:24 -08:00
2013-02-21 18:15:58 -05:00
2013-02-27 19:10:24 -08:00
2012-07-10 22:40:14 -07:00
2013-01-08 17:56:10 -08:00
2013-02-20 15:11:45 -05:00
2013-01-18 14:41:13 -05:00
2013-03-26 12:27:18 -04:00
2013-03-13 10:47:09 -04:00
2013-03-26 12:27:18 -04:00
2013-04-02 00:23:45 +02:00
2013-01-21 14:17:05 -05:00
2013-03-24 17:16:30 -04:00
2012-05-17 18:45:20 -04:00
2012-04-15 12:44:40 -04:00
2012-05-15 20:14:35 -04:00
2012-09-17 13:13:24 -04:00
2013-03-06 16:36:03 +01:00
2012-06-26 21:06:11 -07:00
2013-02-10 20:37:22 -05:00
2013-01-21 13:33:14 -05:00
2013-02-11 00:21:44 -05:00
2012-11-20 04:19:49 -08:00
2013-01-14 15:04:59 -05:00
2012-09-17 18:08:54 -07:00
2012-09-10 15:30:41 -04:00
2012-11-22 07:32:47 -08:00
2013-02-27 19:10:24 -08:00
2013-01-14 15:09:36 -05:00
2013-02-12 18:59:45 -05:00
2012-11-15 17:39:51 -05:00
2012-05-19 01:08:16 -04:00
2012-04-16 23:53:11 -04:00
2013-01-03 13:01:30 +01:00
2013-03-17 14:35:13 -04:00
2012-11-03 14:59:04 -04:00
2013-03-22 10:31:16 -04:00
2013-02-27 19:10:24 -08:00
2012-09-24 15:52:33 -04:00
2012-08-06 13:40:47 -07:00
2013-02-27 19:10:24 -08:00
2012-04-10 10:04:07 -07:00
2013-03-21 11:47:50 -04:00
2012-06-09 14:56:12 -07:00
2013-01-31 13:53:08 -05:00
2012-04-28 22:21:51 -04:00
2012-03-12 17:05:21 -07:00
2012-04-15 12:44:40 -04:00
2012-05-16 15:17:08 -04:00
2012-04-15 12:44:40 -04:00
2013-02-14 13:29:20 -05:00