From: Jani Nikula <jani.nikula@linux.intel.com>
To: Vegard Nossum <vegard.nossum@oracle.com>,
bernhard+linux-doc@lsmod.de,
Mauro Carvalho Chehab <mchehab@kernel.org>,
linux-doc@vger.kernel.org
Cc: "Bernhard M. Wiedemann" <bwiedemann@suse.de>
Subject: Re: [PATCH] docs: Build kernel docs deterministically
Date: Thu, 05 Sep 2024 17:08:01 +0300 [thread overview]
Message-ID: <87plpip51a.fsf@intel.com> (raw)
In-Reply-To: <a2bda8df-b484-49e6-9e01-92e6cdf4db44@oracle.com>
On Thu, 05 Sep 2024, Vegard Nossum <vegard.nossum@oracle.com> wrote:
> On 05/09/2024 14:20, Jani Nikula wrote:
>> On Thu, 05 Sep 2024, Jani Nikula <jani.nikula@linux.intel.com> wrote:
>>> On Thu, 05 Sep 2024, bernhard+linux-doc@lsmod.de wrote:
>>>> From: "Bernhard M. Wiedemann" <bwiedemann@suse.de>
>>>>
>>>> Because we want reproducible builds
>>>> and https://github.com/sphinx-doc/sphinx/issues/6714
>>>> did not receive any love from Sphinx devs in five years,
>>>> let's disable parallel doc builds until that Sphinx issue is fixed.
>>>
>>> You mention in [1] that this is likely a duplicate of [2] i.e. multiple
>>> Sphinx instances running in parallel and racing in doctree access.
>>>
>>> In kernel, does the issue then boil down to:
>>>
>>> htmldocs:
>>> @$(srctree)/scripts/sphinx-pre-install --version-check
>>> @+$(foreach var,$(SPHINXDIRS),$(call loop_cmd,sphinx,html,$(var),,$(var)))
>>>
>>> i.e. multiple Sphinx invocations instead of just one?
>>>
>>> Broken record, I still think we should axe the Makefile hacks out of the
>>> Sphinx build altogether, and let Sphinx handle everything, via
>>> extensions if necessary.
>>
>> Indeed. On my machine, 'make htmldocs' spawns eight sphinx-build
>> processes, each running with -j8, and each racing for the same
>> doctrees. And the whole thing is apparently parallelized to 64 threads,
>> which is unlikely to be the most efficient.
>>
>> There's no reason to blame Sphinx upstream before we get our end
>> together, and run Sphinx as it was designed.
>
> I don't reproduce this here, either with plain 'make htmldocs' or 'make
> -j8 htmldocs' -- in either case the process tree is:
>
> make ... htmldocs
> - make ... htmldocs
> - make -f ./scripts/Makefile.build obj=Documentation htmldocs
> - /bin/sh -c make ...
> - python3 ./scripts/jobserver-exec sh
> ./Documentation/sphinx/parallel-wrapper.sh sphinx-build -b html ...
> - /usr/bin/python3 /usr/bin/sphinx-build -j... -b html ...
>
> Neither the $(foreach) in the Makefile nor $(call loop_cmd) should
> result in parallel invocations.
>
> Could you double check the process tree once the "Using alabaster theme"
> message has appeared?
$ pstree -A 3457144
bash---make---make---make---make---sh---python3---sphinx-build-+-7*[sphinx-build]
`-sphinx-build---perl
Maybe try after 'make cleandocs'.
BR,
Jani.
>
>
> Vegard
--
Jani Nikula, Intel
next prev parent reply other threads:[~2024-09-05 14:08 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-05 11:35 [PATCH] docs: Build kernel docs deterministically bernhard+linux-doc
2024-09-05 12:04 ` Jani Nikula
2024-09-05 12:20 ` Jani Nikula
2024-09-05 13:29 ` Vegard Nossum
2024-09-05 14:08 ` Jani Nikula [this message]
2024-09-05 14:50 ` Vegard Nossum
2024-09-05 12:57 ` Bernhard M. Wiedemann
2024-09-05 13:07 ` Jani Nikula
2024-09-05 18:01 ` Jonathan Corbet
2024-09-05 18:38 ` Jani Nikula
2024-09-05 19:19 ` Jani Nikula
2024-09-06 13:43 ` Bernhard M. Wiedemann
2024-09-06 9:11 ` Vegard Nossum
2024-09-06 13:56 ` Bernhard M. Wiedemann
2024-09-06 14:53 ` Akira Yokosawa
2024-09-20 7:01 ` [PATCH] docs/zh_TW+zh_CN: Make rst references unique bernhard+linux-doc
2024-09-23 5:36 ` Yanteng Si
2024-10-07 17:23 ` Jonathan Corbet
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=87plpip51a.fsf@intel.com \
--to=jani.nikula@linux.intel.com \
--cc=bernhard+linux-doc@lsmod.de \
--cc=bwiedemann@suse.de \
--cc=linux-doc@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=vegard.nossum@oracle.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.