Aw: Re: [PATCH] board: mediatek: disable watchdog on BananaPi R2

Heinrich Schuchardt xypron.glpk at gmx.de
Mon Jan 11 11:50:22 CET 2021


On 11.01.21 11:24, Frank Wunderlich wrote:
>
>> Gesendet: Montag, 11. Januar 2021 um 09:57 Uhr
>> Von: "Heinrich Schuchardt" <xypron.glpk at gmx.de>
>
>> I observed that on some recent version Linux before 5.10 booting seemed
>> to be delayed by dozens of seconds on many boards. On which Linux
>> version did you see the problem?
>>
>>>>>
>>>>> I've not much experience (yet) with the "EFI stub". But if it takes
>>>>> this
>>>>> long, wouldn't it make sense that this stub also supports the WDT?
>>>>
>>>> efi_timer_check() calls WATCHDOG_RESET() trying to avoid that the
>>>> hardware watchdog is triggered.
>
>>> So efi_timer_check() is called quite frequently and should be enough
>>> to reset the U-Boot WDT while residing in EFI? Not sure, why the reset
>>> occurs in Matthias's case then.
>
> Matthias could you check if/when/how often efi_timer_check is called in you bootprocess?
>
>> efi_timer_check() is only invoked, if the UEFI API is invoked.
>> Especially if the problem occurs after ExitBootServices() it is not
>> called anymore.
>>
>>>
>>>> There is a software watchdog
>>>> defaulting to 5 minutes in efi_watchdog.c which can be modified
>>>> via the EFI API.
>
>> It would be interesting to understand if your problem occurs before or
>> after efi_exit_boot_services() is called. You could you add printf()
>> statements after EFI_ENTRY() and before EFI_EXIT() to see if it is reached.
>>
>> Could you further, please, test if adding wdt_stop() to the start of
>> do_bootefi() in cmd/bootefi.c solves your problem.
>
> should efi_timer_check not be called there to reset WDT-timer a last time to leave the
> maximum time for booting linux kernel? maybe a wdt_stop is not neccessary anymore then

WATCHDOG_RESET() is already the last call in efi_exit_boot_services().

Best regards

Heinrich


More information about the U-Boot mailing list