I agree that this implements the similar check as other optional protocols to adjust driver binding order to skip checks for which where are no instances of the optional protocol.
Reviewed-by: Michael D Kinney <michael.d.kin...@intel.com> > -----Original Message----- > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Zhi Jin > Sent: Tuesday, January 16, 2024 10:45 PM > To: devel@edk2.groups.io > Cc: Jin, Zhi <zhi....@intel.com>; Liming Gao <gaolim...@byosoft.com.cn>; > Ni, Ray <ray...@intel.com> > Subject: [edk2-devel] [PATCH 2/2] MdeModulePkg: Optimize > CoreConnectSingleController > > CoreConnectSingleController() searches for the Driver Family Override > Protocol drivers by looping and checking each Driver Binding Handles. > This loop can be skipped by checking if any Driver Family Override > Protocol installed in the platform first, to improve the performance. > > Cc: Liming Gao <gaolim...@byosoft.com.cn> > Cc: Ray Ni <ray...@intel.com> > Signed-off-by: Zhi Jin <zhi....@intel.com> > --- > MdeModulePkg/Core/Dxe/Hand/DriverSupport.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/MdeModulePkg/Core/Dxe/Hand/DriverSupport.c > b/MdeModulePkg/Core/Dxe/Hand/DriverSupport.c > index 0b824c62b7..64d7474f15 100644 > --- a/MdeModulePkg/Core/Dxe/Hand/DriverSupport.c > +++ b/MdeModulePkg/Core/Dxe/Hand/DriverSupport.c > @@ -497,7 +497,12 @@ CoreConnectSingleController ( > // > // Add the Driver Family Override Protocol drivers for > ControllerHandle > // > - while (TRUE) { > + Status = CoreLocateProtocol ( > + &gEfiDriverFamilyOverrideProtocolGuid, > + NULL, > + (VOID **)&DriverFamilyOverride > + ); > + while (!EFI_ERROR (Status) && (DriverFamilyOverride != NULL)) { > HighestIndex = DriverBindingHandleCount; > HighestVersion = 0; > for (Index = 0; Index < DriverBindingHandleCount; Index++) { > -- > 2.39.2 > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#114106): https://edk2.groups.io/g/devel/message/114106 Mute This Topic: https://groups.io/mt/103781274/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/leave/9847357/21656/1706620634/xyzzy [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-