audk/MdeModulePkg/Core/Dxe/Event
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
..
Event.c MdeModulePkg: Remove event from protocol database only if registered 2015-09-21 01:53:34 +00:00
Event.h MdeModulePkg: Remove event from protocol database only if registered 2015-09-21 01:53:34 +00:00
Timer.c
Tpl.c MdeModulePkg DxeCore: Add debug message to assist TPL related issues. 2015-06-01 06:40:38 +00:00