From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 6CC35D8007D for ; Tue, 19 Dec 2023 04:01:24 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=LUJRzXah9gCOyx2B68RAvPjyvbcBwNSCwARS/sIASLI=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To:CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-Transfer-Encoding; s=20140610; t=1702958483; v=1; b=gxMVsAJFKfmqn7t3DKYn+ycfVoQ8fh8vV/UkpIgiVINR73APjRwLe6SLXDhpIMIiOvpCB0Wq ViAvg0/bJ5HEPNrXcWWX3/yuW8jFlnbBCyXd6G6HOAFO+0SH6NbkN3dwhfHd1HbB0N08wF3lhxW FSAq8Umrpu0qVJe2W4XDr52w= X-Received: by 127.0.0.2 with SMTP id tO0XYY7687511xW8QUPw3J8E; Mon, 18 Dec 2023 20:01:23 -0800 X-Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.24]) by mx.groups.io with SMTP id smtpd.web10.5109.1702958482563152023 for ; Mon, 18 Dec 2023 20:01:22 -0800 X-IronPort-AV: E=McAfee;i="6600,9927,10928"; a="398388455" X-IronPort-AV: E=Sophos;i="6.04,287,1695711600"; d="scan'208";a="398388455" X-Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Dec 2023 20:01:22 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10928"; a="1107204782" X-IronPort-AV: E=Sophos;i="6.04,287,1695711600"; d="scan'208";a="1107204782" X-Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by fmsmga005.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 18 Dec 2023 20:01:21 -0800 X-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.2507.35; Mon, 18 Dec 2023 20:01:21 -0800 X-Received: from orsedg603.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_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Mon, 18 Dec 2023 20:01:21 -0800 X-Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.169) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Mon, 18 Dec 2023 20:01:20 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AQe3pE4MmKnXIAolVLkrajZwVRZ1AKZHMweRuf8NShyfjpFiCeF7sLVudVIfoPWFN37x0AKX/F2vnjPWV6oKv9Ljwup85KomTh2F5rcNkHvqBIOOP6EB4ObQt9NY7Dkg+aG2sqJ4Ab+UiUn2l0m5FQYW1DDdNuFlr3IwAQJwibzIsxf3EJR6T8Rpds/JD5gDhD0VdJbRggRIBtbqDzs4b2b4SEifjuBx4gxZT/AmG9HoCpzOXZSf5B/L+Aa96G6hslDfeP0MmLXzlb7z59ooQ7SbNpllqrjCNdinODkeRdCsz0ZLT3q3AqixIwK7P4LfCN21H9bS6BmZRGEk5IzNBw== 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=ecrvJaarxKqpYNerx0NDqhZbMWAeL3t+4E0URs+J6es=; b=L5gF06rmpJhf2YUCAiebZi807tR+K4LEZ41AvxLyINDrRCBmdeneYmKSE4UyauQsv5VX7T9aRpAxCU6hVRpq5JydjQBzRSjwJxzyyx3f5B8SHOFYtH4+z+FM0w9iE5C0LsT3Vdl/bY13HXgJxV6Vi8NqgCK1o5uUZZ1aUyJR+3ohNGnm+6Cdp5t5f0ya6qDPB4O2eCeWax0ltOONvqNTeTJiOWCvS3oo7fQS9uBei4L3T/tcC6FJ18OVQmRRwCWwawtSGxgp46tAymrGH1EJnSjg0Jp5CWiWHlp6xlJNaMnZGCA2WVXUP3kBQ09b9IJ4AGaOLf9+v4dAyrIK5+EXpQ== 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 X-Received: from MN6PR11MB8244.namprd11.prod.outlook.com (2603:10b6:208:470::14) by DS7PR11MB6040.namprd11.prod.outlook.com (2603:10b6:8:77::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7091.38; Tue, 19 Dec 2023 04:01:18 +0000 X-Received: from MN6PR11MB8244.namprd11.prod.outlook.com ([fe80::b614:1f5e:8b0c:9858]) by MN6PR11MB8244.namprd11.prod.outlook.com ([fe80::b614:1f5e:8b0c:9858%4]) with mapi id 15.20.7091.034; Tue, 19 Dec 2023 04:01:18 +0000 From: "Ni, Ray" To: "Xie, Yuanhao" , "devel@edk2.groups.io" CC: "Li, Zhihao" , "Kumar, Rahul R" , Gerd Hoffmann , "Wu, Jiaxin" Subject: Re: [edk2-devel] [Patch V3] UefiCpuPkg/PiSmmCpuDxeSmm: SmmCpuRendezvous ensure all Aps in Present. Thread-Topic: [Patch V3] UefiCpuPkg/PiSmmCpuDxeSmm: SmmCpuRendezvous ensure all Aps in Present. Thread-Index: AQHaLzlPKTh/k5qdKUWLN9WlwPolmLCwAOQQ Date: Tue, 19 Dec 2023 04:01:18 +0000 Message-ID: References: <20231215092953.2395-1-yuanhao.xie@intel.com> In-Reply-To: <20231215092953.2395-1-yuanhao.xie@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN6PR11MB8244:EE_|DS7PR11MB6040:EE_ x-ms-office365-filtering-correlation-id: 55e8f3b6-22b5-4323-dfae-08dc0047275b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: oYhRuiJ+y/5S1iYriKMap5rWOOCE2H1yYDT1eSPdPyk0uAk8ujVcHh5qvPTJjzEUyYT47hSo6GLFOiSBz6re92FaUprkWUSGIwncRn1dz7yfflXD1AJ/fOsbuKGyATRZKrMhs7Uel0KuV1EeG7u61eT4SLV5RHb5ieUBN2BX9F/ESaD0O0Kdyj0PYtFkp9G2XbwJcmuxGw0bFJIseiBHeWJ6jU8WfRXZUZUyRobh0vhZ9HufYsg89lu9JV5npgQ2mRp3lb2fpz+YdP809I0KrBF1VqFkywEzLPH6fnXsLkY6WYUOp9CshNG6Pi9H+gi7s0bfav9TqDoBLIWQsO7dIu2+Xt7sNbNZOfz2SuthyWYjLesz92kdvgsmHDbzcYNJrpqoEDqHJANxTYUXFzjJvxBZ4Py/2KeDMjz2vz3IZVLPOInXdNLIAgIAZG6MXICxNrY6P2QuPXGiGvHn4zkr9nqTPlwW+AawCyadglIW0x6D2W8LsvHO1nN9uhr9vEdKjzL0GLy8mGBecnqXWRPzXuqguJB7biy2/8qT9owzhtEYkKNeglSvJCl6B90oEtcyPGYk1c6MvjWtRqrcV+i5626Y3cuBUlXWfa8osKRQRkN1c/22/kULFxkKUHBzf8PX x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?+b2yRR3yJfUYoe/2UFGsDRDG1b+Nz998N0g9BdqeszUMBC7A9D2pnrDYH6/H?= =?us-ascii?Q?D6ZgPSrnun78Jf0srgJEPCgn/MqkQ556TgShchT1pWXEJI37CUHC0txHR6gN?= =?us-ascii?Q?+9zX65+UtM6b2ekt3iwu3vM9WIi+pLCMSmA8bzqwAue6zur98BLSIeIz2dOL?= =?us-ascii?Q?6q/kuTC+Wu+hCz4gI5Fr7u84BDzOR5deUrl/Abo1a/eY3qLdr6gNhc+XIriv?= =?us-ascii?Q?HsoGXCvKUzyQtZuxuE0V8VHyUakjhO7+CuHwPhei9/YDOgpbavVhrSThBq44?= =?us-ascii?Q?3/EzFFUDQa/DSu6R8TM1bNHV+W5JHNCLddGtLVAycLNdWoFgTyWHxCRNTil2?= =?us-ascii?Q?U4PcoxfKL1QKhKhWp8Z00XSXSuilRzqJwTtSWCVqDa8hx0yqxO7XnXktNib1?= =?us-ascii?Q?iocC7lAkUKiwKUbEMpjfsLXRAMs9yWGCuf1zLGqcAm8jFQrcCvwmOMoeP0gC?= =?us-ascii?Q?g8IVhiaJNLyu4aee+Rq3aEgnUMc9sPcrEPOQudX8R79UEW4QNje/1Kp6F+4b?= =?us-ascii?Q?O7YIAsexFh/yJi/KeAU/J9LMYNI7TxDlWsRzV0+/3q5bSIIivl4cJ0h3s+UR?= =?us-ascii?Q?gmJYOGIZ57TdH42ZSrAEjsQMNOP7ODEABlvRbNhqVkNAV07pzLtOMZIZAUKB?= =?us-ascii?Q?nDT4Sv/JC+Dbk6ibY6EGj76jmQ7Ite68WVXN4SEzVaCJnmIlW1S5ZtR9Zoe8?= =?us-ascii?Q?PT89TdjmKDyU6brlY9W7tyu2S0cTF1374itrgKbrrH6RnG2HNgi67H5ADLaE?= =?us-ascii?Q?sPmbKfO//XjxTw3iHvzJ1a5lnmbx3aRFieksTsvgvl18zvHVuSexdJZ4kUmd?= =?us-ascii?Q?uA7pxCbpgFnj+GeG+WHcWb16iPVTmB87nzw63tQu5IAxgwLchF6E8Josh1IX?= =?us-ascii?Q?BG3HHO9hwjUBE8+pgvQKxJSIwkezGiNCU7QlVd96qUzoxYmw6/MSQT2CRpZw?= =?us-ascii?Q?eVVi/700sO+WX3UXSmHJdC8coXdVLKenDpS45BbzjDrYonKGzt62/dIz825T?= =?us-ascii?Q?k+ll2lpuNATlQ5CPzVSCEahYqOjY3/QKJBsQ5UYKGTkjiCicYD1wF5Wy6ISi?= =?us-ascii?Q?/CCdY/vJGy+DYxxU3yaYhl36pv4ua8kwYQMtkz2tg/88dN/7ghUUcZeIQpA6?= =?us-ascii?Q?+gaqf+lBqWCQhKheGa5x4RoKYp6k61dl/85PIwDA9LWGdN6L02fE+hvgd4Uz?= =?us-ascii?Q?Ukbk4FYeT4T6Beyfft3rg2K6TzEIUq1Iz6iDrURN5W7FX71O/24bCtJLLXGd?= =?us-ascii?Q?P/z5j5PpCcEOom4YKEEzg6GLZmfeHFV480p9yHScEGDVEnF5nFovby65BMqu?= =?us-ascii?Q?7Sp+sboHuYFEPSopIV39WO8O0fyuZeqdCQ038Am7UWnrJa5PMTBvVdPjCSl2?= =?us-ascii?Q?5pVB1mKUw5FcPzrdvyXQbOeMTKdRCqEUZ2f9ye3F1NXvnedHeqt/W6y2RCF1?= =?us-ascii?Q?qrgEwtmDOCl0juXJS93OPcjDFEV3VY/xYxKV7rSOugyoJvN8FuWJeVnDl61T?= =?us-ascii?Q?imaFVtNJQIMl9l4FlA7KlS8zRMmDfPiNhTyp3lJas8HGYoWo+heCYr3UPIY6?= =?us-ascii?Q?EYXH51mmP2CTy+0X3bo=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN6PR11MB8244.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 55e8f3b6-22b5-4323-dfae-08dc0047275b X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Dec 2023 04:01:18.2665 (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: 964OZrfZG3bjLp0OqoBo/0+yHHxJDhO/sRFfn4RTgFJEWvsdivIo3gF2Id/yUiRaD2Gcb9dZUknX3oLumO/P1w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR11MB6040 X-OriginatorOrg: intel.com Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,ray.ni@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: RTNgwVTLS7XpNDtRe1jy7GiUx7686176AA= Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=gxMVsAJF; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=intel.com (policy=none); arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}") Yuanhao, Zhihao, Can you kindly explain a bit more about this sentence in commit message " S= MM read save state requires AP must be present."? Thanks, Ray > -----Original Message----- > From: Xie, Yuanhao > Sent: Friday, December 15, 2023 5:30 PM > To: devel@edk2.groups.io > Cc: Xie, Yuanhao ; Li, Zhihao ; > Ni, Ray ; Kumar, Rahul R ; Ger= d > Hoffmann ; Wu, Jiaxin > Subject: [Patch V3] UefiCpuPkg/PiSmmCpuDxeSmm: SmmCpuRendezvous > ensure all Aps in Present. >=20 > SMM read save state requires AP must be present. > This patch aim to avoid the AP not ready for save state check. > Furthermore, SmmWaitForApArrival has two callers: SmmCpuRendezvous and > BSPHandler, the behavior of the two callers can be consistent by add > the while loop to check the present of the APs to SmmCpuRendezvous. >=20 > Signed-off-by: Zhihao Li > Cc: Ray Ni > Cc: Rahul Kumar > Cc: Gerd Hoffmann > Cc: Jiaxin Wu > --- > UefiCpuPkg/PiSmmCpuDxeSmm/CpuService.c | 27 > +++++++++++++++++++++++++++ > UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h | 13 +++++++++++++ > 2 files changed, 40 insertions(+) >=20 > diff --git a/UefiCpuPkg/PiSmmCpuDxeSmm/CpuService.c > b/UefiCpuPkg/PiSmmCpuDxeSmm/CpuService.c > index c0485b0519..3e98955319 100644 > --- a/UefiCpuPkg/PiSmmCpuDxeSmm/CpuService.c > +++ b/UefiCpuPkg/PiSmmCpuDxeSmm/CpuService.c > @@ -416,8 +416,15 @@ SmmCpuRendezvous ( > IN BOOLEAN BlockingMode > ) > { > + UINTN Index; > + UINTN PresentCount; > + UINT32 BlockedCount; > + UINT32 DisabledCount; > EFI_STATUS Status; >=20 > + BlockedCount =3D 0; > + DisabledCount =3D 0; > + > // > // Return success immediately if all CPUs are already synchronized. > // > @@ -436,6 +443,26 @@ SmmCpuRendezvous ( > // There are some APs outside SMM, Wait for all avaiable APs to arri= ve. > // > SmmWaitForApArrival (); > + > + // > + // Make sure all APs have their Present flag set > + // > + while (TRUE) { > + PresentCount =3D 0; > + for (Index =3D 0; Index < mMaxNumberOfCpus; Index++) { > + if (*(mSmmMpSyncData->CpuData[Index].Present)) { > + PresentCount++; > + } > + } > + > + GetSmmDelayedBlockedDisabledCount (NULL, &BlockedCount, > &DisabledCount); > + if (PresentCount =3D=3D mMaxNumberOfCpus - BlockedCount - > DisabledCount ) { > + break; > + } > + > + CpuPause (); > + } > + > Status =3D mSmmMpSyncData->AllApArrivedWithException ? > EFI_SUCCESS : EFI_TIMEOUT; > } else { > // > diff --git a/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h > b/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h > index f18345881b..e3538957fb 100644 > --- a/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h > +++ b/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h > @@ -1552,6 +1552,19 @@ SmmWaitForApArrival ( > VOID > ); >=20 > +/** > + Returns the Number of SMM Delayed & Blocked & Disabled Thread Count. > + @param[in,out] DelayedCount The Number of SMM Delayed Thread > Count. > + @param[in,out] BlockedCount The Number of SMM Blocked Thread > Count. > + @param[in,out] DisabledCount The Number of SMM Disabled Thread > Count. > +**/ > +VOID > +GetSmmDelayedBlockedDisabledCount ( > + IN OUT UINT32 *DelayedCount, > + IN OUT UINT32 *BlockedCount, > + IN OUT UINT32 *DisabledCount > + ); > + > /** > Write unprotect read-only pages if Cr0.Bits.WP is 1. >=20 > -- > 2.39.1.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#112683): https://edk2.groups.io/g/devel/message/112683 Mute This Topic: https://groups.io/mt/103187773/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/leave/12367111/7686176/19134562= 12/xyzzy [rebecca@openfw.io] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-