Branch: refs/heads/master
  Home:   https://github.com/tianocore/edk2
  Commit: 0da3df78ff469462c6c09d979fd6e2eeac0665bb
      
https://github.com/tianocore/edk2/commit/0da3df78ff469462c6c09d979fd6e2eeac0665bb
  Author: Ray Ni <[email protected]>
  Date:   2023-06-21 (Wed, 21 Jun 2023)

  Changed paths:
    M UefiCpuPkg/PiSmmCpuDxeSmm/MpService.c
    M UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c
    M UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h
    M UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf
    M UefiCpuPkg/PiSmmCpuDxeSmm/SmmCpuMemoryManagement.c
    M UefiCpuPkg/PiSmmCpuDxeSmm/SmmProfile.c

  Log Message:
  -----------
  UefiCpuPkg/CpuSmm: Add perf-logging for time-consuming BSP procedures

The patch adds perf-logging for the following potential
time-consuming BSP procedures:
* PiCpuSmmEntry
  - SmmRelocateBases
  - ExecuteFirstSmiInit

* BSPHandler
  - SmmWaitForApArrival
  - PerformRemainingTasks
    * InitPaging
    * SetMemMapAttributes
    * SetUefiMemMapAttributes
    * SetPageTableAttributes
    * ConfigSmmCodeAccessCheck
    * SmmCpuFeaturesCompleteSmmReadyToLock

Signed-off-by: Ray Ni <[email protected]>
Cc: Rahul Kumar <[email protected]>
Cc: Gerd Hoffmann <[email protected]>
Reviewed-by: Jiaxin Wu <[email protected]>
Reviewed-by: Eric Dong <[email protected]>


  Commit: ad6c8540cc9ce06235891cb6c4c713a5c8b272fc
      
https://github.com/tianocore/edk2/commit/ad6c8540cc9ce06235891cb6c4c713a5c8b272fc
  Author: Ray Ni <[email protected]>
  Date:   2023-06-21 (Wed, 21 Jun 2023)

  Changed paths:
    M UefiCpuPkg/PiSmmCpuDxeSmm/MpService.c
    M UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c
    M UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h
    M UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf
    A UefiCpuPkg/PiSmmCpuDxeSmm/SmmMpPerf.c
    A UefiCpuPkg/PiSmmCpuDxeSmm/SmmMpPerf.h

  Log Message:
  -----------
  UefiCpuPkg/CpuSmm: Add perf-logging for MP procedures

MP procedures are those procedures that run in every CPU thread.
The EDKII perf infra is not MP safe so it doesn't support to be called
from those MP procedures.

The patch adds SMM MP perf-logging support in SmmMpPerf.c.
The following procedures are perf-logged:
* SmmInitHandler
* SmmCpuFeaturesRendezvousEntry
* PlatformValidSmi
* SmmCpuFeaturesRendezvousExit

Signed-off-by: Ray Ni <[email protected]>
Cc: Eric Dong <[email protected]>
Cc: Rahul Kumar <[email protected]>
Cc: Gerd Hoffmann <[email protected]>
Cc: Jiaxin Wu <[email protected]>
Reviewed-by: Jiaxin Wu <[email protected]>
Reviewed-by: Eric Dong <[email protected]>


  Commit: e4ff8521364062303cd93f87a0d9c0bacc9ebe65
      
https://github.com/tianocore/edk2/commit/e4ff8521364062303cd93f87a0d9c0bacc9ebe65
  Author: Ray Ni <[email protected]>
  Date:   2023-06-21 (Wed, 21 Jun 2023)

  Changed paths:
    M MdeModulePkg/Core/PiSmmCore/PiSmmCore.c
    M MdeModulePkg/Core/PiSmmCore/Smi.c

  Log Message:
  -----------
  MdeModulePkg/SmmCore: Add perf-logging for time-consuming procedures

