Merge ~canonical-kernel-team/+git/autotest-client-tests:xnox/riscv64-scale-2x into ~canonical-kernel-team/+git/autotest-client-tests:master

Proposed by Dimitri John Ledkov
Status: Merged
Approved by: Po-Hsu Lin
Approved revision: a7434b012817c2094c71e6407397a4ddcbd2feb6
Merge reported by: Po-Hsu Lin
Merged at revision: a7434b012817c2094c71e6407397a4ddcbd2feb6
Proposed branch: ~canonical-kernel-team/+git/autotest-client-tests:xnox/riscv64-scale-2x
Merge into: ~canonical-kernel-team/+git/autotest-client-tests:master
Diff against target: 46 lines (+9/-4)
1 file modified
ubuntu_kernel_selftests/control (+9/-4)
Reviewer Review Type Date Requested Status
Po-Hsu Lin Approve
Review via email: mp+427108@code.launchpad.net

Commit message

With riscv, allwinner, starfive it is now seen that various pieces of tests fail with testsuite timeout enforced by autotest, rather than any actual hangs or failures inside the tests.

Attempt to improve stability of riscv64 testing by increasing timeouts 2x for the kernel selftests.

To post a comment you must log in.
Revision history for this message
Po-Hsu Lin (cypressyew) wrote :

Acked-by: Po-Hsu Lin <email address hidden>

review: Approve
Revision history for this message
Po-Hsu Lin (cypressyew) wrote :

Applied and pushed. Thanks!

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/ubuntu_kernel_selftests/control b/ubuntu_kernel_selftests/control
2index 9e2a70a..a66ca35 100644
3--- a/ubuntu_kernel_selftests/control
4+++ b/ubuntu_kernel_selftests/control
5@@ -19,16 +19,21 @@ categories = ['breakpoints', 'cpu-hotplug', 'efivarfs', 'memfd', 'memory-hotplug
6 kver = platform.release().split(".")[:2]
7 kver = int(kver[0])*100 + int(kver[1])
8 arch = platform.machine()
9+arch_scale = 1
10+# Scale timeouts by 2 for riscv64, some tests timeout due to lack of
11+# timeout, despite progressing fine
12+if arch in ['riscv64']:
13+ arch_scale = 2
14 if 'seccomp' in categories and kver > 418 and arch not in ['x86_64', 'ppc64le']:
15 categories.remove('seccomp')
16
17-result = job.run_test_detail(NAME, test_name='setup', tag='setup', timeout=60*45)
18+result = job.run_test_detail(NAME, test_name='setup', tag='setup', timeout=arch_scale*60*45)
19 if result == 'ERROR':
20 print("ERROR: test failed to build, skipping all the sub tests")
21 else:
22 for category in categories:
23 build = '{}-build'.format(category)
24- result = job.run_test_detail(NAME, test_name=build, tag=build, timeout=60*60)
25+ result = job.run_test_detail(NAME, test_name=build, tag=build, timeout=arch_scale*60*60)
26 if result == 'ERROR':
27 print("ERROR: test suite '{}' failed to build, skipping all the sub tests".format(category))
28 continue
29@@ -38,7 +43,7 @@ else:
30 mk_src = os.path.join(dir_src, 'Makefile')
31 os.chdir(dir_src)
32 cmd = 'grep SUB_DIRS {}'.format(mk_src)
33- timeout_threshold = 60*30
34+ timeout_threshold = arch_scale*60*30
35 if utils.system_output(cmd, verbose=False, ignore_status=True):
36 cmd = 'make -f {} -f {} getsubdirs'.format(mk_helper, mk_src)
37 subdirs = utils.system_output(cmd).split()
38@@ -56,7 +61,7 @@ else:
39 cmd = 'make -f {} -f {} gettests'.format(mk_src, mk_helper)
40 tests = utils.system_output(cmd).split()
41 for item in tests:
42- timeout_threshold = 60*45
43+ timeout_threshold = arch_scale*60*45
44 if item == 'ftracetest' and arch == 'riscv64':
45 # autotest timeout on riscv64 is incorrect (lp:1940080), disable it
46 # It takes about 22 mins on 5.15 and about 35 mins on 5.13

Subscribers

People subscribed via source and target branches

to all changes: