Re: [PATCH v2] efi: Allow to enable EFI runtime services by default on RT

From: Ard Biesheuvel
Date: Fri Apr 01 2022 - 04:34:25 EST


On Fri, 1 Apr 2022 at 10:33, Javier Martinez Canillas
<javierm@xxxxxxxxxx> wrote:
>
> Hello Sebastian,
>
> On 4/1/22 09:42, Sebastian Andrzej Siewior wrote:
> > On 2022-04-01 00:19:57 [+0200], Javier Martinez Canillas wrote:
> >>> In case of (CONFIG_PREEMPT_RT=y && CONFIG_EFI_DISABLE_RUNTIME=n),
> >>> shouldn't we add a small message in the kernel log warning that EFI
> >>> runtime services are enabled for the RT kernel?
> >>>
> >>> In almost all HW, except custom ones with "verified" firmware, such a
> >>> warning would be useful... This is especially true since in the embedded
> >>
> >> I considered that as well but was not sure about what that message should be.
> >
> > This makes sense and we had this in the past but dropped it for some
> > reason.
> >
>
> Ok, something like the following maybe? If you agree, I'll squash in v3:
>
> diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c
> index ff57db8f8d05..08d329a5179b 100644
> --- a/drivers/firmware/efi/efi.c
> +++ b/drivers/firmware/efi/efi.c
> @@ -362,6 +362,8 @@ static int __init efisubsys_init(void)
>
> if (!efi_enabled(EFI_RUNTIME_SERVICES))
> efi.runtime_supported_mask = 0;
> + else if (IS_ENABLED(CONFIG_PREEMPT_RT))
> + pr_warn("EFI runtime services can lead to high latencies on Real-Time kernels\n");
>
> if (!efi_enabled(EFI_BOOT))
> return 0;
>


I don't think we need another warning.

The kernel log already tells you whether or not EFI runtime services
are enabled.