Merge pull request #8328 from urbas/max-substitution-jobs

This commit is contained in:
Valentin Gagarin 2023-05-14 11:59:40 +02:00 committed by GitHub
commit 454e273451
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 4 deletions

View file

@ -1,2 +1,6 @@
# Release X.Y (202?-??-??) # Release X.Y (202?-??-??)
- Speed-up of downloads from binary caches.
The number of parallel downloads (also known as substitutions) has been separated from the [`--max-jobs` setting](../command-ref/conf-file.md#conf-max-jobs).
The new setting is called [`max-substitution-jobs`](../command-ref/conf-file.md#conf-max-substitution-jobs).
The number of parallel downloads is now set to 16 by default (previously, the default was 1 due to the coupling to build jobs).

View file

@ -200,10 +200,9 @@ void PathSubstitutionGoal::tryToRun()
{ {
trace("trying to run"); trace("trying to run");
/* Make sure that we are allowed to start a build. Note that even /* Make sure that we are allowed to start a substitution. Note that even
if maxBuildJobs == 0 (no local builds allowed), we still allow if maxSubstitutionJobs == 0, we still allow a substituter to run. This
a substituter to run. This is because substitutions cannot be prevents infinite waiting. */
distributed to another machine via the build hook. */
if (worker.getNrSubstitutions() >= std::max(1U, (unsigned int) settings.maxSubstitutionJobs)) { if (worker.getNrSubstitutions() >= std::max(1U, (unsigned int) settings.maxSubstitutionJobs)) {
worker.waitForBuildSlot(shared_from_this()); worker.waitForBuildSlot(shared_from_this());
return; return;