From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mx.groups.io with SMTP id smtpd.web12.4651.1600830534154697667 for ; Tue, 22 Sep 2020 20:08:54 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=Flknx6Xo; spf=pass (domain: intel.com, ip: 134.134.136.65, mailfrom: ray.ni@intel.com) IronPort-SDR: 4XJ7+Yxp9GAHQ1K7fIIjHGHD5BRFhFyMLlxFI9aDHVkp87Id8LKL+rHgHLfdF0Z0bGe14hJZ18 k7nUD5ylvcYw== X-IronPort-AV: E=McAfee;i="6000,8403,9752"; a="160850044" X-IronPort-AV: E=Sophos;i="5.77,293,1596524400"; d="scan'208";a="160850044" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Sep 2020 20:08:53 -0700 IronPort-SDR: eNaMEK7cBSOriV7MyRGpC3dCEiR43DgfVsO8LPQaxbqbEYm/WOklmK96oqCWUDPMHhM12YOqGw oDMZBZezU6IA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,293,1596524400"; d="scan'208";a="454729489" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga004.jf.intel.com with ESMTP; 22 Sep 2020 20:08:53 -0700 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 22 Sep 2020 20:08:52 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) 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 via Frontend Transport; Tue, 22 Sep 2020 20:08:52 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.169) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Tue, 22 Sep 2020 20:08:47 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=T9kbJwc2bTstlC4BoV8w1FAV/qCx/V8jBx/jpb5mChbszKHJFIpyZ0AxdKA/vKXzLuqQvR/J/LN/43oGUaQiVPQzzI2xhK3uMfUH+2r0nc7e4228pDJO0o9qpgKH/HJkkaQjBeD1xp4fgUo5ecVRpC1lW9gWeN+7lNJR99mqzkmiRIlzcclfuvgsAfVT62mP8lFRKJ+mBb8rrpwvQwitCkPc94MqQirx21M5iVBRDIQjqmZe/H9rMTkTGubsz+9tsKVP6s3WAanXpFe2pMoxAjfcAwoP+2Huq6V7/WsFSyDafnXfeuBZU2W1ZO0dFFA41pMwktXZ9fCROT4Mana8/w== 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=ACWvU89FrEgVZWWwEhZw0QYnuyKVWHM0q9KAsHs/gZE=; b=VC17GA5LpjhwTAdmfqhmAfuefs4ngnYc+wNNcTsVH3Jd4ESlJp5d1sBMk/muGp47SDEnHPLAV9L/3TZH0gWs7L/7dlabx746iof+31qsE0zXtte5bdqhOqA6IiDJ0501r81kMzMo0xiSpxiCFuwWteb75nwDDutzk6NE7dK/7fReocAqUCH3E04hre3tLTtuaJmT+vCj+e5DX+3OnFOoP7wnBKxvWMHcT/aK0Kpr3XlQS64s7Biz73T26m1alR3nNRrj5jA47WP43unp108JgftE6JvjTk3xSGk8CDmGSQHBf8svNWNSGh4svdkmjGBprPSOoP5pkD0HB5JHw1wOQQ== 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=ACWvU89FrEgVZWWwEhZw0QYnuyKVWHM0q9KAsHs/gZE=; b=Flknx6XoXNNEhHL/0yzRGA8RlV/olE+AG+w+BUgaRogBlppNz7CArt/HuB4XXEnDkyjIEfzsL40J7JqLxXnX5s2Pbk8tmPTZtiXIwet0rA15kVNk4A108/F6qcPFamzOXH9MvGtYLb0wxDFHU5QDDvaJmAEQQImowssqug9mF7A= Received: from BY5PR11MB4007.namprd11.prod.outlook.com (2603:10b6:a03:189::28) by BYAPR11MB3624.namprd11.prod.outlook.com (2603:10b6:a03:b1::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3391.14; Wed, 23 Sep 2020 03:08:44 +0000 Received: from BY5PR11MB4007.namprd11.prod.outlook.com ([fe80::1533:4053:1c45:3596]) by BY5PR11MB4007.namprd11.prod.outlook.com ([fe80::1533:4053:1c45:3596%6]) with mapi id 15.20.3370.033; Wed, 23 Sep 2020 03:08:44 +0000 From: "Ni, Ray" To: Tom Lendacky , "devel@edk2.groups.io" CC: "Dong, Eric" , Laszlo Ersek , "Kumar, Rahul1" , Brijesh Singh , Garrett Kirkendall Subject: Re: [PATCH 1/1] UefiCpuPkg/MpInitLib: Reduce reset vector memory pressure Thread-Topic: [PATCH 1/1] UefiCpuPkg/MpInitLib: Reduce reset vector memory pressure Thread-Index: AQHWkRrzQp/df6jtfkW877jDmaJYwKl1im7g Date: Wed, 23 Sep 2020 03:08:44 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: amd.com; dkim=none (message not signed) header.d=none;amd.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.147.194] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 3fbc48d6-87e4-44ae-22d3-08d85f6dfb6a x-ms-traffictypediagnostic: BYAPR11MB3624: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3173; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 0dOEhG2wGBOllFZ3vG6p+O1cLsK4lTNFhnI9zD+9JAljgeBOAtOOnbaBbua3BbxojfiJCiN7ADGkLjeH01WbGoSR3AQN+KxZH223LFqzDBkI9moKHCcVmppTSXF2xtzo7+gTOZk2+gLXRoEtRFf902vQcVnCXDEO/+2yk3+K2T2WlX0wkfHD3q1kbO1SZeBi08CWOSRwBzs0T8oMWJtFD9DthiTAPlqU04V+xBnJpa0hWC0G9aNDowEInAqQ2BEDtMka/ys0MruAqIDI/gEDczgiyMUaL9mUDIxOAK71m2NGjkOImA/LMq07HZBgxJbqUrAbqiGL53TTksP1y67PJPr+/P6nyPhcyurVKbQisDdj/nBRT2VQ9SBzLl594End x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY5PR11MB4007.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(6029001)(4636009)(376002)(136003)(346002)(39860400002)(366004)(396003)(54906003)(76116006)(9686003)(64756008)(66446008)(66556008)(66476007)(55016002)(2906002)(86362001)(8676002)(4326008)(66946007)(83380400001)(5660300002)(33656002)(26005)(316002)(478600001)(53546011)(6506007)(110136005)(7696005)(186003)(8936002)(52536014)(71200400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: dvIbjTwl5z3dtc4g2jDS9memp8kfP1LCJUui3oBCARVi0mH7KzzGmJm0fNo4aKGLWH62MEzOhWXdxYg145jex4FTbKu3K/7+q6mC2H2rpsqEkvTnKXXhPvzSquvaelWxi3cgNDsHtC54apehPEtGSITlpQgeimg17dIYynkOVMZG+vFUeNf29ndY/1d4XaFNs61P2iAhLdU94RWgToafWVOGsQdQQc5KYeG4EaVekdDcqRpLc6MbLXJhpO78bjMKkV1VCuAdDoP5TbSIS4/79BRIHkvR9LQupeYs3YyvPrDV284Z8jtAJ013mV/eV+I5A+EXLux0rE3wor4m1LXvD06f02pEy7pBG+3Y3tba9tsHiOLvegH1l346a5Fu/Ta7+kvKqC844xBQeHItQDQPwB6tfLbE9MfoXS0/SuIsaEMbtPhf7QYfrO2zqMFivrkVcc69iOjGIq0z994Lx21oJ9449jLqw4At9xafecwWOtgNqiOfbl/ErHFBnBvAGNpe+3RwSwslNRsd9BREp9+8mWvi7Ol7ENTI9c5m/3IjFBXehMiGexRrWl51iUhFJO6aBvvZ/eS8vm8gSwZEu8nOJri72vFL9meAg1kVF93xC7RCcsSx5XJlMuXJwl+q3z1fZnvoM8aCTslK/LGMY3v9qQ== MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY5PR11MB4007.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3fbc48d6-87e4-44ae-22d3-08d85f6dfb6a X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Sep 2020 03:08:44.4707 (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: Ty9S7pPejbveC/m3F3bY6+4ySO1CAEAMVD/rHpw0+FeLa1+q7+SLxDfVXNLJ1z6TZBntY9dhfk4Ev2rDtW3Kpg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3624 Return-Path: ray.ni@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable It's a good optimization. Can you eliminate the GetApResetStackSize() and embed the check and calcula= tion in GetApResetVectorSize()? Reason: GetApResetStackSize() is only called in one place. Removing the add= itional layer of function call makes the code easier to read. Thanks, Ray > -----Original Message----- > From: Tom Lendacky > Sent: Wednesday, September 23, 2020 3:59 AM > To: devel@edk2.groups.io > Cc: Dong, Eric ; Ni, Ray ; Laszlo = Ersek > ; Kumar, Rahul1 ; Brijesh > Singh ; Garrett Kirkendall > > Subject: [PATCH 1/1] UefiCpuPkg/MpInitLib: Reduce reset vector memory > pressure >=20 > From: Tom Lendacky >=20 > The AP reset vector stack allocation is only required if running as an > SEV-ES guest. Since the reset vector allocation is below 1MB in memory, > eliminate the requirement for bare-metal systems and non SEV-ES guests > to allocate the extra stack area, which can be large if the > PcdCpuMaxLogicalProcessorNumber value is large. >=20 > Cc: Garrett Kirkendall > Signed-off-by: Tom Lendacky > --- > UefiCpuPkg/Library/MpInitLib/MpLib.c | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) >=20 > diff --git a/UefiCpuPkg/Library/MpInitLib/MpLib.c > b/UefiCpuPkg/Library/MpInitLib/MpLib.c > index 07426274f639..39af2f9fba7d 100644 > --- a/UefiCpuPkg/Library/MpInitLib/MpLib.c > +++ b/UefiCpuPkg/Library/MpInitLib/MpLib.c > @@ -1152,7 +1152,15 @@ GetApResetStackSize ( > VOID > ) > { > - return AP_RESET_STACK_SIZE * > PcdGet32(PcdCpuMaxLogicalProcessorNumber); > + // > + // The AP reset stack is only used by SEV-ES guests. Don't add to the > + // allocation if not necessary. > + // > + if (PcdGetBool (PcdSevEsIsEnabled) =3D=3D TRUE) { > + return AP_RESET_STACK_SIZE * > PcdGet32(PcdCpuMaxLogicalProcessorNumber); > + } else { > + return 0; > + } > } >=20 > /** > -- > 2.28.0