Commit Graph

5 Commits

Author SHA1 Message Date
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
hhtian cd5ebaa06d Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10420 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-24 09:49:11 +00:00
rsun3 1ccdbf2a3e Improve coding style in MdeModulePkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9793 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-19 06:42:21 +00:00
qhuang8 f3f2e05db8 Clean up to update the reference of the these macros:
EFI_SIGNATURE_16 -> SIGNATURE_16
  EFI_SIGNATURE_32 -> SIGNATURE_32
  EFI_SIGNATURE_64 -> SIGNATURE_64
  EFI_FIELD_OFFSET -> OFFSET_OF
  EFI_MAX_BIT      -> MAX_BIT
  EFI_MAX_ADDRESS  -> MAX_ADDRESS
These macros are not defined in UEFI spec. It makes more sense to use the equivalent macros in Base.h to avoid alias.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7056 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-16 15:34:21 +00:00
eric_tian ec90508b3d move header files in MdeModulePkg\Core\Dxe except DxeMain.h into their corresponding sub-module directories. It is used to provide good modularity.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5949 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-23 07:35:34 +00:00