Created Started Cancelled
By: Tom Sydney Kerckhove <syd@cs-syd.eu>
Warn about one capability whatever asked for the parallelism The warning to compile a test suite with -threaded -rtsopts -with-rtsopts=-N only fired when the thread count was left to the capabilities. A suite run with --jobs 4 on one capability runs its tests one at a time just the same, so it never exercises the thread safety that running them in parallel is there to find, and it said nothing about that. So decide the warning from the capability count and the parallelism the suite ends up running with, which is what resolveThreads settles in one place. Only a synchronous run has nothing to gain from more capabilities, so only it stays quiet, and that covers a build nix narrowed down to a single core: advising -N there would change nothing, because one core resolves to a synchronous run either way. The warning now names capabilities rather than CPU cores. That is what it has always counted, and the two only looked alike while it fired for the capability count alone: a suite told to use four threads on a 64-core machine, without -N, has one capability and 64 cores.