]> git.proxmox.com Git - mirror_edk2.git/commit
UefiCpuPkg/CpuDxe: fix bad boot performance
authorJian J Wang <jian.j.wang@intel.com>
Thu, 18 Jan 2018 07:29:01 +0000 (15:29 +0800)
committerStar Zeng <star.zeng@intel.com>
Fri, 19 Jan 2018 06:16:12 +0000 (14:16 +0800)
commit0dbb0f1a5ce6a9ec5213c85e5d4244cf5b061417
tree17b57ace088c8c39fe0b2a2dbd533b9977bf2266
parent425d25699be83c35e12df8470b827d7fbcef3bce
UefiCpuPkg/CpuDxe: fix bad boot performance

If features like memory profile, protection and heap guard are enabled,
a lot of more memory page attributes update actions will happen than
usual. An unnecessary sync of CR0.WP setting among APs will then cause
worse performance in memory allocation action. Removing the calling of
SyncMemoryPageAttributesAp() in function DisableReadOnlyPageWriteProtect
and EnableReadOnlyPageWriteProtect can fix this problem. In DEBUG build
case, the boot performance can be boosted from 11 minute to 6 minute.

Cc: Eric Dong <eric.dong@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jian J Wang <jian.j.wang@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
UefiCpuPkg/CpuDxe/CpuPageTable.c