844328e2

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.
GitHub
configurex86_64-linux