• H
    IPVS: netns, connection hash got net as param. · 6e67e586
    Hans Schillstrom 提交于
    Connection hash table is now name space aware.
    i.e. net ptr >> 8 is xor:ed to the hash,
    and this is the first param to be compared.
    The net struct is 0xa40 in size ( a little bit smaller for 32 bit arch:s)
    and cache-line aligned, so a ptr >> 5 might be a more clever solution ?
    
    All lookups where net is compared uses net_eq() which returns 1 when netns
    is disabled, and the compiler seems to do something clever in that case.
    
    ip_vs_conn_fill_param() have *net as first param now.
    
    Three new inlines added to keep conn struct smaller
    when names space is disabled.
    - ip_vs_conn_net()
    - ip_vs_conn_net_set()
    - ip_vs_conn_net_eq()
    
    *v3
      moved net compare to the end in "fast path"
    Signed-off-by: NHans Schillstrom <hans.schillstrom@ericsson.com>
    Acked-by: NJulian Anastasov <ja@ssi.bg>
    Signed-off-by: NSimon Horman <horms@verge.net.au>
    6e67e586
ip_vs.h 35.2 KB