rps: immediate send IPI in process_backlog()
authorEric Dumazet <eric.dumazet@gmail.com>
Thu, 22 Apr 2010 07:22:45 +0000 (00:22 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 22 Apr 2010 07:22:45 +0000 (00:22 -0700)
commite326bed2f47d0365da5a8faaf8ee93ed2d86325b
tree46ee31550c49efa4c06c857b039ab6fdabf08a9c
parentde498c89254b5b89f676e9c9292396d5ebf52bf2
rps: immediate send IPI in process_backlog()

If some skb are queued to our backlog, we are delaying IPI sending at
the end of net_rx_action(), increasing latencies. This defeats the
queueing, since we want to quickly dispatch packets to the pool of
worker cpus, then eventually deeply process our packets.

It's better to send IPI before processing our packets in upper layers,
from process_backlog().

Change the _and_disable_irq suffix to _and_enable_irq(), since we enable
local irq in net_rps_action(), sorry for the confusion.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/dev.c