linux/net/netfilter
Julian Anastasov ceec4c3816 ipvs: convert services to rcu
This is the final step in RCU conversion.

Things that are removed:

- svc->usecnt: now svc is accessed under RCU read lock
- svc->inc: and some unused code
- ip_vs_bind_pe and ip_vs_unbind_pe: no ability to replace PE
- __ip_vs_svc_lock: replaced with RCU
- IP_VS_WAIT_WHILE: now readers lookup svcs and dests under
	RCU and work in parallel with configuration

Other changes:

- before now, a RCU read-side critical section included the
calling of the schedule method, now it is extended to include
service lookup
- ip_vs_svc_table and ip_vs_svc_fwm_table are now using hlist
- svc->pe and svc->scheduler remain to the end (of grace period),
	the schedulers are prepared for such RCU readers
	even after done_service is called but they need
	to use synchronize_rcu because last ip_vs_scheduler_put
	can happen while RCU read-side critical sections
	use an outdated svc->scheduler pointer
- as planned, update_service is removed
- empty services can be freed immediately after grace period.
	If dests were present, the services are freed from
	the dest trash code

Signed-off-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: Simon Horman <horms@verge.net.au>
2013-04-02 00:23:58 +02:00
..
2013-04-02 00:23:58 +02:00
2013-02-21 12:05:51 -08:00
2013-01-21 12:20:19 +01:00
2011-12-16 15:49:52 -05:00
2013-01-21 12:20:19 +01:00
2010-07-15 17:20:46 +02:00
2013-02-05 01:49:26 +01:00
2011-07-01 16:11:15 -07:00
2011-07-01 16:11:15 -07:00
2012-08-20 12:45:57 +02:00
2012-08-20 12:45:57 +02:00
2011-12-16 15:49:52 -05:00