From: Randy Dunlap <rdunlap@infradead.org>
To: Markus Heiser <markus.heiser@darmarit.de>,
Kees Cook <keescook@chromium.org>,
Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Jonathan Corbet <corbet@lwn.net>,
"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>
Subject: Re: Sphinx parallel build errors
Date: Tue, 29 Oct 2019 12:41:02 -0700 [thread overview]
Message-ID: <c0f0af19-0a77-8640-0152-7558aa367752@infradead.org> (raw)
In-Reply-To: <205d5664-88b9-36d4-75f3-67b51884bbda@darmarit.de>
On 10/29/19 1:16 AM, Markus Heiser wrote:
> Am 28.10.19 um 20:07 schrieb Kees Cook:
>> On Sun, Oct 27, 2019 at 04:05:07PM -0300, Mauro Carvalho Chehab wrote:
>>> Em Sun, 27 Oct 2019 11:30:22 -0700
>>> Randy Dunlap <rdunlap@infradead.org> escreveu:
>>>
>>>> On 10/27/19 11:17 AM, Jonathan Corbet wrote:
>>>>> On Sun, 27 Oct 2019 11:11:57 -0700
>>>>> Randy Dunlap <rdunlap@infradead.org> wrote:
>>>>>
>>>>>>> Yes, I see oom-kills when building docs for 5.4-rc2.
>>>>>>> But only after I ran 'gimp *.jpg' for 22 photos.
>>>>>>>
>>>>>>> I can see anywhere from 1 to 4 sphinx-build processes running.
>>>>>>
>>>>>> I continue to have oom-kills when building docs.
>>>
>>> My 2 cents here.
>>>
>>> I would keep the default to use more CPUs, as nowadays I suspect that
>>> most devs have a way more than 8GB installed. The worse machine I use
>>> here to build Kernel is a Gen-3 i5 that has has 16GB (and it is a
>>> personal laptop I bought 5 years ago).
>>>
>>> Yet, I agree that doc build should be saner on low-cap machines.
>>>
>
> In the past I run sphinx builds on a small 4GB VM (2cpu) without any problems.
> (nowadays) 16 CPU, 16 GB PC with sphinx-build the max load of my whole PC is
> about 5GB (*more CPUs need more mem*).
>
> @Randy you said the build machine hase 8GB .. and how much CPUs?
4.
>>> Ideally, the fix should be, IMHO, at sphinx-build: -jauto should
>>> detect OOM possible conditions and reduce the number of used CPUs
>>> it the max available memory is too low.
>>
>> How can we determine that dynamically, though? e.g. how do we determine
>> how much is needed per thread in a way that will move with the future
>> needs of Sphinx, etc?
>
> d'accord
>
>>> As there's now a script at Kernel, maybe the script could be modified
>>> to detect if the max available memory is too low, passing -j1 if,
>>> let's say, the machine has less than (let's say) 16 GB RAM.
>>
>> Randy, are you able to just use -j2 or similar with your builds to avoid
>> this?
No, sometimes even -j1 fails with oom-killer.
>
> Sphinx-doc is pure Python, it runs a lot of regexpr and is moving string,
> nothing special .. maybe we have a mem leak in one of our extensions?
>
> @Kess: why did you mentioning MAINTAINERS parsing .. did you observe anything
> strange?
>
> Maybe one of the tools used by sphinx is buggy (latex, dot, image-magic) .. needs investigation.
>
> @Randy: my first questions are:
>
> - cpu / mem?
> - are OOM-kills when building target htmldocs, pdfdocs or ..?
htmldocs
> - which py & sphinx version are used? Reference installation see 'virtualenv'
> in [1]
Python 2.7.14
sphinx-build 1.7.6
> -- Markus --
>
>
> [1] https://www.kernel.org/doc/html/latest/doc-guide/sphinx.html#sphinx-install
thanks.
--
~Randy
next prev parent reply other threads:[~2019-10-29 19:41 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-09 21:37 Sphinx parallel build errors Randy Dunlap
2019-10-09 21:40 ` Jonathan Corbet
2019-10-09 22:18 ` Randy Dunlap
2019-10-10 2:30 ` Kees Cook
2019-10-10 3:00 ` Bhaskar Chowdhury
2019-10-10 18:48 ` Jonathan Corbet
2019-10-10 20:15 ` Randy Dunlap
2019-10-27 18:11 ` Randy Dunlap
2019-10-27 18:17 ` Jonathan Corbet
2019-10-27 18:30 ` Randy Dunlap
2019-10-27 19:05 ` Mauro Carvalho Chehab
2019-10-27 19:36 ` Randy Dunlap
2019-10-28 19:07 ` Kees Cook
2019-10-29 8:16 ` Markus Heiser
2019-10-29 16:09 ` Kees Cook
2019-10-29 19:41 ` Randy Dunlap [this message]
2019-10-29 19:57 ` Markus Heiser
2019-10-29 20:10 ` Randy Dunlap
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=c0f0af19-0a77-8640-0152-7558aa367752@infradead.org \
--to=rdunlap@infradead.org \
--cc=corbet@lwn.net \
--cc=keescook@chromium.org \
--cc=linux-doc@vger.kernel.org \
--cc=markus.heiser@darmarit.de \
--cc=mchehab@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).