Julian Anastasov 026ace060d ipvs: optimize dst usage for real server
Currently when forwarding requests to real servers
we use dst_lock and atomic operations when cloning the
dst_cache value. As the dst_cache value does not change
most of the time it is better to use RCU and to lock
dst_lock only when we need to replace the obsoleted dst.
For this to work we keep dst_cache in new structure protected
by RCU. For packets to remote real servers we will use noref
version of dst_cache, it will be valid while we are in RCU
read-side critical section because now dst_release for replaced
dsts will be invoked after the grace period. Packets to
local real servers that are passed to local stack with
NF_ACCEPT need a dst clone.

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:42 +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-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-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