• Eric Dumazet's avatar
    rps: shortcut net_rps_action() · 88751275
    Eric Dumazet authored
    net_rps_action() is a bit expensive on NR_CPUS=64..4096 kernels, even if
    RPS is not active.
    
    Tom Herbert used two bitmasks to hold information needed to send IPI,
    but a single LIFO list seems more appropriate.
    
    Move all RPS logic into net_rps_action() to cleanup net_rx_action() code
    (remove two ifdefs)
    
    Move rps_remote_softirq_cpus into softnet_data to share its first cache
    line, filling an existing hole.
    
    In a future patch, we could call net_rps_action() from process_backlog()
    to make sure we send IPI before handling this cpu backlog.
    Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    88751275
dev.c 141 KB