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