]> git.baikalelectronics.ru Git - kernel.git/commit
docs, parallelism: Rearrange how jobserver reservations are made
authorKees Cook <keescook@chromium.org>
Thu, 21 Nov 2019 20:59:29 +0000 (12:59 -0800)
committerJonathan Corbet <corbet@lwn.net>
Fri, 22 Nov 2019 17:35:18 +0000 (10:35 -0700)
commit893d2630877032d0779baebcc25adbd48b3384a6
tree9080a226fd6723c2c5ba3035ddf0034a3c8581dc
parent5b54506b22d3e26bfdf179fa37a974fb1a4110e4
docs, parallelism: Rearrange how jobserver reservations are made

Rasmus correctly observed that the existing jobserver reservation only
worked if no other build targets were specified. The correct approach
is to hold the jobserver slots until sphinx has finished. To fix this,
the following changes are made:

- refactor (and rename) scripts/jobserver-exec to set an environment
  variable for the maximally reserved jobserver slots and exec a
  child, to release the slots on exit.

- create Documentation/scripts/parallel-wrapper.sh which examines both
  $PARALLELISM and the detected "-jauto" logic from Documentation/Makefile
  to decide sphinx's final -j argument.

- chain these together in Documentation/Makefile

Suggested-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Link: https://lore.kernel.org/lkml/eb25959a-9ec4-3530-2031-d9d716b40b20@rasmusvillemoes.dk
Signed-off-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20191121205929.40371-4-keescook@chromium.org
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Documentation/Makefile
Documentation/sphinx/parallel-wrapper.sh [new file with mode: 0644]
scripts/jobserver-count [deleted file]
scripts/jobserver-exec [new file with mode: 0755]