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-11 14:16:26 -05:00
2013-03-28 01:20:42 -04:00
2013-03-28 01:20:42 -04:00
2013-03-28 01:20:42 -04:00
2013-04-02 00:22:53 +02:00
2013-03-17 14:35:13 -04:00
2013-03-28 01:20:42 -04:00
2013-03-07 16:26:45 -05:00
2013-03-28 01:20:42 -04:00
2013-03-28 01:20:42 -04:00
2013-03-08 00:35:44 -05:00
2013-02-21 12:05:51 -08:00
2013-03-26 14:23:45 -07:00
2013-03-28 01:20:42 -04:00
2012-09-26 21:10:25 -04:00
2013-02-10 19:41:08 -05:00