RE: [PATCH 0/2] Fix boot hang issue on Ampere Emag server

From: Justin He
Date: Tue Jan 31 2023 - 10:31:56 EST




> -----Original Message-----
> From: Justin He
> Sent: Tuesday, January 31, 2023 11:22 PM
> To: Ard Biesheuvel <ardb@xxxxxxxxxx>; Jason A. Donenfeld <Jason@xxxxxxxxx>
> Cc: Huacai Chen <chenhuacai@xxxxxxxxxx>; linux-efi@xxxxxxxxxxxxxxx;
> linux-kernel@xxxxxxxxxxxxxxx; Alexandru Elisei <Alexandru.Elisei@xxxxxxx>
> Subject: RE: [PATCH 0/2] Fix boot hang issue on Ampere Emag server
>
> Hi Ard,
>
> > -----Original Message-----
> > From: Ard Biesheuvel <ardb@xxxxxxxxxx>
> > Sent: Tuesday, January 31, 2023 3:19 PM
> > To: Justin He <Justin.He@xxxxxxx>; Jason A. Donenfeld <Jason@xxxxxxxxx>
> > Cc: Huacai Chen <chenhuacai@xxxxxxxxxx>; linux-efi@xxxxxxxxxxxxxxx;
> > linux-kernel@xxxxxxxxxxxxxxx; Alexandru Elisei <Alexandru.Elisei@xxxxxxx>
> > Subject: Re: [PATCH 0/2] Fix boot hang issue on Ampere Emag server
> >
> > (cc Jason for awareness)
> >
> > On Tue, 31 Jan 2023 at 05:04, Jia He <justin.he@xxxxxxx> wrote:
> > >
> > > I met a hung task warning and then kernel was hung forever with latest
> > > kernel on an Ampere Emag server.
> > >
> > > The root cause is kernel was hung when invoking an efi rts call to
> > > set the RandomSeed variable during the booting stage. The
> > > arch_efi_call_virt call (set_variable) was never returned and then caused
> the
> > hung task error.
> > >
> >
> > Given that EFI variables work on this platform (as far as I know), the problem
> > may be that we are calling SetVariable() too early.
> >
> > Could you double check whether setting variables works as expected?
> > You can use efibootmgr -t 10 as root (for example) to set the boot timeout,
> and
> > check whether the new value is retained after a reboot (efibootmgr will print
> > the current value for you)
> >
> > Could you also please share the kernel log up until the point where it hangs?
> >
> The set_variable seems to be ok in 5.19+:
> root@:~# efibootmgr -t 10
> BootCurrent: 0000
> Timeout: 10 seconds
> BootOrder: 0000,0004,0003,0002,0001
> Boot0000* ubuntu
> Boot0001* grub
> Boot0002* UEFI: Built-in EFI Shell
> Boot0003* UEFI: PXE boot on MAC: 4C:38:D5:08:F6:02
> Boot0004* ubuntu
> root@:~# efibootmgr -t 9
> BootCurrent: 0000
> Timeout: 9 seconds
> BootOrder: 0000,0004,0003,0002,0001
> Boot0000* ubuntu
> Boot0001* grub
> Boot0002* UEFI: Built-in EFI Shell
> Boot0003* UEFI: PXE boot on MAC: 4C:38:D5:08:F6:02
> Boot0004* ubuntu
> root@:~# uname -a
> Linux $machine_name 5.19.0+ #228 SMP Wed Aug 17 13:22:29 UTC 2022
> aarch64 aarch64 aarch64 GNU/Linux
>
> The dmesg log until the hung(some information was removed, eg, hostname):
>
Sorry, I noticed my previous mail might be bounced back if the text is too long.
I pasted it to online Pastebin.com
https://pastebin.com/3zQyryp1

Hope it helps

Cheers,
Justin
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.