diff options
author | Zhi Jin <zhi.jin@intel.com> | 2023-11-08 10:39:49 +0800 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2023-12-01 00:53:56 +0000 |
commit | 534021965f6f7c417610add53984f39d6945bbcf (patch) | |
tree | 549b76a08f2b78d91cb8aa9c21a6094de868bf76 /RedfishPkg/RedfishPkg.dec | |
parent | 26d484d0867b03ebd8a1ecdd9895f17e96732503 (diff) | |
download | edk2-534021965f6f7c417610add53984f39d6945bbcf.tar.gz edk2-534021965f6f7c417610add53984f39d6945bbcf.tar.bz2 edk2-534021965f6f7c417610add53984f39d6945bbcf.zip |
MdeModulePkg: Optimize CoreInstallMultipleProtocolInterfaces
CoreLocateDevicePath is used in CoreInstallMultipleProtocolInterfaces to
check if a Device Path Protocol instance with the same device path is
alreay installed.
CoreLocateDevicePath is a generic API, and would introduce some
unnecessary overhead for such usage.
The optimization is:
1. Implement IsDevicePathInstalled to loop all the Device Path
Protocols installed and check if any of them matchs the given device
path.
2. Replace CoreLocateDevicePath with IsDevicePathInstalled in
CoreInstallMultipleProtocolInterfaces.
This optimization could save several seconds in PCI enumeration on a
system with many PCI devices.
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Dandan Bi <dandan.bi@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Signed-off-by: Zhi Jin <zhi.jin@intel.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
Diffstat (limited to 'RedfishPkg/RedfishPkg.dec')
0 files changed, 0 insertions, 0 deletions