]> git.baikalelectronics.ru Git - kernel.git/commitdiff
net: revert default NAPI poll timeout to 2 jiffies
authorKonstantin Khlebnikov <khlebnikov@yandex-team.ru>
Mon, 6 Apr 2020 11:39:32 +0000 (14:39 +0300)
committerDavid S. Miller <davem@davemloft.net>
Wed, 8 Apr 2020 01:30:56 +0000 (18:30 -0700)
For HZ < 1000 timeout 2000us rounds up to 1 jiffy but expires randomly
because next timer interrupt could come shortly after starting softirq.

For commonly used CONFIG_HZ=1000 nothing changes.

Fixes: 1284c40c9b04 ("Replace 2 jiffies with sysctl netdev_budget_usecs to enable softirq tuning")
Reported-by: Dmitry Yakunin <zeil@yandex-team.ru>
Signed-off-by: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/dev.c

index 9c9e763bfe0e38ff843fa590ff83617a8d2feacc..df8097b8e286938b3d9bcf98c543eb3551cf3563 100644 (file)
@@ -4140,7 +4140,8 @@ EXPORT_SYMBOL(netdev_max_backlog);
 
 int netdev_tstamp_prequeue __read_mostly = 1;
 int netdev_budget __read_mostly = 300;
-unsigned int __read_mostly netdev_budget_usecs = 2000;
+/* Must be at least 2 jiffes to guarantee 1 jiffy timeout */
+unsigned int __read_mostly netdev_budget_usecs = 2 * USEC_PER_SEC / HZ;
 int weight_p __read_mostly = 64;           /* old backlog weight */
 int dev_weight_rx_bias __read_mostly = 1;  /* bias for backlog weight */
 int dev_weight_tx_bias __read_mostly = 1;  /* bias for output_queue quota */