net: optimize napi_schedule_rps()
authorEric Dumazet <edumazet@google.com>
Tue, 28 Mar 2023 23:50:20 +0000 (23:50 +0000)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 30 Mar 2023 11:40:00 +0000 (13:40 +0200)
commit821eba962d95806beb0440742c4062a9da8a386b
tree430cb6cb9affac79615cb4c49193c94758921e26
parentc59647c0dc679008886756a888368da1c6d4ccd3
net: optimize napi_schedule_rps()

Based on initial patch from Jason Xing.

Idea is to not raise NET_RX_SOFTIRQ from napi_schedule_rps()
when we queued a packet into another cpu backlog.

We can do this only in the context of us being called indirectly
from net_rx_action(), to have the guarantee our rps_ipi_list
will be processed before we exit from net_rx_action().

Link: https://lore.kernel.org/lkml/20230325152417.5403-1-kerneljasonxing@gmail.com/
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Jason Xing <kernelxing@tencent.com>
Reviewed-by: Jason Xing <kerneljasonxing@gmail.com>
Tested-by: Jason Xing <kerneljasonxing@gmail.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
net/core/dev.c