Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding.
On 9/13/24 11:16, Eric Dumazet wrote:
On Fri, Sep 13, 2024 at 5:10 PM Sean Anderson <sean.anderson@xxxxxxxxx> wrote:
The threadirqs kernel parameter can be used to force threaded IRQs even
on non-PREEMPT_RT kernels. Use force_irqthreads to determine if we can
skip disabling local interrupts. This defaults to false on regular
kernels, and is always true on PREEMPT_RT kernels.
Signed-off-by: Sean Anderson <sean.anderson@xxxxxxxxx>
---
net/core/dev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/core/dev.c b/net/core/dev.c
index 1e740faf9e78..112e871bc2b0 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -6202,7 +6202,7 @@ EXPORT_SYMBOL(napi_schedule_prep);
*/
void __napi_schedule_irqoff(struct napi_struct *n)
{
- if (!IS_ENABLED(CONFIG_PREEMPT_RT))
+ if (!force_irqthreads())
____napi_schedule(this_cpu_ptr(&softnet_data), n);
else
__napi_schedule(n);
--
2.35.1.1320.gc452695387.dirty
Seems reasonable, can you update the comment (kdoc) as well ?
It says :
* On PREEMPT_RT enabled kernels this maps to __napi_schedule()
* because the interrupt disabled assumption might not be true
* due to force-threaded interrupts and spinlock substitution.
OK
Also always specify net or net-next for networking patches.
Ah, sorry. Should be net-next.
--Sean