mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-05-09 21:42:09 +02:00
selftests: net: pass bpftrace timeout to cmd()
The bpftrace() helper configures an interval based exit timer but does not propagate the timeout to the cmd object, which defaults to 5 seconds. Since the default BPFTRACE_TIMEOUT is 10 seconds, cmd.process() always raises a TimeoutExpired exception before bpftrace has a chance to exit gracefully. Pass timeout+5 to cmd() to allow bpftrace to complete gracefully. Note: this issue is masked by a bug in the way cmd() passes timeout, this is fixed in the next commit. Reviewed-by: Nimrod Oren <noren@nvidia.com> Signed-off-by: Gal Pressman <gal@nvidia.com> Link: https://patch.msgid.link/20260310115803.2521050-2-gal@nvidia.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
bd4d6b955d
commit
82562972b8
@@ -258,8 +258,9 @@ def bpftrace(expr, json=None, ns=None, host=None, timeout=None):
|
||||
cmd_arr += ['-f', 'json', '-q']
|
||||
if timeout:
|
||||
expr += ' interval:s:' + str(timeout) + ' { exit(); }'
|
||||
timeout += 5
|
||||
cmd_arr += ['-e', expr]
|
||||
cmd_obj = cmd(cmd_arr, ns=ns, host=host, shell=False)
|
||||
cmd_obj = cmd(cmd_arr, ns=ns, host=host, shell=False, timeout=timeout)
|
||||
if json:
|
||||
# bpftrace prints objects as lines
|
||||
ret = {}
|
||||
|
||||
Reference in New Issue
Block a user