Jon Turney wrote:
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.
You're welcome. Thanks for accepting the script!
I posted the patches to incorporate this in our CI here:
https://cygwin.com/pipermail/cygwin-patches/2025q2/013646.html
I posted some minor updates/comments.
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.
Here a very first small step towards an "onboard" tool to stop hanging
tests:
https://sourceware.org/pipermail/cygwin-patches/2025q2/013651.html
A next step could be to add a 'killall' equivalent with '-f' support.
For example further enhance Cygwin's kill:
/bin/kill --all -f -s - NAME...
which then uses only native win32 API to find and stop processes.
(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?
This is not needed because setproctitle() only changes /proc/PID/cmdline
but not /proc/PID/exename:
$ stress-ng -v -M --verify --intmath 5 >stress.log &
[1] 2268
$ procps -C stress-ng -o pid,ppid,exe,args --sort pid
PID PPID EXE COMMAND
2268 1791 /usr/bin/stress-ng stress-ng -v -M --verify
--intmath 5
2269 2268 /usr/bin/stress-ng stress-ng-intmath [run]
2270 2268 /usr/bin/stress-ng stress-ng-intmath [run]
2271 2268 /usr/bin/stress-ng stress-ng-intmath [run]
2272 2268 /usr/bin/stress-ng stress-ng-intmath [run]
2273 2268 /usr/bin/stress-ng stress-ng-intmath [run]
I note that the test 'clock' fails in the CI environment:
...
> 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'
Hmm... interesting. I will have a closer look...
--
Regards,
Christian