Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

net: change netdev_unregister_timeout_secs min value to 1

netdev_unregister_timeout_secs=0 can lead to printing the
"waiting for dev to become free" message every jiffy.
This is too frequent and unnecessary.
Set the min value to 1 second.

Also fix the merge issue introduced by
"net: make unregister netdev warning timeout configurable":
it changed "refcnt != 1" to "refcnt".

Signed-off-by: Dmitry Vyukov <dvyukov@google.com>
Suggested-by: Eric Dumazet <edumazet@google.com>
Fixes: 5aa3afe107d9 ("net: make unregister netdev warning timeout configurable")
Cc: netdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Reviewed-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Dmitry Vyukov and committed by
David S. Miller
6c996e19 b01483a8

+3 -3
+1 -1
Documentation/admin-guide/sysctl/net.rst
··· 320 320 unregistration. A lower value may be useful during bisection to detect 321 321 a leaked reference faster. A larger value may be useful to prevent false 322 322 warnings on slow/loaded systems. 323 - Default value is 10, minimum 0, maximum 3600. 323 + Default value is 10, minimum 1, maximum 3600. 324 324 325 325 optmem_max 326 326 ----------
+1 -1
net/core/dev.c
··· 10460 10460 10461 10461 refcnt = netdev_refcnt_read(dev); 10462 10462 10463 - if (refcnt && 10463 + if (refcnt != 1 && 10464 10464 time_after(jiffies, warning_time + 10465 10465 netdev_unregister_timeout_secs * HZ)) { 10466 10466 pr_emerg("unregister_netdevice: waiting for %s to become free. Usage count = %d\n",
+1 -1
net/core/sysctl_net_core.c
··· 577 577 .maxlen = sizeof(unsigned int), 578 578 .mode = 0644, 579 579 .proc_handler = proc_dointvec_minmax, 580 - .extra1 = SYSCTL_ZERO, 580 + .extra1 = SYSCTL_ONE, 581 581 .extra2 = &int_3600, 582 582 }, 583 583 { }