Message ID | 158617317267.1170.12944758673162826206.stgit@buzz |
---|---|
State | Accepted |
Delegated to: | David Miller |
Headers | show |
Series | net: revert default NAPI poll timeout to 2 jiffies | expand |
From: Konstantin Khlebnikov <khlebnikov@yandex-team.ru> Date: Mon, 06 Apr 2020 14:39:32 +0300 > 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: 7acf8a1e8a28 ("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> Applied, thank you.
diff --git a/net/core/dev.c b/net/core/dev.c index 9c9e763bfe0e..df8097b8e286 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -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 */
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: 7acf8a1e8a28 ("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> --- net/core/dev.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)