• Eric Dumazet's avatar
    tcp: fix/cleanup inet_ehash_locks_alloc() · 095dc8e0
    Eric Dumazet authored
    If tcp ehash table is constrained to a very small number of buckets
    (eg boot parameter thash_entries=128), then we can crash if spinlock
    array has more entries.
    
    While we are at it, un-inline inet_ehash_locks_alloc() and make
    following changes :
    
    - Budget 2 cache lines per cpu worth of 'spinlocks'
    - Try to kmalloc() the array to avoid extra TLB pressure.
      (Most servers at Google allocate 8192 bytes for this hash table)
    - Get rid of various #ifdef
    Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    095dc8e0
inet_hashtables.h 12 KB