• Eric Dumazet's avatar
    tcp: relax listening_hash operations · 9652dc2e
    Eric Dumazet authored
    softirq handlers use RCU protection to lookup listeners,
    and write operations all happen from process context.
    We do not need to block BH for dump operations.
    
    Also SYN_RECV since request sockets are stored in the ehash table :
    
     1) inet_diag_dump_icsk() no longer need to clear
        cb->args[3] and cb->args[4] that were used as cursors while
        iterating the old per listener hash table.
    
     2) Also factorize a test : No need to scan listening_hash[]
        if r->id.idiag_dport is not zero.
    Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    9652dc2e
tcp_ipv4.c 62.8 KB