From: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
To: Kees Cook <keescook@chromium.org>
Cc: Jonathan Corbet <corbet@lwn.net>,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2] docs: Use make invocation's -j argument for parallelism
Date: Tue, 24 Sep 2019 13:43:25 -0300 [thread overview]
Message-ID: <20190924134325.4788fc30@coco.lan> (raw)
In-Reply-To: <201909231537.0FC0474C@keescook>
Em Mon, 23 Sep 2019 15:40:41 -0700
Kees Cook <keescook@chromium.org> escreveu:
> On Sun, Sep 22, 2019 at 02:03:31PM -0600, Jonathan Corbet wrote:
> > On Thu, 19 Sep 2019 14:44:37 -0700
> > Kees Cook <keescook@chromium.org> wrote:
> >
> > > While sphinx 1.7 and later supports "-jauto" for parallelism, this
> > > effectively ignores the "-j" flag used in the "make" invocation, which
> > > may cause confusion for build systems. Instead, extract the available
> >
> > What sort of confusion might we expect? Or, to channel akpm, "what are the
> > user-visible effects of this bug"?
>
> When I run "make htmldocs -j16" with a pre-1.7 sphinx, it is not
> parallelized.
Sphinx supports parallel builds for a while. With pre-1.7, you could do
something like:
make SPHINXOPTS="-j16" htmldocs
Yet, on my experiences on big machines (tested here with Xeon with 40 and 64
CPU threads), parallel build doesn't actually benefit with values higher than
-j5 to -j8, with pre-1.7.
Sphinx 1.7 and higher seem to have improved a lot with "-jauto"
(although I didn't time it comparing with -j5 or -j8 on a big server).
> When I run "make htmldocs -j8" with 1.7+ sphinx, it uses
> all my CPUs instead of 8. :)
This should do the trick:
make SPHINXOPTS="-j8" htmldocs
But yeah, IMHO, the best is if it could honor the Makefile flag:
make -j8 htmldocs
If SPHINXOPTS doesn't contain "-j".
> > > + -j $(shell python3 $(srctree)/scripts/jobserver-count $(SPHINX_PARALLEL)) \
> >
> > This (and the shebang line in the script itself) will cause the docs build
> > to fail on systems lacking Python 3. While we have talked about requiring
> > Python 3 for the docs build, we have not actually taken that step yet. We
> > probably shouldn't sneak it in here. I don't see anything in the script
> > that should require a specific Python version, so I think it should be
> > tweaked to be version-independent and just invoke "python".
>
> Ah, no problem. I can fix this. In a quick scan it looked like sphinx
> was python3, but I see now that's just my install. :)
On Fedora 30, both python2 and python3 versions are available:
python2-sphinx.noarch : Python documentation generator
python3-sphinx.noarch : Python documentation generator
However, if one tries to install it without specifying "2" or "3", it
defaults to python2 version:
$ sudo dnf install python-sphinx
...
Installing:
python2-sphinx noarch 1:1.8.4-1.fc30 fedora 1.8 M
AFAIKT, this also applies when distro upgrades takes place: upgrading
a python2 sphinx from Fedora 30 to Rawhide will very likely keep
the python2 version.
Thanks,
Mauro
prev parent reply other threads:[~2019-09-24 17:02 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-19 21:44 [PATCH v2] docs: Use make invocation's -j argument for parallelism Kees Cook
2019-09-22 20:03 ` Jonathan Corbet
2019-09-23 22:40 ` Kees Cook
2019-09-24 7:12 ` Jani Nikula
2019-09-24 16:11 ` Kees Cook
2019-09-25 8:35 ` Jani Nikula
2019-09-24 16:43 ` Mauro Carvalho Chehab [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190924134325.4788fc30@coco.lan \
--to=mchehab+samsung@kernel.org \
--cc=corbet@lwn.net \
--cc=keescook@chromium.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).