From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mx.groups.io with SMTP id smtpd.web10.12194.1595303917542011225 for ; Mon, 20 Jul 2020 20:58:37 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=Eqwe7I7p; spf=pass (domain: intel.com, ip: 134.134.136.20, mailfrom: bob.c.feng@intel.com) IronPort-SDR: +GEtv8KVJ7/JyvhTIv811aIfdI/jWKQcxmTFHzwYWisUfERPry3pRvNyzBup41TKvr76XPdbk6 mSM/c1PqOkng== X-IronPort-AV: E=McAfee;i="6000,8403,9688"; a="138155537" X-IronPort-AV: E=Sophos;i="5.75,377,1589266800"; d="scan'208";a="138155537" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Jul 2020 20:58:36 -0700 IronPort-SDR: D702AmJP0JOHABg197t1SGZfDUTc5EnuLYvfrj7Sw+DIuDAQQsHW+BD9RqookKqVLDQmyUaX2q W4Rwmji4oJtw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,377,1589266800"; d="scan'208";a="270318648" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by fmsmga007.fm.intel.com with ESMTP; 20 Jul 2020 20:58:36 -0700 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 20 Jul 2020 20:58:35 -0700 Received: from ORSEDG001.ED.cps.intel.com (10.7.248.4) by orsmsx601.amr.corp.intel.com (10.22.229.14) 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, 20 Jul 2020 20:58:35 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.172) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 20 Jul 2020 20:58:31 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Pnla3Cd9JtDsWMlYDgJXDLZUhile0FChv42mPSr3h4hSaKqqDln48onMrYCKa7j+iezC8aQiMSE8assbmlodqo0IUJBcQUiQRiGvLxU9MQlwg2vJvlujmaPlwQ/4D7/o3bwZ4EdrbKaZYKdjdLzNy1/ivqJuhpmZJzROmjtTSb8YBX1M7HrZwykTx8FZfGeHdQgpnQ7yx5rjq/Tw2zvKkvRyk18tXGLLzuAfPEu7llE9pMRUHatYfa1sy3UhAC2OU6IsSEArOACILQO1I80uIZKappciS/mRXyno66+UVFEEvx9nrKft6fidyc5P84werb/18vqcQI7vrjn++m7R1g== 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-SenderADCheck; bh=VO+A3zvSv+mXTEKdG5qQAXyldEzHz1nmZIrO3PJlVo8=; b=ZQilgRUWu31CI8H6+e5P0VbCq59FZaz4L/BpOZqDEs1WJGXT9nGQ+yGpCDFsV7LaXKrlSga4JmfyywEZZZP6yUzFeJKqeSbfpcOCwAxjN1Zhp4V54mWbLTt3o+Oxx0AU3Q2DZabkVDlTyBeUZAPMK8Mfgi96/7U8tSNZvbvYQMgy8QePVFnQ9YdkxjEP8aohfphmFhgOMWxEhhkVMqGAjsE4/XBu736hwRlKJZrUgdlTgpqgzLHuLJsSWy8Ux5UCxsDdUx2uhBDqAsJ6NVflyntOxemh3XlbbeiykvTPVH9JXzyca/UEolTTcdg48BlIsq9i6Iu1lzHbg3UuFbNDOg== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VO+A3zvSv+mXTEKdG5qQAXyldEzHz1nmZIrO3PJlVo8=; b=Eqwe7I7prezihJ0pTIuJwqQLAv3OHIouJ/Id53BIWK2oigaDP47b+rYUByg16Ld2T2y+yg+iHl7q+Z/s5j7oESnnIVzkj+S9YRlGbqUj1hvuglBivaHOyQtWpKttbcTVuPMO0cFWZRcJxl3tqZQk5pHhICKtZqHbmXVQ7IcSFf4= Received: from BN6PR11MB0068.namprd11.prod.outlook.com (2603:10b6:405:69::17) by BN8PR11MB3665.namprd11.prod.outlook.com (2603:10b6:408:91::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3195.23; Tue, 21 Jul 2020 03:58:30 +0000 Received: from BN6PR11MB0068.namprd11.prod.outlook.com ([fe80::f4b6:406b:26fc:c069]) by BN6PR11MB0068.namprd11.prod.outlook.com ([fe80::f4b6:406b:26fc:c069%3]) with mapi id 15.20.3195.026; Tue, 21 Jul 2020 03:58:30 +0000 From: "Bob Feng" To: "devel@edk2.groups.io" , "leif@nuviainc.com" CC: "Kinney, Michael D" Subject: Re: [edk2-devel] [PATCH edk2-platforms 2/4] Readme.md: update build parallellism information Thread-Topic: [edk2-devel] [PATCH edk2-platforms 2/4] Readme.md: update build parallellism information Thread-Index: AQHWWqJdTOnpkeRl9kSl1GfwnzHXe6kRcNog Date: Tue, 21 Jul 2020 03:58:29 +0000 Message-ID: References: <20200715122027.970-1-leif@nuviainc.com> <20200715122027.970-3-leif@nuviainc.com> In-Reply-To: <20200715122027.970-3-leif@nuviainc.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.102.204.45] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 9f70e51e-f2cc-4611-7dbf-08d82d2a54ce x-ms-traffictypediagnostic: BN8PR11MB3665: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: YH8UsBaYg2zScJjoSXicwVEDmXfTO2HNn15j9SyLeWSdjL5oHjyr7zLZG1NgsfsTIKApUTH1FYmKUMxTrx4ym41HUaW6IaHpmYxzaNTXL8qcBc9sFDAlWv6p1e0Doai9xHRQjlZTSzakLSvQdRnp68jzDdookCL1b1acoz+dLQSylpFZqEto+yOA/Onk5MD31JtH6V2xC3cODGKsQBIyQIYhB+sURBJ3LFRzJeOJB/izIbDwH5Cdyc6oumUCP/b1WIULYKd5NET5o7W1ClmSlc1mVSegV5YgaWuq5vUUSwo7hDvfJUpSD42bjNhytqTl1gV1caXqTQsiRYXPJ3Df6bwnTD9GMHHgQvfgMtFKHNgTGUcN9yUQNLCWmaN3yH5o4o4vLOP0pDKXIlMKKKk0IQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN6PR11MB0068.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(346002)(136003)(396003)(39860400002)(376002)(366004)(66446008)(66556008)(64756008)(5660300002)(8936002)(4326008)(186003)(52536014)(66476007)(76116006)(33656002)(2906002)(66946007)(966005)(316002)(26005)(15650500001)(71200400001)(107886003)(53546011)(83380400001)(6506007)(8676002)(9686003)(7696005)(55016002)(478600001)(110136005)(86362001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: q57a/an5EZyUee4ZQxOYcjjENw4tPdrW2R5NZlHm3TbPeV2sYUKeh89icNRiyLwThVDhhGxv+2V2RlnNoeGRBNiH7Y3mI2G46Zq4ZDe054uUQyfokWfuB/4k7ZpyHzWVQ8rIDYTcxzDajF1TLhRbbe0ZCm6vgUPvZygR5E2uG5ViePPS0a4V+78M9djR22DN7tZV4wNsWgiw+No2nXo76dipxquCIpvhgkJEbMJ/3+qyNuHgqyZESVUlbhFT6YL7OR1vlIndfJu8Wa08xwYPeCEmO+w+0oG3KaWI0/TzjW84A08zci+omX4wcMY4PnHd+kkpLPdYn65Sj7FkbzHK1gWBaoBp9Zkp2G4GcoWsXDzth0Qb4v5IpJMuJzX4v6q6dKcKc8YWOqYUA2KyTNsFdTHIeFxgoFndkroh5Pi3+KDK0rbvp02CzFGxuY/xn7VJgWUtF6PGqCWzUFlw4h3FtSoXzhuimYCkT/Fr+siVjPLkSUxbNzcLiJIzOcv8lQsv MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN6PR11MB0068.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9f70e51e-f2cc-4611-7dbf-08d82d2a54ce X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Jul 2020 03:58:30.3342 (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: zzAZV2NelUf4pOY5pVnSKXG1W63LqqyfJxP3axm6nepglXR1f0pGah15Gey+83FrkqBgY1BIrH2o+bxPG6077Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR11MB3665 Return-Path: bob.c.feng@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Change looks good.=20 Reviewed-by: Bob Feng -----Original Message----- From: devel@edk2.groups.io On Behalf Of Leif Lindho= lm Sent: Wednesday, July 15, 2020 8:20 PM To: devel@edk2.groups.io Cc: Kinney, Michael D Subject: [edk2-devel] [PATCH edk2-platforms 2/4] Readme.md: update build p= arallellism information BaseTools can now be built in parallel, so drop the statement that says it= cannot, and add -j flag to example command line. Also, the `build` command now utilizes parallellism by default, so update = text and examples to reflect this (and drop the examples for manually figur= ing out available core count). Signed-off-by: Leif Lindholm --- Readme.md | 24 +++++------------------- 1 file changed, 5 insertions(+), 19 deletions(-) diff --git a/Readme.md b/Readme.md index c5df5a15f53d..e1350b456619 100644 --- a/Readme.md +++ b/Readme.md @@ -105,11 +105,7 @@ target-specific binutils. These are included with any= prepackaged GCC toolchain (This step _depends_ on **WORKSPACE** being set as per above.) 1. Bui= ld BaseTools =20 - `make -C edk2/BaseTools` - - (BaseTools can currently not be built in parallel, so do not specify a= ny `-j` - option, either on the command line or in a **MAKEFLAGS** environment - variable.) + `make -C edk2/BaseTools -j` =20 ### Build options There are a number of options that can (or must) be specified at the poin= t of @@ -123,8 +119,9 @@ TARGET | `-b` | One of DEBUG, RELEA= SE or NOOPT. TARGET_ARCH | `-a` | Architecture to build for. TOOL_CHAIN_TAG | `-t` | Toolchain profile to use for building. =20 -There is also MAX_CONCURRENT_THREAD_NUMBER (`-n`), roughly equivalent to = -`make -j`. +The `build` command will automatically determine the number of=20 +available cpus and enable parallell builds. If you wish to restrict the= =20 +parallellism, the `-n` option specifies how many threads to use. =20 When specified on command line, `-b` can be repeated multiple times in or= der to build multiple targets sequentially. @@ -133,21 +130,10 @@ After a successful build, the resulting images can b= e found in `Build/{Platform Name}/{TARGET}_{TOOL_CHAIN_TAG}/FV`. =20 ### Build a platform -The main build process _can_ run in parallel - so figure out how many thr= eads we -have available. - -``` -$ getconf _NPROCESSORS_ONLN -8 -``` -OK, so we have 8 CPUs - let's tell the build to use a little more than th= at: -``` -$ NUM_CPUS=3D$((`getconf _NPROCESSORS_ONLN` + 2)) -``` For the toolchain= tag, use GCC5 for gcc version 5 or later, GCC4x for earlier versions, or = CLANG35/CLANG38 as appropriate when building with clang. ``` -$ build -n $NUM_CPUS -a AARCH64 -t GCC5 -p Platform/ARM/JunoPkg/ArmJuno.d= sc +$ build -a AARCH64 -t GCC5 -p Platform/ARM/JunoPkg/ArmJuno.dsc ``` (Note that the description file gets resolved by the build command throug= h searching in all locations specified in **PACKAGES_PATH**.) -- 2.20.1