summaryrefslogtreecommitdiff
path: root/nix/nix-daemon/guix-daemon.cc
diff options
context:
space:
mode:
authorJulien Lepiller <julien@lepiller.eu>2020-02-21 23:41:33 +0100
committerGuix Patches Tester <>2020-02-21 22:55:06 +0000
commitbd1ce810149a5449d3c88c52f607e8e58fa11d11 (patch)
treeba034885de314654b678194e0884f812df8f3f40 /nix/nix-daemon/guix-daemon.cc
parent76a8dc3ee289ac4f4b984a3d9d2dcb9d89c01eda (diff)
downloadpatches-series-2970.tar
patches-series-2970.tar.gz
nix: Count build and download jobs separately.series-2970
This allows to run downloads (that take bandwith) and builds (that take CPU time) independently from one another. * nix/nix-daemon/guix-daemon.cc: Add a max-download-jobs option. * nix/libstore/globals.hh: Add a maxDownloadJobs setting. * nix/libstore/globals.cc: Add a default value to it. * nix/libstore/build.cc: Manage build and download jobs separately.
Diffstat (limited to 'nix/nix-daemon/guix-daemon.cc')
-rw-r--r--nix/nix-daemon/guix-daemon.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/nix/nix-daemon/guix-daemon.cc b/nix/nix-daemon/guix-daemon.cc
index cd949aca67..6997c07f5a 100644
--- a/nix/nix-daemon/guix-daemon.cc
+++ b/nix/nix-daemon/guix-daemon.cc
@@ -99,6 +99,8 @@ static const struct argp_option options[] =
},
{ "max-jobs", 'M', n_("N"), 0,
n_("allow at most N build jobs") },
+ { "max-downloads", 'D', n_("N"), 0,
+ n_("allow at most N download jobs") },
{ "timeout", GUIX_OPT_TIMEOUT, n_("SECONDS"), 0,
n_("mark builds as failed after SECONDS of activity") },
{ "max-silent-time", GUIX_OPT_MAX_SILENT_TIME, n_("SECONDS"), 0,
@@ -276,6 +278,9 @@ parse_opt (int key, char *arg, struct argp_state *state)
case 'M':
settings.set ("build-max-jobs", arg);
break;
+ case 'D':
+ settings.set ("download-max-jobs", arg);
+ break;
case GUIX_OPT_TIMEOUT:
settings.set ("build-timeout", arg);
break;