audk/UefiCpuPkg/PiSmmCpuDxeSmm
Jiaxin Wu 2ca8d55974 UefiCpuPkg/PiSmmCpuDxeSmm: Check BspIndex first before lock cmpxchg
This patch is to check BspIndex first before lock cmpxchg operation.
If BspIndex has not been set, then do the lock cmpxchg, otherwise,
the APs don't need to lock cmpxchg the BspIndex value since the BSP
election has been done. It's the optimization to lower the resource
contention caused by the atomic compare exchange operation, so as to
improve the SMI performance for BSP election.

Cc: Ray Ni <ray.ni@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Zeng Star <star.zeng@intel.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Cc: Kinney Michael D <michael.d.kinney@intel.com>
Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
2024-02-21 01:33:51 +00:00
..
Ia32 UefiCpuPkg: Backup and Restore MSR IA32_U_CET in SMI handler. 2023-12-07 09:43:43 +00:00
X64 UefiCpuPkg:Limit PhysicalAddressBits in special case 2024-01-15 01:46:36 +00:00
Cet.inc UefiCpuPkg: Add macro definitions for CET feature for NASM files. 2023-12-07 09:43:43 +00:00
CpuS3.c UefiCpuPkg/PiSmmCpuDxeSmm: Check SMM Debug Agent support or not 2023-12-26 07:18:26 +00:00
CpuService.c UefiCpuPkg/PiSmmCpuDxeSmm: Get processor extended information 2023-12-08 13:25:11 +00:00
CpuService.h UefiCpuPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
MpService.c UefiCpuPkg/PiSmmCpuDxeSmm: Check BspIndex first before lock cmpxchg 2024-02-21 01:33:51 +00:00
PiSmmCpuDxeSmm.c UefiCpuPkg/PiSmmCpuDxeSmm: fix NULL deref when gSmmBaseHobGuid is missing 2024-02-14 17:26:43 +00:00
PiSmmCpuDxeSmm.h UefiCpuPkg/PiSmmCpuDxeSmm: Check SMM Debug Agent support or not 2023-12-26 07:18:26 +00:00
PiSmmCpuDxeSmm.inf UefiCpuPkg: change name of gMpInformationHobGuid2 2024-01-15 01:46:36 +00:00
PiSmmCpuDxeSmm.uni UefiCpuPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:28 -07:00
PiSmmCpuDxeSmmExtra.uni UefiCpuPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:28 -07:00
SmmCpuMemoryManagement.c UefiCpuPkg/PiSmmCpuDxeSmm:Map SMRAM in 4K page granularity 2024-02-06 08:51:48 +00:00
SmmMp.c UefiCpuPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
SmmMp.h UefiCpuPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
SmmMpPerf.c UefiCpuPkg/SmmCpu: Add PcdSmmApPerfLogEnable control AP perf-logging 2023-06-21 04:37:17 +00:00
SmmMpPerf.h UefiCpuPkg/SmmCpu: Add PcdSmmApPerfLogEnable control AP perf-logging 2023-06-21 04:37:17 +00:00
SmmProfile.c UefiCpuPkg/PiSmmCpuDxeSmm: Fix CP Exception when CET enable 2023-11-10 01:21:12 +00:00
SmmProfile.h UefiCpuPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
SmmProfileInternal.h UefiCpuPkg: Remove UefiCpuLib from module INFs. 2023-03-10 08:23:56 +00:00
SmramSaveState.c UefiCpuPkg: Removes SmmCpuFeaturesReadSaveStateRegister 2023-07-03 03:01:10 +00:00
SyncTimer.c UefiCpuPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00