bwc/lingen is sometimes overly sensitive to machine load, due to openmp
When the machine is loaded, the openmp code in bwc/lingen seems to decide on scheduling tactics that fail miserably. We can end up with 20x slowdowns compared to what happens when the machine is not busy.
This is typically seen with the c90 lingen step when running the expensive checks, or when running the test suite in parallel.
A fix can be to run with the environment variable OMP_DYNAMIC=true. We do that in the latter case, since otherwise the failure is almost systematic.
I'm going to enable OMP_DYNAMIC=true more generally on test machines that might be loaded for external reasons.
It's not entirely clear to me who's at fault here. I'm not keen on considering that we must use OMP_DYNAMIC=true always, because if it isn't default, then it means that it probably has downsides. And I don't think that our use of openmp is fancy enough to require contortions of this kind.