| From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> |
| Date: Thu, 26 Jul 2018 15:03:16 +0200 |
| Subject: [PATCH] efi: Disable runtime services on RT |
| |
| Based on meassurements the EFI functions get_variable / |
| get_next_variable take up to 2us which looks okay. |
| The functions get_time, set_time take around 10ms. Those 10ms are too |
| much. Even one ms would be too much. |
| Ard mentioned that SetVariable might even trigger larger latencies if |
| the firware will erase flash blocks on NOR. |
| |
| The time-functions are used by efi-rtc and can be triggered during |
| runtimed (either via explicit read/write or ntp sync). |
| |
| The variable write could be used by pstore. |
| These functions can be disabled without much of a loss. The poweroff / |
| reboot hooks may be provided by PSCI. |
| |
| Disable EFI's runtime wrappers. |
| |
| This was observed on "EFI v2.60 by SoftIron Overdrive 1000". |
| |
| Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> |
| --- |
| drivers/firmware/efi/efi.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/firmware/efi/efi.c |
| +++ b/drivers/firmware/efi/efi.c |
| @@ -75,7 +75,7 @@ static unsigned long *efi_tables[] = { |
| &efi.mem_attr_table, |
| }; |
| |
| -static bool disable_runtime; |
| +static bool disable_runtime = IS_ENABLED(CONFIG_PREEMPT_RT_BASE); |
| static int __init setup_noefi(char *arg) |
| { |
| disable_runtime = true; |