[Performance Regression since v6.15] empty docs build with O= option

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

Here is a follow-up to my message at:
https://lore.kernel.org/d12fb63e-b346-4094-b9d6-aa6823aea541@xxxxxxxxx/

Quoting relevant parts for your convenience:

Akira wrote:
> As a matter of fact, I'm seeing weird performance regression of empty
> documentation builds when the O=<somedir> option is used.
>
> It appeared in v6.15, which has your conversion of get_abi.pl into
> get_abi.py.  Will send a report once the time-consuming bisection
> completes.

Answer to Mauro's question at:
https://lore.kernel.org/20250711130446.1b761538@xxxxxxx/

Mauro wrote:
> Did you try with docs-next instead? I remember Jon caught one
> issue causing the doctree cache to expire. Can't remember if this
> was on 6.15 or at docs-next, but the fixes should be applied there.

Jon's complaint at https://lore.kernel.org/87frfsdfgc.fsf@xxxxxxxxxxxxxx/
was against Mauro's v2 series.

Jon has applied the v3 series with the issue fixed at:
https://lore.kernel.org/cover.1750571906.git.mchehab+huawei@xxxxxxxxxx/

, so the issue has never been in docs-next.

I'm not a python person and bisection is all I could do.

TL;DR

2nd run of "make O=$HOME/output htmldocs" takes much longer since kernel
release v6.15.

2nd run is an empty build and should finish in a matter of 10 seconds.

"make htmldocs" without the O= option doesn't show this symptom.

Here is a summary table.

Note:
    Numbers shown as (x) [y] mean 2nd "make O=$HOME/output htmldocs" run
    takes x seconds, while 2nd "make htmldocs" run takes y seconds
    (rounded up).

       ----------------------------------------
Sphinx      8.2.3 venv       8.1.3     7.2.6 
       ------------------- --------- ----------
Distro    f42      noble      f42      noble 
       --------- --------- --------- ----------
Good   (13) [13] (16) [16] ( 6) [ 6] (  9) [ 9] v6.14
Bad            ---         (72) [ 6] (349) [11] v6.15
Bad            ---         (72) [ 6] (365) [11] v6.16-rc1 + [1]
Bad            ---         (72) [ 7] (342) [10] docs-next (2025.07.11) + [1]
Bad    (77) [14] (82) [15] (73) [ 8] (347) [11] docs-next (2025.07.11) + [1,2,3]
       --------- --------- --------- ----------

[1]: cherry-pick 553ab30a1810 ("Documentation: nouveau: Update GSP message
     queue kernel-doc reference"), to suppress noise of error handling within
     Sphinx.
[2]: Mauro's ynl series v9 at https://lore.kernel.org/cover.1752076293.git.mchehab+huawei@xxxxxxxxxx/
     (14/13 applied)
[3]: Jon's kdoc series v2 at https://lore.kernel.org/20250710233142.246524-1-corbet@xxxxxxx/
     (12/12 as is)

f42: python 3.13.5, noble: 3.12.3

* Bisection result

Sphinx 8.2.3 (venv) on top of ubuntu:noble (python 3.12.3):

Last good commit:
(16) 6b48bea16848 ("scripts/get_abi.py: add support for symbol search")

First bad commit:
(48) 9d7ec8867960 ("docs: use get_abi.py for ABI generation")

Merged into Jon's docs-mw branch at:
(82) 1ce8294cfefb ("Merge branch 'mauro' into docs-mw")

Pre merge commits of 1ce8294cfefb:
(15) 2b087edf588c ("docs/zh_CN: Add secrets index Chinese translation")
(82) 1c7e66bc5d20 ("scripts/get_abi.pl: drop now obsoleted script")

Again, The numbers enclosed in () indicate the elapsed times (in seconds,
rounded up) of 2nd "make O=$HOME/output htmldocs" runs.

Sphinx 8.2.3 takes longer than 8.1.3 for empty builds, but it is likely
an independent issue on Sphinx side.

Mauro, I'd like you to have a look into this regression.

        Thanks, Akira








[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux