[edk2-devel] [PATCH v3 0/4] Use XADD to avoid lock acquire/release

Ni, Ray ray.ni at intel.com
Tue Feb 9 14:16:30 UTC 2021


Patch #1 follows Mike's suggestion to use XADD to avoid lock acquire/release.
Patch #2 follows Laszlo's suggestion to add global NASM macros for NASM struc usage.
Patch #3 simply remves all hardcode offset in NASM without changing any logic.
Patch #4 removes the dead code.

The final code is the same as that of V2.

Ray Ni (4):
  UefiCpuPkg/MpInitLib: Use XADD to avoid lock acquire/release
  MdePkg/Nasm.inc: add macros for C types used in structure definition
  UefiCpuPkg/MpInitLib: Use NASM struc to avoid hardcode offset
  UefiCpuPkg/MpInitLib: Remove unused Lock from MP_CPU_EXCHANGE_INFO

 MdePkg/Include/Ia32/Nasm.inc                  |  38 ++++++
 MdePkg/Include/X64/Nasm.inc                   |  38 ++++++
 UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf |   5 +-
 UefiCpuPkg/Library/MpInitLib/Ia32/MpEqu.inc   |  43 -------
 .../Library/MpInitLib/Ia32/MpFuncs.nasm       |  98 +++++++---------
 UefiCpuPkg/Library/MpInitLib/MpEqu.inc        |  99 ++++++++++++++++
 UefiCpuPkg/Library/MpInitLib/MpLib.c          |   1 -
 UefiCpuPkg/Library/MpInitLib/MpLib.h          |   3 +-
 UefiCpuPkg/Library/MpInitLib/PeiMpInitLib.inf |   5 +-
 UefiCpuPkg/Library/MpInitLib/X64/MpEqu.inc    |  45 --------
 UefiCpuPkg/Library/MpInitLib/X64/MpFuncs.nasm | 108 ++++++++----------
 11 files changed, 272 insertions(+), 211 deletions(-)
 delete mode 100644 UefiCpuPkg/Library/MpInitLib/Ia32/MpEqu.inc
 create mode 100644 UefiCpuPkg/Library/MpInitLib/MpEqu.inc
 delete mode 100644 UefiCpuPkg/Library/MpInitLib/X64/MpEqu.inc

-- 
2.27.0.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#71516): https://edk2.groups.io/g/devel/message/71516
Mute This Topic: https://groups.io/mt/80504933/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-





More information about the edk2-devel-archive mailing list