Phillip Wood <phillip.wood123@xxxxxxxxx> writes: >> + if (!strcmp(k, "status.parallelsubmodules")) { >> + s->parallel_jobs_submodules = git_config_int(k, v); >> + if (s->parallel_jobs_submodules < 0) >> + die(_("status.parallelsubmodules cannot be negative")); > > What does a value of zero mean? Good question. I don't remember what the code in the patch I read actually does, but I would imagine we would want to be able to say: - I do not trust the parallel mode yet, just use the single process method that we have always been using. - I do not know how many cores I have, just use a reasonable default parallelism. - I want to use N processes because I know better than auto-scaling based on num_cpus. And the value of 1 would be a reasonable way to express the first one, and 0 would be a reasonable thing to do for the second one. >> -int run_diff_files(struct rev_info *revs, unsigned int option) >> +int run_diff_files(struct rev_info *revs, unsigned int option, int parallel_jobs) > > Another possibility would be to add a member to struct diff_opts, Yes, absolutely. Somewhere that is reachable from rev_info structure would be more appropriate. Thanks.