• Julian Anastasov's avatar
    ipvs: remove rs_lock by using RCU · 276472ea
    Julian Anastasov authored
    rs_lock was used to protect rs_table (hash table)
    from updaters (under global mutex) and readers (packet handlers).
    We can remove rs_lock by using RCU lock for readers. Reclaiming
    dest only with kfree_rcu is enough because the readers access
    only fields from the ip_vs_dest structure.
    
    Use hlist for rs_table.
    
    As we are now using hlist_del_rcu, introduce in_rs_table
    flag as replacement for the list_empty checks which do not
    work with RCU. It is needed because only NAT dests are in
    the rs_table.
    Signed-off-by: default avatarJulian Anastasov <ja@ssi.bg>
    Signed-off by: Hans Schillstrom <hans@schillstrom.com>
    Signed-off-by: default avatarSimon Horman <horms@verge.net.au>
    276472ea
ip_vs.h 45.3 KB