http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49204
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-05-31 13:40:03 UTC --- We should also make std::async check the system load when deciding whether to run asynchronously or deferred. We should be able to reuse GNU Make's code for deciding whether to run a new job or not, see load_too_high() in job.c