• Li RongQing's avatar
    net: convert gro_count to bitmask · d9f37d01
    Li RongQing authored
    gro_hash size is 192 bytes, and uses 3 cache lines, if there is few
    flows, gro_hash may be not fully used, so it is unnecessary to iterate
    all gro_hash in napi_gro_flush(), to occupy unnecessary cacheline.
    
    convert gro_count to a bitmask, and rename it as gro_bitmask, each bit
    represents a element of gro_hash, only flush a gro_hash element if the
    related bit is set, to speed up napi_gro_flush().
    
    and update gro_bitmask only if it will be changed, to reduce cache
    update
    Suggested-by: default avatarEric Dumazet <edumazet@google.com>
    Signed-off-by: default avatarLi RongQing <lirongqing@baidu.com>
    Cc: Stefano Brivio <sbrivio@redhat.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    d9f37d01
dev.c 240 KB