audk/MdeModulePkg/Core/Dxe
Samer El-Haj-Mahmoud 82f3edf26a MdeModulePkg: Remove event from protocol database only if registered
In a CloseEvent, an UnregisterProtocolNotify is done unconditionally.
There is a penalty associated with searching the protocol database on
every CloseEvent and impacts performance, especially during Network IO.
Unregister needs to be done only if the Event is for a RegisterProtocolNotify.

So extend the ExFlag in IEVENT to a UINT8 and define new flags that can
be set to indicate if the Event is part of a group, or registered on a
protocol notify. Then in CloseEvent, call UnregisterProtocolNotify only
if the register protocol notify flag is set.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Samer El-Haj-Mahmoud <samer.el-haj-mahmoud@hpe.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18517 6f19259b-4bc3-4df7-8a09-765794883524
2015-09-21 01:53:34 +00:00
..
Dispatcher MdeModulePkg DxeCore: Fix VS2013 build failure. 2014-11-19 07:11:59 +00:00
DxeMain MdeModulePkg DxeCore: Move ProcessLibraryConstructorList() 2015-08-04 01:41:48 +00:00
Event MdeModulePkg: Remove event from protocol database only if registered 2015-09-21 01:53:34 +00:00
FwVol MdeModulePkg DxeCore: Fix potential FV overflow of 4GB boundary on a 32-bit systems. 2014-12-17 00:39:51 +00:00
FwVolBlock DxeCore is designed to trust input data, so add comments to reminder caller to do check to follow PI specification when necessary. 2014-01-17 03:42:09 +00:00
Gcd MdeModulePkg/Core/Dxe/Gcd: remove set but not used variables 2015-09-21 00:50:32 +00:00
Hand MdeModulePkg: Remove event from protocol database only if registered 2015-09-21 01:53:34 +00:00
Image MdeModulePkg: Update DxeCore to handle LoadFile DevicePath 2015-07-02 04:28:21 +00:00
Library Update the copyright notice format 2010-04-24 09:49:11 +00:00
Mem MdeModulePkg: Merge GCD range before convert it to EFI memory 2015-07-02 07:48:48 +00:00
Misc MdeModulePkg: Refine code to make it more readable. 2015-07-03 01:39:06 +00:00
SectionExtraction MdeModulePkg DxeCore: Don't cache memory mapped IO FV. 2014-08-27 08:31:44 +00:00
DxeCore.uni MdeModulePkg: Convert non DOS format files to DOS format and remove unused module UNI files. 2014-09-03 08:39:12 +00:00
DxeCoreExtra.uni MdeModulePkg: INF/DEC file updates to EDK II packages 2014-08-28 06:53:43 +00:00
DxeMain.h MdeModulePkg: move arch-specific allocation granularity defines to DxeMain.h 2015-07-02 07:32:44 +00:00
DxeMain.inf MdeModulePkg: rename PropertiesTableEnable to PcdPropertiesTableEnable 2015-07-02 07:32:33 +00:00