]> 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)
commita4e5bbc561b9f42fd4f5cd987f9faf1db52c3bdf
tree9080a226fd6723c2c5ba3035ddf0034a3c8581dc
parent47bcd5152c331314bfde3d096aa0b5723603463d
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]