On 07/04/2025 16:34, Christian Franke via Cygwin-apps wrote:
Jon Turney via Cygwin-apps wrote:
On 15/09/2024 16:11, Jon Turney via Cygwin-apps wrote:
On 13/09/2024 18:33, Christian Franke via Cygwin-apps wrote:
I would like to contribute stress-ng. Also present in Debian,
Fedora, FreeBSD, Ubuntu, ...
I was thinking about adding a step to our CI to run stress-ng, as it
seems quite good at finding some kinds of regressions.
I wonder if you could suggest a suitable set of options to invoke it
with?
Attached is an enhanced version of my local script used to test stress-
ng before packaging. I agree that it should provide some more comments :-)
Many thanks.
I posted the patches to incorporate this in our CI here:
https://cygwin.com/pipermail/cygwin-patches/2025q2/013646.html
I'm not crazy about using pskill, not least because because it's a bit
awkward to get into place.
It seems like we should have our own equivalent, but even if
implemented, '/usr/bin/kill -f -PGID' seems unlikely to work if the
process is hard stuck.
(I guess some scripting to grovel over the process tree and
/usr/bin/kill -f all the processes with a matching name is possible?)
Perhaps the '--keep-name' option should be used, if we're going to kill
by process name?
I note that the test 'clock' fails in the CI environment:
> stress-ng: 23:25:43.13 debug: [1338] invoked with 'stress-ng -v -M
--oomable --timestamp --verify --temp-path
/cygdrive/c/Users/RUNNER~1/AppData/Local/Temp/stress-ng.1237.5.d -t 5 --log-file
/cygdrive/d/a/cygwin/cygwin/logs/clock --clock 2' by user 197108 'runneradmin'
> stress-ng: 23:25:43.14 debug: [1338] stress-ng 0.18.12
> stress-ng: 23:25:43.15 debug: [1338] system: CYGWIN_NT-10.0-20348
fv-az2222-241 3.7.0-api-358.x86_64 2025-04-10 23:13 UTC x86_64, gcc 12.4.0, Cygwin
libc, little endian
> stress-ng: 23:25:43.15 debug: [1338] RAM total: 16.0G, RAM free: 13.8G,
swap free: 2.9G
> stress-ng: 23:25:43.15 debug: [1338] temporary file path:
'/cygdrive/c/Users/runneradmin/AppData/Local/Temp/stress-ng.1237.5.d'
> stress-ng: 23:25:43.15 debug: [1338] 4 processors online, 4 processors
configured
> stress-ng: 23:25:43.15 info: [1338] setting to a 5 secs run per stressor
> stress-ng: 23:25:43.15 debug: [1338] cache allocate: using defaults,
cannot determine cache level details
> stress-ng: 23:25:43.15 debug: [1338] cache allocate: shared cache buffer
size: 2048K
> stress-ng: 23:25:43.15 info: [1338] dispatching hogs: 2 clock
> stress-ng: 23:25:43.15 debug: [1338] starting stressors
> stress-ng: 23:25:43.17 debug: [1338] 2 stressors started
> stress-ng: 23:25:43.41 debug: [1340] clock: [1340] started (instance 0 on
CPU 2)
> stress-ng: 23:25:43.43 debug: [1341] clock: [1341] started (instance 1 on
CPU 2)
> stress-ng: 00:00:00.-99 fail: [1340] clock: clock_settime was able to
set an invalid negative time for timer 'CLOCK_REALTIME'
> stress-ng: 00:00:00.-99 fail: [1340] clock: clock_settime was able to
set an invalid negative time for timer 'CLOCK_REALTIME_COARSE'
> stress-ng: 00:00:00.-99 fail: [1341] clock: clock_settime was able to
set an invalid negative time for timer 'CLOCK_REALTIME'
> stress-ng: 00:00:00.-99 fail: [1341] clock: clock_settime was able to
set an invalid negative time for timer 'CLOCK_REALTIME_COARSE'
> stress-ng: 23:25:48.39 debug: [1340] clock: [1340] exited (instance 0 on
CPU 2)
> stress-ng: 23:25:48.39 error: [1338] clock: [1340] terminated with an
error, exit status=2 (stressor failed)
> stress-ng: 23:25:48.39 debug: [1338] clock: [1340] terminated (stressor
failed)
> stress-ng: 23:25:48.40 debug: [1341] clock: [1341] exited (instance 1 on
CPU 2)
> stress-ng: 23:25:48.40 error: [1338] clock: [1341] terminated with an
error, exit status=2 (stressor failed)
> stress-ng: 23:25:48.40 debug: [1338] clock: [1341] terminated (stressor
failed)
> stress-ng: 23:25:48.40 debug: [1338] metrics-check: all stressor metrics
validated and sane
> stress-ng: 23:25:48.41 metrc: [1338] stressor bogo ops real time
usr time sys time bogo ops/s bogo ops/s CPU used per RSS Max
> stress-ng: 23:25:48.41 metrc: [1338] (secs)
(secs) (secs) (real time) (usr+sys time) instance (%) (KB)
> stress-ng: 23:25:48.41 metrc: [1338] clock 158338 4.97
1.48 7.11 31888.38 18428.54 86.52 19992
> stress-ng: 23:25:48.41 info: [1338] skipped: 0
> stress-ng: 23:25:48.41 info: [1338] passed: 0
> stress-ng: 23:25:48.41 info: [1338] failed: 2: clock (2)
> stress-ng: 23:25:48.41 info: [1338] metrics untrustworthy: 0
> stress-ng: 23:25:48.41 info: [1338] unsuccessful run completed in 5.25
secs