From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.31; helo=mga06.intel.com; envelope-from=liming.gao@intel.com; receiver=edk2-devel@lists.01.org Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id CFCE520945BC2 for ; Mon, 25 Sep 2017 20:35:44 -0700 (PDT) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga104.jf.intel.com with ESMTP; 25 Sep 2017 20:38:56 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.42,439,1500966000"; d="scan'208";a="1223704451" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by fmsmga002.fm.intel.com with ESMTP; 25 Sep 2017 20:38:56 -0700 Received: from shsmsx103.ccr.corp.intel.com (10.239.4.69) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 25 Sep 2017 20:38:56 -0700 Received: from shsmsx152.ccr.corp.intel.com ([169.254.6.93]) by SHSMSX103.ccr.corp.intel.com ([169.254.4.213]) with mapi id 14.03.0319.002; Tue, 26 Sep 2017 11:38:53 +0800 From: "Gao, Liming" To: "Zhu, Yonghong" , "edk2-devel@lists.01.org" CC: "Kinney, Michael D" , "Shaw, Kevin W" Thread-Topic: [Patch] Build Spec: Build report to display every module's build time Thread-Index: AQHTNabByDsybzKHKk6c9Gzu7ELhnaLGhqEw Date: Tue, 26 Sep 2017 03:38:53 +0000 Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14E15D630@SHSMSX152.ccr.corp.intel.com> References: <1506306826-11996-1-git-send-email-yonghong.zhu@intel.com> In-Reply-To: <1506306826-11996-1-git-send-email-yonghong.zhu@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [Patch] Build Spec: Build report to display every module's build time X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 26 Sep 2017 03:35:45 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Liming Gao > -----Original Message----- > From: Zhu, Yonghong > Sent: Monday, September 25, 2017 10:34 AM > To: edk2-devel@lists.01.org > Cc: Gao, Liming ; Kinney, Michael D ; Shaw, Kevin W > Subject: [Patch] Build Spec: Build report to display every module's build= time >=20 > fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=3D717 > Cc: Liming Gao > Cc: Michael Kinney > Cc: Kevin W Shaw > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Yonghong Zhu > --- > 13_build_reports/134_platform_summary.md | 8 +++++- > 13_build_reports/138_module_section.md | 43 +++++++++++++++++++-------= ------ > README.md | 1 + > 3 files changed, 34 insertions(+), 18 deletions(-) >=20 > diff --git a/13_build_reports/134_platform_summary.md b/13_build_reports/= 134_platform_summary.md > index 0674141..083d714 100644 > --- a/13_build_reports/134_platform_summary.md > +++ b/13_build_reports/134_platform_summary.md > @@ -41,10 +41,13 @@ following items: > * Tool Chain : %Tool chain string% > * Target : %Target String" > * Output Path : %Path to platform build directory% > * Build Environment : %Environment string reported by Python% > * Build Duration : %Build duration time string% > +* AutoGen Duration : %AutoGen duration time string if it exists% > +* Make Duration : %Make duration time string if it exists% > +* GenFds Duration : %GenFds duration time string if it exists% > * Report Content : %List of flags the control the report content% >=20 > #### Example >=20 > ``` > @@ -53,11 +56,14 @@ Platform DSC Path: s:\edk2\Nt32Pkg\Nt32Pkg.dsc > Architectures: IA32 > Tool Chain: VS2008x86 > Target: DEBUG > Output Path: s:\edk2\Build\NT32IA32 > Build Environment: Windows-7-6.1.7601-SP1 > -Build Duration: 00:01:53 > +Build Duration: 00:01:29 > +AutoGen Duration: 00:00:10 > +Make Duration: 00:01:02 > +GenFds Duration: 00:00:15 > Report Contents: PCD, LIBRARY, BUILD_FLAGS, DEPEX, FLASH, FIXED_ADDRE= SS > ``` >=20 > ********** > **Note:** Platform Summary is always present and appears at the beginnin= g of > diff --git a/13_build_reports/138_module_section.md b/13_build_reports/13= 8_module_section.md > index d4aa365..455537b 100644 > --- a/13_build_reports/138_module_section.md > +++ b/13_build_reports/138_module_section.md > @@ -45,10 +45,11 @@ file GUID, module size, module build time stamp and d= river type. > * Module INF Path: %Path of Module INF file% > * File GUID: %Module GUID: '`FILE_GUID`' in INF `[Defines]` section% > * Size: %Module EFI image size% > * Build time stamp: %The time stamp in module PE32 image% (If the time s= tamp is > cleared to be zero, the build time stamp is 1970-01-01 00:00:00 UTC ti= me.) > +* Module Build Time: %The time string for this module's build% > * Driver Type: %The driver's file type code[^2] and name in firmware vol= ume% >=20 > The following entries are options: >=20 > * If using defaults or the `HASH` flag is specified: > @@ -77,10 +78,11 @@ Module Name: SmbiosDxe > Module INF Path: MdeModule\Universal\SmbiosDxe\SmbiosDxe.inf > File GUID: F9D88642-0737-49BC-81B5-6889CD57D9EA > Size: 0x7000 (28.00K) > SHA1 HASH: d94c3f180f25d6b562f477bc4a16b286cb66a8b6 *SmbiosDxe.= efi > Build Time Stamp: 1969-12-31 16:00:00 > +Module Build Time: 1060ms > Driver Type: 0x7 (DRIVER) > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D > ... (Module Section Details for SmbiosDxe) > <=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D> > ``` > @@ -94,10 +96,11 @@ Module Name: EbcDxe > Module INF Path: MdeModule\Universal\EbcDxe\EbcDxe.inf > File GUID: 13AC6DD0-73D0-11D4-B06B-00AA00BD6DE7 > Size: 0x9000 (36.00K) > SHA1 HASH: ff4c019345614afe5c88e7fc37219c30a07f4af4 *EbcDxe.efi > Time Stamp: 1969-12-31 16:00:00 > +Module Build Time: 1731ms > Driver Type: 0x7 (DRIVER) > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D > ... (Module Section Details for EbcDxe) >=20 > <=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D> > @@ -114,10 +117,11 @@ destructor calling sequence. >=20 > * Library INF Path: Path of library instance INF file > * Class\*: The library class name of the library instance > * C\*: The library constructor if it exists > * D\*: The library destructor if it exists > +* Time: The build time of this library if it exists >=20 > The items marked with \* are only available when the module is an EDKII = style > module and they must be listed in the next line immediately after librar= y > instance's INF path. >=20 > @@ -141,50 +145,55 @@ format is: > inserted in the curly braces before the closing curly brace. > ``` > D =3D DestructorCname > ``` >=20 > + * Display the build time. > + ``` > + Time =3D TimeString > + ``` > + > #### Example1: >=20 > ```c > >-----------------------------------------------------------------------= ---< > Library > ------------------------------------------------------------------------= --- > s:\edk2\MdePkg\Library\UefiDevicePathLib\UefiDevicePathLib.inf > -{DevicePathLib} > +{DevicePathLib: Time =3D 643ms} > s:\edk2\MdePkg\Library\BaseLib\BaseLib.inf > -{BaseLib} > +{BaseLib: Time =3D 14702ms} > s:\edk2\MdePkg\Library\BaseMemoryLib\BaseMemoryLib.inf > -{BaseMemoryLib} > +{BaseMemoryLib: Time =3D 284ms} > s:\edk2\MdePkg\Library\UefiMemoryAllocationLib\UefiMemoryAllocationLib.i= nf > -{MemoryAllocationLib} > +{MemoryAllocationLib: Time =3D 249ms} > s:\edk2\MdePkg\Library\UefiBootServicesTableLib\UefiBootServicesTableLib= .inf > -{UefiBootServicesTableLib: C =3D UefiBootServicesTableLibConstructor} > +{UefiBootServicesTableLib: C =3D UefiBootServicesTableLibConstructor Tim= e =3D 219ms} > s:\edk2\MdePkg\Library\DxePcdLib\DxePcdLib.inf > -{PcdLib: C =3D PcdLibConstructor} > +{PcdLib: C =3D PcdLibConstructor Time =3D 265ms} > s:\edk2\MdePkg\Library\UefiRuntimeServicesTableLib\UefiRuntimeServicesTa= bleLib.inf > -{UefiRuntimeServicesTableLib: C =3D UefiRuntimeServicesLibConstructor} > +{UefiRuntimeServicesTableLib: C =3D UefiRuntimeServicesLibConstructor Ti= me =3D 203ms} > s:\edk2\MdePkg\Library\BaseIoLibIntrinsic\BaseIoLibIntrinsic.inf > -{IoLib} > +{IoLib: Time =3D 702ms} > s:\edk2\MdePkg\Library\BasePciCf8Lib\BasePciCf8Lib.inf > -{PciCf8Lib} > +{PciCf8Lib: Time =3D 345ms} > s:\edk2\MdePkg\Library\BasePciLibCf8\BasePciLibCf8.inf > -{PciLib} > +{PciLib: Time =3D 341ms} > s:\edk2\MdePkg\Library\BasePrintLib\BasePrintLib.inf > -{PrintLib} > +{PrintLib: Time =3D 312ms} > s:\edk2\Ich9Pkg\Library\IntelIchAcpiTimerLib\IntelIchAcpiTimerLib.inf > -{TimerLib: C =3D IntelAcpiTimerLibConstructor} > +{TimerLib: C =3D IntelAcpiTimerLibConstructor Time =3D 282ms} > s:\edk2\MdePkg\Library\UefiLib\UefiLib.inf > -{UefiLib} > +{UefiLib: Time =3D 733ms} > s:\edk2\MdePkg\Library\BaseSynchronizationLib\BaseSynchronizationLib.inf > -{SynchronizationLib} > +{SynchronizationLib: Time =3D 920ms} > s:\edk2\MdePkg\Library\DxeHobLib\DxeHobLib.inf > -{HobLib: C =3D DxeHobLibConstructor} > +{HobLib: C =3D DxeHobLibConstructor Time =3D 218ms} > s:\edk2\MdePkg\Library\UefiDriverEntryPoint\UefiDriverEntryPoint.inf > -{UefiDriverEntryPoint} > +{UefiDriverEntryPoint Time =3D 234ms} > s:\edk2\MdePkg\Library\UefiRuntimeLib\UefiRuntimeLib.inf > -{UefiRuntimeLib: C =3D UefiRuntimeLibConstructor D =3D UefiRuntimeLibDes= tructor} > +{UefiRuntimeLib: C =3D UefiRuntimeLibConstructor D =3D UefiRuntimeLibDes= tructor Time =3D 265ms} > <-----------------------------------------------------------------------= ---> > ``` >=20 > #### Example2: >=20 > diff --git a/README.md b/README.md > index 52abb6a..f174aed 100644 > --- a/README.md > +++ b/README.md > @@ -215,5 +215,6 @@ Copyright (c) 2008-2017, Intel Corporation. All right= s reserved. > | | [#523](https://bugzilla.tianocore.org/show_bug.cgi?id=3D5= 23) Build spec: add EBNF for the --pcd syntax in the Section > D.4 > | | > | | [#517](https://bugzilla.tianocore.org/show_bug.cgi?id=3D5= 17) Build spec: chapter 5.2.2 Guided Tools add description > for Pkcs7Sign tool and BrotliCompress tool > | | > | | [#481](https://bugzilla.tianocore.org/show_bug.cgi?id=3D4= 81) Build Spec: add clarification for not used Pcd that build > tool will not do additional checks on its value > | | > | | [#518](https://bugzilla.tianocore.org/show_bug.cgi?id=3D5= 18) Build Spec: Update Precedence of PCD Values > | | > | | [#669](https://bugzilla.tianocore.org/show_bug.cgi?id=3D6= 69) Build Spec: Add multi-arg support to > PREBUILD/POSTBUILD > | | > +| | [#717](https://bugzilla.tianocore.org/show_bug.cgi?id=3D7= 17) Build Spec: Build report to display every module's build > time > | | > -- > 2.6.1.windows.1