* [PATCH net-next] net: make sure net_rx_action() calls skb_defer_free_flush()
@ 2022-04-27 20:41 Eric Dumazet
2022-04-28 6:08 ` Ido Schimmel
2022-04-28 10:00 ` patchwork-bot+netdevbpf
0 siblings, 2 replies; 3+ messages in thread
From: Eric Dumazet @ 2022-04-27 20:41 UTC (permalink / raw)
To: David S . Miller, Jakub Kicinski, Paolo Abeni
Cc: netdev, Eric Dumazet, Eric Dumazet, Ido Schimmel
From: Eric Dumazet <edumazet@google.com>
I missed a stray return; in net_rx_action(), which very well
is taken whenever trigger_rx_softirq() has been called on
a cpu that is no longer receiving network packets,
or receiving too few of them.
Fixes: 68822bdf76f1 ("net: generalize skb freeing deferral to per-cpu lists")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: Ido Schimmel <idosch@nvidia.com>
---
net/core/dev.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/net/core/dev.c b/net/core/dev.c
index 611bd719706412723561c27753150b27e1dc4e7a..e09cd202fc579dfe2313243e20def8044aafafa2 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -6617,7 +6617,7 @@ static __latent_entropy void net_rx_action(struct softirq_action *h)
if (list_empty(&list)) {
if (!sd_has_rps_ipi_waiting(sd) && list_empty(&repoll))
- return;
+ goto end;
break;
}
@@ -6644,6 +6644,7 @@ static __latent_entropy void net_rx_action(struct softirq_action *h)
__raise_softirq_irqoff(NET_RX_SOFTIRQ);
net_rps_action_and_irq_enable(sd);
+end:
skb_defer_free_flush(sd);
}
--
2.36.0.rc2.479.g8af0fa9b8e-goog
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH net-next] net: make sure net_rx_action() calls skb_defer_free_flush()
2022-04-27 20:41 [PATCH net-next] net: make sure net_rx_action() calls skb_defer_free_flush() Eric Dumazet
@ 2022-04-28 6:08 ` Ido Schimmel
2022-04-28 10:00 ` patchwork-bot+netdevbpf
1 sibling, 0 replies; 3+ messages in thread
From: Ido Schimmel @ 2022-04-28 6:08 UTC (permalink / raw)
To: Eric Dumazet
Cc: David S . Miller, Jakub Kicinski, Paolo Abeni, netdev,
Eric Dumazet, Ido Schimmel
On Wed, Apr 27, 2022 at 01:41:47PM -0700, Eric Dumazet wrote:
> From: Eric Dumazet <edumazet@google.com>
>
> I missed a stray return; in net_rx_action(), which very well
> is taken whenever trigger_rx_softirq() has been called on
> a cpu that is no longer receiving network packets,
> or receiving too few of them.
>
> Fixes: 68822bdf76f1 ("net: generalize skb freeing deferral to per-cpu lists")
> Signed-off-by: Eric Dumazet <edumazet@google.com>
> Reported-by: Ido Schimmel <idosch@nvidia.com>
Tested-by: Ido Schimmel <idosch@nvidia.com>
Thanks!
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH net-next] net: make sure net_rx_action() calls skb_defer_free_flush()
2022-04-27 20:41 [PATCH net-next] net: make sure net_rx_action() calls skb_defer_free_flush() Eric Dumazet
2022-04-28 6:08 ` Ido Schimmel
@ 2022-04-28 10:00 ` patchwork-bot+netdevbpf
1 sibling, 0 replies; 3+ messages in thread
From: patchwork-bot+netdevbpf @ 2022-04-28 10:00 UTC (permalink / raw)
To: Eric Dumazet; +Cc: davem, kuba, pabeni, netdev, edumazet, idosch
Hello:
This patch was applied to netdev/net-next.git (master)
by Paolo Abeni <pabeni@redhat.com>:
On Wed, 27 Apr 2022 13:41:47 -0700 you wrote:
> From: Eric Dumazet <edumazet@google.com>
>
> I missed a stray return; in net_rx_action(), which very well
> is taken whenever trigger_rx_softirq() has been called on
> a cpu that is no longer receiving network packets,
> or receiving too few of them.
>
> [...]
Here is the summary with links:
- [net-next] net: make sure net_rx_action() calls skb_defer_free_flush()
https://git.kernel.org/netdev/net-next/c/f3412b3879b4
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2022-04-28 10:07 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-27 20:41 [PATCH net-next] net: make sure net_rx_action() calls skb_defer_free_flush() Eric Dumazet
2022-04-28 6:08 ` Ido Schimmel
2022-04-28 10:00 ` patchwork-bot+netdevbpf
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.