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

Reply via email to