net: don't set sw irq coalescing defaults in case of PREEMPT_RT
authorHeiner Kallweit <hkallweit1@gmail.com>
Sun, 28 May 2023 17:39:59 +0000 (19:39 +0200)
committerJakub Kicinski <kuba@kernel.org>
Thu, 1 Jun 2023 05:22:26 +0000 (22:22 -0700)
If PREEMPT_RT is set, then assume that the user focuses on minimum
latency. Therefore don't set sw irq coalescing defaults.
This affects the defaults only, users can override these settings
via sysfs.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Link: https://lore.kernel.org/r/f9439c7f-c92c-4c2c-703e-110f96d841b7@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/core/dev.c

index 3393c2f..99d99b2 100644 (file)
@@ -10571,8 +10571,10 @@ void netdev_sw_irq_coalesce_default_on(struct net_device *dev)
 {
        WARN_ON(dev->reg_state == NETREG_REGISTERED);
 
-       dev->gro_flush_timeout = 20000;
-       dev->napi_defer_hard_irqs = 1;
+       if (!IS_ENABLED(CONFIG_PREEMPT_RT)) {
+               dev->gro_flush_timeout = 20000;
+               dev->napi_defer_hard_irqs = 1;
+       }
 }
 EXPORT_SYMBOL_GPL(netdev_sw_irq_coalesce_default_on);