Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

stress/cpu_stress_ng_test failed with STRESS_NG_CPU_TIME=60 on Alder Lake machine #383

Open
xanthein opened this issue Mar 22, 2023 · 2 comments
Labels
bug Something isn't working

Comments

@xanthein
Copy link
Contributor

xanthein commented Mar 22, 2023

Bug Description

stress_cpu function add 10% to runtime which not seems enough for machine have more cores

To Reproduce

  1. run com.canonical.certification::stress/cpu_stress_ng_test

Environment

  • OS: 22.04
  • checkbox type: debian
  • checkbox version: 1.20
  • hardware being tested: cpu

Relevant log output

stress-ng: info:  [18323] setting to a 60 second run per stressor
stress-ng: info:  [18323] dispatching hogs: 24 af-alg, 24 bsearch, 24 context, 24 cpu, 24 crypt, 24 hsearch, 24 longjmp, 24 lsearch, 24 matrix, 24 qsort, 24 str, 24 stream, 24 tsearch, 24 vecmath, 24 wcs
stress-ng: info:  [18324] af-alg: this stressor is not implemented on this system: x86_64 Linux 5.15.0-66-generic gcc 9.4.0 (built without linux/if_alg.h)
stress-ng: info:  [18588] stream: stressor loosely based on a variant of the STREAM benchmark code
stress-ng: info:  [18588] stream: do NOT submit any of these results to the STREAM benchmark results
stress-ng: info:  [18588] stream: Using CPU cache size of 30720K
stress-ng: info:  [18600] stream: memory rate: 334.23 MB read/sec, 222.82 MB write/sec, 29.21 Mflop/sec (instance 12)
stress-ng: info:  [18601] stream: memory rate: 407.44 MB read/sec, 271.63 MB write/sec, 35.60 Mflop/sec (instance 13)
stress-ng: info:  [18610] stream: memory rate: 365.47 MB read/sec, 243.65 MB write/sec, 31.94 Mflop/sec (instance 22)
stress-ng: info:  [18607] stream: memory rate: 359.16 MB read/sec, 239.44 MB write/sec, 31.38 Mflop/sec (instance 19)
stress-ng: info:  [18604] stream: memory rate: 309.58 MB read/sec, 206.39 MB write/sec, 27.05 Mflop/sec (instance 16)
stress-ng: info:  [18596] stream: memory rate: 223.82 MB read/sec, 149.21 MB write/sec, 19.56 Mflop/sec (instance 8)
stress-ng: info:  [18602] stream: memory rate: 342.14 MB read/sec, 228.09 MB write/sec, 29.90 Mflop/sec (instance 14)
stress-ng: info:  [18594] stream: memory rate: 256.03 MB read/sec, 170.69 MB write/sec, 22.37 Mflop/sec (instance 6)
stress-ng: info:  [18605] stream: memory rate: 391.32 MB read/sec, 260.88 MB write/sec, 34.19 Mflop/sec (instance 17)
stress-ng: info:  [18593] stream: memory rate: 264.78 MB read/sec, 176.52 MB write/sec, 23.14 Mflop/sec (instance 5)
stress-ng: info:  [18598] stream: memory rate: 331.13 MB read/sec, 220.75 MB write/sec, 28.93 Mflop/sec (instance 10)
stress-ng: info:  [18592] stream: memory rate: 213.44 MB read/sec, 142.29 MB write/sec, 18.65 Mflop/sec (instance 4)
stress-ng: info:  [18609] stream: memory rate: 357.66 MB read/sec, 238.44 MB write/sec, 31.25 Mflop/sec (instance 21)
stress-ng: info:  [18589] stream: memory rate: 241.00 MB read/sec, 160.67 MB write/sec, 21.06 Mflop/sec (instance 1)
stress-ng: info:  [18597] stream: memory rate: 218.78 MB read/sec, 145.85 MB write/sec, 19.12 Mflop/sec (instance 9)
stress-ng: info:  [18608] stream: memory rate: 353.09 MB read/sec, 235.39 MB write/sec, 30.85 Mflop/sec (instance 20)
stress-ng: info:  [18603] stream: memory rate: 311.54 MB read/sec, 207.69 MB write/sec, 27.22 Mflop/sec (instance 15)
stress-ng: info:  [18590] stream: memory rate: 217.99 MB read/sec, 145.33 MB write/sec, 19.05 Mflop/sec (instance 2)
stress-ng: info:  [18591] stream: memory rate: 374.45 MB read/sec, 249.63 MB write/sec, 32.72 Mflop/sec (instance 3)
stress-ng: info:  [18599] stream: memory rate: 270.05 MB read/sec, 180.03 MB write/sec, 23.60 Mflop/sec (instance 11)
stress-ng: info:  [18611] stream: memory rate: 333.39 MB read/sec, 222.26 MB write/sec, 29.13 Mflop/sec (instance 23)
stress-ng: info:  [18606] stream: memory rate: 349.07 MB read/sec, 232.71 MB write/sec, 30.50 Mflop/sec (instance 18)
stress-ng: info:  [18588] stream: memory rate: 267.69 MB read/sec, 178.46 MB write/sec, 23.39 Mflop/sec (instance 0)
stress-ng: info:  [18595] stream: memory rate: 272.02 MB read/sec, 181.35 MB write/sec, 23.77 Mflop/sec (instance 7)
�[0;1;31mstress_ng_test.py failed with exit status 1.�[0m to gather as much log as possible.

Additional context

No response

@xanthein xanthein added the bug Something isn't working label Mar 22, 2023
@os369510
Copy link

Launchpad bug: https://bugs.launchpad.net/bugs/2012482

@bladernr
Copy link
Collaborator

Could probably make the wrapper_timeout variable rather than default to 1.1 * Runtime as it is now... I suspect it's just that with the stress test it takea a bit longer than 6 seconds to settle everything properly at the close.

At full lenght it adds 720 seconds to the run time to account for teardown. I'd suggest running the stress-ng command itself and timing how long it takes to tear down at 60 seconds and get an average... e.g. run this 10 times:

/usr/bin/time -f %e stress-ng --aggressive --verify --timeout 60 --metrics-brief --tz --times --af-alg 0 --bsearch 0 --context 0 --cpu 0 --crypt 0 --hsearch 0 --longjmp 0 --lsearch 0 --matrix 0 --qsort 0 --str 0 --stream 0 --tsearch 0 --vecmath 0 --wcs 0

and average the runtime... on my server with 128 cores it completes like this:
ubuntu@barbos:~$ for x in seq 1 10; do /usr/bin/time -f %e stress-ng --aggressive --verify --timeout 60 -q --tz --times --af-alg 0 --bsearch 0 --context 0 --cpu 0 --crypt 0 --hsearch 0 --longjmp 0 --lsearch 0 --matrix 0 --qsort 0 --str 0 --stream 0 --tsearch 0 --vecmath 0 --wcs 0; done
68.97
64.94
70.64
64.05
66.45
63.23
64.87
62.80
64.33
63.08

So there are certainly several cases where that extra 6 seconds is not enough...

Perhaps the fix then is to eiither make the wrapper timeout user-modifyable, or to just increase it to 20 seconds OR 10% of runtime, whichever is greater

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants