[edk2-devel] [PATCH 3/6] MdeModulePkg/UefiBootManagerLib: Change performance code
Wu, Hao A
hao.a.wu at intel.com
Fri Jun 14 08:43:35 UTC 2019
> -----Original Message-----
> From: Gao, Zhichao
> Sent: Monday, June 10, 2019 3:29 PM
> To: devel at edk2.groups.io
> Cc: Bret Barkelew; Wang, Jian J; Wu, Hao A; Ni, Ray; Zeng, Star; Gao, Liming
> Subject: [PATCH 3/6] MdeModulePkg/UefiBootManagerLib: Change
> performance code
>
> From: Bret Barkelew <Bret.Barkelew at microsoft.com>
>
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1888
>
> Use PERF_INMODULE_BEGIN and PERF_INMODULE_END to replace
> PERF_START_EX,
> PERF_CODE and PERF_END_EX.
Hello Dandan & Liming,
May I know the reason for 'PERF_START_EX' & 'PERF_END_EX' macros are not
being replaced in commit:
Revision: 67e9ab84ef042bd59c4297fdad7f6aece6b7bbca
MdeModulePkg: Use new added Perf macros
Is there a special reason for this?
('OptionNumber' as the identifier?)
> Use PERF_CROSSMODULE_END and PERF_CROSSMODULE_BEGIN to get the
> info
> of one boot image's performance.
Hello Zhichao,
May I know what kind of test has been done for this patch?
Also, some inline comments below:
>
> Cc: Jian J Wang <jian.j.wang at intel.com>
> Cc: Hao A Wu <hao.a.wu at intel.com>
> Cc: Ray Ni <ray.ni at intel.com>
> Cc: Star Zeng <star.zeng at intel.com>
> Cc: Liming Gao <liming.gao at intel.com>
> Signed-off-by: Zhichao Gao <zhichao.gao at intel.com>
> ---
> MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c | 9 ++++-----
> 1 file changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
> b/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
> index 952033fc82..af1024cacd 100644
> --- a/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
> +++ b/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
> @@ -1812,7 +1812,7 @@ EfiBootManagerBoot (
> BmRepairAllControllers (0);
> }
>
> - PERF_START_EX (gImageHandle, "BdsAttempt", NULL, 0, (UINT32)
> OptionNumber);
> + PERF_INMODULE_BEGIN ("BdsAttempt");
>
> //
> // 5. Adjust the different type memory page number just before booting
> @@ -1932,9 +1932,9 @@ EfiBootManagerBoot (
> //
> // Write boot to OS performance data for UEFI boot
> //
> - PERF_CODE (
> - BmEndOfBdsPerfCode (NULL, NULL);
> - );
> + PERF_INMODULE_END ("BdsAttempt");
I think the patch missed to replace the below 'PERF_END_EX' macro:
//
if ((DevicePathType (BootOption->FilePath) == BBS_DEVICE_PATH) && (DevicePathSubType (BootOption->FilePath) == BBS_BBS_DP)) {
...
PERF_END_EX (gImageHandle, "BdsAttempt", NULL, 0, (UINT32) OptionNumber);
^^^^^^^^^^^
return;
}
> + PERF_CROSSMODULE_END ("BDS");
> + PERF_CROSSMODULE_BEGIN ("BDS");
Could you help to introduce the purpose for the above
'PERF_CROSSMODULE_BEGIN' in more detail?
>
> REPORT_STATUS_CODE (EFI_PROGRESS_CODE, PcdGet32
> (PcdProgressCodeOsLoaderStart));
>
> @@ -1947,7 +1947,6 @@ EfiBootManagerBoot (
> //
> BmReportLoadFailure (EFI_SW_DXE_BS_EC_BOOT_OPTION_FAILED,
> Status);
> }
> - PERF_END_EX (gImageHandle, "BdsAttempt", NULL, 0, (UINT32)
> OptionNumber);
The patch excludes the time consumed by StartImage() from performance data
for the "BdsAttempt" token.
If the image starts successfully, there will not be an matching PERF_END
macro for the origin code.
Ray, do you think it is a reasonable change here?
Best Regards,
Hao Wu
>
> //
> // Destroy the RAM disk
> --
> 2.21.0.windows.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#42425): https://edk2.groups.io/g/devel/message/42425
Mute This Topic: https://groups.io/mt/32001828/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