net: Use SMP threads for backlog NAPI.
From: | Sebastian Andrzej Siewior <bigeasy-AT-linutronix.de> | |
To: | linux-kernel-AT-vger.kernel.org, netdev-AT-vger.kernel.org | |
Subject: | [RFC PATCH net-next 0/2] net: Use SMP threads for backlog NAPI. | |
Date: | Mon, 14 Aug 2023 11:35:26 +0200 | |
Message-ID: | <20230814093528.117342-1-bigeasy@linutronix.de> | |
Cc: | "David S. Miller" <davem-AT-davemloft.net>, Eric Dumazet <edumazet-AT-google.com>, Jakub Kicinski <kuba-AT-kernel.org>, Paolo Abeni <pabeni-AT-redhat.com>, Peter Zijlstra <peterz-AT-infradead.org>, Thomas Gleixner <tglx-AT-linutronix.de>, Wander Lairson Costa <wander-AT-redhat.com> | |
Archive-link: | Article |
The RPS code and "deferred skb free" both send IPI/ function call to a remote CPU in which a softirq is raised. This leads to a warning on PREEMPT_RT because raising softiqrs from function call led to undesired behaviour in the past. I had duct tape in RT for the "deferred skb free" and Wander Lairson Costa reported the RPS case. Patch #1 creates per-CPU threads for the backlog NAPI. It follows the threaded NAPI model and solves the issue and simplifies the code. Patch #2 gets rid of the warning. Since the ksoftirqd changes the situtation isn't as bad as it was. Still, it would be better to keep it in the context where it originated. Sebastian