nowadays, APs are busy running when installing MP protocol in multiple processors environment. so it whould consume much power resource unnecessary. this patchs put APs to sleep when not procedure to run, then via sending NMI IPI by BSP to wake up AP with hlt state.
there is a proposal several months ago. pls see: http://feishare.com/efimail/message/20141126-1910-_edk2_UefiCpuPkg _CpuMp_improvement_idea_-_Put_APs_to_sleep_whennot_busy-Jordan_Justen_.html v2-v3: add volatile qulifier for Parameter and Procedure in CpuData Chen Fan (4): UefiCpuPkg/MpService: fix trivial typo in cpu state UefiCpuPkg/MpService: put AP to busy state when execution UefiCpuPkg/MpService: Put APs to sleep when not busy UefiCpuPkg/MpSerivce: add volatile qualifiers UefiCpuPkg/CpuDxe/CpuMp.c | 72 +++++++++++++++++++++++++++++++++++++++++------ UefiCpuPkg/CpuDxe/CpuMp.h | 9 +++--- 2 files changed, 69 insertions(+), 12 deletions(-) -- 1.9.3 ------------------------------------------------------------------------------ Dive into the World of Parallel Programming The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel