[PATCH v6 0/3] Static initcalls
Jerome Forissier
jerome.forissier at linaro.org
Fri Jul 4 10:33:01 CEST 2025
Hi Fabio,
On 7/4/25 04:34, Fabio Estevam wrote:
> Adding Tom.
>
> On Thu, Jul 3, 2025 at 11:33 PM Fabio Estevam <festevam at gmail.com> wrote:
>>
>> Hi Jerome and Tom,
>>
>> On Fri, Apr 4, 2025 at 10:51 AM Jerome Forissier
>> <jerome.forissier at linaro.org> wrote:
>>>
>>> This series replaces the dynamic initcalls (with function pointers) with
>>> static calls, and gets rid of initcall_run_list(), init_sequence_f,
>>> init_sequence_f_r and init_sequence_r. This makes the code simpler and the
>>> binary slighlty smaller: -2281 bytes/-0.21 % with LTO enabled and -510
>>> bytes/-0.05 % with LTO disabled (xilinx_zynqmp_kria_defconfig).
>>>
>>> Execution time doesn't seem to change noticeably. There is no impact on
>>> the SPL.
>>>
>>> The inline assembly fixes, although they look unrelated, are triggered
>>> on some platforms with LTO enabled. For example: kirkwood_defconfig.
>>>
>>> CI: https://source.denx.de/u-boot/custodians/u-boot-net/-/pipelines/25514
>>>
>>> Changes in v6:
>>> - Rebase on next branch
>>
>> This series breaks the boot on an imx6dl sabresd board (mx6sabresd_defconfig):
>>
>> U-Boot SPL 2025.04-01075-g3c9c3d852e00 (Jul 03 2025 - 23:23:12 -0300)
>> Trying to boot from MMC1
>>
>> (Hangs here)
>>
>> I ran a git bisect from 2025.04 to master, and that was the result:
>>
>> 8c98b57d72d5e5b94ed064fe1041e51216165334 is the first bad commit
>> commit 8c98b57d72d5e5b94ed064fe1041e51216165334
>> Merge: 739ad58dbee8 bbee3d41b33f
>> Author: Tom Rini <trini at konsulko.com>
>> Date: Mon Apr 14 08:59:45 2025 -0600
>>
>> Merge patch series "Static initcalls"
>>
>> Jerome Forissier <jerome.forissier at linaro.org> says:
>>
>> This series replaces the dynamic initcalls (with function pointers) with
>> static calls, and gets rid of initcall_run_list(), init_sequence_f,
>> init_sequence_f_r and init_sequence_r. This makes the code simpler and the
>> binary slighlty smaller: -2281 bytes/-0.21 % with LTO enabled and -510
>> bytes/-0.05 % with LTO disabled (xilinx_zynqmp_kria_defconfig).
>>
>> Execution time doesn't seem to change noticeably. There is no impact on
>> the SPL.
>>
>> The inline assembly fixes, although they look unrelated, are triggered
>> on some platforms with LTO enabled. For example: kirkwood_defconfig.
>>
>> CI: https://source.denx.de/u-boot/custodians/u-boot-net/-/pipelines/25514
>>
>> Link: https://lore.kernel.org/r/20250404135038.2134570-1-jerome.forissier@linaro.org
>>
>> arch/arm/include/asm/system.h | 22 ++-
>> arch/arm/lib/cache.c | 5 +-
>> arch/arm/mach-kirkwood/include/mach/cpu.h | 9 +-
>> arch/sh/lib/board.c | 9 +-
>> common/board_f.c | 223 ++++++++++++++-------------
>> common/board_r.c | 247 +++++++++++++++---------------
>> include/initcall.h | 49 +++---
>> lib/Makefile | 1 -
>> lib/initcall.c | 102 ------------
>> test/py/tests/test_trace.py | 8 +-
>> 10 files changed, 297 insertions(+), 378 deletions(-)
>> delete mode 100644 lib/initcall.c
>>
>> Any ideas?
Have you tried the master branch recently? Hopefully commit 410d59095a9f
("arm: kirkwood: fix freeze on boot") should fix the issue.
Thanks,
--
Jerome
More information about the U-Boot
mailing list