Searched hist:"088339 a57d6042a8a19a3d5794594b558cd7b624" (Results 1 – 2 of 2) sorted by relevance
/openbmc/linux/net/netfilter/ipvs/ |
H A D | ip_vs_conn.c | diff 088339a57d6042a8a19a3d5794594b558cd7b624 Thu Mar 21 04:58:10 CDT 2013 Julian Anastasov <ja@ssi.bg> 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>
|
/openbmc/linux/include/net/ |
H A D | ip_vs.h | diff 088339a57d6042a8a19a3d5794594b558cd7b624 Thu Mar 21 04:58:10 CDT 2013 Julian Anastasov <ja@ssi.bg> 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>
|