1
0
Files
linux/include/net
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-03-17 12:16:38 -04:00
2013-01-10 00:51:54 +01:00
2013-01-29 13:59:57 -05:00
2012-08-09 16:18:06 -07:00
2013-03-06 16:36:11 +01:00
2012-04-15 12:44:40 -04:00
2012-04-15 12:44:40 -04:00
2012-07-19 10:43:03 -07:00
2012-10-08 17:42:36 -04:00
2013-03-26 12:27:18 -04:00
2013-01-27 22:46:33 -05:00
2013-02-21 18:15:58 -05:00
2013-03-26 12:27:18 -04:00
2013-03-26 12:27:18 -04:00
2013-04-02 00:23:45 +02:00
2012-05-17 18:45:20 -04:00
2012-05-19 01:08:16 -04:00
2013-03-17 14:35:13 -04:00
2012-11-03 14:59:04 -04:00
2012-08-06 13:40:47 -07:00
2013-03-21 11:47:50 -04: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