diff options
author | Xiaoqiang Zhang <xiaoqiang.zhang@intel.com> | 2024-08-07 11:42:44 +0300 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2024-08-30 14:42:41 +0300 |
commit | 0596e5fa05a7badb30fb3d4092d41a787788655c (patch) | |
tree | 4efd65bca6cb697535d12348b93876b1cc0b6d80 /BaseTools/Source/Python/Trim/Trim.py | |
parent | a63a7dbf85963d0c11617173b117ca9edb645875 (diff) | |
download | edk2-0596e5fa05a7badb30fb3d4092d41a787788655c.tar.xz |
MdeModulePkg: CoreValidateHandle Optimization
REF : https://bugzilla.tianocore.org/show_bug.cgi?id=4817
Before entering BIOS setup, CoreValidateHandle function executed
over 600,000 times during BDS phase on latest 8S server platform.
In CoreValidateHandle function, current implementation will go
through the doubly-linked list handle database in each call, and
this will have big impact on boot performance.
The optimization is using Red-black tree to store the EFI handle
address when insert each EFI handle into the handle database, and
remove the handle from Red-black tree if the handle is removed
from the handle database. CoreValidateHandle function changed to
go through the Red-black tree.
After verification on latest 8S server platform, BDS boot time can
save 20s+ after this change.
Cc: Ray Ni <ray.ni@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Signed-off-by: Andrew Fish <afish@apple.com>
Tested-by: Xiaoqiang Zhang <xiaoqiang.zhang@intel.com>
Diffstat (limited to 'BaseTools/Source/Python/Trim/Trim.py')
0 files changed, 0 insertions, 0 deletions