From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.88, mailfrom: steven.shi@intel.com) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by groups.io with SMTP; Mon, 23 Sep 2019 00:51:59 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 Sep 2019 00:51:58 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,539,1559545200"; d="scan'208,217";a="339638050" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga004.jf.intel.com with ESMTP; 23 Sep 2019 00:51:58 -0700 Received: from fmsmsx601.amr.corp.intel.com (10.18.126.81) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 23 Sep 2019 00:51:57 -0700 Received: from fmsmsx601.amr.corp.intel.com (10.18.126.81) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 23 Sep 2019 00:51:57 -0700 Received: from shsmsx153.ccr.corp.intel.com (10.239.6.53) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Mon, 23 Sep 2019 00:51:57 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.113]) by SHSMSX153.ccr.corp.intel.com ([169.254.12.235]) with mapi id 14.03.0439.000; Mon, 23 Sep 2019 15:51:55 +0800 From: "Steven Shi" To: "Lin, Derek (HPS SW)" , "devel@edk2.groups.io" CC: "Feng, Bob C" , "Gao, Liming" Subject: Re: BaseTools --hash malfunction after migrate from stable201905 to stable201908 Thread-Topic: BaseTools --hash malfunction after migrate from stable201905 to stable201908 Thread-Index: AdVveLlk2vAsuUUVQqOo7w9XnpiX4QCamsiQ Date: Mon, 23 Sep 2019 07:51:55 +0000 Message-ID: <06C8AB66E78EE34A949939824ABE2B314018113D@shsmsx102.ccr.corp.intel.com> References: In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZWE0NmM5OWMtY2U2Yi00YmJhLTkwMmItMWZiMzAwMWU2MmMyIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiVnVtakNFSVJLXC8reUFaOVN4eThnaElCQjNGK0dWeTNUS3BWcUlZa2ZTSmllZGF2V240WDZQdDNTRVREd1pITnEifQ== x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: steven.shi@intel.com Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_06C8AB66E78EE34A949939824ABE2B314018113Dshsmsx102ccrcor_" --_000_06C8AB66E78EE34A949939824ABE2B314018113Dshsmsx102ccrcor_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Derek, Thank you to raise this issue. We will fix it and add back the --hash origi= nal functionality. Thanks Steven From: Lin, Derek (HPS SW) [mailto:derek.lin2@hpe.com] Sent: Friday, September 20, 2019 2:54 PM To: devel@edk2.groups.io Cc: Feng, Bob C ; Shi, Steven Subject: BaseTools --hash malfunction after migrate from stable201905 to st= able201908 Hi BaseTools experts, We saw the clean build performance improvement after updating from edk2-sta= ble201905 to edk2-stable201908, which is promising. But we found the incremental build time increase 25%~35%, which is not good= . We're building server platform. And we use --hash to speed up incremental b= uild as described in https://github.com/BobCF/edk2/wiki/Incremental-Build After upgrading to edk2-stable201908, none of AutoGen is skipped when I did= an incremental build without any code change. Dig into the issue, it is caused by commit https://github.com/tianocore/edk= 2/commit/0e7e7a264cd80ab71ea0f9e9da2d0617d4b539c4 >>From the code change logic, it seems like it require both --hash and --bina= ry-source to perform cache based incremental build. However, when we only h= ave --hash in build flag, it is not functional. Here's a build time log retrieved from -y report.log. 201905 incremental | 201908 increm= ental | 201905 clean | 201908 clean Build Duration: 00:03:44 00:04:40 = 00:07:12 00:06:19 AutoGen Duration: 00:02:40 00:03:15 = 00:04:28 00:03:09 Make Duration: 00:00:36 00:00:39 = 00:01:21 00:01:34 GenFds Duration: 00:00:27 00:00:28 = 00:01:22 00:01:18 We could see the AutoGen Duration has almost no change between clean and in= cremental build in 201908. Could we fix this? Thanks, Derek --_000_06C8AB66E78EE34A949939824ABE2B314018113Dshsmsx102ccrcor_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Hi Derek,

Thank you to raise thi= s issue. We will fix it and add back the --hash original functionality.

 

 

Thanks

Steven

 

From: Lin= , Derek (HPS SW) [mailto:derek.lin2@hpe.com]
Sent: Friday, September 20, 2019 2:54 PM
To: devel@edk2.groups.io
Cc: Feng, Bob C <bob.c.feng@intel.com>; Shi, Steven <steven= .shi@intel.com>
Subject: BaseTools --hash malfunction after migrate from stable20190= 5 to stable201908

 

Hi BaseTools experts,

 

We saw the clean build performance improvement after= updating from edk2-stable201905 to edk2-stable201908, which is promising.<= o:p>

But we found the incremental build time increase 25%= ~35%, which is not good.

 

We’re building server platform. And we use --h= ash to speed up incremental build as described in https://gi= thub.com/BobCF/edk2/wiki/Incremental-Build

After upgrading to edk2-stable201908, none of AutoGe= n is skipped when I did an incremental build without any code change.<= /o:p>

 

Dig into the issue, it is caused by commit https://github.com/tianocore/edk2/commit/0e7e7a264cd80ab71ea0f9e9da2d0617d4= b539c4

From the code change logic, it seems like it require= both --hash and --binary-source to perform cache based incremen= tal build. However, when we only = have --hash in build flag, it is not functional.

 

 

Here’s a build time log retrieved from -y repo= rt.log.

 

        &nbs= p;            &= nbsp;            &nb= sp;     201905 incremental |  201908 incremen= tal |      201905 clean |     = 201908 clean 

Build Duration:       =          00:03:44   =             &nb= sp;        00:04:40  &nbs= p;            &= nbsp;            00:= 07:12           &nbs= p;     00:06:19

AutoGen Duration:      &nbs= p;   00:02:40        &nbs= p;            &= nbsp;  00:03:15         &= nbsp;           &nbs= p;      00:04:28     &nbs= p;           00:03:0= 9

Make Duration:       &= nbsp;        00:00:36   &= nbsp;           &nbs= p;        00:00:39   = ;            &n= bsp;            00:0= 1:21            &nbs= p;    00:01:34

GenFds Duration:       = ;      00:00:27      = ;            &n= bsp;     00:00:28      &n= bsp;            = ;         00:01:22   = ;            &n= bsp; 00:01:18  

 

We could see the AutoGen Duration has almost no chan= ge between clean and incremental build in 201908.

 

Could we fix this?

 

Thanks,

Derek

 

--_000_06C8AB66E78EE34A949939824ABE2B314018113Dshsmsx102ccrcor_--