mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-22 01:08:13 -04:00
selftests: net: bump default cmd() timeout to 20 seconds
We always used 5 sec as the default command timeout. But soon after it was introduced, David effectively made us ignore the timeout (it was passed to process.communicate() as the wrong argument). Gal recently fixed that, but turns out the 5 sec is not enough for a lot of tests and setups. The fix caused regressions. In particular running reconfig commands (e.g. XDP attach) on mlx5 with 32 rings and 9k MTU, on a heavily-debug-enabled kernel takes more than 5 sec. The XDP installation command will time out after 5 sec but since the sleeps in the kernel are non interruptible the command finishes anyway, leaving the XDP program attached, but with non-zero exit code. defer()ed cleanups are not installed, breaking the environment for subsequent tests. Since "install XDP" is a pretty normal command a "point fix" does not seem appropriate. 32 rings is a fairly reasonable config, too, so we should just increase the timeout to 20 sec. There's no real reason behind the value of 20. Fixes:1cf2704242("net: selftest: add test for netdev netlink queue-get API") Fixes:f0bd193166("selftests: net: fix timeout passed as positional argument to communicate()") Reviewed-by: Pavan Chebbi <pavan.chebbi@broadcom.com> Acked-by: Breno Leitao <leitao@debian.org> Reviewed-by: Nimrod Oren <noren@nvidia.com> Link: https://patch.msgid.link/20260629233348.2145841-1-kuba@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
@@ -44,7 +44,7 @@ class cmd:
|
||||
Use bkg() instead to run a command in the background.
|
||||
"""
|
||||
def __init__(self, comm, shell=None, fail=True, expect_fail=False, ns=None,
|
||||
background=False, host=None, timeout=5, ksft_ready=None,
|
||||
background=False, host=None, timeout=20, ksft_ready=None,
|
||||
ksft_wait=None):
|
||||
if ns:
|
||||
if hasattr(ns, 'user_ns_path'):
|
||||
@@ -113,7 +113,7 @@ class cmd:
|
||||
|
||||
return stdout, stderr
|
||||
|
||||
def process(self, terminate=True, fail=None, expect_fail=False, timeout=5):
|
||||
def process(self, terminate=True, fail=None, expect_fail=False, timeout=20):
|
||||
if fail is None:
|
||||
fail = not terminate
|
||||
|
||||
|
||||
Reference in New Issue
Block a user