From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mx.groups.io with SMTP id smtpd.web08.12044.1642431264548622244 for ; Mon, 17 Jan 2022 06:54:24 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=Q6K0+F5C; spf=pass (domain: intel.com, ip: 192.55.52.136, mailfrom: steven.shi@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1642431264; x=1673967264; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=9XKxDY+9qDXdF/zW8aBO8u7zAYtMEP7b1Iqfr9QJpmw=; b=Q6K0+F5CsVAqBV0JdZOuR2at97d1Ip9XnWm57uQZpwNqgpwfJ/4t/tun AjJ259+VOak0j1QEAEoPj8MfyGmOjoLWYZDPjmuy654dJSCoBER/AZFtY HWheiUaL5oqZtZ68bkBblnUYS6EMa1YD0ytTRgmCEjhxNAY2XvKkY5ps4 0yY/pKtEBCJJqFOmFymyFt5KWww8serlriFa4GWGMelwgcl/OHTscnN1N WGyCK1JyTI/JrkJ3tB/Yo0pK7GgoKZ2dKOUoDHFXdwn0gSUuiTjgcjPkC EhqqTwVLdukbDZzMWyqvpdpQdRTRFJc/aCHyqr6js+V9n7FHa5OvvUouM Q==; X-IronPort-AV: E=McAfee;i="6200,9189,10229"; a="224617221" X-IronPort-AV: E=Sophos;i="5.88,295,1635231600"; d="scan'208";a="224617221" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jan 2022 06:54:23 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,295,1635231600"; d="scan'208";a="621834903" Received: from orsmsx604.amr.corp.intel.com ([10.22.229.17]) by fmsmga002.fm.intel.com with ESMTP; 17 Jan 2022 06:54:23 -0800 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Mon, 17 Jan 2022 06:54:23 -0800 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Mon, 17 Jan 2022 06:54:23 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20 via Frontend Transport; Mon, 17 Jan 2022 06:54:23 -0800 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.107) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.20; Mon, 17 Jan 2022 06:54:22 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hf2qGmZgelx6QJegmhfBRxBvqiD5gzP332UPMUp9SGBnBEbD/m/e+N9ifmOCFK1klJJUNWgfsQUIpJJ8arRFBGTEvuc79WDaiAfWdazZI0ynuiPZgZHo77ULd0f5s4yoNUE4LqJkDTvflgZf3p2TCw7uuqpVaDUhYA84wyTqg0Qj3SzSz4uE/5Rgks9zIO5pBYRZkyuq+ufHi0NU7ApqkxC3dX4Xz/nCDVK/sbvHCKJG9Pjc77dH71kO3fqzs37fkgbHc+VkhgTuNLcsNL+Ng3lCsAMWJHEa/54yh0PohaJ+m8kTAhjbr4cZvoGpH8mHCmMb8iUyzJbgXDwh4vtOjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=gx5DmnnlDepWruawU8e1mOW9jpcaZs4Adoa75Wa9dpY=; b=DThZMbz79HJrGIZ7aUOeTonY38uNYr+HL5rAJFIYl4Sa595qnKc5ikKYzwpU9XbalCSKaBZsiT/QQwfb6jRNOGv4qq9cwTgXmWSj1mcEAcOI0cu9tAokFcv6fee3AFWPDR3bA0+rQ7wbYTs/dnb9KRhyzUka1iKeZXpigNLepsjZJXtP6uHYS+fDD7PK2IlYOWGyZpdb2seLsKoZFaf1rX4lRVJHvG0tv7gytGqDAFHiNvektZDdBCYlOy75MgaVUMJO7XA//6hgBViDf8sUg2U8MMLdKNTqyA2h6MMX+bV4OoNn9v/0gxoEqniQMlSukkteHNWze0J1Ww6+EMbdEg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from DM4PR11MB5549.namprd11.prod.outlook.com (2603:10b6:5:388::7) by DM5PR11MB2044.namprd11.prod.outlook.com (2603:10b6:3:10::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Mon, 17 Jan 2022 14:54:21 +0000 Received: from DM4PR11MB5549.namprd11.prod.outlook.com ([fe80::2cb5:24ec:fe40:2d47]) by DM4PR11MB5549.namprd11.prod.outlook.com ([fe80::2cb5:24ec:fe40:2d47%9]) with mapi id 15.20.4888.014; Mon, 17 Jan 2022 14:54:21 +0000 From: "Steven Shi" To: "ardb@kernel.org" , "leif@nuviainc.com" , "Chang, Abner" , "Schaefer, Daniel" CC: "Feng, Bob C" , "Chen, Christine" , "devel@edk2.groups.io" Subject: Re: [PATCH 1/1] BaseTools: Enable GNU make parallel jobs by default Thread-Topic: [PATCH 1/1] BaseTools: Enable GNU make parallel jobs by default Thread-Index: AQHYC7CZtCtf+TIGrEy9klq04pFW+6xnSlkQ Date: Mon, 17 Jan 2022 14:54:21 +0000 Message-ID: References: <20220117144251.1087-1-steven.shi@intel.com> <20220117144251.1087-2-steven.shi@intel.com> In-Reply-To: <20220117144251.1087-2-steven.shi@intel.com> Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.200.16 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 2db75e97-768b-41fb-221c-08d9d9c93ee4 x-ms-traffictypediagnostic: DM5PR11MB2044:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2958; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: U1ql77NbL3L0pE45ek6W9OhiRrP1oRX18SDLO3lBKQ3JDTgkeXMgE50a0Hg/NnnFWzYA3pXbSn14YedzmiSMSn7HHQbTlT7h5CJH2ZnjRbIepr/JQmpK/HPf/I11EAye1O8/GT8VzDLWxkrODTdSfMvNzDhb6mG5O9ZxdyBMW3Svi9XMNPp5+DL8T1Q5OQBvvxL0BFZrHt972HSEdekD8j3ap5PbSulyBWp4EsUgQGYTK1YUqKmfxFqO1yF8MQqenX7tNndgHndo0TKTHt6tRm5C75MkKk53bzschWktuP97v+GSdwpc+uOtz46JpCV6xhSdBBxQ+wjyweX4H99Xl8Z5TPR8p177pvzQfht3DT2CIlWm1WHlVz9HitTjQ98+eg4A3KZ3EXNG+E62ZwyeHW0vDzLGLeCHLWwC7xYymqGva3zClGvVU4xTylD23Gje1Xp69oFCr/3M2o9ZiLxj3NTHYtinplqydMcVh06gJ2MUfzlb01dkA/9RCwtZ4JjkYf3nHZBKTP8jXP3Bk0FMMg0YPdleVx3hqzvXW4IkopCt+X0TmuomLqM8KhID6Qv6Zhrt6M3Z7r5yMMV1T+llm3LhUdiKCgcoujk2UpjPLFux8WAr2eHXME+cSZmkD0wrmMU/vpzHryBdNG21mwq0kyuvjXOPcACDNPwafMJy28Fut4Czp63yEPWvZMBbZZc4sb7l5bVgavkOil+Syu/Qm7yPCm28JM9rYWHejGkCZphukjWjHu7s2XHk6PVHAOe14AIL7zMgA2t28AAqJT+6WfDmzVpVsp9NdNVqtk/Vs5k= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR11MB5549.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(86362001)(76116006)(186003)(5660300002)(53546011)(6506007)(66556008)(64756008)(38100700002)(8936002)(4326008)(2906002)(66946007)(66476007)(7696005)(71200400001)(33656002)(508600001)(83380400001)(966005)(66446008)(8676002)(26005)(82960400001)(55016003)(316002)(122000001)(110136005)(38070700005)(52536014)(9686003)(54906003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?mmKOyATs5iVIqOX9ccVFPrrPpkdx/xaatm3gXV1ekiEft9IBfU3vdFNpqBVN?= =?us-ascii?Q?XeQ6el+YcKiksgsVBSf7oUCPbmKCXTeRs3h1tuy1YliGuxRmgchW6X/m50p/?= =?us-ascii?Q?OLEf2BT0lS2TMD3Um57NL+gVBHf20xtaVoHeG7HXJV70M95XDVLmI6Z3UO5x?= =?us-ascii?Q?S6s6cdnfJ4xVObeP2QBrnWrpAFs/sKXxuw0JyqqL+Ik+Gpj5hChLI4w293S9?= =?us-ascii?Q?b39lGiUI+AwDYw9B2BxApZoXiEyLwpLEnbWmRvnVInwF03KF0WIbc+TrRpZC?= =?us-ascii?Q?cejdgZ38loG42P0TVoRyekpbUnXsy/3fDX/Z3JihGqDypntkA80KLMVvd9CP?= =?us-ascii?Q?Ayl9EOJ6oaJ8BZR0Gcq1QiPxE5WxMUDg16YWAeIITDdgGQIuPWtOXajDVQUS?= =?us-ascii?Q?A61j9JT2D+qgZZMldYjT/E0MdXnkdD2bSite1A29eKF+vUInKEZ9l294JB2h?= =?us-ascii?Q?LyIExfAqxicmESPHBLnRkOHWS8YJUNPSOBN3N4GkAEj9e8X5jT475ng45Lmd?= =?us-ascii?Q?SApXIu759AVvDtrY1v2X5eZlgsCjhPXMus20e8F0yzPzaKDcdQYR1vLLuGQ1?= =?us-ascii?Q?ZxpDjzZ/BTXDZs8rfcl9UhOhKcbXXH6Li7ZusMzXs92O70U8AqB5pL+HTKRm?= =?us-ascii?Q?R6z8uyas/2ZSLPb6OkNU4qcdq8eYPb+2SKmUsajmNIeQhGm7DGF1sMwhOEw0?= =?us-ascii?Q?uB/1HYA1NMyAoxFEPo+O+jnC2l/WWlPB8GYSCv+SRqvKn/MyK9HxIQglcL4u?= =?us-ascii?Q?IrIZM0f3yUyMm9moKKhU4Cqwhve4FRgcn+lxK/yqtvzfye1ryEAGZMfZmu2Y?= =?us-ascii?Q?8rpcvzSUZ66AvwAopOIaaSnEa65D2F2UBFLKphaJYuZOL66G6c3SCHqsrUYr?= =?us-ascii?Q?zwlEaC4bvKSwYprKkDpDfZlHdnbCJ9nxBZBLmwjpbpn+8YWVZf/BcPn2lDcV?= =?us-ascii?Q?1J8uVtlwH/voGnzMFoIYCo/XlO7yMOKmeUJVotobQjYivCijG0gDKx8M7NHy?= =?us-ascii?Q?xpoQ/AvTZJYjDj5IjSw4pNqjgMG5Fwwhyu9HiqvtlRm9FTFpl8kqiltp2VB9?= =?us-ascii?Q?3QO/+f30A/BGkoJToMF/lC7G7y4sCPa2SObeOSDpObW7GRTUKrN73/d5xGXZ?= =?us-ascii?Q?yHP53MxeBQ4RQVOViBYg0+xXOqugXNgAxVpv77UXJrBkAAhqyPPJWdgnFisx?= =?us-ascii?Q?MjK4FutafXkt1Hw28pjsDqIcEphvCh1MA0LM8pOT5bEJtOvPvUO/EotN0tgp?= =?us-ascii?Q?dyBN0BLrQOKx77SHdW0S4Z3m2M9vDY+9cpv27IAzYQm/gPut4JnAw8tpuoX3?= =?us-ascii?Q?e+XNhXf+cCVtHoJEiJYVzOnxaP6XY59ytVoeSulqXvo0V+TgEa9jw9gN76Hl?= =?us-ascii?Q?K2kDUOM7YuIF6TsgxuRS0RkVaRrB9fpkvCPoSwNxd1CZPIr/H1lbgSSAABFq?= =?us-ascii?Q?Dw2iG4OjGKeZexH5bmEBunc9oUDZShRUXEQDBz5yjo7Lgq26iSl6P42GyU0O?= =?us-ascii?Q?EUqwcecxJING9XbPxswqlU6tQg2Psnnq/Ya7Ymk46srfr4t1IwWTrfIcGd0p?= =?us-ascii?Q?8lC2M391HWZ/C1nKR2fZL3/uKv+J6gOEtsW5T8Us6Gmh+CSH12pjZyXs6ipA?= =?us-ascii?Q?7pm8NuyMU4dkVuAaKacBdIo=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB5549.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2db75e97-768b-41fb-221c-08d9d9c93ee4 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jan 2022 14:54:21.5178 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 4p9o5ltETqc/mZwp3HFddgYHnQNchcylolzxtWPj3jSW3QSLWR2yjqGbFnswm5NkXebr4NdByqNOZICNTXmJVQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR11MB2044 Return-Path: steven.shi@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hello Ard, Leif, Abner, Daniel, I changed the GNU make flag to enable the "--jobs" option in GCC5 toolchain= by default for all architectures. Please verify whether this change has im= pact to the ARM and RISCV GCC5 builds. Thanks! Thanks Steven Shi > -----Original Message----- > From: Shi, Steven > Sent: Monday, January 17, 2022 10:43 PM > To: devel@edk2.groups.io > Cc: Feng, Bob C ; Chen, Christine > ; ardb@kernel.org; leif@nuviainc.com; Chang, > Abner ; Schaefer, Daniel > ; Shi, Steven > Subject: [PATCH 1/1] BaseTools: Enable GNU make parallel jobs by default >=20 > BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3807 >=20 > * Enable GNU make parallel jobs support(--jobs flag) by > default in GCC5 and CLANGPDB toolchains. This gmake flag > can save full features bios linux build time by +20%. > * Explictly distinguish and define the MS nmake flag and > GNU gmake flag in the toolchain which might support > both, e.g. CLANGPDB can use nmake in Windows and gmake > in Linux. General make flags cannot work for such hybrid > make usage scenario. >=20 > Signed-off-by: Steven Shi > --- > BaseTools/Conf/tools_def.template | 4 ++++ > BaseTools/Source/Python/AutoGen/GenMake.py | 5 +++-- > BaseTools/Source/Python/AutoGen/PlatformAutoGen.py | 12 > +++++++++++- > 3 files changed, 18 insertions(+), 3 deletions(-) >=20 > diff --git a/BaseTools/Conf/tools_def.template > b/BaseTools/Conf/tools_def.template > index 2e6b382ab623..84af08cca6ae 100755 > --- a/BaseTools/Conf/tools_def.template > +++ b/BaseTools/Conf/tools_def.template > @@ -2283,6 +2283,8 @@ RELEASE_GCC49_AARCH64_DLINK_XIPFLAGS =3D -z > common-page-size=3D0x20 > *_GCC5_*_*_FAMILY =3D GCC >=20 >=20 >=20 > *_GCC5_*_MAKE_PATH =3D DEF(GCC_HOST_PREFIX)make >=20 > +*_GCC5_*_GMAKE_FLAGS =3D --jobs >=20 > +*_GCC5_*_NMAKE_FLAGS =3D /nologo >=20 > *_GCC5_*_*_DLL =3D ENV(GCC5_DLL) >=20 > *_GCC5_*_ASL_PATH =3D DEF(UNIX_IASL_BIN) >=20 >=20 >=20 > @@ -2742,6 +2744,8 @@ RELEASE_CLANG38_AARCH64_DLINK_FLAGS =3D > DEF(CLANG38_AARCH64_DLINK_FLAGS) -flto -Wl > *_CLANGPDB_*_*_FAMILY =3D GCC >=20 > *_CLANGPDB_*_*_BUILDRULEFAMILY =3D CLANGPDB >=20 > *_CLANGPDB_*_MAKE_PATH =3D ENV(CLANG_HOST_BIN)make >=20 > +*_CLANGPDB_*_GMAKE_FLAGS =3D --jobs >=20 > +*_CLANGPDB_*_NMAKE_FLAGS =3D /nologo >=20 > *_CLANGPDB_*_*_DLL =3D ENV(CLANGPDB_DLL) >=20 > *_CLANGPDB_*_ASL_PATH =3D DEF(UNIX_IASL_BIN) >=20 >=20 >=20 > diff --git a/BaseTools/Source/Python/AutoGen/GenMake.py > b/BaseTools/Source/Python/AutoGen/GenMake.py > index e55efff059f9..c6636d99fc7d 100755 > --- a/BaseTools/Source/Python/AutoGen/GenMake.py > +++ b/BaseTools/Source/Python/AutoGen/GenMake.py > @@ -732,10 +732,11 @@ cleanlib: > Src, Dst =3D CopyCmd >=20 > Src =3D self.ReplaceMacro(Src) >=20 > Dst =3D self.ReplaceMacro(Dst) >=20 > + Efi =3D Src[:-3] + 'efi' >=20 > if Dst not in self.ResultFileList: >=20 > self.ResultFileList.append(Dst) >=20 > if '%s :' %(Dst) not in self.BuildTargetList: >=20 > - self.BuildTargetList.append("%s : %s" %(Dst,Src)= ) >=20 > + self.BuildTargetList.append("%s : %s" %(Dst, Efi= )) >=20 > self.BuildTargetList.append('\t' + > self._CP_TEMPLATE_[self._Platform] %{'Src': Src, 'Dst': Dst}) >=20 >=20 >=20 > FfsCmdList =3D Cmd[0] >=20 > @@ -778,7 +779,7 @@ cleanlib: > SecDepsFileList.append(SecCmdList[index = + 1]) >=20 > index =3D index + 1 >=20 > if CmdName =3D=3D 'Trim': >=20 > - SecDepsFileList.append(os.path.join('$(DEBUG= _DIR)', > os.path.basename(OutputFile).replace('offset', 'efi'))) >=20 > + SecDepsFileList.append(os.path.join('$(OUTPU= T_DIR)', > os.path.basename(OutputFile).replace('offset', 'efi'))) >=20 > if OutputFile.endswith('.ui') or OutputFile.ends= with('.ver'): >=20 > SecDepsFileList.append(os.path.join('$(MODUL= E_DIR)', > '$(MODULE_FILE)')) >=20 > self.FfsOutputFileList.append((OutputFile, ' > '.join(SecDepsFileList), SecCmdStr)) >=20 > diff --git a/BaseTools/Source/Python/AutoGen/PlatformAutoGen.py > b/BaseTools/Source/Python/AutoGen/PlatformAutoGen.py > index 592d4824a4b3..632c960c8d3d 100644 > --- a/BaseTools/Source/Python/AutoGen/PlatformAutoGen.py > +++ b/BaseTools/Source/Python/AutoGen/PlatformAutoGen.py > @@ -893,7 +893,17 @@ class PlatformAutoGen(AutoGen): > RetVal[Tool] =3D OrderedDict() >=20 > if Attr not in RetVal[Tool]: >=20 > RetVal[Tool][Attr] =3D Value >=20 > - >=20 > + if 'NMAKE' in RetVal.keys() or 'GMAKE' in RetVal.keys(): >=20 > + if RetVal['MAKE']['PATH'] =3D=3D "nmake": >=20 > + if 'FLAGS' in RetVal['MAKE'].keys(): >=20 > + RetVal['MAKE']['FLAGS'] +=3D ' ' + RetVal['NMAKE']['= FLAGS'] >=20 > + else: >=20 > + RetVal['MAKE']['FLAGS'] =3D RetVal['NMAKE']['FLAGS'] >=20 > + else: >=20 > + if 'FLAGS' in RetVal['MAKE'].keys(): >=20 > + RetVal['MAKE']['FLAGS'] +=3D ' ' + RetVal['GMAKE']['= FLAGS'] >=20 > + else: >=20 > + RetVal['MAKE']['FLAGS'] =3D RetVal['GMAKE']['FLAGS'] >=20 > ToolsDef =3D '' >=20 > if GlobalData.gOptions.SilentMode and "MAKE" in RetVal: >=20 > if "FLAGS" not in RetVal["MAKE"]: >=20 > -- > 2.22.0.windows.1