Re: [edk2-devel] [PATCH 4/5] ArmPkg/PlatformBootManagerLib: don't connect all devices on each boot

2020-05-27 Thread Laszlo Ersek
On 05/26/20 18:13, Ard Biesheuvel wrote:
> In order to avoid boot delays from devices such as network controllers
> that may not even be involved in booting at all, drop the call to
> EfiBootManagerConnectAll () from the boot path. It will be called by
> UiApp, so when going through the menu, all devices will be connected
> as usual, but for the default boot, it is really not necessary so
> let's get rid of this.

I would slightly extend the commit message:

"It will be called by UiApp (or DeviceManagerUiLib, per commit
13406bdeb5c5)"

Not strictly necessary, I just think mentioning it wouldn't be useless.

> 
> Enumerating all possible boot options and creating Boot variables
> for them is equally unnecessary in the default case, and also happens
> automatically in UiApp, so drop that as well.

EfiBootManagerRefreshAllBootOption() makes sure we have boot options for
everything that we *do* connect.

If the "set of controllers we connect" does not change independently of
the "set of boot options we have", then I agree removing
EfiBootManagerRefreshAllBootOption() as well makes sense. (This
condition does not hold on the QEMU platforms.)

So,

Reviewed-by: Laszlo Ersek 

Thanks
Laszlo

> 
> Signed-off-by: Ard Biesheuvel 
> ---
>  ArmPkg/Library/PlatformBootManagerLib/PlatformBm.c | 10 --
>  1 file changed, 10 deletions(-)
> 
> diff --git a/ArmPkg/Library/PlatformBootManagerLib/PlatformBm.c 
> b/ArmPkg/Library/PlatformBootManagerLib/PlatformBm.c
> index b465f9ff388f..618072405a50 100644
> --- a/ArmPkg/Library/PlatformBootManagerLib/PlatformBm.c
> +++ b/ArmPkg/Library/PlatformBootManagerLib/PlatformBm.c
> @@ -753,11 +753,6 @@ PlatformBootManagerAfterConsole (
>  }
>}
>  
> -  //
> -  // Connect the rest of the devices.
> -  //
> -  EfiBootManagerConnectAll ();
> -
>//
>// On ARM, there is currently no reason to use the phased capsule
>// update approach where some capsules are dispatched before EndOfDxe
> @@ -767,11 +762,6 @@ PlatformBootManagerAfterConsole (
>//
>HandleCapsules ();
>  
> -  //
> -  // Enumerate all possible boot options.
> -  //
> -  EfiBootManagerRefreshAllBootOption ();
> -
>//
>// Register UEFI Shell
>//
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#60360): https://edk2.groups.io/g/devel/message/60360
Mute This Topic: https://groups.io/mt/74481039/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [PATCH 4/5] ArmPkg/PlatformBootManagerLib: don't connect all devices on each boot

2020-05-26 Thread Ard Biesheuvel
In order to avoid boot delays from devices such as network controllers
that may not even be involved in booting at all, drop the call to
EfiBootManagerConnectAll () from the boot path. It will be called by
UiApp, so when going through the menu, all devices will be connected
as usual, but for the default boot, it is really not necessary so
let's get rid of this.

Enumerating all possible boot options and creating Boot variables
for them is equally unnecessary in the default case, and also happens
automatically in UiApp, so drop that as well.

Signed-off-by: Ard Biesheuvel 
---
 ArmPkg/Library/PlatformBootManagerLib/PlatformBm.c | 10 --
 1 file changed, 10 deletions(-)

diff --git a/ArmPkg/Library/PlatformBootManagerLib/PlatformBm.c 
b/ArmPkg/Library/PlatformBootManagerLib/PlatformBm.c
index b465f9ff388f..618072405a50 100644
--- a/ArmPkg/Library/PlatformBootManagerLib/PlatformBm.c
+++ b/ArmPkg/Library/PlatformBootManagerLib/PlatformBm.c
@@ -753,11 +753,6 @@ PlatformBootManagerAfterConsole (
 }
   }
 
-  //
-  // Connect the rest of the devices.
-  //
-  EfiBootManagerConnectAll ();
-
   //
   // On ARM, there is currently no reason to use the phased capsule
   // update approach where some capsules are dispatched before EndOfDxe
@@ -767,11 +762,6 @@ PlatformBootManagerAfterConsole (
   //
   HandleCapsules ();
 
-  //
-  // Enumerate all possible boot options.
-  //
-  EfiBootManagerRefreshAllBootOption ();
-
   //
   // Register UEFI Shell
   //
-- 
2.17.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#60290): https://edk2.groups.io/g/devel/message/60290
Mute This Topic: https://groups.io/mt/74481039/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-