From nobody Fri May 3 08:47:01 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+73051+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+73051+1787277+3901457@groups.io; arc=fail (BodyHash is different from the expected one); dmarc=fail(p=none dis=none) header.from=oracle.com Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1616177688665664.6417631983276; Fri, 19 Mar 2021 11:14:48 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id 2x4CYY1788612xDg4i9tjgs9; Fri, 19 Mar 2021 11:14:48 -0700 X-Received: from aserp2130.oracle.com (aserp2130.oracle.com [141.146.126.79]) by mx.groups.io with SMTP id smtpd.web12.1044.1616177682662216481 for ; Fri, 19 Mar 2021 11:14:42 -0700 X-Received: from pps.filterd (aserp2130.oracle.com [127.0.0.1]) by aserp2130.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 12JIAF2t180017; Fri, 19 Mar 2021 18:14:34 GMT X-Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by aserp2130.oracle.com with ESMTP id 378jwbuy16-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 19 Mar 2021 18:14:34 +0000 X-Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 12JI9jim175949; Fri, 19 Mar 2021 18:14:33 GMT X-Received: from nam02-dm3-obe.outbound.protection.outlook.com (mail-dm3nam07lp2043.outbound.protection.outlook.com [104.47.56.43]) by userp3020.oracle.com with ESMTP id 37cf2c2rrj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 19 Mar 2021 18:14:33 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cr2hyjz2iqtzYosgRaYJ604wxO0kBY9pTOc1AZfVAsEjjsp1ABtv2zKrlASHWe05kYGMxGlHR066ZKZosWkJucs4NXLVGYkBtA00hmsw3jslXX9AL4r3bVJkV4NRFzQV6imbM9Lf2pr3FTkp7Od0YGJtalFaWRVY0slxb+5iKGRdc4feL17yJjdoa/g0lMl0AVTjq09qF81ITqWwwTlHRJHjIZZs/UpjwdjMW7RtIoBbK9v9K3Wx0wUkSoBeGWOvnhsJkLpW3DiWCSkswvonQne6UmyeyV3m4KkSxST8uxqHT6ELVCLQO3/9F7XpcuN2gb8RpItHujH/HKE5GJBnOQ== 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=8we7258Yg3buV96VlCMNct3vzP0s3gXVqrH4Hxht8RA=; b=f3vizbP4b2NW6S0KkOxdQ/V3tSDdJRyxqNEY0jG5VYK/ofZqahSJZHqiEWwiygoXS7s7Qc+m/LomYNG/5VQ03d3u8EyI3SukpokFWAKySPQgNogX+pAC5oui/0XbHDGKqoUvl0ptlr6qAzwLwp9tHQmyxwKuyBLiXkz/gOhRUEXup5Xps3sxGksRucay9m+zeZN8B/8/P9VOo3hM1/r4YaJmR9KrjTr1K7FIJi1QgYqI1Xo+LQYnmZBlTgCkQFmB72rdeF7lbbuGPVQojlxNHtdK+BOVtSEn0hS64kVJYpq7kPJnUJhlviKNiwQ7n6KCaHdOcCwKUMX3lTgO/xlP4A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none X-Received: from SJ0PR10MB4605.namprd10.prod.outlook.com (2603:10b6:a03:2d9::24) by BY5PR10MB3828.namprd10.prod.outlook.com (2603:10b6:a03:1f8::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3955.18; Fri, 19 Mar 2021 18:14:30 +0000 X-Received: from SJ0PR10MB4605.namprd10.prod.outlook.com ([fe80::a021:790:7ce6:6f16]) by SJ0PR10MB4605.namprd10.prod.outlook.com ([fe80::a021:790:7ce6:6f16%6]) with mapi id 15.20.3912.031; Fri, 19 Mar 2021 18:14:30 +0000 From: "Ankur Arora" To: devel@edk2.groups.io Cc: Ankur Arora , Liming Gao , Michael D Kinney , Laszlo Ersek Subject: [edk2-devel] [RESEND v2] MdePkg: use CpuPause() in CpuDeadLoop() Date: Fri, 19 Mar 2021 11:14:21 -0700 Message-Id: <20210319181421.2791425-1-ankur.a.arora@oracle.com> X-Originating-IP: [148.87.23.5] X-ClientProxiedBy: MW4PR03CA0202.namprd03.prod.outlook.com (2603:10b6:303:b8::27) To SJ0PR10MB4605.namprd10.prod.outlook.com (2603:10b6:a03:2d9::24) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-Received: from prion.us.oracle.com (148.87.23.5) by MW4PR03CA0202.namprd03.prod.outlook.com (2603:10b6:303:b8::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3955.18 via Frontend Transport; Fri, 19 Mar 2021 18:14:29 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0fe061cc-0f86-454e-dac5-08d8eb02d746 X-MS-TrafficTypeDiagnostic: BY5PR10MB3828: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Message-Info: xS/uGVWxcCBgLqCB5al1Y/MbsOHdpRT7t7S0gqxXKS9R0R/6DUmpraCwxCazHnSdG841vvpS3BwUaI8DFCf3/irTYbNv+S5JZt07zK5sq4wv5Q5AxylbckRbP+ARTIN0XWN/SV/OTHAkKBPZIbVUD4QRCcm2oihNvEKRsSPf17Hr64lw3xkUHpVdB5NLooNqiSzmi3WX3V3IhyW4VSSJT8EkNpVrh8leVfYs9dQDrJPdCNAQG+AwyIgqtR0vJtbRyuQQzImsBHBVOB9qu4bJMjOd2Bci0PKQBIVmjnkUKRumAT0JbEKFz0CHYVcEAJtQA6bOqE4YXbDVg1x/JMlBKyXayrqIpAjfBFYGnM9rT1pPF9TvssAQmRJsNPkfrcpJG/qjZjapku138k1gxAW8lqjD9Sh+kNR9cVZ27dkgFS/dCZEjGWr92cFCl6HKvG+E/1i4oJPIn8xiOixx+6ezXBqFcR1EA9Yc92UccmG+lmGdn10cAJJCmhvTrBo2FKDus0uYJS+v3teNuq4S2epmpIyPucPYmHC1XLU+Vj/j5QP0K9YWPkYxmr8+1bcGxvBcADOtoaDYfHaqC25dbpTQtJGF6JQrZPZbcrR9z/twNjIagec9Fyso+bF31Du8kjRAjl7EQHxdbdpNqCxtjpsLN8L1KGcr991iWmv4mvKpxXw= X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?eW9JdUpydHMvS25Ycmt2dCtuL1J2SCt1UnRGUFI5TElrZ01PQVB4TUJFMXMr?= =?utf-8?B?NmdjNXZqRFIvWmVBSXVzNkk4ZEJ3Mmo1a3JaVStGeVk4ZEY0VXIwZXh6VnFs?= =?utf-8?B?KzhhQUd6d1pxYlJyRUxsLzNjS29LdTFGdlA1K2lSQ0FLc2FYM1lJYXQ5a1FQ?= =?utf-8?B?Z1dxRnhaV1VWUERGN0NpRHdTM0JNcm5DN1l4MFM5UTJkQlBXY040dkZrWWRs?= =?utf-8?B?MzA2ZWovSklVam1HeWJEaXVTR0l6QzlIdEFDaHJveXhsbjk0ZU1wTXFwa0RM?= =?utf-8?B?aVJxUCs2L0hFL0NKTERhNjB3MWZoOEh4QjVGd2NYVVZzRjV3Qlp3bTlUSmsw?= =?utf-8?B?dnp2OVpHS0pJOHlqdWs3VHNZUUxkVTZyYm9RN1V5d25RdzVGUHhJWXRCY3Rq?= =?utf-8?B?dTNyZ2pBUUVnb3VlUGRpR2tpbjZSR0JsVnZiTmlwdUFjOEVaSDEvcmdETURx?= =?utf-8?B?eU8vaEMrYXJqVmFxRGZDcjBoalRNRHprTThpNTRENnRwTjhzMDNpQUFCa3Fi?= =?utf-8?B?b2hyZk9DazE5cEhSbThhZzdNdTB2REhKNllTMXh5QlczQ2lXRU5vTksrWm85?= =?utf-8?B?RTV2ck9La3RGbEVJZUdQcFJ6ODR6QlZNR3M1d3EyeWZnblUyLzBINVQ1VUN2?= =?utf-8?B?OWJmWG82c285eTI2ZlVUbll2cWNSVzE5dFZVeEdlbUNIWGdpRy9zVXlRYzls?= =?utf-8?B?U3NZb3pQYmhmd2paYVZOYWpGQmZhYXN6cnI5Z2ExK3lUbW81U1hQcXFkUmgx?= =?utf-8?B?eEVRWlVzVDVqMnZ6ZUplMFZBRXFkWThuYnhZZkNPcU1ndlhtRDBORWN3UElD?= =?utf-8?B?QVYxTzI5SlN0VXIzVjJkY2pZRlFWUGRiY0JyWUY3YWY5UHFEMUFOQnl3ekJk?= =?utf-8?B?ekY1TVFZeTZ0bFNyTHNrY0VzZy92aFIwdUtlNlhVT2NuNituVDZmV0trdXBQ?= =?utf-8?B?dGdOZ0NQbDhMQ3FPSWN6WU5vSzdjUzBqQlRQeFduNDlTUHlzaUtUdlNrMDEy?= =?utf-8?B?UFFFU2k1UGFRa0pRbDBCMldhVkJvb0hGdHFlc2llK3IzQXJaSUtBR3U4VWFn?= =?utf-8?B?MW1NLzBKakh1SXRiVy9maTNkZWRUdE5xOEtBbFBnWWRTNjNVbXhYdWF3L04y?= =?utf-8?B?bHluZzFEYk8wc1o4WFp4TVlsdENWZFV2cE5UQytoK0dTZlVpZEJ5Wm1vbW1J?= =?utf-8?B?UEZRaEtFV0hGaWY3ZTR6SWdTVHFYNndvM1E4eFVWeUZFdnIxUE84UEJPcTZR?= =?utf-8?B?M0lOUVp4TXNDa1pYVmlnMnBmd1QvOWMwN2NiUVUrTDRzZndYUlplNWhtSllX?= =?utf-8?B?OFg5MEtYZTlrUWYxcitNQmhJUU9kWFJ0ZFZHQUtISUxQY0pLY1JGL3BLbWo4?= =?utf-8?B?VmtLQU9Vb2dlQzdWUm1JQTdlMGwwOWw1NVA0MnVDRVBnNXNiZndiY0ZTVE5i?= =?utf-8?B?RW9MWVpIdEJzMlFmY09xTHBmaDFpODhyMkZWaEptNVhyZlJKMURRdEdiRVU4?= =?utf-8?B?THFMQm5qOXZTNVZ2OUpRRGF6V0NuY2YvcVV5a0hjaUI1MW1oU29nRXp1ejNs?= =?utf-8?B?RTdURHZpWll6MHZyajc3aGcxNFY1TUl6YStkd05SeTIyemoxWjNFT1gxQTdM?= =?utf-8?B?VXExRmQ3SDhXNW5NdnlLVkpxK2dya0lCeFF2U0MycEV0VDJzSHF4MVdEYnow?= =?utf-8?B?VnV5UU4vWStNSlVKUXllVzI5dTVYZFRUdnRCa2VTYjdWcUZFdVE0NVl0ZTRi?= =?utf-8?Q?gdzz56YeDLaAUhLml1dWN5USuYkiVA1FBaE+r0b?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0fe061cc-0f86-454e-dac5-08d8eb02d746 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR10MB4605.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2021 18:14:30.8705 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: X7KNf7q2JAAXKF6HE+UZfL4YjQfd43oOFyuOHA0flP5WKjVBXl/QR0sH0VFd8VeEHdhs2iTtAN6jAjR6Fgtp2NrReD9FxkWGV8cVGp/70Os= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR10MB3828 X-MIME-Autoconverted: from 8bit to quoted-printable by aserp2130.oracle.com id 12JIAF2t180017 Precedence: Bulk List-Unsubscribe: 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,ankur.a.arora@oracle.com X-Gm-Message-State: uruCFj2NMGFkMGkqMj1IPTUrx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1616177688; bh=9IoOmSCW49T8+F44hbzJ9AKVCVwwutR6IbjsrM6wsxI=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=veCtXbKG98Qt9s4VVGZ+R3TC1foIEKH6VXzkjX0ZLiBpGDOxL94MUMy9/55Hk97PBwr uhI/RpM+4lBQzsBqhMAk4+NgxMczSacCXuekFfedi8f5qJM2gWjKjYFg4TcQOHW2X2yPV 7MfD0lwWTt0mtSuFlh+CQ7GxhMne42eeccE= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" CpuPause() might allow the CPU to go into a lower power state state while we spin. On X86, CpuPause() executes a PAUSE instruction which the Intel and AMD specs describe as follows: Intel: "PAUSE: An additional function of the PAUSE instruction is to reduce the power consumed by a processor while executing a spin loop. A processor can execute a spin-wait loop extremely quickly, causing the processor to consume a lot of power while it waits for the resource it is spinning on to become available. Inserting a pause instruction in a spin-wait loop greatly reduces the processor=E2=80=99s power consumption." AMD: "PAUSE: Improves the performance of spin loops, by providing a hint to the processor that the current code is in a spin loop. The processor may use this to optimize power consumption while in the spin loop. Architecturally, this instruction behaves like a NOP instruction." On RISC-V and ARM64, CpuPause() executes a NOP, which is no worse than the tight loop we have. Cc: Liming Gao Signed-off-by: Ankur Arora Reviewed-by: Michael D Kinney Reviewed-by: Laszlo Ersek Reviewed-by: Liming Gao --- MdePkg/Library/BaseLib/CpuDeadLoop.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/MdePkg/Library/BaseLib/CpuDeadLoop.c b/MdePkg/Library/BaseLib/= CpuDeadLoop.c index 9e110cacbc96..3cd304351a65 100644 --- a/MdePkg/Library/BaseLib/CpuDeadLoop.c +++ b/MdePkg/Library/BaseLib/CpuDeadLoop.c @@ -28,5 +28,7 @@ CpuDeadLoop ( { volatile UINTN Index; =20 - for (Index =3D 0; Index =3D=3D 0;); + for (Index =3D 0; Index =3D=3D 0;) { + CpuPause(); + } } --=20 2.9.3 -=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 (#73051): https://edk2.groups.io/g/devel/message/73051 Mute This Topic: https://groups.io/mt/81462571/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-