Following procedures are perf-logged:
* SmmReadyToBootHandler
* SmmReadyToLockHandler
* SmmEndOfDxeHandler
* SmmEntryPoint
  (It's the main routine run in BSP when SMI happens.)
* SmiManage

Signed-off-by: Ray Ni <[email protected]>
Cc: Jian J Wang <[email protected]>
Cc: Liming Gao <[email protected]>
Cc: Jiaxin Wu <[email protected]>
Reviewed-by: Jiaxin Wu <[email protected]>
Reviewed-by: Eric Dong <[email protected]>
Reviewed-by: Jian J Wang <[email protected]>


  Commit: 0c136bbba0cdcb227058fedbb3f676d15eee5cc2
      
https://github.com/tianocore/edk2/commit/0c136bbba0cdcb227058fedbb3f676d15eee5cc2
  Author: Ray Ni <[email protected]>
  Date:   2023-06-21 (Wed, 21 Jun 2023)

  Changed paths:
    M MdeModulePkg/Core/PiSmmCore/Dispatcher.c

  Log Message:
  -----------
  MdeModulePkg/SmmCore: Add perf-logging for SmmDriverDispatchHandler

SmmDriverDispatchHandler is the routine that dispatches SMM drivers
from FV. It's a time-consuming routine.
Add perf-logging for this routine.

Signed-off-by: Ray Ni <[email protected]>
Cc: Jian J Wang <[email protected]>
Cc: Liming Gao <[email protected]>
Cc: Jiaxin Wu <[email protected]>
Reviewed-by: Jiaxin Wu <[email protected]>
Reviewed-by: Eric Dong <[email protected]>
Reviewed-by: Jian J Wang <[email protected]>


  Commit: 92759eeb0ca33973f809fe31ae8c5892370ea6bb
      
https://github.com/tianocore/edk2/commit/92759eeb0ca33973f809fe31ae8c5892370ea6bb
  Author: Ray Ni <[email protected]>
  Date:   2023-06-21 (Wed, 21 Jun 2023)

  Changed paths:
    M MdeModulePkg/Library/SmmPerformanceLib/SmmPerformanceLib.c
    M MdeModulePkg/Library/SmmPerformanceLib/SmmPerformanceLib.inf

  Log Message:
  -----------
  MdeModulePkg/SmmPerformanceLib: Disable perf-logging after ExitBS

Because SMM perf-logging is migrated to non-SMRAM at ReadyToBoot
by DxeCorePerformanceLib, the perf-logging after ExitBS is useless and
impact the SMI latency at runtime.
Hence the SmmPerformanceLib is updated to disable perf-logging
after ExitBS.

Signed-off-by: Ray Ni <[email protected]>
Cc: Jiaxin Wu <[email protected]>
Cc: Dandan Bi <[email protected]>
Cc: Liming Gao <[email protected]>
Cc: Jian J Wang <[email protected]>
Reviewed-by: Jiaxin Wu <[email protected]>
Reviewed-by: Eric Dong <[email protected]>
Reviewed-by: Jian J Wang <[email protected]>


  Commit: 2d3974a35199bfafaf4b56cd908d99e456aed290
      
https://github.com/tianocore/edk2/commit/2d3974a35199bfafaf4b56cd908d99e456aed290
  Author: Ray Ni <[email protected]>
  Date:   2023-06-21 (Wed, 21 Jun 2023)

  Changed paths:
    M MdeModulePkg/Library/SmmCorePerformanceLib/SmmCorePerformanceLib.c
    M MdeModulePkg/Library/SmmCorePerformanceLib/SmmCorePerformanceLib.inf

  Log Message:
  -----------
  MdeModulePkg/SmmCorePerformanceLib: Disable perf-logging at runtime

Because SMM perf-logging is migrated to non-SMRAM at ReadyToBoot
by DxeCorePerformanceLib, the perf-logging after ExitBS is useless and
impact the SMI latency at runtime.
Hence the SmmCorePerformanceLib is updated to disable perf-logging
after ExitBS.

Signed-off-by: Ray Ni <[email protected]>
Cc: Jiaxin Wu <[email protected]>
Cc: Dandan Bi <[email protected]>
Cc: Liming Gao <[email protected]>
Cc: Jian J Wang <[email protected]>
Reviewed-by: Jiaxin Wu <[email protected]>
Reviewed-by: Eric Dong <[email protected]>
Reviewed-by: Jian J Wang <[email protected]>


  Commit: a87f5fdb3d1a23b9ad2475007c58c0969863293f
      
https://github.com/tianocore/edk2/commit/a87f5fdb3d1a23b9ad2475007c58c0969863293f
  Author: Ray Ni <[email protected]>
  Date:   2023-06-21 (Wed, 21 Jun 2023)

  Changed paths:
    M UefiCpuPkg/PiSmmCpuDxeSmm/MpService.c
    M UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf
    M UefiCpuPkg/PiSmmCpuDxeSmm/SmmMpPerf.c
    M UefiCpuPkg/PiSmmCpuDxeSmm/SmmMpPerf.h
    M UefiCpuPkg/UefiCpuPkg.dec

  Log Message:
  -----------
  UefiCpuPkg/SmmCpu: Add PcdSmmApPerfLogEnable control AP perf-logging

When a platform has lots of CPU cores/threads, perf-logging on every
AP produces lots of records. When this multiplies with number of SMIs
during post, the records are even more.

So, this patch adds a new PCD PcdSmmApPerfLogEnable (default TRUE)
to allow platform to turn off perf-logging on APs.

Signed-off-by: Ray Ni <[email protected]>
Cc: Eric Dong <[email protected]>
Cc: Rahul Kumar <[email protected]>
Cc: Gerd Hoffmann <[email protected]>
Reviewed-by: Jiaxin Wu <[email protected]>
Reviewed-by: Eric Dong <[email protected]>


  Commit: 56f65e4bad770b0d33eb54b3c180c9ec5057d8f2
      
https://github.com/tianocore/edk2/commit/56f65e4bad770b0d33eb54b3c180c9ec5057d8f2
  Author: Ray Ni <[email protected]>
  Date:   2023-06-21 (Wed, 21 Jun 2023)

  Changed paths:
    M MdeModulePkg/Core/PiSmmCore/PiSmmCore.c

  Log Message:
  -----------
  MdeModulePkg/SmmCore: Perf-log PlatformHookBefore/AfterSmmDispatch

Signed-off-by: Ray Ni <[email protected]>
Cc: Jian J Wang <[email protected]>
Cc: Liming Gao <[email protected]>
Cc: Jiaxin Wu <[email protected]>
Reviewed-by: Jian J Wang <[email protected]>


Compare: https://github.com/tianocore/edk2/compare/4a0642ad27bf...56f65e4bad77


_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to