From nobody Thu Apr 2 09:30:13 2026 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2829723ED60; Mon, 16 Mar 2026 01:37:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773625070; cv=fail; b=tXmiugBVTaOdU05L35VRSvG0EH2XFZcSIGFsSxMlM2j+caj5rr60ZVAR7ARiJVunOckHGxu2tbvzmCWotnO9F/yRXFsvrDHC6UpsvpCQrXN3JM9XH7I2yCDZqiLgE/VL3wA7GGv225KlcIZyQvWuM0MhzXd5xu6YHouWerHEwJ8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773625070; c=relaxed/simple; bh=46sJQDueFkIf+E5bE9BvltKHJ0/vgGoXnMyx7bBGGLE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=Amo9YrMirxHWtSL6Y5Dib9S2mr3RysrBKwKqrZXE9ARn1tjHkIosPwR5i4k4Hk83SYeveOOLjx7G58LWj1ybpnMQvgSrJMZCpuqatz+19hC2QhtFFpPzP6Q85tdHuYHTzbCna5YrOKduBVzeUuJGTgaxofWqx56w7CQk7j1vdNU= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=Aa9yvGEy; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=QbMAF29R; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="Aa9yvGEy"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="QbMAF29R" Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62G0Am0l1323668; Mon, 16 Mar 2026 01:36:59 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=aG2lAbZ6LdnUqGted7YggmlE8+g53l/PXDoz0JMPvKc=; b= Aa9yvGEySrKxhqJiMQmnOliyr1d8MHMTIuJ7f6axs6yBassAvd55yb3VtiastuCN 9cWtLJ5fA60BBSttrxRh0wKxdxkWHRLqMPxoo8lYyILxkMEJvRdbxSWiB5Fc5818 7kDYy5MyhvrnuOpUTQwVzJj2v730Jy+fR+J5p5RJ2ftsi9U42grrz6YbRFnezcT9 IrBzUcoTsne+NbemcTd8+2aaADauwcyJd5kJ8JwWYbPz7/D+c9u5enZbVsthkc4W wmbrVZjNoxOlN7rwMd2Sv2qwiza9wuvXOM4VtP9vs/Onc42hlWrXvW5uMqgiEV9b EjB4mlrl/GdXYXq9KF3yNw== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4cvx3b1bh6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Mar 2026 01:36:59 +0000 (GMT) Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 62FMZmu2030614; Mon, 16 Mar 2026 01:36:58 GMT Received: from sj2pr03cu001.outbound.protection.outlook.com (mail-westusazon11012059.outbound.protection.outlook.com [52.101.43.59]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4cvx48043c-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Mar 2026 01:36:58 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=sqVAvPtK8i35x5va0EYZa+q1hPYWDj9vWYftdeaAiGoLVwvmV6sVEpUu6QjRzMXOLgNfNW9meb+TZMX3ZlTdxIX+mYFfdlxvozC226l0UH4ATxQlQFSkCtN4C1OLyejL6Vu9r11aHKRTRfaAPRfyMOkrgKiTUSKA2yFw0Rcqo72LTPnxGUtL5hD9aUlBX1hVFw6mGHDfoJIMVnq3S7FmiruC/kwseNU6S4m4x903Rgmmd8JTMjsLvpI2k9Mh/xRyNmNEULpm1e04Gp8KFh3BSGe393mumqVk4+EwURhptELLykuApqnLHWBx+MRvYT0AIJ2BBiI2JeOFr5eFfkY7bg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=aG2lAbZ6LdnUqGted7YggmlE8+g53l/PXDoz0JMPvKc=; b=aQA1DUj4LtBwJoLKm4MG7RRDIg4MNRTUb6Jr1WIIU2dU6mhhTOs6OHLkNJXdhkKhaw9uxFeluAjqybdlF41pW/iBukew/3zMI8d38bSqaWApT0pePLEah3Gk07rQ3k/0hCodwWsZs8ZHD9L9pYHIc4F42NzSGEiORsrby6jwelwRg723XqICsmE9Ih2UWjcLzTNvrKFqNRGs9WPcJNGgBhYBh59lJYgpcxoiqIdT8gWwSFFFVUF5o1jTF1+86UF1SnA3leo/Dj9Bm9BgU+SEZcpxCwJHMDLFpIM8Ym2R4c0Ben1Bb0faom48aB8gdRE+O6CI//X091VSVvdKLfYwaA== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=aG2lAbZ6LdnUqGted7YggmlE8+g53l/PXDoz0JMPvKc=; b=QbMAF29R170+42+sD+K1GaYDEiVRsG4xyuF+WSLzm8RS6IyJhFN01+4etOdsZh+lPkNs6LKxSENc2j3xU+0cMLCAwHSdZLLNEBZXwyYyGuWkvRMjk4v39WE63fcTxu+wykTw+mRBxVD7vXEBQMT0h+LtiBHNvYChVd/qw60O75s= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by IA0PR10MB7372.namprd10.prod.outlook.com (2603:10b6:208:40f::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.24; Mon, 16 Mar 2026 01:36:56 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574%6]) with mapi id 15.20.9700.022; Mon, 16 Mar 2026 01:36:55 +0000 From: Ankur Arora To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, bpf@vger.kernel.org Cc: arnd@arndb.de, catalin.marinas@arm.com, will@kernel.org, peterz@infradead.org, akpm@linux-foundation.org, mark.rutland@arm.com, harisokn@amazon.com, cl@gentwo.org, ast@kernel.org, rafael@kernel.org, daniel.lezcano@linaro.org, memxor@gmail.com, zhenglifeng1@huawei.com, xueshuai@linux.alibaba.com, rdunlap@infradead.org, david.laight.linux@gmail.com, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, Ankur Arora Subject: [PATCH v10 01/12] asm-generic: barrier: Add smp_cond_load_relaxed_timeout() Date: Sun, 15 Mar 2026 18:36:40 -0700 Message-Id: <20260316013651.3225328-2-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260316013651.3225328-1-ankur.a.arora@oracle.com> References: <20260316013651.3225328-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR04CA0318.namprd04.prod.outlook.com (2603:10b6:303:82::23) To CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR10MB5409:EE_|IA0PR10MB7372:EE_ X-MS-Office365-Filtering-Correlation-Id: 377ac3aa-7496-485a-016d-08de82fc81f6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: 499GIxbwzOhjaOTyQvEbiUhhq9W5cOPSODlhp17uAezGej1vdcpn1ylM/pjayhtnW7pnfg3Yka/+0LW3i2eQT0JZYDjtzgc4puIWTilDoQkADljWTHj3ruSoOoIl5e4hS9E89s2Wmb4PZLDvRX69LVs8Tc3RBV3mrRFB0iNFQxGAUTYMx6QoZVyClYooob/25XkGonPobwtRFSnigH8ULbXA9/KqjVaILGM3wYhiXqFx1y3S8BGlyJwpRSmypH0j+ud3/qXompuP2j0TTCgAAfBJ1CWkk5h6X6wO62z/04m44N2h/PYS9Nwgq4RZgjOhqINO2F+wDfQshnA4Pp7YJiWCWtZ3NUPouyy9z/Iq71XwuFoYD4N5lCzLUUoHK2c6Xa5jZVwt/3udiQWtKktMP3hDX7Si/YqsTGtXahyRQZIuQR9bdaXdkgRdpTFMYW0cUiN7lzQ+yMTj9pS6EZ04TextXiD2xc4t0VsK37EECaUv2Eo7NGFFRyoMRRBDc3x3BZ1wtgyZ2PJzo9uxLxgLCbHOVAD2q7EeEiuipzM/hC/wjIyC3xR5wm5tHOQ9AewxApuq097KFyH1XpohRi+r1pqv00OvFnlYxBP4PpCg1qf4V7linonvL444Xm9i4+ZJ7hDSvMvs+MLtnDVeuDPOkoJYYla4E77UCERCZrvFbVazXJ4QtJKAbFierfc0463dlqQp1g10PmiBWB8lBOvgQs6j7x83gONSCjuX7iHLrW0= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(1800799024)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?W6lyAJpeS/HaHuSb4U5xp9hKSk58C1dXPCPjG1griq/YKYtHB3aBwlnSNtu4?= =?us-ascii?Q?pXsgnnFQ8t8NNEgmV34DgPllJpOJqFAqNz2z0GQgU2VdS82d57P/ZtrWwCTJ?= =?us-ascii?Q?JKZhCd9jVkIGWC4Y1dFTiqp6cfq/2b9zPECQlJcD9r/PZy75HJx5rQJEatYy?= =?us-ascii?Q?/51mCrrWeIettonbDhM+rB80cy0EbeI3xG5c7AKqpkSWz8zVNXCQDTqlk6xA?= =?us-ascii?Q?UYO/D2Kz1UFEfnHeXeOFvewWSjQZCT3z5qsRsPnl5IER3dWgXSPc/gfBm2sE?= =?us-ascii?Q?4+P/MdUBeVXUjOnbOLbqsFRi8shwVRhN/MXYJUNPFdl0t2bnhvCCeLbMaRUZ?= =?us-ascii?Q?tivgRIlqga13bc3s7p5AEhwlsYQm6BtPMbEuzALEEsBWdsk1ubcVvbwDn81o?= =?us-ascii?Q?VywtM7oZUBOr5h2fKtSl6XgOdyt05JM9w9eVUuWhuVbYwkWpUjSB3+d/4/Uc?= =?us-ascii?Q?Z0/fQNYWTJUivwJj3/uXXaNSli3o9M6yGdn3jKTFJcyHlx+0fJSpgRn8cby8?= =?us-ascii?Q?d7zuxNMUI76HE0NLsxjh+FAxoWp/XWyQVoLMRiKGybWBzvsT3P3Ea05MffX5?= =?us-ascii?Q?OUjrQy74pUijyhfLIkGA0aVSsZtzhvemfBBINJrtPQ+gasF7PiPEN/j/Tt9F?= =?us-ascii?Q?/YKZc3Dc1U0w8+GTyluZxfITCdxsy/dBNmyQ5N5WP0d2WJp5VDomjUsjw6Ik?= =?us-ascii?Q?JH8Y0qc8Y30hpKFKIGxENRskUAF+tpTpjiechpf1DS80+NKDhkG1eB/BVjUn?= =?us-ascii?Q?eaUhNDfMaa+N5VJ61uTOqIDFZvm33rFGR0JR6d1wgTRyLmhpZwVKFpPJMWxy?= =?us-ascii?Q?8GkWJb9poZRFifrtvSA+P9B6RJce0QuwfV1N2m/eml7PV3cOqVjtPjGTuoc4?= =?us-ascii?Q?iJgZCFbtrmWDajJMvf8PhAFBM3Q3ku9Pu1eTRL7cHg2h7xBfZUq2EzLPVqgM?= =?us-ascii?Q?GJ5BZ+z+aaYKaUYj/yrGAXRdI1C1uGXj5+ZXx/6q+mjvNanxGiGDLzlOfH6+?= =?us-ascii?Q?VvWDjkt/0qAi6Qy/uf2Iwu4+6Fl02U7jye8419IY/xYB/AYwhh1PKoNO7HRC?= =?us-ascii?Q?CGOdmSyJNh+VS/r7dsnhKoDucg65L/yqnDeaJ8oXUmrdDvZpnoWgMQFjQIvf?= =?us-ascii?Q?W3DnMFgqPskao1W2grIoX0w+FMskUv1lx7OEh5NhGPzJw1KtuzdDQxlf/KjW?= =?us-ascii?Q?4moWXg487Db7QuAvcnrb08P/ivgBEaJyvrE7HpQ2kjU1Qxt+RyjccnTEyHyQ?= =?us-ascii?Q?vJ+rMVqW5QusHRziTE18XYpbtpnY21e9ontU7WfliBTvoMDeI5UUnIZRY58x?= =?us-ascii?Q?r1i6J/NRL80gy+e5f0igX0sWkirV/SEYhaNJF+Smitz9NOyM/ro7JQyTutj7?= =?us-ascii?Q?JychIbV3Zm/9yI+dmMY8cFBYJHTga9Wc7kiWr/K9uiWebPKKqQGyK4FC0YiH?= =?us-ascii?Q?S8BxVhyoVzd5TfLNwtr8jmBl3UanFaAC4XHjK9bUlY53WQrgdYcBPwW3a0//?= =?us-ascii?Q?Ek0O9NcQq1X90CRNtMrk0zyqMQBxpX18qU9IIWdoVFFEDOcjcc+gPX/uFU67?= =?us-ascii?Q?k9dq2SlbQw2JuqEP1/sLKtCEsLy8z6GXZT7RguPvWBcgc4Wtg0PWJeuDVvhn?= =?us-ascii?Q?Pd/1OF2JBiUR1DBqb4/zp5qMy0JsHxR264eNosltTJQnqxkm1jyEZ9cyaPTB?= =?us-ascii?Q?NpQO1gvj52UK1ZTOW+5YGKQ9AxcAB+N/hXjHcBFhldZe95Ic3CoPB3Flk06b?= =?us-ascii?Q?2nHjF9YJ/A36rbofbuowqnRguFtiKNU=3D?= X-Exchange-RoutingPolicyChecked: VNxkxoy7SSO3aUyMBTNBLpRBYQdYMfoK/8O8sEXEbd3G9csmC2yUrR1a3eCwGyNwog86VlHDCSwTl1/xh18y7WNC52cLc98E0JGx+xmBOC1RAQHRztYPx4J7bmrPMEeswhboznrZzZx2IESCTAxFS2hwNg2HlfSEcGTuc0javYz1cU5G2YK/pZrcsgcSWMbFU3BcXTkfEw7pcHeFlB6S8qRPkH5VNWkS0lkkvy5sOuJuycVepCHZ/kjIotUCtEwM3acqpAF92xKW5giuzZg+WHKW+uK7oQgYSToz6NKVft1OAqDQ9EgFBLPzFcxOrPoHECEITt7OvJgQrgqU40vYuQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 4Q4wgEQe8yc4TW3XbVphqGdMMScqyGgaLD40tvySjCrm6rW+XMU4H8WZDcNbHiabCkGau0CLi5HyjJVoG4OEAnu/iUrDX2rRlFdmIEg/XQL2EgSc5UYyRW+QqDonKU4L/QAOxmbsqj6wC9yKHbtu8SWD8Op7n88AUJ7IHodIdJZSlE8g8PVSsxf2ii5ax1y21EJMIqatZiCuDb+qOg5gMJBOO/c9xCypiaqedFxv8LCyxRjHHgM5SrG5eBPGJwGL3P5JiTzjOo7gOWyJNWltSOQVjgknforGKuI2sRtnI/Mh6FtZ3re+W1HkkzdcBUWhVbeyMWykiZ07EqR7OanIFmDcBZV1P+n7a51UWqFMDc6FPtvXFyvWhHQC1g3gKVrsFHsOiCN3lBTwsDN61d6Y26p/eh53omjkGLpzc+znS4NYkvTrUXESHJinHtrtzW6I7dmyok786rvh0d84G8TO+iNmFGlW36/J9flWKyEMIjucDnzHnuDxn4ze8ERY/2uGWhiCxvkqX/H7YrVMPLVVbnJqTUh1KX7C7O0uoTgwBvbi4VAREJI4uNIPGmmHRJKUomhYHawRgT/MobQznkwVYeEy+k0BY+DqAwyFOj15n5I= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 377ac3aa-7496-485a-016d-08de82fc81f6 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2026 01:36:55.8479 (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: K+GOyBUUFl8btpCo79Rt79xbHYgrTby7M7ucrj0CVAyef+cWtu6OWEQznLzzTKs3wHXVosm+uBLOgon0j4IzYL6LKfyYagVPOhP8dMx2X4c= X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR10MB7372 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-16_01,2026-03-13_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 mlxlogscore=999 phishscore=0 suspectscore=0 spamscore=0 adultscore=0 malwarescore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2603050001 definitions=main-2603160010 X-Proofpoint-GUID: e6OLuY366rAFqfisoVHQzIY3_pktQiUu X-Proofpoint-ORIG-GUID: e6OLuY366rAFqfisoVHQzIY3_pktQiUu X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE2MDAxMSBTYWx0ZWRfXzebrgE3WOuBt VstcYsia+gGvcPI3+We4zZuQhpgdAzgHu64+LVPxFtCzmOIeqCoXfj7puILKW7EIHR9uxMQM93Y gh+Htd1tQ0qc7xhZRCuZbSldhEIz6c22/6Ijks/s08DrBzLADol95H/FIcuQAO6LSVD5y33GXvH DeSw8cdntwXVpQmC1elb1TMRngP0/mFMQT2v1KTy9wCBoHbYqB8mEdqD/POhwFNE7CQn8UcW3ii SnucISo2CwWs81AydCmeghbNTcY60vemlkOtT+sYfyeHHOK6dSb9p7qDJhIhGKuSn4i7rrNYczH iDUSsrKNYibe+ols7I4xggQnSaDP9MEPISNDAznNHjUVhtir0QPw5SxkjDyoRj+NKACnyEg1rK0 qo0Y7DpC6aQpwnNftH0rBYq7I2b3V6X/8gnIQksmoS1rd0fLTNJvZogR/yG4wQC+VTvIDV/v6Ry y5UrbH0fcjpQrrE4itg== X-Authority-Analysis: v=2.4 cv=IN4PywvG c=1 sm=1 tr=0 ts=69b75ebb b=1 cx=c_pps a=WeWmnZmh0fydH62SvGsd2A==:117 a=WeWmnZmh0fydH62SvGsd2A==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=Yq5XynenixoA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22 a=x4eqshVgHu-cdnggieHk:22 a=VwQbUJbxAAAA:8 a=7CQSdrXTAAAA:8 a=JfrnYn6hAAAA:8 a=yPCof4ZbAAAA:8 a=fV_dhAPnEWTPURU-wNIA:9 a=a-qgeE7W1pNrGK8U0ZQC:22 a=1CNFftbPRP8L7MoqJWF3:22 Content-Type: text/plain; charset="utf-8" Add smp_cond_load_relaxed_timeout(), which extends smp_cond_load_relaxed() to allow waiting for a duration. We loop around waiting for the condition variable to change while peridically doing a time-check. The loop uses cpu_poll_relax() to slow down the busy-wait, which, unless overridden by the architecture code, amounts to a cpu_relax(). Note that there are two ways for the time-check to fail: the timeout case or, @time_expr_ns returning an invalid value (negative or zero). The second failure mode allows for clocks attached to the clock-domain of @cond_expr -- which might cease to operate meaningfully once some state internal to @cond_expr has changed -- to fail. Evaluation of @time_expr_ns: in the fastpath we want to keep the performance close to smp_cond_load_relaxed(). So defer evaluation of the potentially costly @time_expr_ns to the slowpath. This also means that there will always be some hardware dependent duration that has passed in cpu_poll_relax() iterations at the time of first evaluation. Additionally cpu_poll_relax() is not guaranteed to return at timeout boundary. In sum, expect timeout overshoot when we exit due to expiration of the timeout. The number of spin iterations before time-check, SMP_TIMEOUT_POLL_COUNT is chosen to be 200 by default. With a cpu_poll_relax() iteration taking ~20-30 cycles (measured on a variety of x86 platforms), we expect a time-check every ~4000-6000 cycles. The outer limit of the overshoot is double that when working with the parameters above. This might be higher or lower depending on the implementation of cpu_poll_relax() across architectures. Note that this analysis makes an assumption that evaluation of the loop condition, @cond_expr, is relatively cheap. This might not be the case if that involves MMIO access. Lastly, config option ARCH_HAS_CPU_RELAX indicates availability of a cpu_poll_relax() that is cheaper than polling. This might be relevant for cases with a long timeout. Cc: Arnd Bergmann Cc: Will Deacon Cc: Catalin Marinas Cc: Peter Zijlstra Cc: linux-arch@vger.kernel.org Reviewed-by: Catalin Marinas Signed-off-by: Ankur Arora --- Notes: - s/@cond/@cond_expr/ in the comment describing the macro (Randy Dunlap) - Clarify that SMP_TIMEOUT_POLL_COUNT is only around memory addresses. (David Laight) - Minor cleanups to the commit message. include/asm-generic/barrier.h | 64 +++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/include/asm-generic/barrier.h b/include/asm-generic/barrier.h index d4f581c1e21d..8e6b85c3ed99 100644 --- a/include/asm-generic/barrier.h +++ b/include/asm-generic/barrier.h @@ -273,6 +273,70 @@ do { \ }) #endif =20 +/* + * Number of times we iterate in the loop before doing the time check. + * Note that the iteration count assumes that the loop condition is + * relatively cheap. This might not be true if that involves MMIO access. + */ +#ifndef SMP_TIMEOUT_POLL_COUNT +#define SMP_TIMEOUT_POLL_COUNT 200 +#endif + +/* + * Platforms with ARCH_HAS_CPU_RELAX have a cpu_poll_relax() implementation + * that is expected to be cheaper (lower power) than pure polling. + */ +#ifndef cpu_poll_relax +#define cpu_poll_relax(ptr, val, timeout_ns) cpu_relax() +#endif + +/** + * smp_cond_load_relaxed_timeout() - (Spin) wait for cond with no ordering + * guarantees until a timeout expires. + * @ptr: pointer to the variable to wait on. + * @cond_expr: boolean expression to wait for. + * @time_expr_ns: expression that evaluates to monotonic time (in ns) or, + * on failure, returns a negative value. + * @timeout_ns: timeout value in ns + * Both of the above are assumed to be compatible with s64; the signed + * value is used to handle the failure case in @time_expr_ns. + * + * Equivalent to using READ_ONCE() on the condition variable. + * + * Callers that expect to wait for prolonged durations might want to + * take into account the availability of ARCH_HAS_CPU_RELAX. + */ +#ifndef smp_cond_load_relaxed_timeout +#define smp_cond_load_relaxed_timeout(ptr, cond_expr, \ + time_expr_ns, timeout_ns) \ +({ \ + typeof(ptr) __PTR =3D (ptr); \ + __unqual_scalar_typeof(*ptr) VAL; \ + u32 __n =3D 0, __spin =3D SMP_TIMEOUT_POLL_COUNT; \ + s64 __timeout =3D (s64)timeout_ns; \ + s64 __time_now, __time_end =3D 0; \ + \ + for (;;) { \ + VAL =3D READ_ONCE(*__PTR); \ + if (cond_expr) \ + break; \ + cpu_poll_relax(__PTR, VAL, (u64)__timeout); \ + if (++__n < __spin) \ + continue; \ + __time_now =3D (s64)(time_expr_ns); \ + if (unlikely(__time_end =3D=3D 0)) \ + __time_end =3D __time_now + __timeout; \ + __timeout =3D __time_end - __time_now; \ + if (__time_now <=3D 0 || __timeout <=3D 0) { \ + VAL =3D READ_ONCE(*__PTR); \ + break; \ + } \ + __n =3D 0; \ + } \ + (typeof(*ptr))VAL; \ +}) +#endif + /* * pmem_wmb() ensures that all stores for which the modification * are written to persistent storage by preceding instructions have --=20 2.31.1 From nobody Thu Apr 2 09:30:13 2026 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7A9FB242D89; Mon, 16 Mar 2026 01:37:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773625071; cv=fail; b=HPdZek7SUFD30PflsAnzMx8SRGFTeuEF6bwHJX5LpWxh0c/nl7CcfOFh3OVlSE2/Jil0qf7ex4fHwJgGe9elpUcJpTeVe+aczmxlUkwF7iHzmvuIgTGjaVnlkwL0byZxWUvOO8lrDarawEDhQUav1IT63U2L8ur6seoYdUFleCI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773625071; c=relaxed/simple; bh=ddDQUstGPfCpw9VielCXeEbHWISOrBDeo0ioTRi+sB0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=oAGlxbvfBDWKXTnmSw6z4ERZztM5UxDFWP3JMVsoFT+zvRTAdOdWSw2I3C6cwRl27hnXHjJVNcOT29vVawsIUjgDdJCw3gv1hY2gw+4yTUyWrh3X6kE30mSlpZbe5AlMTvuo7au2j7BlAgFwF16M/Ll01KvDwx4y0nfeDXkAH5I= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=cQcUBqN0; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=vMWHPbwz; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="cQcUBqN0"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="vMWHPbwz" Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62FMwfjL1206614; Mon, 16 Mar 2026 01:37:06 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=f/oncL/JS2UoPqdPeIQEv0Ruy36MiTkFJvqL9baTQhQ=; b= cQcUBqN0XqLhUmn/gBdsOurfJr8M4tc11gH8TfIUm9MX9yCdOvY8+v95nS8xtxRy uG0CGu96dql9N5GtwiJ/CGISYpumOiBo2qqHBLYFW8xpTA1mkvJx5hDChy2wbi6+ cN80+v3FqiQJ6LhOFmsPpAsl+kX3joy7qHlkI8NS6VUO1mA09gG9/kWl/q2Svmbs 0eCUo3eVLUbSZUsxrqmBqQOx22+FOiJU5buvhJqUAXjYx2mVz8vHbng3fDrL2Hfd eXKG8JlOQ/07tDC94Qksfr71pfA82YkvDr3uBlYp0ClZ8UwzXWD5akTIbgy+ol3M 3hvTeF7i6/RoCCWBQuPELQ== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4cvx3b1bhc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Mar 2026 01:37:06 +0000 (GMT) Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 62FLlQHV002861; Mon, 16 Mar 2026 01:37:05 GMT Received: from sj2pr03cu001.outbound.protection.outlook.com (mail-westusazon11012018.outbound.protection.outlook.com [52.101.43.18]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4cvx4j84md-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Mar 2026 01:37:05 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Zn8NC8+TnFy3GcVSAPTf8ORh3OvYm9rK3h/Xcie8cDJO7lDDkYt1Ji7qKMiokamL1XMaCoXk1lOa964rCRyolUj2xVVOjBUQ4do+3M2XanSzFbIkt99u9+iTjach680I3nIdpAvYUb7oCHhRj6PvpAczMQm2Z6rtLikkPFWp+L3dPjwJBCwK7Ik/8V2BCT7y05ujCVK3svSFKiuob0pYCigHGjWqugwQCAkC/xa47szH7EtyNWJzQSfA6EcXZcm8rvEhiKcWOXykHwTWgXuubymeHQOaYMjwBq1TG0M4K+l65XGosK09/CDsbIYDAvOJ+YHr5VNs4I5THz1/swKhoQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=f/oncL/JS2UoPqdPeIQEv0Ruy36MiTkFJvqL9baTQhQ=; b=TszvZ778CZEivuCztOVICmXYCI9wDkSg3iOWcCVeD9qc10tH5DsFSa4fAms04NWh8KNE1CO1BseC/mYwnPO5k6jzkgTFA4z0pNgZ+Hrf+lw9t7FYRaNHMdXcoYNGDB0OUqI8qfY+hayWKWAyVzCj6KBy0STaonf7KO/n7OX/fdkXiYjxbz7Tk07+iSlBvLGCIBGhuQ+1/k1f5fCSmhUN9bPFkgKyxRPqAOko9ZED5BZe7QaAm+IMp5+pSw8jEF7zZxe05pQVS0TKpHH+YHURyr3w40dC7SbG2yG+S0Wrwkm/g1NkcjWpLZhocCOKNtQtumI6XneTHWYK9h9DpxMVqg== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=f/oncL/JS2UoPqdPeIQEv0Ruy36MiTkFJvqL9baTQhQ=; b=vMWHPbwzgWV2JUD5qKlCQTaDHQMi5pwL7stRgpaVjKSZP7u68BOdKytm2HgtlfeCn3ZwxvRrPuqYO+2v4pTOPK0AUS9+1xbXnu4LN8tszZWqZeQP5D+/Myw5YlkPu4wRTnBFCUymsfBsywCCsddOPirfJdLgi0D0gd05SrL2MY4= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by IA0PR10MB7372.namprd10.prod.outlook.com (2603:10b6:208:40f::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.24; Mon, 16 Mar 2026 01:36:57 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574%6]) with mapi id 15.20.9700.022; Mon, 16 Mar 2026 01:36:57 +0000 From: Ankur Arora To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, bpf@vger.kernel.org Cc: arnd@arndb.de, catalin.marinas@arm.com, will@kernel.org, peterz@infradead.org, akpm@linux-foundation.org, mark.rutland@arm.com, harisokn@amazon.com, cl@gentwo.org, ast@kernel.org, rafael@kernel.org, daniel.lezcano@linaro.org, memxor@gmail.com, zhenglifeng1@huawei.com, xueshuai@linux.alibaba.com, rdunlap@infradead.org, david.laight.linux@gmail.com, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, Ankur Arora Subject: [PATCH v10 02/12] arm64: barrier: Support smp_cond_load_relaxed_timeout() Date: Sun, 15 Mar 2026 18:36:41 -0700 Message-Id: <20260316013651.3225328-3-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260316013651.3225328-1-ankur.a.arora@oracle.com> References: <20260316013651.3225328-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR04CA0308.namprd04.prod.outlook.com (2603:10b6:303:82::13) To CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR10MB5409:EE_|IA0PR10MB7372:EE_ X-MS-Office365-Filtering-Correlation-Id: 1707bfb5-9a99-4848-1384-08de82fc82c3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: XDTdeGsNn/KnEGmxDk91Rh7gdM5Y4j+NeoDNVuwt41tBKdbbJDYmGdsthQrZyfxHYR0RRYAAHKK2qefR4SHYdIY/5L+nEfT+4/XELJX8HDzSdYElFlcxLpXTBs1EL+vomx9q5cLHuSrsGQTzcJEgPuX6reJc8NLt0rrlSRniZfpanWBIh0La/NPSqBFN3vX2KA9sLXleObZYcfvQ/1P9Hpf5sXxO6sw+uzYW9VwdMlxRsXBPHEwozliG9i8Vuigp6wEqswyrI5jqY2LVLnmFlNmxvNEQpwu3x4zYfycN4Q/sSVkFTD6OnNOANLwCKKOyPpUYJlwbpOdjpOIi6mEBNHWUG1YmMSZB13OBIC6AYI3W6DFSoikui5xRfVAPMZOemVHs4Jn7xJD9Vx2SuPAoN/zl0/wo5EbCK8noX4zioiANCrSNDFJa+8YHZtbumuLSXPnTw4Mo05FPnXwzggWCbgtSYv1OrKBIp0HxGXBneAk7061BGZ7nJZzNGen+991SyfHSffxTmMh/B37P6K2fzixlO6SCioHt7FeL6hFa8P3Xy9MiRQQgpy4m/bOLbXtEYvcxYzi2M9nQQJRzI1Cb+m30i89fFxvZWgwsnzza62qhvd18PDyjf2/srwJdV3Jr6afKce1Yae1mtOBXp6FlHT/Gb8aQDQJLkgH7FFqWsQkEZvBx1kIaFck+h1P/Np8ZaGfr98Ol0Mbsot414i2XBmLeC0D8aQwvamHXR4tSv2M= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(1800799024)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?TlSvyz65vnqmlEkX0HlgGYgAJ5SpcYMX63405hQS26a9T9tAWjpAKgXpSK90?= =?us-ascii?Q?5vsFGSD8Yrg8vqCXkZot5UjSvqOZbKUE/LODl40MmSI+bMhw1e7sEHp4Ha0V?= =?us-ascii?Q?E2wQYZklE0EPhh4c+IMYaLb6Ci8arJk2Fir4JAuAfDzmQZo8KpXZczKRfqbY?= =?us-ascii?Q?CkdqkLAOqUjFCVL16elrSkRvCp+8LGwboO9Mz83coXO8fSeB6pNY+xNkZ1Q8?= =?us-ascii?Q?mlbx9Qa4HNIYgMwsxSXtSfw2RmOduG5mGCp0k7Ks2Ga1XIcmIjrw8+CtHFrV?= =?us-ascii?Q?qUasEeWPPnGWO9ac5do6n/i4YnccMdea/y1HbJ3/xSeYvIDUWQD9ANm2E7Vh?= =?us-ascii?Q?eDKWDwPR9BF/vdv1Y8Xf55GQ5MUW/7iwzSiDSQlscjIluYQxpBcAVeZXj78g?= =?us-ascii?Q?Nv9Sniluta9TLFsJVlWrADs1W4wYUkkE495ne4iabNhuI0CZp+m3IWfApM1c?= =?us-ascii?Q?dVIi0o9Agk2k21ryXxZPvpmPHKF+QZrX7HwFi1GzdYSuPlrQwCzYBX/TW1b/?= =?us-ascii?Q?uJtp41OlxWV3g8/fBD6Hi80z5E121X2zPJre1afyzp4REPhyKruT1jtvHPQT?= =?us-ascii?Q?Iw9xWRoZ4r+pHxiERlYe68Kqr4m30EOikdX2VLicL8GQxbHjDrTaXPqaXsbE?= =?us-ascii?Q?wn80HUpPtKgFNdWkWxQTNWvhA/ac3u2TUjCcORkBLU91TdzaNwjMv/mOrvAP?= =?us-ascii?Q?AOC5KLfWtZ9xAPFGuyF4DV51kvkjgDzy+eIysWEFpbHfJTol0p7aT6rnG3Zd?= =?us-ascii?Q?E5ieRN7xR1OoACY0eU8YPK7mo0ekRlAjGLS35sJP+yYTdBR2NdElQqhwssT3?= =?us-ascii?Q?xcKBSvK/PooKnOVK3jbImvyr68q4lNVgX8m7qQHvynr81gJoXCYXNMQpX76l?= =?us-ascii?Q?B/jxG4F9mByGZa82ZELXyZ5eJcLT3zY3THBqo5Yr+zwEl3dp8PcaqPdAntaa?= =?us-ascii?Q?HnOxQh6CaOYqJ0uaypdvvPIRxVL+JER+ZTa3jxwAz/z6Tb/SBWzBB7/56/lc?= =?us-ascii?Q?/ZEyu2pD0GsHzwa5QQFCGstsb+iYppkbdc2o7nx/4jzGrKOseCZnKKeixGNs?= =?us-ascii?Q?CXTskYNRNP4kt1I3K0RuARJDYJLC6kUtz+8lvkUeS7tsE0JsD83Y4E3TWCtB?= =?us-ascii?Q?LVzVHeEUf+CwN0OidhPDj93uoih1sUjH8DRChFIr94ybD6nkzzUrHz4sXbMD?= =?us-ascii?Q?Xk4N42yTVvVdlZdbtuFnh1Xb3T6rpRo/VjW7nLVwHYIa9miPVdsQD56MQwt/?= =?us-ascii?Q?Opu+k+LAE8m5Z704pUMYQ60ClSafg7YKf2nfIy7x9koNw0xEkSR7ywBlP381?= =?us-ascii?Q?4A9hVY/TzE+IJpcF3j/yGWAsA/x/I3mhqrLj3TCCUSyHEz6/H8YzGGX8KOsH?= =?us-ascii?Q?H35l6RxtPwg/gYhnrC0YQKSkIv7+EsV0lYOkcBJgmUkpTEM6XdE1CXORzX92?= =?us-ascii?Q?Mxg9qGUSEBXVmDsBxpSn4Rup0a/HCcIcXPeG3J20rxrODAcmkihKRgkfhjgh?= =?us-ascii?Q?/gJtcGyk5zQS/DN4E3a1fHZwIdzkUKYl+xNJs7ev9paFvnRXdtsWEbLNrZ89?= =?us-ascii?Q?NWsz/BIBZijUYeayl2oDet4kyAWGNrzLKxbSrI87/DzdrScEQnLhgVKAgM3d?= =?us-ascii?Q?yyKafbYtxiwHVDXrUc0cHtqj9UEwGLvfTK4OVtdOawWcphhxvsoX946GdA8y?= =?us-ascii?Q?FTm455Dgl/3QD/Tqpq3JQ6ob5MIUAqJwB4mBgFZKJmygCISvG2lPvP7l0Xlk?= =?us-ascii?Q?UQaAp6cV/lfteEfLNgSWHX3g4VzWS7c=3D?= X-Exchange-RoutingPolicyChecked: p8N1gE4kNm6JJffRObiX9eEgwZRhLNnWNA0VZeKQTCuS5pTPeIXw2KNBvvrt8ZntWHyKu+Z2ruZbICuPLy4mbNMtEHXcP7pZ8USEk2M6RI8nEpR7QDvNFy51zZ8J745tKzwlE6TKGxcQFAzcCrTDDgpzGsFZXX2xiKBJKdIA+dYTviIggIcpCi6EaoboR9uVKVcqNWLDV2HBlcvKD/8DE8gJ/xq+AksuuN2u/xyaN5NbP4KzDNFq9a6qhA8rEwNrNgKnkqxFzBz6TUXMyMckGesphGXSSkAxZgHb3dhURCyMRtFRalhEDmvAwvfDSNcYYZidikKHxyTtl90v4Qrxyg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: X5XbbHns0/cnPYK0vT2ljPHHbuNxyjJRkk0fWt7y0GbUNhmhDEAG2Rf0Mt60X8/9375JnLSTg0+/7A+RUxOvIFAb1IJmMWpV65KcGn6Ab+NkuqF99jQv/9DkhzGl86NUwsoJx4BI+kq3/v3nWpN0aHbVrWu6gLGKcIqRUITrm1yXrizjYcNyMfbjGXpjLO0OUfAQ35EIEvy3CyqFGliwR0Znn+7eiSCJK4yhEHZPFWX4p3JeQGUedbH7snai0bd9K4UzCeGIL4dbSVppuGAPaKtN+XrAEnaoKnmwT6uIDEzLAvclaIAJ9jw52WtxKXQgwdXW05j5PpsGP3vTRBCa8vk6mfGOiJ3cqe3aVsyfePV/80jtZ/r4ryNk/P5yViW85pcqvyMMS4vBnvLM2s2vXHCNysrQ+EWRyecKwghxKD7PBLM3+vpNvDpNrZAbuado5N3DTmE0/b3axhLRyYdE18teMDzft0k0vvanQ6sXgFNfbqWwLm2Y7Hm1m+dCTVvQ3jTIX8Hv/iaq5jmA3Qu5NBWSsenhBB9mIJ40nhoVx6wDXVtQkZlO2aH6H/HIrUWODGQdInImYdp+mHkslw/u6pu0OAVyNfN8sUJMliTLEiM= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1707bfb5-9a99-4848-1384-08de82fc82c3 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2026 01:36:57.2002 (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: Dqv5uQfoGYVt6ivOf0yHRGAkfSS0kW47LYhOAIfkzGBVZWyrXMe65EcxQaKVqcTNZjq5j0TTbOBE5yK0wJ22eFLzSwa6IjLPcPXdlzF68g8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR10MB7372 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-16_01,2026-03-13_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 phishscore=0 spamscore=0 adultscore=0 malwarescore=0 mlxlogscore=902 suspectscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2603050001 definitions=main-2603160010 X-Proofpoint-GUID: adZSnvkL5tZJ8g4oPzEXQfFf5geemfzD X-Proofpoint-ORIG-GUID: adZSnvkL5tZJ8g4oPzEXQfFf5geemfzD X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE2MDAxMSBTYWx0ZWRfXxjq+5hHW/gW4 SXrFAVl8uiGtp17mN5G0e/dbCoAzD/SW/SuLjDZzKslPSVMinbCWKm/1VNAsK91ULU4J/O3KyEf HkMHLjutcvhWZq0Fa9UhZegOmAmXT/UwFSu3jpOhRJoq2U1pUsd39yDgAURo9l92V26IRFltKwB IZuh7xWXS7Dsh62UTaHDlwdh+kaCuPuN9YoaOo32AKMbGW48hSJKpAo5+WrvnbniraGXVdVqmg/ izLLjwpxJZXZxtzeMqmTbfcJ06iiUgT0jxUehBqU53W8yWK0QjZ9CI+Q0cAHbLno9ZVmHDNkZ8N 7lkm6gYB/DKLcJeyXkhh3nm9GTGlDwv7B8Gsj8Lofc1nTTCktpGBPVAykBqw6KbHgKtwEHU1a6+ l8wLszEh5mvPGHzkYLWyFzAw84+0AmRyEIFTRYlPFepHuKgVqzTT5Z76N+wHbxgPdJjQtIK0/li gj4CGAwLbMWa9fasgL5eBIqOOD0aRjjKMutmH724= X-Authority-Analysis: v=2.4 cv=IN4PywvG c=1 sm=1 tr=0 ts=69b75ec2 b=1 cx=c_pps a=zPCbziy225d3KhSqZt3L1A==:117 a=zPCbziy225d3KhSqZt3L1A==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=Yq5XynenixoA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22 a=x4eqshVgHu-cdnggieHk:22 a=VwQbUJbxAAAA:8 a=7CQSdrXTAAAA:8 a=JfrnYn6hAAAA:8 a=yPCof4ZbAAAA:8 a=yKa5MwykXiZg5cSm1iIA:9 a=a-qgeE7W1pNrGK8U0ZQC:22 a=1CNFftbPRP8L7MoqJWF3:22 cc=ntf awl=host:12271 Content-Type: text/plain; charset="utf-8" Support waiting in smp_cond_load_relaxed_timeout() via __cmpwait_relaxed(). To ensure that we wake from waiting in WFE periodically and don't block forever if there are no stores to ptr, this path is only used when the event-stream is enabled. Note that when using __cmpwait_relaxed() we ignore the timeout value, allowing an overshoot by up to the event-stream period. And, in the unlikely event that the event-stream is unavailable, fallback to spin-waiting. Also set SMP_TIMEOUT_POLL_COUNT to 1 so we do the time-check in each iteration of smp_cond_load_relaxed_timeout(). And finally define ARCH_HAS_CPU_RELAX to indicate that we have an optimized implementation of cpu_poll_relax(). Cc: Arnd Bergmann Cc: Will Deacon Cc: Catalin Marinas Cc: linux-arm-kernel@lists.infradead.org Suggested-by: Will Deacon Acked-by: Will Deacon Reviewed-by: Catalin Marinas Signed-off-by: Ankur Arora --- Note: - Add the missing config ARCH_HAS_CPU_RELAX in arch/arm64/Kconfig. (Catalin Marinas). arch/arm64/Kconfig | 3 +++ arch/arm64/include/asm/barrier.h | 21 +++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index 38dba5f7e4d2..a3b42d9beed5 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -1627,6 +1627,9 @@ config ARCH_SUPPORTS_CRASH_DUMP config ARCH_DEFAULT_CRASH_DUMP def_bool y =20 +config ARCH_HAS_CPU_RELAX + def_bool y + config ARCH_HAS_GENERIC_CRASHKERNEL_RESERVATION def_bool CRASH_RESERVE =20 diff --git a/arch/arm64/include/asm/barrier.h b/arch/arm64/include/asm/barr= ier.h index 9495c4441a46..6190e178db51 100644 --- a/arch/arm64/include/asm/barrier.h +++ b/arch/arm64/include/asm/barrier.h @@ -12,6 +12,7 @@ #include =20 #include +#include =20 #define __nops(n) ".rept " #n "\nnop\n.endr\n" #define nops(n) asm volatile(__nops(n)) @@ -219,6 +220,26 @@ do { \ (typeof(*ptr))VAL; \ }) =20 +/* Re-declared here to avoid include dependency. */ +extern bool arch_timer_evtstrm_available(void); + +/* + * In the common case, cpu_poll_relax() sits waiting in __cmpwait_relaxed() + * for the ptr value to change. + * + * Since this period is reasonably long, choose SMP_TIMEOUT_POLL_COUNT + * to be 1, so smp_cond_load_{relaxed,acquire}_timeout() does a + * time-check in each iteration. + */ +#define SMP_TIMEOUT_POLL_COUNT 1 + +#define cpu_poll_relax(ptr, val, timeout_ns) do { \ + if (arch_timer_evtstrm_available()) \ + __cmpwait_relaxed(ptr, val); \ + else \ + cpu_relax(); \ +} while (0) + #include =20 #endif /* __ASSEMBLER__ */ --=20 2.31.1 From nobody Thu Apr 2 09:30:13 2026 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 80FD424E4A8; Mon, 16 Mar 2026 01:37:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773625076; cv=fail; b=m6kHKHtup+30ibLvUgpuF/EQdmSBsKQpMUgVopNmshh+6vfv2E8NcBjOUR/CQnyLKgKufDA8njnIZg+V5HT5p4afGW6t9rEzzoJo2TwTJBlAnUonBX3IVZIEsKYoYyt4H/WorPVEWIVduV3d4XxbrbMRmRC/3oLDHKn5TOCLIPg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773625076; c=relaxed/simple; bh=GTBs032lC3T/gMgBRYV/zuY14CId3AKcpVhFMw93giM=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=L9efFoIFsbIuYHDReCUwzBtejVyYfuq/2luiLemmkVjHjvPAPLGeKrxLB2PUxjV5qjXPX3luQaaKrvU2KpfVD2yQUZEgocYtRKKEs5s+6baSu42HnQQw+0gPaJnzZTnhW4wqnUI6RgTIfUr74MKxZacWN8gPtaN3mGALdPz3oSg= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=qtNSoA1M; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=tc+pEj3r; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="qtNSoA1M"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="tc+pEj3r" Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62G0Tx0v1498676; Mon, 16 Mar 2026 01:37:07 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=v1pV2YkoSakXfwsfUB1eT6ng4hrJo5uHjLa9kkD7diI=; b= qtNSoA1MztKScNe0DyS4HKuwP+kPIh9gHWtkkaW7ZW28wAZOginrWosXnxAqjxew r9mkzJ7B5E9Yqk6cAmLfLR9ItHkUUhllLmn1Bzci028bAEI5fWFhF+20Fu6cuA4t YinR0ePSnAsPPSRUUvNcDa1K79ldlF33FW4Qgd5TCey7HUr1fZdqd2/V03vHD59L /ZKN/LFQ3P/pfR3lnMeZnE7LzD2/psHj8pX3ul3eHoXSXVvqiOT8exmm+EPIg8Zm YMZwVjusI4LupJZX1xHW7kUGNq4lVOpj6UrtsSCfGg3G2WUIK3TGKiJ7+Goe9DXg S97ZoC1R7YxoZzgGaPgHhA== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4cvy9rsats-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Mar 2026 01:37:07 +0000 (GMT) Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 62FLlQHW002861; Mon, 16 Mar 2026 01:37:06 GMT Received: from sj2pr03cu001.outbound.protection.outlook.com (mail-westusazon11012018.outbound.protection.outlook.com [52.101.43.18]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4cvx4j84md-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Mar 2026 01:37:06 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mfzvd5J/Yqn4zkV5OnGPx5ACqpGrB2XYoaYse458XkvtdelolGuQ6j8NzXlnZlGuZWhY/8DN1EJ6metYHkb6C2jC7ErEHHXgolA9stLHS3kL4Lt+zFMHtbXuNel0gkLazZqJ93lLqytP04Aoq7Lqp/UjsIt8f52HPqXOJkLziVod4ol2janUOOZZhIn7BLG50M51qV8ABS13CsK4nDbSYNy5WiimQjjZnYCSjv8Bmu2MsPMS6AYQbDKEUWAXbacP+chZR2wrVEFfBT4WqOby/7Mr0QNdyOyZU95ZVvUoP50xVItZtnJBdSn7GuvZDnlHm0JwP2C+ZYFt0iMIeWmtpw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=v1pV2YkoSakXfwsfUB1eT6ng4hrJo5uHjLa9kkD7diI=; b=Mp+YAUQEdrEyOo1wBDPRkCv+RSykTqSMTnEMX3Ku/Q2I//VK2PGWyIr8KJ6G3eH/6C+O0D2fap4tXyo2/DiE/eaTMKqB8Fi9YrQgBA+/kUuNc0FNNKQeJxAIrjnBZjUapce+/h2wTL8PwsqgUaQRPizMnzyeesE2hrI20ZQmhqX2as9kR4BZEYcoYXbTC6cB+986YZhvQ4sQH4CFGgVgnPHCEuMoMoJjaarxeCsKY0Pg1rFJ/S1yOV1aNY1bMAnZON/Teo/ldF/Kis54PRIhoihW9K9db6AU7KsuqXLPut1jEr1HastAkR1paW16biyjtrxMi4VVtwvipjm54nQ8/Q== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=v1pV2YkoSakXfwsfUB1eT6ng4hrJo5uHjLa9kkD7diI=; b=tc+pEj3rfHakTtmjg3Gbrfjpqa8v1oVck5gGdn8it57k9I2leFCUzJ3bKcRr11uR0XPpLDDIiA5Ov6Lig54sq8UU0MAtWLguarJvKT+K66GqJXsQeFZr3qciMuFE7Hkqn+LYAm2GoeXDr60qEV+9ON+GF8dD12qSmn7aqpJF5J4= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by IA0PR10MB7372.namprd10.prod.outlook.com (2603:10b6:208:40f::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.24; Mon, 16 Mar 2026 01:37:01 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574%6]) with mapi id 15.20.9700.022; Mon, 16 Mar 2026 01:37:01 +0000 From: Ankur Arora To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, bpf@vger.kernel.org Cc: arnd@arndb.de, catalin.marinas@arm.com, will@kernel.org, peterz@infradead.org, akpm@linux-foundation.org, mark.rutland@arm.com, harisokn@amazon.com, cl@gentwo.org, ast@kernel.org, rafael@kernel.org, daniel.lezcano@linaro.org, memxor@gmail.com, zhenglifeng1@huawei.com, xueshuai@linux.alibaba.com, rdunlap@infradead.org, david.laight.linux@gmail.com, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, Ankur Arora , Bjorn Andersson , Konrad Dybcio , Christoph Lameter Subject: [PATCH v10 03/12] arm64/delay: move some constants out to a separate header Date: Sun, 15 Mar 2026 18:36:42 -0700 Message-Id: <20260316013651.3225328-4-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260316013651.3225328-1-ankur.a.arora@oracle.com> References: <20260316013651.3225328-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR03CA0058.namprd03.prod.outlook.com (2603:10b6:303:8e::33) To CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR10MB5409:EE_|IA0PR10MB7372:EE_ X-MS-Office365-Filtering-Correlation-Id: 11276a92-30af-4b6a-9bac-08de82fc8570 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: ngAfXw1OtLYZ9Q1Jngawe/IMYG64Ao4y/V142YlPyRWU/THavrmTZsbBknToQebEI/om7jf+HiFGU+sLR3wW/gFRZL8ZA3LJvex0vMiqz1AYwD8e+8OOb3cOBGZEiaoYtPjnvH66alrWmrWogf33MloU2FBDgm90u25xjJ01AVIjZZtrRYK3ANF4IeIWDTduuWgcY+1Gt38eIAthA/srbFxPPUPesifeBeciwhrd9Rd6lYMueEe5Kxrxh/o8Yq0ojSgzi1zsbf227cRYjPy8qpBUC2Nyuty6tkBy/Mtli73+g8sIB4dWCJ/9zvA11z+vUMn8AflUBM+tktk+le1/ZkudPcaUD2/yFXeRFvQ1EL0nJr6k9a5UiCcBBNS7jwLa2XaBBaQZoUbWoDHvKUF47+YsDAkoRRZefKDLoDcykJ9/lpJztIilqilhRzN7iW1c24DzDPAuV9MtyiYClBlj7M/uOHmeBcWDEDv22rcCqamhdaDoUdPUyVCnl5P6pjqMWclKWmQ91YbfJwUg0N0nllgcqp0FXKewhIU75w7UMZXab6d7CPJ3TgYLLebX+bv/BVs3Rdzmfq26MNvBdPRkdYobuIk9p8gdqgLwvpa1WQZdvVgbP2oQvW/tK2htCFLSJTVY19w8P67j/KNRISFvGskJDOLqEulVDXk9t0aGBJ7Cq+1R8MNk0hcWOrl3AnoVT774IoYM28VO1KgAFGzj6zSReVXkw4ZcLXKKyCOWYIA= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(1800799024)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?k7O/GoUVoHGi5To8D6tEvS3ntk1U2yJjE9J/0rS1zT0lyTt6aUZjqynA5R1O?= =?us-ascii?Q?67b1GSJiHtjb8Ksj+1JPj4p4zCpkHINjO2fbBH3FbmW+DA6brALrRNzTWrH1?= =?us-ascii?Q?vQoN6tbwMS+XHCkwbqG+NqIKRhDreH4SluRTsqCnnvG1yqWpo6I6j/koUg+n?= =?us-ascii?Q?Qze82evVL65hKSXK0otMXjsH8pmasp4Tx39lcsrWvu/BDY2jLCLJETH8U6U0?= =?us-ascii?Q?KNn4V58ZhdQEstPvprac2nTu9oMQ2L0NEibpWavRPM8Z1Dl7ql1Jjj7ABjv8?= =?us-ascii?Q?t1zrpxqtclQD84prjCEuIutEPxeKddYism3FT3NuYIyoSEaiUSI0zrdXseri?= =?us-ascii?Q?xc+rG0CB1wSBpfXcXYTkfRki0QIi3jOu3Bp6C07liN7E9NIR9U98D7Fu/8XE?= =?us-ascii?Q?YhN4P320nHI9DlbgvI/6gDdqaZ+YkuFXGBDc6gMQVH8JLeCqQAT0WxzhTWE7?= =?us-ascii?Q?dLDLxVcPIWh5zt1dgpAZ6q6C4lw+TPZzrIMq4FmvE4a0YvzHKsZhVDNVLPnj?= =?us-ascii?Q?2KdGcJjIDe6LyehmTWF/Z1GSnXFDvtz0FDMyXecGTxlUOxmJ7TBcnVZztOxQ?= =?us-ascii?Q?lkTK+fKIGAmr5BVK031UpAo+r9YGYZumfkUSDszUgHDCdxVOhHISZos7qBWu?= =?us-ascii?Q?5ctgbuxJHItBPqzjyu3N5XHZzv9Z/OXcoHszrUPAC6lvHwJPnSydIlxGS/sf?= =?us-ascii?Q?EnGsvKX/gd8cM/WzD8jY+juMjjlzTboKZNdrZtGuBRBvKzGvu8ijebUEyDTk?= =?us-ascii?Q?yj+ySiQWAA2ZQM4sZXV9UGzm4H3v9vCcb3AVCBu0Z9GXU4X8Z+fkWe/jH1OU?= =?us-ascii?Q?NvR757kZGKdar5w0SGJUPT5Cu69caEJkzDBFHmu1D2xAkDX760SdxJJTyknr?= =?us-ascii?Q?rF8k65qxmlMKyr86btqEsYvPOzIDsrXXNc30S4BTVqFzfzq78fqa1S6aApaR?= =?us-ascii?Q?6LDzDkO9Ehj4QIB+w34FUQo1xZFKX4dYwx2w3+S/eVVDlKcMX2QQNzBG5rEj?= =?us-ascii?Q?Nxik1Bnoy92+XXBatH457kTjJSE3+ejhpbc226/sX81K+/yjSqP/G5RE0QsQ?= =?us-ascii?Q?zMyki2c8t9Wj9oTKj72j6texWFv7+vYcMLzQlzfFPHyUOjO5t1roZIOk59bT?= =?us-ascii?Q?1NC0iBf2+uT6L36IxE6YKYU7Muymtz0pjSpgE1y436OLh2sy+Yqy7ZQRdBn2?= =?us-ascii?Q?HWU/9kmG44Q9/5p9oE2atwnrmajLzn5M6RMebeXmBfvKAbSPiVrbrVRzbWGC?= =?us-ascii?Q?FmjyJ2+jjw97FXDApKOPJ2OR13AxCDQL+H7MgcAIo0WpCtCGW49wkdJb6OJN?= =?us-ascii?Q?uqhZGurXFAa5KgvBw62FqX3l/avcrXohB+x7+BrLLGM5jcozoWSi7B5o/vd1?= =?us-ascii?Q?+EPVU0SSlcCHwA+5rAA1MV5Kmw/vX8VfUN1CHFDMEk8PHNwQR2yoY2mno67C?= =?us-ascii?Q?T9xHoWCENlGtVNON3t8S5mstBYNNGGj0E4efqKfWTqSYsRRC8MTtJDsC/tiP?= =?us-ascii?Q?5j9O/Y6VrDhf1DEF4sEuBj+O4DzhO+MzydAnL2rQNJc1WxcZ+Ejgm2c7LHR5?= =?us-ascii?Q?mT55/aEATRwJ49hN+OUsqgOb8VRJn8eVpC74+IXHbIlsFwbh+yMEsrDJATYh?= =?us-ascii?Q?8vfbSno3iqAik7Zm5lVgzWudQom1R9fuexNyXyhukzkm/1asSAYdUa4AcCBU?= =?us-ascii?Q?qmr+nxQmPwGYj0I/I12k6XFFgWOivnDfChFouht/vdzaDpmQ1oRiBUYvk2nF?= =?us-ascii?Q?Os/HYKwtqLZW71o93UdPPvIeAzCcwYU=3D?= X-Exchange-RoutingPolicyChecked: BJtFk/Ql6kZZlsuEeuIWARsyAge0VURCtsrmcOGNKqZn9iTrwQ/QevfAxE7lIGeJC6FtEt4SX9ukbbTvVH7gUfEKaVcpbGVyNxAMlAaOaFSEV+lXEmHwiYe8yGkXGPvSakJMGbtTyAFLWU6GtkiL24v5y0Tq4jSi/0CMjxF2mrIb8V3IOuiBtB22JK0+aiMowh30Vq/rijUFCh4sZBM68eo5Eu3P2J7jxMLu3pyJ9d1jKOU0Fd9eojnStcQ4PtuTd/LHdRjOY12oNBX/bveeHMmA5D44MoLYsb9z069HL3rsKWZMOyInPWnfWPNo8ptwGQcZL40SzEMCF1qVpMO9qA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: w6rwHOLx29niYun2nHaKVjtp04ElJVCL8qlYFeDJ7lE6NnaIzxjHEbFDQtz6XZvONKBJIgx+66s4c2VzMmd53UhIplvpom8LukjcdZir5h6jrBgpLw/omfeRBv+fc+CGen0wgkrQ7j3WERA/neRche8uLU1Oya6hnZALjh4Ed45nTYqDS3MRpLYObsr24eChb1hwelP2FQ96ABBlPkKgeKx7LeARTxiSQLjXCVCtcjWjYsWm9vy/zc8HXv9+d0b8fStE1CspxL60jyJRkeiu4WMbtAuqzP+XA4hksq+sidoftmvPLwmTFNz/ExNccSOoiiTTWPhJsCKqhdeeJTtyz52QNd5YAPrch1ABRIhP4jJp5E8u4dlvb5rCBm6w0t0I90KaNaFquwrFaus/bOYCssdAfd2KkAFhJt8dkuha+MuLP9qhAJX7L4SnMuSf2c/5HYTrfMnPWyrR6drO4QbZjKPdlmWLUBr3VX4ZEpSFH0U4WUbcpVxTwwMiRJ/QJQpk2J6TJpfPrZza7HuYtPe8E+zTIcsFTlX05yl/wgG2H3at4MSTDYVfLv9+HZvHXYuIOGpH97GaTG0GEaY4pp9xou0SwTCmMSOyvA5ZlDzLzm8= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 11276a92-30af-4b6a-9bac-08de82fc8570 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2026 01:37:01.6560 (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: b+lPFDiMlNkwZl2++hVITem1GCJq/Lj+reaXHQk30rOEH/NYerjHVxNOiLEjKo/zx4maP4LfASydJenvjm9qQH7jX7exmRqAZ0sWH4i5eYE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR10MB7372 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-16_01,2026-03-13_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 phishscore=0 spamscore=0 adultscore=0 malwarescore=0 mlxlogscore=999 suspectscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2603050001 definitions=main-2603160010 X-Authority-Analysis: v=2.4 cv=X5Vf6WTe c=1 sm=1 tr=0 ts=69b75ec3 b=1 cx=c_pps a=zPCbziy225d3KhSqZt3L1A==:117 a=zPCbziy225d3KhSqZt3L1A==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=Yq5XynenixoA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22 a=3I1J8UUJPc9JN9BFgKH3:22 a=7CQSdrXTAAAA:8 a=VwQbUJbxAAAA:8 a=JfrnYn6hAAAA:8 a=NufY4J3AAAAA:8 a=yPCof4ZbAAAA:8 a=gQgDrPkycQ706KZxoKkA:9 a=a-qgeE7W1pNrGK8U0ZQC:22 a=1CNFftbPRP8L7MoqJWF3:22 a=TPcZfFuj8SYsoCJAFAiX:22 cc=ntf awl=host:12271 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE2MDAxMSBTYWx0ZWRfXw9NdCs/MCJNx 9B1q3lEO8krKWJKuk+UkySYI4LJbfONAv7lshdqZfw9/wF75VK4ywcfsoFGfv33yTjI/Nfbm13J 8EQJvPt84w0jkCXEnk3SuuMqiaFTYxhTiXIt0r2J/4CkGyJEgf4R9ek28rMaTTmL5mEBdcYf1Rg jA6OBGEqQvymn7yZAt233i0/DwNv+h0xGFhblEmOJ2HtmINgUOAP7ZdTLLyUNLzAaFoPGIQu7e2 EOo0QDcOwsCszW3/ERhk1Vd0/ERmNZaWKeQ4QO608M/Goemz6Sl6MkGTdz6of+RwtJGtu4xAmtw 1xIBI/B1/iPi8ETrxbEmeHT+SCFbPBiH2tMJvoFCbmsvPfik1Gc/+2BwqWMMbsZjiOCbKdutEZr CXuEsjclQwp44vpvHO3gBszT5i5I2DVPrZksgZD34yEAc0980MMeyVl408t47CLW2gaCyV6xp9W JTHMow9qM2EysElCfaBVJsCYkCOW5E75XdvP1Dsw= X-Proofpoint-GUID: 12qvfdV1Q-2MWEH8uI1PBBsdPe2XhlPL X-Proofpoint-ORIG-GUID: 12qvfdV1Q-2MWEH8uI1PBBsdPe2XhlPL Content-Type: text/plain; charset="utf-8" Moves some constants and functions related to xloops, cycles computation out to a new header. Also make __delay_cycles() available outside of arch/arm64/lib/delay.c. Rename some macros in qcom/rpmh-rsc.c which were occupying the same namespace. No functional change. Cc: Catalin Marinas Cc: Will Deacon Cc: Bjorn Andersson Cc: Konrad Dybcio Cc: linux-arm-kernel@lists.infradead.org Reviewed-by: Christoph Lameter Acked-by: Catalin Marinas Signed-off-by: Ankur Arora --- Note: - Makes __delay_cycles() available outside arch/arm64/lib/delay.c and changes the return type from cycles_to to u64. arch/arm64/include/asm/delay-const.h | 27 +++++++++++++++++++++++++++ arch/arm64/lib/delay.c | 15 ++++----------- drivers/soc/qcom/rpmh-rsc.c | 8 ++++---- 3 files changed, 35 insertions(+), 15 deletions(-) create mode 100644 arch/arm64/include/asm/delay-const.h diff --git a/arch/arm64/include/asm/delay-const.h b/arch/arm64/include/asm/= delay-const.h new file mode 100644 index 000000000000..cb3988ff4e41 --- /dev/null +++ b/arch/arm64/include/asm/delay-const.h @@ -0,0 +1,27 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +#ifndef _ASM_DELAY_CONST_H +#define _ASM_DELAY_CONST_H + +#include /* For HZ */ + +/* 2**32 / 1000000 (rounded up) */ +#define __usecs_to_xloops_mult 0x10C7UL + +/* 2**32 / 1000000000 (rounded up) */ +#define __nsecs_to_xloops_mult 0x5UL + +extern unsigned long loops_per_jiffy; +static inline unsigned long xloops_to_cycles(unsigned long xloops) +{ + return (xloops * loops_per_jiffy * HZ) >> 32; +} + +#define USECS_TO_CYCLES(time_usecs) \ + xloops_to_cycles((time_usecs) * __usecs_to_xloops_mult) + +#define NSECS_TO_CYCLES(time_nsecs) \ + xloops_to_cycles((time_nsecs) * __nsecs_to_xloops_mult) + +u64 notrace __delay_cycles(void); + +#endif /* _ASM_DELAY_CONST_H */ diff --git a/arch/arm64/lib/delay.c b/arch/arm64/lib/delay.c index e278e060e78a..c660a7ea26dd 100644 --- a/arch/arm64/lib/delay.c +++ b/arch/arm64/lib/delay.c @@ -12,17 +12,10 @@ #include #include #include +#include =20 #include =20 -#define USECS_TO_CYCLES(time_usecs) \ - xloops_to_cycles((time_usecs) * 0x10C7UL) - -static inline unsigned long xloops_to_cycles(unsigned long xloops) -{ - return (xloops * loops_per_jiffy * HZ) >> 32; -} - /* * Force the use of CNTVCT_EL0 in order to have the same base as WFxT. * This avoids some annoying issues when CNTVOFF_EL2 is not reset 0 on a @@ -32,7 +25,7 @@ static inline unsigned long xloops_to_cycles(unsigned lon= g xloops) * Note that userspace cannot change the offset behind our back either, * as the vcpu mutex is held as long as KVM_RUN is in progress. */ -static cycles_t notrace __delay_cycles(void) +u64 notrace __delay_cycles(void) { guard(preempt_notrace)(); return __arch_counter_get_cntvct_stable(); @@ -73,12 +66,12 @@ EXPORT_SYMBOL(__const_udelay); =20 void __udelay(unsigned long usecs) { - __const_udelay(usecs * 0x10C7UL); /* 2**32 / 1000000 (rounded up) */ + __const_udelay(usecs * __usecs_to_xloops_mult); } EXPORT_SYMBOL(__udelay); =20 void __ndelay(unsigned long nsecs) { - __const_udelay(nsecs * 0x5UL); /* 2**32 / 1000000000 (rounded up) */ + __const_udelay(nsecs * __nsecs_to_xloops_mult); } EXPORT_SYMBOL(__ndelay); diff --git a/drivers/soc/qcom/rpmh-rsc.c b/drivers/soc/qcom/rpmh-rsc.c index c6f7d5c9c493..ad5ec5c0de0a 100644 --- a/drivers/soc/qcom/rpmh-rsc.c +++ b/drivers/soc/qcom/rpmh-rsc.c @@ -146,10 +146,10 @@ enum { * +---------------------------------------------------+ */ =20 -#define USECS_TO_CYCLES(time_usecs) \ - xloops_to_cycles((time_usecs) * 0x10C7UL) +#define RPMH_USECS_TO_CYCLES(time_usecs) \ + rpmh_xloops_to_cycles((time_usecs) * 0x10C7UL) =20 -static inline unsigned long xloops_to_cycles(u64 xloops) +static inline unsigned long rpmh_xloops_to_cycles(u64 xloops) { return (xloops * loops_per_jiffy * HZ) >> 32; } @@ -819,7 +819,7 @@ void rpmh_rsc_write_next_wakeup(struct rsc_drv *drv) wakeup_us =3D ktime_to_us(wakeup); =20 /* Convert the wakeup to arch timer scale */ - wakeup_cycles =3D USECS_TO_CYCLES(wakeup_us); + wakeup_cycles =3D RPMH_USECS_TO_CYCLES(wakeup_us); wakeup_cycles +=3D arch_timer_read_counter(); =20 exit: --=20 2.31.1 From nobody Thu Apr 2 09:30:13 2026 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7A98F242D67; Mon, 16 Mar 2026 01:37:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773625074; cv=fail; b=s+pilh3x7nKZovA3dB4TBIOW2/0PuHTX13wvyCKRk+LaE17IWHZEzTlB7pJqHALSmch2ALSaTwK5/U/6uu8QsOduVTajrAWTM88X1paRFRS9+OnWBo0kS1UN7RT3vC5CAOebY+mBSmiLNS98XvdylhY2ojruQwI6jPvycK6rjCo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773625074; c=relaxed/simple; bh=C5OH129u9PeuMPDVOuc5sFUubthBDzFHxqG2riP58Bs=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=e5UrlFreTsmFFhHShb7H5UMFT1hHxCLA43VB2JcPmYK4vgcZSVz7hvJkkAR7hTSsAe54zTwMdyl3JceGvMXRoxs+RxWt/q8olaNR3wQI5JDZ/IUezkIkERFTx4x2HhYRd0TrjTSzH0ncbnFAt/VvSvkSX9n+6P3GCFBVV39btII= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=TJxENJWn; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=D5jk/0Kx; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="TJxENJWn"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="D5jk/0Kx" Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62G0Tx0w1498676; Mon, 16 Mar 2026 01:37:08 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=AZg89TwpgcodJ5rBk+6SuHQH6e5wNQ4ORxf1iG/fxoU=; b= TJxENJWnhtlnPGStIHgN4HRIx9Y05o+yjSAgqhu4RUFbxYWTEDhcK/UXiTQwy7j2 nhpZOs/8yDQm9rjJMVCY6hMKJrPeWcHLp/ygXjC2y6suHjncS5w1qML/qKkSWAVj 7YwNWScCn3JN2zUB1+uW0859FJqdfMIv1Jg11Glw/vGPfW9ZEyk+ABfynrTg1DG2 bdo78NFDCBUiG3mCiBT+1smRGy7/SdBamkKfqRylKXvUshXiHBqFGWHF3JVuoB5x ZvMf5Us4+vCnqAJOnHFgLI8OOfvPgoBy13gi4y/BG/BXsg0UPNsIHDBhjlXSt/qg 0Qb6eQoeEge9OFycCz+Dqw== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4cvy9rsatu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Mar 2026 01:37:08 +0000 (GMT) Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 62FLlQHX002861; Mon, 16 Mar 2026 01:37:07 GMT Received: from sj2pr03cu001.outbound.protection.outlook.com (mail-westusazon11012018.outbound.protection.outlook.com [52.101.43.18]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4cvx4j84md-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Mar 2026 01:37:07 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=eriSRk8mxpMe1kOeVZIGNpt2V7FuAOOFz8D3hDmHNpS+o7Fn1BSvY3oFdYpeV8/CfoUqWZ9cmEXz7BkyqX/MFNzJNIspq0Tap/wOnyNCtOZb8+8L+lVc5TZMZ78XGvgy34Z514lmhEa1dHcb334nSn1M4ji6K2APNDgWLWd8684gyzYvyvENDvDLrPWIEOymE5p1ckuPjP69ECLCwPxqE8PEU5ASdwYJszOPPNijMGavPqSX91+MFIoipmw9Huz0MQxJz8UnlYYbwjBEu0FQtsvhFaz6zlNIkas466VTph79E9GdZj4uh+2oewY/Bx7E5XHpIOJGIseiYpUGvEcC5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=AZg89TwpgcodJ5rBk+6SuHQH6e5wNQ4ORxf1iG/fxoU=; b=FakZJ1eeDwtSLkq1ZIAKx8Ym0iz4DuCJajLtjIUcE4YCj5z5SR6A8emt1H1Epr3V8ZwZqP0ACR7s19Wo4xPfOgvD211Jm//96X8yLQsm2Yi29TbkTO0gUg4T70nk7Gz30oBmdPH5ZvBSlfW5RJl2QVT0Z41gN11O5PskxZtXCSsJr7Qj51AqoapnspQ6kqLoNkVqgz/nnlFRCbfFG1N1poo+ArK5iePoXvbXHl6r2YhVyFK8ct9wFdqyHGMtsfQOUJwN2keIX2XVfrqlAwH00u4g+kcbsW8VohQJ1x6IUWvsQMeKTriguHJ7i8/rONwFd84RUvU7RIGTtaSWxVXPKA== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AZg89TwpgcodJ5rBk+6SuHQH6e5wNQ4ORxf1iG/fxoU=; b=D5jk/0Kx3xbL2ChAHA4QLFsevsM1SG1NMf92EWG/Y5P9sRtvzaaKk+SIy8Pa5j5iRSfGPl4u3Ha9xEnak8RtCdgpN2GAARtMo4fY3G+RfCMQKfqJ7OgEJti9QGbc0H/ogart4Yj6/8rIqIy/t6XLvx/H4B4Mrk3CxE2hR/B4Eoo= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by IA0PR10MB7372.namprd10.prod.outlook.com (2603:10b6:208:40f::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.24; Mon, 16 Mar 2026 01:37:03 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574%6]) with mapi id 15.20.9700.022; Mon, 16 Mar 2026 01:37:03 +0000 From: Ankur Arora To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, bpf@vger.kernel.org Cc: arnd@arndb.de, catalin.marinas@arm.com, will@kernel.org, peterz@infradead.org, akpm@linux-foundation.org, mark.rutland@arm.com, harisokn@amazon.com, cl@gentwo.org, ast@kernel.org, rafael@kernel.org, daniel.lezcano@linaro.org, memxor@gmail.com, zhenglifeng1@huawei.com, xueshuai@linux.alibaba.com, rdunlap@infradead.org, david.laight.linux@gmail.com, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, Ankur Arora Subject: [PATCH v10 04/12] arm64: support WFET in smp_cond_load_relaxed_timeout() Date: Sun, 15 Mar 2026 18:36:43 -0700 Message-Id: <20260316013651.3225328-5-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260316013651.3225328-1-ankur.a.arora@oracle.com> References: <20260316013651.3225328-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4P221CA0014.NAMP221.PROD.OUTLOOK.COM (2603:10b6:303:8b::19) To CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR10MB5409:EE_|IA0PR10MB7372:EE_ X-MS-Office365-Filtering-Correlation-Id: 32014042-939a-46dc-45b1-08de82fc863b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: MMcnHfoLsrynifBImYTnaoQdj4rHTWetY61z2vyae5pI38hq7Z+90nsNhXBqWlTuRUEenhM+hgOH35AFB2wLlUK1X8lPxZVXEiUqyOJ1JuJI8IQ6yBYU5pCH5LIdm+MvpSPKXQl/luE2ZnwTT3mASQSnWXPa457mTW/ZOExRN40dgzXsZ3Kw/k3r6L9GVQd2Et+lQmPRjFoTShMz+Caa3OG31M5yvYha7EkBbQaxZncuR9M02hEcOeUxVLM1qvZkXuznOWMSF3jGv69wjarnI/qWxSfQnSiXFZcPnuKsn99dpn/9uBMaN5g0r+P+IRiAWPqgNptVbCK542q+Ce/B3Z2orFpcPTgBEjJCq422miMHkgGm+iYvWGXR9O2BBx/H0Gen7YKsgJCi4s07YiPB/uE2KV9JmsaQjrEZXBpUz+D5VLm778bV/eI3gcSHlmhJ/ox+n8ZldnrM1t5XGZY2HWCDuK/bv+NXAK09DZCZs7A9MrrY24fYR3i3+70O3IAgteL3EzWyPnvQRtgDlbzK7LebwRSYux7NXwaj70i41TVhoLnD3iDdkrpOvpzX/Trie1ieGi3Ny0tHjNl9synLaDJahghJz4hqmEIr7WqYuOn5/Sz+vE8KDYfpX6LEAV4d7wkaXiTIOvzyImC0oCK1cwAnyaaiwdcd9beta4N/Ifr46CAHDQsWp+KrFGCuptijGRV2cKAEUQUoMkfaKusHlXVsNLVWm6KnoBBFHums/BM= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(1800799024)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?agWqZnoLWVFXNJYonbsnsdpM6/cn3Lfg6iALaDlV+CGRlKyZYU71DYhHPVu6?= =?us-ascii?Q?4FPJ2Y6xDsunAbHCAmQkMjysmttAH/C3itvljTgOhSEQ7Khi4nCx2+H29whL?= =?us-ascii?Q?ENJjOS9EpQsh9WTI5CTXRR01UDFSZM/pQpEVQyzumOy8N8GBXIYME0rQb0Kv?= =?us-ascii?Q?uVMmiHE/srMeHObkzA2d8nI7kRG9uj23ju6REdLEWupN6jwj9oJfLOWWWH5U?= =?us-ascii?Q?U5McTq+bldFJjaiofoPhpDoIjqAUxSdQqAV1yNq49QlX90jzio3jmRG62yAR?= =?us-ascii?Q?2IZ19XjMETT7GaFpr8iHysbVCmT6vFE9VQZ+exLpz2h4ElQtT/7cGoLeCbe7?= =?us-ascii?Q?tzmTG81i+xZ7UpmLk2tgEU/5RxOZD2u+l0fDpjO20Spznymt0SUKlKzQ84ZT?= =?us-ascii?Q?32WcINEVEO0DpPEHW211PUfh5m37A6AI1gaWgqh4q6ryCJ8MbAxtRgIy7eYW?= =?us-ascii?Q?MlNlMnkKdgRccnDnI6aWd6hTqVL1tPl5ao1nrREGiMO82QUMQoNBfzUDuJqs?= =?us-ascii?Q?R0fVX2w74VzAJrAZN8i4wxS9z8NInfdCI7nz/yK28FT0s6L10aZy2AVCMVld?= =?us-ascii?Q?Tyqp2Q3po+sC91IJsGD9DJm10qSe5D1OVmvBvtrW5vyefCPci9Xi6jpG3a9z?= =?us-ascii?Q?1z0w/8FoJqlnPueUTKDtH9YosrymkEmnnf6ySkSTLPou0j/ylAiCBstqVgXR?= =?us-ascii?Q?10Vfa0YtHVHddzmmhOL9b5QPKa9Bv9ttLnKp0FCmg3MLc/T/JBy2WjURyNj4?= =?us-ascii?Q?HaXhrFFyNt8XlOsO6kqvbdA9TI8zxNpAZRLLpEE1Z0EvTSkc+N28V8TkoQVz?= =?us-ascii?Q?X5it7zFuLfQ99bQHhftoD+R7crGRGF6t15GB66uJ5BCpK1uFlHGXhG7XUKBe?= =?us-ascii?Q?KL8EqnFXQnxI/SzeCfy14B0dhJlh7THenRQv1JKl/J1YNfnJfEmH3H5b2Tvf?= =?us-ascii?Q?x+TbqR4h8ViTrHP1hW1AuxSN5iAeMzuyBFKJVHetmkrJ/OqdFX4G/ThXrPE5?= =?us-ascii?Q?V4kZqyw5KC4WSC22VK/ZPPmVXRUlx4fHzGdKajx+40+JC0KCcCWJZoSpzklO?= =?us-ascii?Q?Sx5KUMnfKROog7+1FI35g5if7tsld/Isg9rbTYmm75kvj54b95tL4RHIu/XP?= =?us-ascii?Q?lNZmtpbBGsAdPL2EZJ/n2q7146EQDFlOcNg4zVtRwqNXMRn9saLUYA/42Qxa?= =?us-ascii?Q?UssxsPc45UIuvDZ3+bgRYcHbtg04BK4CbHAYn3Y4YQfkKd5o8g9koS7mPIyV?= =?us-ascii?Q?OIAoD7w+7Z8dgW5BFfostZwBRM3JsoGTa8eSNNWWfF1147b0Idbmh3IzVtVi?= =?us-ascii?Q?LhkAVA1TAEy2WC19d0Bs6g1qUqtaSaBF4Vw4NOiVEu22MZWKB6F0Owr5srKO?= =?us-ascii?Q?vxQ4gA7kOKWGKON635d4PtYKMfRDjTQRfPTR6jcvEpH81QOn02FiozMz3Hr/?= =?us-ascii?Q?1yHTUe/+CBpwjlp/g2CDdQOU/WnGGDhrUbkvEFgSlv6bhdI28fohBU2NYP+L?= =?us-ascii?Q?akbIh55wxF2R3JvufDJ+V5nEI5jOYqQFugP9Jc523Fdyh3KrKfmDtFPoKrqX?= =?us-ascii?Q?omkgcCSM+sBRfAP1iczRmG/rekYz3Vo4bjy2bRudsV2H5YFMSNXyao4ePLVC?= =?us-ascii?Q?VARqtnjAn68y7op8sT+L0SfiTIF9/PobkhQIeBiOZ1Xo4p4SU73p6pIwFrec?= =?us-ascii?Q?qF8yh1Z7WRHd90X8vloiQfWjznwl1hPVMQagV0qHZNFCxbNLsQ/1I4b/EnOv?= =?us-ascii?Q?X9MCNaLiuw9U5COSIUEiOOF98uEUzHs=3D?= X-Exchange-RoutingPolicyChecked: GWPpPFb4Oe1MSu5+RQOLapJ1S7gZpxzx1LvphjVTrNm+5CbEWrjfKLDVoOxjaZ6CKCEDWHMwTKQbijQCLISe5Ggjvv2SZohpAgfCkJTUHxW+kZ7M6GG9bOXQvTHUakjJvWAHplNtyDr8VHENtchlCHq3zOs9qQDKgjfw6GH56QszBmjACZRvZ2MZHKBmbC7OFCKiuqpH/CNZiajXLiodw3z2yOILN+h/h80GeJVvYlGSMkJ5GPWdT/uL9eC6IOuQ75ymxyf+wXzbzHe7NK8pj1xzsBHmo9R52Jk2HLgUJZcVmp+2cDw6SMNJglKY5PC47FUDgRUxvOYgbWyzJ4qmUQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: qyteOrl2Yrx9O3a6tlMVDx7dMXCmt9YdIJc8Val+dZ+byX7warOB/dZd4wXqvp1EWTDGKCpSe8bfuTCccuEK1nmeqTHAUqBNs15tTHHmmHp7Er27LFdQCrXkn1DZCJycMTClnHfc6Hyc30uXCYUu1zp3SGQ4V1GNRPsoYnh6W9LAB0ReLEM3wzxd/Oe7x8ODRYEYXsOYhoggL/ijnqner3+fg3NTmWK7egIdW8rAp8kNwEeEirv0SPLQ9qsVOnLd5YXjsl5tnSnVkiNtWKWaxb8AvqYPlZ/LIYl4/OMo8h92qE/QYPrzhdIoE602eYU8ENhMtMY4hNjIA9WbdaTkx5dUG8DntxXhEppvSmINp/qFuucyQDExlv4mc4P+I+UiPpPGXpWMijkamgxlDow6PsGHdr0gukXzr2yLZQz/vcRlyqhoqGzgWyEPI9C+d7+U8KnW+rsiAdi4Wm6ZuZNpbtvnKvXuLXlej0LDbFiKPndKl/1QmXkLsMRBgJRXipxeDl9p6Dk+eDFIQHacdfIjRVtIQ1PDNfXFyI6VjOQ64RV4Q7g50FG6ovi/3tmrbObtDyVs6fqCL8zjXvSiEjLqGNsyGLnaz3mV47P7sYgMmLA= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 32014042-939a-46dc-45b1-08de82fc863b X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2026 01:37:02.9754 (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: XGIVfji/suGgSYk/URysCPi2hkS03tTeWz9Nknfihq92fXbWWH0GAvEb2+YXY8dHddcksfDrqF4G9ybHyOg/lz2gdMnRJtIAakpmSjvorV8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR10MB7372 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-16_01,2026-03-13_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 phishscore=0 spamscore=0 adultscore=0 malwarescore=0 mlxlogscore=999 suspectscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2603050001 definitions=main-2603160010 X-Authority-Analysis: v=2.4 cv=X5Vf6WTe c=1 sm=1 tr=0 ts=69b75ec4 b=1 cx=c_pps a=zPCbziy225d3KhSqZt3L1A==:117 a=zPCbziy225d3KhSqZt3L1A==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=Yq5XynenixoA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22 a=3I1J8UUJPc9JN9BFgKH3:22 a=7CQSdrXTAAAA:8 a=VwQbUJbxAAAA:8 a=JfrnYn6hAAAA:8 a=yPCof4ZbAAAA:8 a=h2j_Ys_cKJEXrGAlRtsA:9 a=a-qgeE7W1pNrGK8U0ZQC:22 a=1CNFftbPRP8L7MoqJWF3:22 cc=ntf awl=host:12271 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE2MDAxMSBTYWx0ZWRfX9rk3gN+tF1A7 HF+u0qkACxwJNeP/kG5pGCJP4yOhgnjzk/eCD5ZcoRmAF2kbIT5FcOZZjUqm7rx5LCKbwJiBMK7 QIumzR/nsUMZq2azoQqHTa1KYz1NrW4l+MAhckKXdV/IV3gQAdkGyBLNrRGMdCFqqXz/vYEF1Fb 1jpoVV6o/D6e32AFzqfIbn4+M0j0CdKVbtadTyJIEF0WKLoiEmgPnsmAi6o82EnfD4h80EW7Qed 8AesirCXIuF8KrxNosGcn6GqahyyBdimkiUCDthhSa4oQX7q66NVwSCe7XjlyP0TYc/uulMwD5l 6yZkq/wGeppwhy1kCAaW2hd6qGAyxj0htYhd4Gkf/8eHw/uHmTq5ryYoUxTAOtVuMRF6s3bTUfi 6pwNOXgYIj5budcchXKY//8kpBRvJYK65F0nmhUnkIdhg9HgHW/WDxbTJ+JJRZDkLQFKrL+wMMn As5jGzDBkmRVaT8dG7UT+GMPZxrvvodiD32ZSlmc= X-Proofpoint-GUID: 4dPPKzuuu8-qp9lsCWEwCgJxTf1a5jzE X-Proofpoint-ORIG-GUID: 4dPPKzuuu8-qp9lsCWEwCgJxTf1a5jzE Content-Type: text/plain; charset="utf-8" To handle WFET use __cmpwait_timeout() similarly to __cmpwait(). These call out to the respective __cmpwait_case_timeout_##sz(), __cmpwait_case_##sz() functions. Cc: Arnd Bergmann Cc: Catalin Marinas Cc: Will Deacon Cc: linux-arm-kernel@lists.infradead.org Signed-off-by: Ankur Arora Reviewed-by: Catalin Marinas --- Notes: - Switch to arch_counter_get_cntvct_stable() (via __delay_cycles()) instead of using arch_timer_read_counter(). (Catalin Marinas) arch/arm64/include/asm/barrier.h | 8 +++-- arch/arm64/include/asm/cmpxchg.h | 62 +++++++++++++++++++++++++------- 2 files changed, 55 insertions(+), 15 deletions(-) diff --git a/arch/arm64/include/asm/barrier.h b/arch/arm64/include/asm/barr= ier.h index 6190e178db51..fbd71cd4ef4e 100644 --- a/arch/arm64/include/asm/barrier.h +++ b/arch/arm64/include/asm/barrier.h @@ -224,8 +224,8 @@ do { \ extern bool arch_timer_evtstrm_available(void); =20 /* - * In the common case, cpu_poll_relax() sits waiting in __cmpwait_relaxed() - * for the ptr value to change. + * In the common case, cpu_poll_relax() sits waiting in __cmpwait_relaxed(= )/ + * __cmpwait_relaxed_timeout() for the ptr value to change. * * Since this period is reasonably long, choose SMP_TIMEOUT_POLL_COUNT * to be 1, so smp_cond_load_{relaxed,acquire}_timeout() does a @@ -234,7 +234,9 @@ extern bool arch_timer_evtstrm_available(void); #define SMP_TIMEOUT_POLL_COUNT 1 =20 #define cpu_poll_relax(ptr, val, timeout_ns) do { \ - if (arch_timer_evtstrm_available()) \ + if (alternative_has_cap_unlikely(ARM64_HAS_WFXT)) \ + __cmpwait_relaxed_timeout(ptr, val, timeout_ns); \ + else if (arch_timer_evtstrm_available()) \ __cmpwait_relaxed(ptr, val); \ else \ cpu_relax(); \ diff --git a/arch/arm64/include/asm/cmpxchg.h b/arch/arm64/include/asm/cmpx= chg.h index 6cf3cd6873f5..9e4cdc9e41d1 100644 --- a/arch/arm64/include/asm/cmpxchg.h +++ b/arch/arm64/include/asm/cmpxchg.h @@ -12,6 +12,7 @@ =20 #include #include +#include =20 /* * We need separate acquire parameters for ll/sc and lse, since the full @@ -212,7 +213,8 @@ __CMPXCHG_GEN(_mb) =20 #define __CMPWAIT_CASE(w, sfx, sz) \ static inline void __cmpwait_case_##sz(volatile void *ptr, \ - unsigned long val) \ + unsigned long val, \ + u64 __maybe_unused timeout_ns) \ { \ unsigned long tmp; \ \ @@ -235,20 +237,52 @@ __CMPWAIT_CASE( , , 64); =20 #undef __CMPWAIT_CASE =20 -#define __CMPWAIT_GEN(sfx) \ -static __always_inline void __cmpwait##sfx(volatile void *ptr, \ - unsigned long val, \ - int size) \ +#define __CMPWAIT_TIMEOUT_CASE(w, sfx, sz) \ +static inline void __cmpwait_case_timeout_##sz(volatile void *ptr, \ + unsigned long val, \ + u64 timeout_ns) \ +{ \ + unsigned long tmp; \ + u64 ecycles =3D __delay_cycles() + \ + NSECS_TO_CYCLES(timeout_ns); \ + asm volatile( \ + " sevl\n" \ + " wfe\n" \ + " ldxr" #sfx "\t%" #w "[tmp], %[v]\n" \ + " eor %" #w "[tmp], %" #w "[tmp], %" #w "[val]\n" \ + " cbnz %" #w "[tmp], 2f\n" \ + " msr s0_3_c1_c0_0, %[ecycles]\n" \ + "2:" \ + : [tmp] "=3D&r" (tmp), [v] "+Q" (*(u##sz *)ptr) \ + : [val] "r" (val), [ecycles] "r" (ecycles)); \ +} + +__CMPWAIT_TIMEOUT_CASE(w, b, 8); +__CMPWAIT_TIMEOUT_CASE(w, h, 16); +__CMPWAIT_TIMEOUT_CASE(w, , 32); +__CMPWAIT_TIMEOUT_CASE( , , 64); + +#undef __CMPWAIT_TIMEOUT_CASE + +#define __CMPWAIT_GEN(timeout, sfx) \ +static __always_inline void __cmpwait##timeout##sfx(volatile void *ptr, \ + unsigned long val, \ + u64 timeout_ns, \ + int size) \ { \ switch (size) { \ case 1: \ - return __cmpwait_case##sfx##_8(ptr, (u8)val); \ + return __cmpwait_case##timeout##sfx##_8(ptr, (u8)val, \ + timeout_ns); \ case 2: \ - return __cmpwait_case##sfx##_16(ptr, (u16)val); \ + return __cmpwait_case##timeout##sfx##_16(ptr, (u16)val, \ + timeout_ns); \ case 4: \ - return __cmpwait_case##sfx##_32(ptr, val); \ + return __cmpwait_case##timeout##sfx##_32(ptr, val, \ + timeout_ns); \ case 8: \ - return __cmpwait_case##sfx##_64(ptr, val); \ + return __cmpwait_case##timeout##sfx##_64(ptr, val, \ + timeout_ns); \ default: \ BUILD_BUG(); \ } \ @@ -256,11 +290,15 @@ static __always_inline void __cmpwait##sfx(volatile v= oid *ptr, \ unreachable(); \ } =20 -__CMPWAIT_GEN() +__CMPWAIT_GEN( , ) +__CMPWAIT_GEN(_timeout, ) =20 #undef __CMPWAIT_GEN =20 -#define __cmpwait_relaxed(ptr, val) \ - __cmpwait((ptr), (unsigned long)(val), sizeof(*(ptr))) +#define __cmpwait_relaxed_timeout(ptr, val, timeout_ns) \ + __cmpwait_timeout((ptr), (unsigned long)(val), timeout_ns, sizeof(*(ptr))) + +#define __cmpwait_relaxed(ptr, val) \ + __cmpwait((ptr), (unsigned long)(val), 0, sizeof(*(ptr))) =20 #endif /* __ASM_CMPXCHG_H */ --=20 2.31.1 From nobody Thu Apr 2 09:30:13 2026 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2823023EAA5; Mon, 16 Mar 2026 01:37:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773625071; cv=fail; b=nDHWtDG2uJ074kacI5X/LRikDMoQ0S8PmToJq4xea1f4KCxfv7RfjhR1XhpU2SdT1wLiCLw+COevY7za1FZ++sNYBwTtQBvbmkEzG0dZUZ9zWE4KVt6JryzUA0oKRXSqPoKe1b7RsG7n+tUkSVbFdE9/ss2NbnFlKPWQ+jbPxlo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773625071; c=relaxed/simple; bh=fLzo2MKS3zcjLUWyddaAdPyIlMm7AdzWYGTGhHuTrXo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=PL04qfWRvJqIVO+5pN3jWhS9n+Y+aztWBExMQiTvWOMrYunfCucFMu24vfylnBTULlXVV1W5Of9ylvv/UDY5SdgqMI1K5Xr/+1oIC6KTaSDR/1vmokjLZtoRPKqQVMxfypoD91Df5W2nBYcP79uwDpfnDFpYMz7UufR/YdHj8K8= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=qAYdQ7TZ; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=rqXSao8g; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="qAYdQ7TZ"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="rqXSao8g" Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62FJtHr91061276; Mon, 16 Mar 2026 01:37:09 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=vXCy9muAbULpfxKzJbhM6JR2PeL+Ud2isMKaxDrwNv0=; b= qAYdQ7TZDtMFcvHmL/vHA8Aj9Ekt4mg7uJkpP+rc+jCfjyCnomkj6c4lUr3sFRg0 AIDJDufGoJ39VluaAjvwPRSI9MKWUDRxsHMm7pF4bw57EXnNML4SZmOwS7DXK8aU zhnqhK5kbAjxgwHSfKks3abcIIF2E7kcHfRm7uqKkhLuhMN1NAWX4PuxauL8rcwY 2zHYe9d22Ci5P7OUhTOLfSEfjK5OADQ2sPSH5wNCe8LO0tu9O+WWQIKSnZumkOT9 aKbwaSSi2f2bTxEmZpN8lcVkR4+/5/M3xi2/idUO8ezioUsqGJtD0xJeNCiO8MpS OcGhe3fkMkvnF0N6I+5SYw== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4cvy9rsatv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Mar 2026 01:37:09 +0000 (GMT) Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 62FLlQHY002861; Mon, 16 Mar 2026 01:37:08 GMT Received: from sj2pr03cu001.outbound.protection.outlook.com (mail-westusazon11012018.outbound.protection.outlook.com [52.101.43.18]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4cvx4j84md-4 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Mar 2026 01:37:08 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=f6PJwOAXLngTKBqM+N4dDIDrzmsypbTvIw5SO9MmSTTmodgyGOAbeO0kYOuRJaDIW5P3JhEx+h4LEWTB18fUc4+tOA/qj/PI8aFzsHXth6922Y7zZZgJjfP8UoimPfTLkjBblrLk5FDxgp5RmJ0TCzKSRFla/WrLiDwGkLMcLc/ypSsP1bieCQPORmpFQ+KsFnoUU9cwk+6UkWTDQG9+cwIn8wnZhXrU0qoD47CUq6uPu+pkMhsM1//yk9tfsZq6+u7qDmUS5LM30+uUKrZLUu2bIquL3LZI+2rgkko1SufvLJFbUm1jb66nwEYBL2FUiF7qfW7BJv3LKLzcPt5/Jw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=vXCy9muAbULpfxKzJbhM6JR2PeL+Ud2isMKaxDrwNv0=; b=vdqhfN9iYuzaFXGvOm1dpDYlSCfaijYi5OGIwlZ9x334Z/Kcw2mSemxg6ZT3g10fQLlhXRQXZVV0xqaAvWj9IntUdsidBxEKElv8JdLjN3A1HE+bXNC18Y7kqRZPN0fSGmncb+QnV9EprTwe0SInHX4OD3dQAZylBh24sV7woOAIIUEDkNj9OFe27ve/I/fkNv0+zDPuSI69746OeP7sxn4kJWQg5nl5WiqHhMlTh/rS+VaopV8bRIA+vqraAZ4jFldF5DTU1orhzbmXMOfOg1233hDAajgklb6Hp+KvQ9WAMFPhIufXZ5hv6yLApcnJzVyveLdXY5AwkG0zT4ig7w== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vXCy9muAbULpfxKzJbhM6JR2PeL+Ud2isMKaxDrwNv0=; b=rqXSao8gRMtqYBNiG7cZbMR/ubGQw6TQbDlIPwmHjUjTPGdOwXFe8s/vkJ33T/24DliGoIczQMhTYvZ4wk799W1ALltX9snS0aGdF48cKPkvqNM2ES2d7+jsZGcZC5LdpU5lsq3VdQB3L0fnrJuOzbP3FKNDacNJyv5Y4y5FcM8= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by IA0PR10MB7372.namprd10.prod.outlook.com (2603:10b6:208:40f::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.24; Mon, 16 Mar 2026 01:37:04 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574%6]) with mapi id 15.20.9700.022; Mon, 16 Mar 2026 01:37:04 +0000 From: Ankur Arora To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, bpf@vger.kernel.org Cc: arnd@arndb.de, catalin.marinas@arm.com, will@kernel.org, peterz@infradead.org, akpm@linux-foundation.org, mark.rutland@arm.com, harisokn@amazon.com, cl@gentwo.org, ast@kernel.org, rafael@kernel.org, daniel.lezcano@linaro.org, memxor@gmail.com, zhenglifeng1@huawei.com, xueshuai@linux.alibaba.com, rdunlap@infradead.org, david.laight.linux@gmail.com, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, Ankur Arora Subject: [PATCH v10 05/12] arm64: rqspinlock: Remove private copy of smp_cond_load_acquire_timewait() Date: Sun, 15 Mar 2026 18:36:44 -0700 Message-Id: <20260316013651.3225328-6-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260316013651.3225328-1-ankur.a.arora@oracle.com> References: <20260316013651.3225328-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4P221CA0015.NAMP221.PROD.OUTLOOK.COM (2603:10b6:303:8b::20) To CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR10MB5409:EE_|IA0PR10MB7372:EE_ X-MS-Office365-Filtering-Correlation-Id: 7987322f-03d8-4c77-9901-08de82fc8716 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: 7R3z2zUZMsa2VQvmI17DRPRz3ydicBDG3hWbj0UF3qaD35+f9EJ94Qn3Su5Mh8Y2zxbkuWcR0459QEfHygC5N3Nk1B2Y/ohkU/DiLljd1BwPtoaQB15VSJNh3s0QjsIg6aJVCgHclhOqH11us7os0ZV1npVZd3D/+fJRyf3/aBLt4aJIn+7MWl7nxlI59+gPpoV/EIuvJJgMx1GKsZJuwagzaLn5j7p2okoPw+h8JfH9Q++0sQ2r9TUNZU4R6IbnlO4VRFsqVXeyiQLu9uTYv8JxPjiT8/28nf7mvTGQ7xnxrgrpAgSJqYfJUdAUTiLG60W/LURpxEFPPrSK2uNRRgovg1Z1CUApgeeqlvJDmja5Bmg9W8UyQwl8WbSCYvHMN4HpzFWe4YGo7uGIrNWoo6vbXEavDdib4gzq1EjN/wTlKnE/7ySBaVEdNwz0wWNALM/Uv3gQ9LnJ50CHJkgkVr/3Z05rl9eTU6OrL71ydYAzj3H9rbp48qIOqkM+VK8xkJpKtNvBUdIr4MfZlUAcxhT1RK1g3DL/Nny6fG3wLdcOB7kK1fmgL4Mkx0+pq7c0E82gn91DtL7ksTioTNZZhmzbGz3DHoXVBfsM0T+lUdLanrgUZffgiUgKQ6Mfc2OzIVHdGPwKKYy5iCYBkIaqJZsrTie5LgGX4Qmkuc9nSo5Xyujf/AnxU6Gt4hI+mWiNjhE34S3q66eY17OVCzIwTpgNT3qZ6JVS0ocMFLaky/k= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(1800799024)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?dCUqnHhHiyQ8+KvdE+I8B5AFWFh7xRvI473xDskIP6mfdHRAnmjYqxeFpPEa?= =?us-ascii?Q?mOeWoju2apLyuWk/Lt5wEXM7H/L+aAa6IP+8zjuMQvqScclxnDAAq62CZekf?= =?us-ascii?Q?HnmCxF10fcEK4Qqh/nWSUrmmURAtkJCY6SCjrO2rPnLCbUxETDPVSCIhc439?= =?us-ascii?Q?bzlAlAVPTveSGNtQ3qf9ZiLE0U2eLoAyYmUYFxeAY/rHez0fL//JTONy3hSg?= =?us-ascii?Q?tHtI2Fnne8AYgdjga8Lp9ltlt8d4/7kVT4g2GLyDS+R9eU1xzPmSGDqAT2O0?= =?us-ascii?Q?a26iDDHVTliQfvUY0+IyRNYan0UaxZdA90TCHpo0mfPqj7zcnPLvdY4jJOXY?= =?us-ascii?Q?PU4UmHyU1NdJzH52XJ4zMrZYI3O5nqhgl/3uEgUpT+HBbGxXWYu6puqdmxzF?= =?us-ascii?Q?A+lJYN4NsHWIXFs7IGeU5KjCQ1gIUbQovJUsBVVBugoPKbZXh/BHt2OX4vvt?= =?us-ascii?Q?f1Yg7kyHZnBgncljdFXTkk0613rfZ4OPVpJgr6+ZaDj4H8VuuxPTiB5jitKC?= =?us-ascii?Q?X9LQM0sn3A3lW5VOr8+zSLJEjPh+q+myChgHcJqb9fKrw8BoKBtgcQrzR+DW?= =?us-ascii?Q?wCqv16wBt76xQASzp7/DYew1L0FpjWw0pfBVkK02k0kNB7S9gwRpPISqK01e?= =?us-ascii?Q?iBcv30YXOR5vNc8JzviwDOrraqppjzzL5rpEwfKUOzjoSAAxn04hDhpQ7sfW?= =?us-ascii?Q?QR726MjvUln1/CsIK5+W/WonujHTWlSrgvjvqSj8XSWo3kn1qOxfXWAvoYzv?= =?us-ascii?Q?bzkx8QSx2UgthZoX82BLS7drQDLNLaAmY9AqTL9MX2CcTVgE4/hxckWxKgtu?= =?us-ascii?Q?AV/UzBuzt1/9YuDRRvn7xnf9EPU8LXo920yy7sX4lUGHuAdJEY3BNTRLsTZL?= =?us-ascii?Q?AvHGi5rcxYxOvSwjLT4Ghq234ydJlYXUsE/SyHtwVK/Q7NMcjYmFeu64QnlW?= =?us-ascii?Q?U7BdF62WZORymKUqcrt4L3wAsL/K6bJr4c+zdHOUH1PSNhCR+4cay2i53TFO?= =?us-ascii?Q?3VTJWWDKfhhTww3gsjY5+Xhqcf1NRsG6B6DA4x+M0UM06oEs0bO2g7HgMtPH?= =?us-ascii?Q?ebtXIbIBGTGoh86vL/N8/HwiV5c9YWCbWqgpnYYeydmlLF8qYJiK4iKiqQgS?= =?us-ascii?Q?Ugg8yHIhk2AIIgEnEATcj0WeGR4+xWbjDUtrPv+YDxotn6OmdbMKX7LX3MrR?= =?us-ascii?Q?c8tincNNrujXezbTif6SriTJnBiqyFPmfAuQlG6JNu2RESE6SZoE0p67OGwv?= =?us-ascii?Q?18hDgvt5eG+GYOB8AVf2N6k8oMtBH0MLT9pSyt3F7X4uDCFZvvGQ59cT0xxu?= =?us-ascii?Q?T3iTr3/XUZop+3pSFbo87NUum9qjrSRaCt74CkEktCwHVZ8HVoylo8BtqjZl?= =?us-ascii?Q?1wGugi1PaSXE3cTXsi6nqDZtTVjE5YtYW1vZRLHBYxYcF06WVAjJ+1nT31q9?= =?us-ascii?Q?cAk+GDBsFrWukJ+B7eVxGr6TCtTvD9SJNOUbffNGQ3zfZTAVexe2xifdW0nb?= =?us-ascii?Q?cazoRSOMCo1Fo0XaRXOh9qoJnHog9EQCh5Uiz4gh6EgwXQmBLeKjvWGW/75X?= =?us-ascii?Q?uPkYkx4hY99kgkjA0/wiKuX9AB0geE4Wll+ARkq3ABNSzc2UYhfPLbpuSJf1?= =?us-ascii?Q?zCUv9qHlsGc7T2vG9ja1waSZrpIwtMZL8ysm/snYwZ784Sd1iHSiYohzdXwO?= =?us-ascii?Q?cTkjZLgCUJMgRWjYXGY49LiNCXLB0ajqUuJpHKqU7C7ogdz77S1JpSwu/r+c?= =?us-ascii?Q?6EoJZsslmq8le9MhkjrLUpIVRAA9AiU=3D?= X-Exchange-RoutingPolicyChecked: g9v5C8WkQFLRM3UXGDWR2iDkFMQny1maryrlzz2ClArAfU9kwj+TlD/T5vYrI4kPaLdcHLXb97MDExDND3ngDKfoUZiwuTNipTdaYU9r2q6VneDuTq+G2OeWFPwgYUHft0BexjbI+sZoweE3KOjN13VrXgqhQU5YD13uw+k+4B3RUxl3lFPMlUwkYoW3M62v6vPJH6m6aVwvR4hlExuy/1gnzvDk3PqC8x2iyqAPBO/3JPvjfeHPDULI9ScKjlCriF6+nX/uERdVnMkB831sf5een8scmZM9R0dr2Vo7/MQah8nzGDscF5FAH5Fojw18TtO9GSxbOuYu7EDJZNeCjQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: NYn4O0kLN1ZUtvpxoTiDi5zTLH1zL2LTY9X5UO3r4nFWG6ppfgEAbuBa4PdaaczFd+aw8j74ubp8vOQKOw03e5tm0iPicwlw2oY2a1XosQlEDYPOPU9/jd3oOOJSoSH0iWEcjAHanQ3myM5dCWnqYkKrq1qWo61lGjBLvDzSDVrM25XofMM6pnK22ByX27l3RRoEwmca3GpO142JZBYh/YDbVb1r+zylT2PSb6W38q9OK/+tWv+7t+3f50Uwaq6VXAZ3Tj8emeADJPRWxOouxL9dyI5quMj9exxR9HRjWPJZOc8xC+gvF+Hs0HeEYRMFOdsKurxrhXi2icFz1Mrou4/9Dy4Ezb+h32ruJzH5eNOSRXaqLXldygy1vGup6ySt8m4BsILmIvRcf+VVkYJBwFTVEHOFvH/xwf5lfHXMdzSYA1N1ZqkuDnvR8LFLs1jqQAR6Hm3GnDg+wy/mB5LC9XdJ4RlICLyilHtPa4vbWrJafXW7lqvBRPuXnAEZfHr7Ww/qkA3vZ+r+7GiJIqjiDkSwAHmlxT1xrw85YmegKuTgNHmYGbkB5RgqpHVg8VuqbkHHd/bOGGFRpBLpq7WS398uSFDMRV3pxOzN9yP21cc= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7987322f-03d8-4c77-9901-08de82fc8716 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2026 01:37:04.4236 (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: 9nk5U9loWZyuYf1+mtEKQ/bRBEDGdcgEARRrenOHAGdNwNho/JsKNTmBgfXJWgqueOBp2Wq3ybX/Qo1S17WvTytleorPBlVEI+wzYgpc1m0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR10MB7372 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-16_01,2026-03-13_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 phishscore=0 spamscore=0 adultscore=0 malwarescore=0 mlxlogscore=999 suspectscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2603050001 definitions=main-2603160010 X-Authority-Analysis: v=2.4 cv=X5Vf6WTe c=1 sm=1 tr=0 ts=69b75ec5 b=1 cx=c_pps a=zPCbziy225d3KhSqZt3L1A==:117 a=zPCbziy225d3KhSqZt3L1A==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=Yq5XynenixoA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22 a=3I1J8UUJPc9JN9BFgKH3:22 a=VwQbUJbxAAAA:8 a=yPCof4ZbAAAA:8 a=pGLkceISAAAA:8 a=7CQSdrXTAAAA:8 a=vggBfdFIAAAA:8 a=pMBjG9WjWPNDpSeUJj0A:9 a=a-qgeE7W1pNrGK8U0ZQC:22 cc=ntf awl=host:12271 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE2MDAxMSBTYWx0ZWRfX3GOVXqrg2Av3 euoFfvLoqjTWxU0V4+Ol8MwA2HwRblT5xsvNYOcZI5ryAnbfawRziyKddTLz2qc61NkUcQH9AQI zDnGkTxkj7z7nxbFHXgWCF1P7wEdbY3DKQzV4+PlMFheeLaEsAkR3AM92Q6UgJ6UBmaiX90NEp7 DVOECqsFdwRihoeP0DR49kdhhaAYnY6QqTH9DpxxCeGuC8edcS9GMDlUk3ydh+rWY7SKspXSvV3 lM9sgGfGZBCcCiQzyxe1oNgr/1fFyiFC0zZu/tWcJ8S3KmECdRuFuMkILRCrQZCTskcpX59PuBH en2ZgAigOpc2qUh7dVozaChozJkQPVSxpqnC5Z0MMDb0mog70TdGf1Zc+Iy/KjfYxU8FxRA7XeF JUkf6aDuzQiZzDCh6xn0YWLDzf9oKugd+qonp9Xf9+bgueCAkW94Z6KGaYRgovwWwaqKPV4Xtw/ DOwdKABZUa8jNQ10U9YBy4hwKs2Nl5M0MUtUH+kw= X-Proofpoint-GUID: o_80DHZlJHMMuNq34HeeE25kJVLoNkwe X-Proofpoint-ORIG-GUID: o_80DHZlJHMMuNq34HeeE25kJVLoNkwe Content-Type: text/plain; charset="utf-8" In preparation for defining smp_cond_load_acquire_timeout(), remove the private copy. Lacking this, the rqspinlock code falls back to using smp_cond_load_acquire(). Cc: Kumar Kartikeya Dwivedi Cc: Alexei Starovoitov Cc: bpf@vger.kernel.org Reviewed-by: Catalin Marinas Reviewed-by: Haris Okanovic Signed-off-by: Ankur Arora Acked-by: Kumar Kartikeya Dwivedi --- arch/arm64/include/asm/rqspinlock.h | 85 ----------------------------- 1 file changed, 85 deletions(-) diff --git a/arch/arm64/include/asm/rqspinlock.h b/arch/arm64/include/asm/r= qspinlock.h index 9ea0a74e5892..a385603436e9 100644 --- a/arch/arm64/include/asm/rqspinlock.h +++ b/arch/arm64/include/asm/rqspinlock.h @@ -3,91 +3,6 @@ #define _ASM_RQSPINLOCK_H =20 #include - -/* - * Hardcode res_smp_cond_load_acquire implementations for arm64 to a custom - * version based on [0]. In rqspinlock code, our conditional expression in= volves - * checking the value _and_ additionally a timeout. However, on arm64, the - * WFE-based implementation may never spin again if no stores occur to the - * locked byte in the lock word. As such, we may be stuck forever if - * event-stream based unblocking is not available on the platform for WFE = spin - * loops (arch_timer_evtstrm_available). - * - * Once support for smp_cond_load_acquire_timewait [0] lands, we can drop = this - * copy-paste. - * - * While we rely on the implementation to amortize the cost of sampling - * cond_expr for us, it will not happen when event stream support is - * unavailable, time_expr check is amortized. This is not the common case,= and - * it would be difficult to fit our logic in the time_expr_ns >=3D time_li= mit_ns - * comparison, hence just let it be. In case of event-stream, the loop is = woken - * up at microsecond granularity. - * - * [0]: https://lore.kernel.org/lkml/20250203214911.898276-1-ankur.a.arora= @oracle.com - */ - -#ifndef smp_cond_load_acquire_timewait - -#define smp_cond_time_check_count 200 - -#define __smp_cond_load_relaxed_spinwait(ptr, cond_expr, time_expr_ns, \ - time_limit_ns) ({ \ - typeof(ptr) __PTR =3D (ptr); \ - __unqual_scalar_typeof(*ptr) VAL; \ - unsigned int __count =3D 0; \ - for (;;) { \ - VAL =3D READ_ONCE(*__PTR); \ - if (cond_expr) \ - break; \ - cpu_relax(); \ - if (__count++ < smp_cond_time_check_count) \ - continue; \ - if ((time_expr_ns) >=3D (time_limit_ns)) \ - break; \ - __count =3D 0; \ - } \ - (typeof(*ptr))VAL; \ -}) - -#define __smp_cond_load_acquire_timewait(ptr, cond_expr, \ - time_expr_ns, time_limit_ns) \ -({ \ - typeof(ptr) __PTR =3D (ptr); \ - __unqual_scalar_typeof(*ptr) VAL; \ - for (;;) { \ - VAL =3D smp_load_acquire(__PTR); \ - if (cond_expr) \ - break; \ - __cmpwait_relaxed(__PTR, VAL); \ - if ((time_expr_ns) >=3D (time_limit_ns)) \ - break; \ - } \ - (typeof(*ptr))VAL; \ -}) - -#define smp_cond_load_acquire_timewait(ptr, cond_expr, \ - time_expr_ns, time_limit_ns) \ -({ \ - __unqual_scalar_typeof(*ptr) _val; \ - int __wfe =3D arch_timer_evtstrm_available(); \ - \ - if (likely(__wfe)) { \ - _val =3D __smp_cond_load_acquire_timewait(ptr, cond_expr, \ - time_expr_ns, \ - time_limit_ns); \ - } else { \ - _val =3D __smp_cond_load_relaxed_spinwait(ptr, cond_expr, \ - time_expr_ns, \ - time_limit_ns); \ - smp_acquire__after_ctrl_dep(); \ - } \ - (typeof(*ptr))_val; \ -}) - -#endif - -#define res_smp_cond_load_acquire(v, c) smp_cond_load_acquire_timewait(v, = c, 0, 1) - #include =20 #endif /* _ASM_RQSPINLOCK_H */ --=20 2.31.1 From nobody Thu Apr 2 09:30:13 2026 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 924FD24728F; Mon, 16 Mar 2026 01:37:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773625072; cv=fail; b=ceOzn77v8Ql06yr+p42TG9aZ1ep78C232Q4JY/eLJo1Led2iEN1MkhAGmiIrZMNchdU1Bv/RuwEgz/aYazu9FeVOwVkw9ZRj5NaCM7N2D9MOjn7hRa9pPrBHiMYk5YG2uIlqw7A/0mlRKWXIH6md1g8kZ5/xvgnLgubxzoYx6S0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773625072; c=relaxed/simple; bh=2vtvjsOlpr2S+8kit9DVM3u0fvLdjM0YRoev0RiH8oA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=n2OsyiWTlSBgN/KKZwMZwXucdCaoM8o+6AwqqyO54fKZlFR0UI0MtSvEHBAJxWpHsGxvyYpiwlanDuYqem31kfSF/0sXcEjb0WPmsON/0Cl50GA2X0xHKSWyr4SAsol2RNh/i49K9y5arrKSk4VU8lfCNeQsPVtcaqXhvbsDDpk= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=PdJlxrtD; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=e4s2Gz8z; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="PdJlxrtD"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="e4s2Gz8z" Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62G0Bhhk1866514; Mon, 16 Mar 2026 01:37:12 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=trHRrOdEGaGNJ2shfnvMMpbGEzn6M+LOEMaNRH5VN+w=; b= PdJlxrtDuMf4mXXQpaiW/IxbELbfZXF/9KzS72Si+Pm5ccA7LfVoWwn8f5t1yLOy d0OreN1orZFavk8NIUWPkEkYt8RfdsfAsZbjTpmiEeUHkyu/pkAP9GMwCVFyLEM8 ZZlyVWp5BPR0U2kpQ3yKl7h7oc7awwgUVnI50+VYMnAaAgVdcomHdnSA6OfVqtY5 2RB0GOsTUeWaQmJGV5dhxbkha8blM7+gU5XD38VpbhyJewNu6WNa+ipbLf7gHXuO 9sNa8xLCwqrvPqHn1xi+RxvVYU7wPyZpoz2DTlgiOAvJwMdFtXddieVZFiOZ76Yc VFU9y9nMk1tV2AxuytcKZQ== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4cvxf41bdp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Mar 2026 01:37:12 +0000 (GMT) Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 62FLQeFW014169; Mon, 16 Mar 2026 01:37:11 GMT Received: from sj2pr03cu001.outbound.protection.outlook.com (mail-westusazon11012040.outbound.protection.outlook.com [52.101.43.40]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4cvx4802ht-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Mar 2026 01:37:11 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=GFTT3FLrnD/BkjR5XyvGf+O+KhpphaIRjXSNQzSK1PA0ljZkcYxLfrLiOsMRlLRehQ9Yjzkdd64Z7N4byKgpgTyFiZJLOmciD+sFSa/W7AEchZFUH4FKoCilOzFjMZawBBB6u+uYnhCTZqKjGZUbz0IZiK3Vm7AqkGNu5Dzp616OlFXlCIaXGAWyb0cNNUIlS8qnU11pKru7qNVKwWCp7wQQloRIUkJR1x2rPjvdoWAEeUFgx+SzHBi0zVg7v0WtTEj+gNDpkK9hoYFnNDP/dEbIQuNWoE4iSzQKM6o6DMsH6f5ziTKT4rwWX81oBrCS7AIByJqdd50c4w54ULUU0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=trHRrOdEGaGNJ2shfnvMMpbGEzn6M+LOEMaNRH5VN+w=; b=hKAcqaKK+jcttuycLjfJmgiiFK8nI4n2onH7fdxOXvhasWnkFhjLZGZRpzPSR3bxBEJaiVWQwnSAbYGYYKDHyAWczi0h4s+ETZXQKrwPhh8yxfcI+BGsfXZ49kK1zj9zyNIdwhJXI9qP8MY5ymmIPe3tIbJEPov/nQtBPM6JnmgclC6z5XlAkmLubB8qc9ImjdiK8uDrqdqt0Vk4iKvfA1JzKKurD5hoBggvmovfDGTsX6JALiRTcD9L7TR494cp8O1SlAgsmZBIaFUQnm/rz3qQwVqUcKLQ3K1TW91ewzx9eSfnj+qEg1NhjYrsX5YKabeFiU3b2t5C3XlhqvqqkQ== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=trHRrOdEGaGNJ2shfnvMMpbGEzn6M+LOEMaNRH5VN+w=; b=e4s2Gz8zXmrf7GRURz7EpCieV3Cfy1r2NWYRn22hdVcpHBMYI3fYCPOD4/3ZTzTYhY9nk7sWV1N9T+SH87fN3x/A8Oc4K2sryai4m9w5MsEkWPDNUYdEQPu2CfF/6YNRhB8jjzXDMU/7u4Tw2umGfIU938oSHxyGPXWflIIk1bQ= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by IA0PR10MB7372.namprd10.prod.outlook.com (2603:10b6:208:40f::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.24; Mon, 16 Mar 2026 01:37:08 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574%6]) with mapi id 15.20.9700.022; Mon, 16 Mar 2026 01:37:08 +0000 From: Ankur Arora To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, bpf@vger.kernel.org Cc: arnd@arndb.de, catalin.marinas@arm.com, will@kernel.org, peterz@infradead.org, akpm@linux-foundation.org, mark.rutland@arm.com, harisokn@amazon.com, cl@gentwo.org, ast@kernel.org, rafael@kernel.org, daniel.lezcano@linaro.org, memxor@gmail.com, zhenglifeng1@huawei.com, xueshuai@linux.alibaba.com, rdunlap@infradead.org, david.laight.linux@gmail.com, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, Ankur Arora Subject: [PATCH v10 06/12] asm-generic: barrier: Add smp_cond_load_acquire_timeout() Date: Sun, 15 Mar 2026 18:36:45 -0700 Message-Id: <20260316013651.3225328-7-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260316013651.3225328-1-ankur.a.arora@oracle.com> References: <20260316013651.3225328-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4P221CA0012.NAMP221.PROD.OUTLOOK.COM (2603:10b6:303:8b::17) To CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR10MB5409:EE_|IA0PR10MB7372:EE_ X-MS-Office365-Filtering-Correlation-Id: d5478d75-e83f-4c30-82c4-08de82fc8996 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: 3w+/2zMaeLWX3HnvD6CMFIWBGPrZZUHI6UI2w/cW86hgMRO4b6jeCz6z7PB8JyOyiWBL/O6NSuQ9XOVow4CimUeUL+6yUWqCvo5zgMMCG1Eh4LZCiZPYMjrVgEt6wYxGair94KKSQU4/fh+ZFfyfcjJTVk3PAC7bdq5vHeRO96J/vb1qB8sfRlSRNUgHLzDERpyqhKftU/kPH7j6V4neK7LKJB0bJOGxD1+4Jzqi8mjKphfC23Uwh6PIUYkVei+MNxp1YMpZcqOr3QFfkAVq5tkgWFcFDJFztSo8yGZs+mK6wZIQesLd3o6R66sH0jPtK3B05EH1GeCeQgK6pyJ01xbLBoNxRmXdjty5CSnpSv6RxJTDe6k110Np6t/pvYDGeK2wfXGS7GL+f6NrMrr7G9VUasAdWTaYLLp4kAgXByb9ajr+dtN6o/cskC/I+1/LRcXXN0ESQrkO6hq6RoHMG1MOEoW7r1dLAn+5vvbOkobufj+341r/mCrptaSB81hbOcgcm8DmTVwCB7lTtec/F/BESBD2U0yRMnE7oq+ueoVzlduu9Q5Elz0Mw9lu+jeoQqkYzl1cIssgXgtpfBdN1ooB92e00AWljNcgIcgdP4LP2mn+DBrZfZ24RK9x1u7kdW6uKM+H5WtnlJrpj/gmHx08GbPx5zdw+2/U/y7FdHQbEMZjMMZAwMagOOiC2Yije5TfWpf2g8Nf/HGP0XyhkPibjftR9pdaAHP93mvut+o= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(1800799024)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?4TvZUbb1HItezzAMk3esYgjbOS+n6FGYVzZYXpM07obmLRA1AfT0XZDIrEj/?= =?us-ascii?Q?y3Y5X4LFxB+FchmDaSwuicJemP0u0YgIcMkh+lLY+oS5KC+ahppLh0wgxNkb?= =?us-ascii?Q?ER3j9b4c1pcTY+M0KnYL5u1Mr+9M8krh5r6a1yy7uxOMNT9qyMV6BmpbzmZ2?= =?us-ascii?Q?pL2BZXbFAOcT65zXWG41AmNl1aYXDR4b+Dg+DEYm5EMm2nOsq8l45O5q7hCA?= =?us-ascii?Q?rrUyuoCuVz3iDt9trkfPFVLhO/BiLeHDMCfejsoALt/SZd1HQLpPZ+xiOS63?= =?us-ascii?Q?GlMUWeYLbBssiIxCeqriXzBY2yMBU8G9u/a9AAkAkZdz+LuMnKMzkx9EFCrc?= =?us-ascii?Q?U/WqhuJ2GdLy7I5dHofkg0YxK0dij0zapbghbxvUorIZFQg4/Ar6+/wZhcfF?= =?us-ascii?Q?je4AJybtrmMLOjx7AoNiYYjG/cCekUkfjsgm2HBAWm0HlxeoqJrrwjMkpXp0?= =?us-ascii?Q?cxRZb/82TMtueqFFK0aCPyzIxi8ND6Wyw1KI5JzSBGvQPl4eC2z+rMQPH61v?= =?us-ascii?Q?W4pH0C9GsucjI8sNbX15V01dAUQpTHMXQJDlbXzWlDDACDFchnfOG9mNpoX+?= =?us-ascii?Q?TL8zNA89gsm27b3fwATDKGGBVQ3cjnRcFdQThd0O13vdUn/SnNf8gxlNAg6e?= =?us-ascii?Q?uV2p604hN0tmIGwyA3gsYzTKG6fU7tBkXssOFwcEshL3kQvX33kyNwK/oFAd?= =?us-ascii?Q?sVCurH6LyeXmQRxzu9iCKAf6GuYYSTDWMRiKFslrM2OI5OgzoAx7b+1oK3Sk?= =?us-ascii?Q?D/QH0LwQkmYxIegAUTiAC+0OZct1UmxjqgStZKZ8ZvEEkQwk0ozEROI9jc7w?= =?us-ascii?Q?O8+Gn3DtVRpdsuRdZ6m9mUv4Ucp0LCQzWX+JhAwIWPPizBXu5NFjUiDCM8G2?= =?us-ascii?Q?iYmSGfGL1H9Jx14UvkKegM5shvIdBxzjf07ncGy4eptVn+39tc1wA03Cwm3c?= =?us-ascii?Q?9wKYfVky+AObydjOaAphLWDyZ0wnniXkkx7oCC6lqYbWZ/PRp7h4JT9+BCUh?= =?us-ascii?Q?oSl3gi7IzmAQP0pD9j9e3NSEUPCxWR34NX4cXjXb7VmxR7RQLp5osRnwxSD0?= =?us-ascii?Q?xAes3jJ1jJkmS03noePGW1tJUMpACurcBhynauG+WyX6a4lHKEOWzi/jC+YB?= =?us-ascii?Q?3ME247L245EXTzHah3RthuQbLDuD/HgIssf9L2PJQuvgJhWKWDz0WV0lZxVo?= =?us-ascii?Q?6bQnTCx83MnVaaejXxOSuV4hHMN83C1igUdx1ES5xEQ4b0YomAZeZX0H2pgB?= =?us-ascii?Q?ZyrF8/45ouKhlkwfM6DvWH1vdy9taxWyFCfQwlMg/ArhXYXWD8C3DVy0z9uM?= =?us-ascii?Q?Em3Erat8UusD88DeX3EuzYVm0YtJFR4qT+nt/TXuQ3jeBuBvwgawvwEaRe6T?= =?us-ascii?Q?qw9yI+QCQZzojvkmQ2RrlExbzEmvC1ZGwwUV9d6jYQ/vizYMWdESeSU0rDu4?= =?us-ascii?Q?0XMuyKsh4FaeTFzN6YiHgU/bQGmvBr975YMwXVWMdaJjj1aRJ6jNDMbgscB0?= =?us-ascii?Q?GI7x3ZNzKfPbqMB2VO9zt9B4X5Xzo+L3YZammDsnP5EO0EYlJuGUALZT0RR/?= =?us-ascii?Q?k2kFzR+LFDAw1Gz1Wt5GcrgDqC6ptPUZlisIGpriv3GVv0uhEkehTmohS4Z8?= =?us-ascii?Q?hDTNN8E59Y/6DkvshfeTF14wLCWgTEBmsb9y0VVNVIfcsySgyAfVXqHMfOlM?= =?us-ascii?Q?+pHFRkDHcjq6BrOyJZfIGtBpUuSqNUIdbE5F3XLGPAmw7hIwR+OzOsR9jn4s?= =?us-ascii?Q?ksuZ+76B6thNZ2kx6UaGbrKCkI7iHww=3D?= X-Exchange-RoutingPolicyChecked: FKglcXvP2J2rV96HndwhBFY+tc98xDmQVIygQE3TdbexoVNxPN2I8DIAOiGRfohmw5dkUkD+1AgM9msxv6oYf6mg/21wrtMG5dktM0fDZoqO0DzyvDm8XheAoEcBETqMwlwahzViajJCWh48UrgScm1VwUfbWzG04+f2cqbesw03HbYPXyNuL4HdL7VbSktH6CTtnWDpu79dxmHGHpEP5oyaqIFOHAehLxewSUj/xtw2MpOSG6ZQGZwq75xPEwUVo0P8ArfnN7RHGTJJAiUHuTHBLaP45TfXUb1a2KRr171qIn6Z+W+EDk4COcvmv8Pu3jZ6HEGvX36jcSHQDfefZA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: vgNnyUTdKd2AbF2FpfPJv3uGHx/4Q7SNa0tDdt1gaA8VUxlJy01IflLfvivT+D0E2lFkMYHmP4jHZPVlbZahiO/nStRAV5MK42hdxInv7oXMu3oXLCBh4KCXTLMhdHK6esFvSTVth5j3bObXBSIu8M9kp6tlV7BVn5N0sefZwKUcV6LeEQCphezSGfClyv2/eXOoV+AJgQQG+NvBIvE0RBiTahQQ8puhn6jnvvaunAxGCzH/n+dh/LZ7RsPTzqxee1e0Rt5LzTOzMqUN9wSn4rgXxwEaEbeDnOKCWPG1qTsDQsYQ8mWcQ6vbJOh6O0RUKAix9E8JLVdYtcQ77+TAiIXeZwiDU6AQqpCASKnZUNq8QfOL9Mklu2C7lfFKFUP1v87k1CQZwNDTA5L8E42SnTZf8wl7gI4dSl84YXuRCgu4bj3tzT0MAShp92oWaFC4Mu2hmydZox2D4hKFybyP/Bm4+Zt9YsUnRO864hsrf9on87GmkY/yRNtfvcP2VHS+YpA5HdKE/fvRKDaTZa6FTcrcORgBxsnwjxngRllOBNtwiHeutAbZLFjbqgv4NeRYajuUUBkTHRBRYNjw2VJFmqRZwxbXKtqvwtShdF4X3dU= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: d5478d75-e83f-4c30-82c4-08de82fc8996 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2026 01:37:08.6054 (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: 48X4OzezVV07DDdQ+YuRTgHfWZLKLs0I0AUReUrW1uMIriljViCuUnVKED+9OxuCF/t8nqkJSsynjBW/hJM6de9YhoqOkp64wgi0CFmQCjw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR10MB7372 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-16_01,2026-03-13_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 adultscore=0 bulkscore=0 phishscore=0 mlxscore=0 mlxlogscore=999 malwarescore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2603050001 definitions=main-2603160010 X-Authority-Analysis: v=2.4 cv=ftrRpV4f c=1 sm=1 tr=0 ts=69b75ec8 cx=c_pps a=OOZaFjgC48PWsiFpTAqLcw==:117 a=OOZaFjgC48PWsiFpTAqLcw==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=Yq5XynenixoA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22 a=o5oIOnhZENCTenyL_yNV:22 a=VwQbUJbxAAAA:8 a=7CQSdrXTAAAA:8 a=JfrnYn6hAAAA:8 a=vggBfdFIAAAA:8 a=yPCof4ZbAAAA:8 a=9GcLsRiznYava-zPbe0A:9 a=a-qgeE7W1pNrGK8U0ZQC:22 a=1CNFftbPRP8L7MoqJWF3:22 X-Proofpoint-GUID: h2--x2KvI2GQIMuyZT0BPkJn4XEYLxYu X-Proofpoint-ORIG-GUID: h2--x2KvI2GQIMuyZT0BPkJn4XEYLxYu X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE2MDAxMSBTYWx0ZWRfX7xE5rBdPBtb3 lWnA3LqacLWLa6C/L6zAljQoiRYXSs1VnNRTJBFUSIGmfsmgn1Udetk6SPto6Su5SiC2w+3Xfxx csZV53zTqxRjwkcaqNirTfh5C5a9PBmuJ4LzKsoGsgtTE0zoTKSma9clTiPV0y8Bwp65Za1HG6+ 3wTxGDREUVavsMyyptMyOoIIwKk/is/F5l0i6YYe7e01zgJLUNXy68T09KouTtAUaVwrS1mJp/X Bx0aCtwEZ6Tnz/ayr9GBGb6i0b18YLc76M8WfQmPn2Dl7A/KJoiE+ppIK26oHQlvE2va5rjhxTP TQ2SrKpfPFfVDZn3kX+RvrRFU3P/Tm/BTLTy+eT2WBg++GzUsbHidBCF5fc7oLbV7Q7mp/TVT5i +/CEPlGdgjDTDHeqcqZwO3ICiZMawwzvvbAVMaiuYSHIaY9E94BwvhknEFcIg8ii3kELHpjOdBB YY+E6yVmMQyKnwDJYDg== Content-Type: text/plain; charset="utf-8" Add the acquire variant of smp_cond_load_relaxed_timeout(). This reuses the relaxed variant, with additional LOAD->LOAD ordering. Cc: Arnd Bergmann Cc: Will Deacon Cc: Catalin Marinas Cc: Peter Zijlstra Cc: linux-arch@vger.kernel.org Reviewed-by: Catalin Marinas Reviewed-by: Haris Okanovic Tested-by: Haris Okanovic Signed-off-by: Ankur Arora --- include/asm-generic/barrier.h | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/include/asm-generic/barrier.h b/include/asm-generic/barrier.h index 8e6b85c3ed99..998270df6133 100644 --- a/include/asm-generic/barrier.h +++ b/include/asm-generic/barrier.h @@ -337,6 +337,32 @@ do { \ }) #endif =20 +/** + * smp_cond_load_acquire_timeout() - (Spin) wait for cond with ACQUIRE ord= ering + * until a timeout expires. + * @ptr: pointer to the variable to wait on. + * @cond_expr: boolean expression to wait for. + * @time_expr_ns: monotonic expression that evaluates to time in ns or, + * on failure, returns a negative value. + * @timeout_ns: timeout value in ns + * (Both of the above are assumed to be compatible with s64.) + * + * Equivalent to using smp_cond_load_acquire() on the condition variable w= ith + * a timeout. + */ +#ifndef smp_cond_load_acquire_timeout +#define smp_cond_load_acquire_timeout(ptr, cond_expr, \ + time_expr_ns, timeout_ns) \ +({ \ + __unqual_scalar_typeof(*ptr) _val; \ + _val =3D smp_cond_load_relaxed_timeout(ptr, cond_expr, \ + time_expr_ns, \ + timeout_ns); \ + smp_acquire__after_ctrl_dep(); \ + (typeof(*ptr))_val; \ +}) +#endif + /* * pmem_wmb() ensures that all stores for which the modification * are written to persistent storage by preceding instructions have --=20 2.31.1 From nobody Thu Apr 2 09:30:13 2026 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 971452868B4; Mon, 16 Mar 2026 01:37:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773625076; cv=fail; b=gnqjrvrEPCRDLu7/xbJ2fYEMSHwUDaWwGlz9jZL/+1HwVIL0NwIW/octjK821i5JtDqyzI2H6fUUzV/ysANrtLxwi2al6wDWWN4LajCGHY7iBk2iSDujFX9Kd7gODpeNidBWBd/V1gBBISPK6PhR0dci7ZsMSojU8BUCNrNBu7o= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773625076; c=relaxed/simple; bh=5x2tK/Ql+7Zqf48PmfkGIoyFtOYoEf2nKlcIq33DQWk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=D7ESuUyY0YvU5vallkY+Ly3/HPbAh5+6/1GZ0jtJIwThKftnq+RotDN6JurtZQjBJCNz/Aapl9Xz4RL/87GSS6DbYcK9HC5VssWpdSwOQ7CBj9I1UMagI/3l9nO4ojvgmU8CS+qXaitomZx4cFwB7SrmqcrjjvEmJWZvaut1KkA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=OKzzg+aZ; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=Ze8Pn/dV; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="OKzzg+aZ"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="Ze8Pn/dV" Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62G0DUHX1869187; Mon, 16 Mar 2026 01:37:17 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=Fe7QSbuiQhAvxYsAtxLdlN/T2c5ItPvuopoCfg1hU9k=; b= OKzzg+aZ5RepWvwhwiCOrZJAcJ9YGyYm/vBUusCFCmwSIBCOrbhtlDhXm5l9Uncy X22swz0kztK179pi7YnBRpck1L0PYjzSMwgJnl2N3aYzCEDOCYUyCMvUCVYi9brL D1iOpfmZWiMmV+VTJbxxfmW1hB9uG1M+lnpHVp98ZEw24q4T3i7CcdVTipcbuNia Ic9YJJCWRI+aTGbMxLv2LPF3Ls1CIXAAsznWNj2/aVFSA75/RxVFpohXYwZL1uqb 99v2yQkoQ90Q4PIZAVKi+j7lvX8XwhRdvnN63vTIb8+vmS5FS6q00kgJlHZjVdWe wU/sVmMoYdgZ6xjeu5pQ+g== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4cvxf41bds-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Mar 2026 01:37:16 +0000 (GMT) Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 62G0L5ad031891; Mon, 16 Mar 2026 01:37:16 GMT Received: from sj2pr03cu001.outbound.protection.outlook.com (mail-westusazon11012007.outbound.protection.outlook.com [52.101.43.7]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4cvx480spb-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Mar 2026 01:37:15 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=p3jUE6JnxxkUJgvEm19arXlN3fd4wlf8Y4oohB+JWVdjiM6ksyMecXtPGNQGe7PitTadKLyS0Pi6zkLwbQw2rsL07mjgmT3Jw3HKjhVHxMHBcpXELNwbOjR5qnwqop/7Ncb4qarfjx5N3EiEHZBuHa5utFUMboolvn09V0CR+ySnzZ1kEQ/ERlw/H/urdu46Sw2iD2jeF0WwF2CbLT8rsF1TxSQC9lKIPIxZGs2ALbCE+K/MJfEFSfX2r5iZvKzjMJr0XMjsmebLb+SLK2wQVRhKizeZK9BLxjidOKZY/woHagBoBCHpeyUZQ5d8UPST+xwJpZajaUCP79U4p/W4uA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=Fe7QSbuiQhAvxYsAtxLdlN/T2c5ItPvuopoCfg1hU9k=; b=YD+eEAbX4M7tvhP1utJfCiC8zC2yvfY/klmQ1Fi0VJwS8kdXiAC6If+tGmqu9cW/fmlYF69kf1bXiVPfVo8Gj0/5HCo7mNki+oq+4hl441FOc8CThwSm2UFKtmriobGEVXHvVThujrH9apXP9xa3lP3bltxOJ81r82bUVzS95cV0WI02yUSLdFqi1IFqs0VW4/BGR1x0E9tADhp5otvrj2FNnyQsokdsSlas6v00zfjb8giAZYUgDjHLurbwHCUZJTSell2wakcEaOiS8CAf0nZNpMEbQ97eGU+ebyRJtMqXc3wVZpKTwLTWnSE1hqSZQml1PtJYPpas9Pl+WSnW0g== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Fe7QSbuiQhAvxYsAtxLdlN/T2c5ItPvuopoCfg1hU9k=; b=Ze8Pn/dVZ98OJoSpEvTbiewAERL7eFjPieA3y94n5iKqrh2akmucwy0LHv7/zK8JgwypBWeakUncFF0MpmenDJgYqa09MdW/udKxmFm1k6tHiR6MCGPmU/TfftZ+XPesCP7xf7QpIFSWrP6HduLbMO22im3ZMjGw37on5b1om88= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by IA0PR10MB7372.namprd10.prod.outlook.com (2603:10b6:208:40f::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.24; Mon, 16 Mar 2026 01:37:10 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574%6]) with mapi id 15.20.9700.022; Mon, 16 Mar 2026 01:37:09 +0000 From: Ankur Arora To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, bpf@vger.kernel.org Cc: arnd@arndb.de, catalin.marinas@arm.com, will@kernel.org, peterz@infradead.org, akpm@linux-foundation.org, mark.rutland@arm.com, harisokn@amazon.com, cl@gentwo.org, ast@kernel.org, rafael@kernel.org, daniel.lezcano@linaro.org, memxor@gmail.com, zhenglifeng1@huawei.com, xueshuai@linux.alibaba.com, rdunlap@infradead.org, david.laight.linux@gmail.com, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, Ankur Arora , Boqun Feng Subject: [PATCH v10 07/12] atomic: Add atomic_cond_read_*_timeout() Date: Sun, 15 Mar 2026 18:36:46 -0700 Message-Id: <20260316013651.3225328-8-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260316013651.3225328-1-ankur.a.arora@oracle.com> References: <20260316013651.3225328-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4P221CA0017.NAMP221.PROD.OUTLOOK.COM (2603:10b6:303:8b::22) To CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR10MB5409:EE_|IA0PR10MB7372:EE_ X-MS-Office365-Filtering-Correlation-Id: b4702f9a-cfa7-495a-f8ae-08de82fc8a5e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: hwlVM9/QRZDr8AUhZaAmhhO/IPKIQEIyLUvDul0EnvFtf+Cr9OembwrO/uA2fpMQll5tCh/zN06fA1VJxI0bWVKUackTlBrk3/ME/tLW0e4SDe6R+konv6On6U2nCcJOufHY08lq4ETV/XWrwKvuAizM4bGuzyduB/EgIq+jmpDZSfAITOzdhf/a/+/fmZiNNIiGoPdkXcVwizeE3IC5OdIhmpGK9c7F7Epia50bVMPZq1ikV+NBKxrhyZ2GxL7/pW1t4YMytwRL8IOm/+DvO5kxpGMYScXu2qU9cYlJ2Ew2ywTH4cG5mpzasJ5iMgUJkPU/vQONVFhwEuPsj8UHnD/YpC4FcS2+gtKFIS+TgrVZb/vZzUfrCjTBWEhnptqxcL/dsJRkfa3Ua5ngmkFeqFhc01ebahb8RmEGujhUyrH6sIY3LOPMEuTc8KGbBfYJL8F7xp3MMMEkDfGuosmiwU4/J1hNDxw7gRKcXqKUy6f2jncPoy6uiLT0XaiGporojlwLWNoITC33Zme3uWcpW1qPVTsmfnemwkpWcKf4KMpM9xa+ELsdrv/DIk6e5nHhxRz56D0c88TEB5KfnVYwCGZRl82M7PYYow9ygvZSqqnym1V+evLChM+d2ZVGFQ8MHeCRHULQjJG7ddkntYR1HfRXpv0ZU/veqR2DPnwqBfRNfizov/4PN+fAUrX3clQ2LcChIT2OZzQ9eGDnxZrs5eRSkJbeMwekwA84dOFrC5I= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(1800799024)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?IhRTWrFOhbRTwv+jEB7LXIfbLvax7CwN+3AhD7vmQvohzx2z73T2UBFX1MER?= =?us-ascii?Q?N11DO5mFMBtWJI5o9h9twcLpvJWujBvTMRi8lFsG1j5o3hWzLHJUTRxYLEEU?= =?us-ascii?Q?KXa+0F6y5IqTHfN/wbd9vUMtON/eqKCTeVrYM8a8wOARdyGbXp/ID0P/sGH2?= =?us-ascii?Q?cQf2HNLRl0kneSEd+ERevaS0PgVHQyNa2G/GRvBAxK4c61XDmaW3ZjJ1oTBZ?= =?us-ascii?Q?SEwBirGFMedSSaa+hvVJMkKmKbIMVC7VDKCvCUI7EE9cDkFGdVu2BwZ6N8F4?= =?us-ascii?Q?C8OvVHu96DKVhLVj/7l7427wEGOzW+EARObngiVoFyu+LosKczngN3KIidES?= =?us-ascii?Q?4FD6WYggsOQGW+tmTnkc9175htQ7CBADTEsvs9bnXCy9mNSvqdi4ued67j5E?= =?us-ascii?Q?USFZi194cy2s4RYRsg8YStxq6UYizehFgcEubo6wHkekNWIB57+YL1oC0Lm+?= =?us-ascii?Q?XS66BYhlwF+510FtPm1GXw6pl+zaVueZBqcguabTdeFIl8k400/qURK1DfFs?= =?us-ascii?Q?FD447vH9cd/mUkUzkbu6YBts4XmNOn4IXWMWJE+nHM7cx8qeL23xUTvGZk3W?= =?us-ascii?Q?Yp5xuUwgXORuxMvJPV2r8L+9hvDlrD6izos39+RWDMRjIdpPlBWDZXzamnO7?= =?us-ascii?Q?KyAI5F+8Ja/HtLyT5+B95yL34rsyjtIhALS+6o6qNc5DYouLdWShOJpA+6Lz?= =?us-ascii?Q?bzH3FscOodvfxXS2dhwXZtpOoCz+uMMzhg1kUn4Rh9PnfaM9FScj1InB+WFV?= =?us-ascii?Q?a1aAnPpLYBGtTiynvMeElJjybyLvIW0nT1jD4IyAE6j4MyqxjKWhbl8trrYK?= =?us-ascii?Q?VhD3XcsdymW+ng2RHHqEx+4QNwARbtU4m9TdviUGZoxomkQaW6mcnb5potvY?= =?us-ascii?Q?MHdUrTokb/9b5w8Rfy0b4GuL8wLhasLlBc3eeWZmlOQDTfJZADXr7kjuIdlz?= =?us-ascii?Q?O8YgFJZsA6ENfJCLtTYstKzDsTlb/cLFnT4nE5HMHKYH2OXrrKMxFgzurZ4s?= =?us-ascii?Q?xWgTZXLriO9WDfl01YqI3yBTAWrdp29D9NBb9I5hMAaE32g2di7lLSfvMnww?= =?us-ascii?Q?Ez+RNUoUCknJRNXM7WtFS33MMqoJZqiEd2FOHVp5Yg5jXMOAh37hG4fwltsC?= =?us-ascii?Q?HXZm3yt/4R69AOQbxgRNykickuDt4GgJyZJXBgrzf5CgMRn0mwwoT64CkaK6?= =?us-ascii?Q?0C3Es7uhRshs4Kyxalz4Px+YSC/bwNWOCi25GIaCZ9uXU7yUfGiBj9a+W5NJ?= =?us-ascii?Q?hYEEccfWtTTvx/OhTGfYHMCEG39a57wmWkdyX9Ju/Lh3KXCFYWp4pIQ3zWoC?= =?us-ascii?Q?BfqEgT7K1xdCAR8RRBqulClGarGDgGhGcMkQ1gJW0Z+aHGoEL47+acrdb3qk?= =?us-ascii?Q?PMmi1clF9DQzbJEaW+qkoSwFL2gtuHq4aIpL6gA2Zf9q/J9xBbTGCEIx+7dY?= =?us-ascii?Q?fW+WrqA+D4heheNOqR/bhqBXr4zwvkGn3OMol38ZAkRJ6mnOAXb43O3jZq98?= =?us-ascii?Q?UVdGXFlG/VQQB2V3WxrD8YudMWjTikFNSvdHH5IXXjMW2AsxF4SuV0xScuyM?= =?us-ascii?Q?MZIbgvIqhnT6QscmidKIqMX8RuEAF+KoHQlevHOm4PxpjzJSUDVOqMLZSc7o?= =?us-ascii?Q?UMLSJIfFyyiw51e/Ku4ztrTglZL1gRELs5hgBKC+xwbfpCq+rLuO8GeQm3Oq?= =?us-ascii?Q?zrrF3ukIeToUJ96p0Ez1ZUstn+ctWw3M+SQlgR0m3v2cAGfU+GMjhxvlRqAz?= =?us-ascii?Q?5Lexcdi009mnruyLFQsJQjynk33ec1k=3D?= X-Exchange-RoutingPolicyChecked: EqPxrLvUj5nDJMBmjJEAwSuPkX1v9HBqgRlEGFL4nmXobbjWIHcJNyJuXeLOKkqVObF6gO21MjF87ffMCIE9jnkvHHvAMhpFGgvyjOVVA6eiqiSPgu5+44n77OTRJOIFUd847BW0JzNXXed2NNTbIWIgZP2ZyHn+PRBJCcBxA40dQh6ZY3/JDmRo47FwZL7o3i19IlcCKTTdHGB7O61hF+dEhgNnH4sctPmIo7f6RIJ2Hi8Xi0D75efjEPnME2I4wZFk9NsnvJka7pbziFWdVDTqDQSXbfWlAOKW0wqeqbt6HFeXJIalkotU8du3etS8Z48jpW8Bm6um4Uz6m17QdA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: ZhVscMchLfFHmSMk5UEoXX0ImotMgfV4MNR98KFPbac35GxdYuI+FCMRLrCJhT1lwEcSHziKzzck9XN7Y1i7UFchi+mVxZFb6MR0/+ITWhHx7gUMOqwOwjQ4+Hfdp9pYhDr7Pp0EJ6E7BTAw2DKjfIlFabG3sjQh50xRIDdSqzubLrqCCNDBtT2VyVRNzUfBInFbNIETW0hnJL5L5YlNfo4UBn8Gi+DM7wBVtJmwJomDT5GN7nkmUg/F7a39TTAUpajCMYGA8m3lsgd+myCPU/Xz+hwyv5gFenwJ6W1Rl7lSuMJ8aSkqV2cY9boEFGhikFv3dYcFLPNb5MsigFTSjVG6Wvqx3Hg4Eb8YN4Wqr91sVGlXooVuv3C7qKNE+uTJ9JgsjGUzRQh8u6+CiFHQfZ/Uc6U0zIVcf0Ce4V8EEmNly/kkWKGFJo/VCYi6HvCajL6dRmpHMHoZ/jnFBWbZTYjYt9kvAITDh9QiMD+bc6GkFEMQ7EElCEtf3tC8uPK25UQXna5MsnfSaSwJqeMksfThS23Nd1sM4boIJve01x7p/s0UPbAxucXP3Ch7xrcJU/o0PpTcmlZt91AWyeGYNaRU1+Sod2KWiXqQ3p5w13U= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: b4702f9a-cfa7-495a-f8ae-08de82fc8a5e X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2026 01:37:09.9063 (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: zWxlrsfXKyNqiH+XUzHzm4JC52SA1NaxOtmrV5/lBWRawnK15t+KZ1hs+JeB3WaCqUtRl3hDwhMbqfqnIdRCQ2wlHdN9UnjjYv2q+RWjmHo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR10MB7372 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-16_01,2026-03-13_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 mlxlogscore=999 adultscore=0 phishscore=0 malwarescore=0 suspectscore=0 mlxscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2603050001 definitions=main-2603160010 X-Authority-Analysis: v=2.4 cv=ftrRpV4f c=1 sm=1 tr=0 ts=69b75ecd cx=c_pps a=XiAAW1AwiKB2Y8Wsi+sD2Q==:117 a=XiAAW1AwiKB2Y8Wsi+sD2Q==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=Yq5XynenixoA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22 a=o5oIOnhZENCTenyL_yNV:22 a=VwQbUJbxAAAA:8 a=JfrnYn6hAAAA:8 a=pGLkceISAAAA:8 a=7CQSdrXTAAAA:8 a=yPCof4ZbAAAA:8 a=RgR6v_fFY-8vhBXvnRcA:9 a=1CNFftbPRP8L7MoqJWF3:22 a=a-qgeE7W1pNrGK8U0ZQC:22 X-Proofpoint-GUID: CwBbqA1AXAKBgHHt0bCLe7MO7SN52Esb X-Proofpoint-ORIG-GUID: CwBbqA1AXAKBgHHt0bCLe7MO7SN52Esb X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE2MDAxMSBTYWx0ZWRfX4OH5lypJqn/1 04rcah9KODu/v4CpduTELBG7KuIy1bmc8YwStXV0g1YfRb6vk0wKYxCr39dKL+rrnd7kWRhkurU rBWplJk4338t9FJjMNelBM3ZXCAFz2lqmzkIUyN2iIP1Owwn0u6cFT/2iXoxpk1n0d5g+c0g4+U CTDZoia0PMd3ievRgJY0wkhniEQhrSX9ejGDTS5kNQXiBHuRJw9SQrnKQJOErGbkoNLjn4N1jrB BIsN7/JUFbeokIEFJOFIN4aCpESPZ9p4aNTosqZdqBVg4ZwDH/bmEZNjMfcTV62Fb5zlT5/DelK BXwrwMG+JOr6bN4D4OhwVqPHnf4CqsmNyxHjm4uZ9QO+4B9Id8C817iAwVTw/2QpeUXGLmoOAG0 UG/2V7am+mSz29zEL3ww3FsxAy3qz0sDg0oK0IUiLkymMlOQmHUOlOERG4S9g7PBW9NbOXoUdTV s29caMvUXDhTy0KZthA== Content-Type: text/plain; charset="utf-8" Add atomic load wrappers, atomic_cond_read_*_timeout() and atomic64_cond_read_*_timeout() for the cond-load timeout interfaces. Also add a short description for the atomic_cond_read_{relaxed,acquire}(), and the atomic_cond_read_{relaxed,acquire}_timeout() interfaces. Cc: Will Deacon Cc: Peter Zijlstra Cc: Boqun Feng Acked-by: Catalin Marinas Signed-off-by: Ankur Arora --- Documentation/atomic_t.txt | 14 +++++++++----- include/linux/atomic.h | 10 ++++++++++ 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/Documentation/atomic_t.txt b/Documentation/atomic_t.txt index bee3b1bca9a7..0e53f6ccb558 100644 --- a/Documentation/atomic_t.txt +++ b/Documentation/atomic_t.txt @@ -16,6 +16,10 @@ Non-RMW ops: atomic_read(), atomic_set() atomic_read_acquire(), atomic_set_release() =20 +Non-RMW, non-atomic_t ops: + + atomic_cond_read_{relaxed,acquire}() + atomic_cond_read_{relaxed,acquire}_timeout() =20 RMW atomic operations: =20 @@ -79,11 +83,11 @@ SEMANTICS =20 Non-RMW ops: =20 -The non-RMW ops are (typically) regular LOADs and STOREs and are canonical= ly -implemented using READ_ONCE(), WRITE_ONCE(), smp_load_acquire() and -smp_store_release() respectively. Therefore, if you find yourself only usi= ng -the Non-RMW operations of atomic_t, you do not in fact need atomic_t at all -and are doing it wrong. +The non-RMW ops are (typically) regular, or conditional LOADs and STOREs a= nd +are canonically implemented using READ_ONCE(), WRITE_ONCE(), +smp_load_acquire() and smp_store_release() respectively. Therefore, if you +find yourself only using the Non-RMW operations of atomic_t, you do not in +fact need atomic_t at all and are doing it wrong. =20 A note for the implementation of atomic_set{}() is that it must not break = the atomicity of the RMW ops. That is: diff --git a/include/linux/atomic.h b/include/linux/atomic.h index 8dd57c3a99e9..5bcb86e07784 100644 --- a/include/linux/atomic.h +++ b/include/linux/atomic.h @@ -31,6 +31,16 @@ #define atomic64_cond_read_acquire(v, c) smp_cond_load_acquire(&(v)->count= er, (c)) #define atomic64_cond_read_relaxed(v, c) smp_cond_load_relaxed(&(v)->count= er, (c)) =20 +#define atomic_cond_read_acquire_timeout(v, c, e, t) \ + smp_cond_load_acquire_timeout(&(v)->counter, (c), (e), (t)) +#define atomic_cond_read_relaxed_timeout(v, c, e, t) \ + smp_cond_load_relaxed_timeout(&(v)->counter, (c), (e), (t)) + +#define atomic64_cond_read_acquire_timeout(v, c, e, t) \ + smp_cond_load_acquire_timeout(&(v)->counter, (c), (e), (t)) +#define atomic64_cond_read_relaxed_timeout(v, c, e, t) \ + smp_cond_load_relaxed_timeout(&(v)->counter, (c), (e), (t)) + /* * The idea here is to build acquire/release variants by adding explicit * barriers on top of the relaxed variant. In the case where the relaxed --=20 2.31.1 From nobody Thu Apr 2 09:30:13 2026 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 92490246BC6; Mon, 16 Mar 2026 01:37:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773625072; cv=fail; b=Rs2TRd7PuE9dpw6KVPiVqOSBtbm68VEI5jp6iDMWpZcHX+gvNJ2u7UvNyHXt42ZCgSzgifR9sIMzvyia2yxx0BrajhD0B0S+p8zhRc45DehICiX01op1Yu+10UkVwGuCdjEMCgaBjqFaQBm4sSPPYCbvCp8gaqBpdhHkyHzTRZs= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773625072; c=relaxed/simple; bh=tyKyeS/2jLpr49Q3e1dU8wpSrToIlZAHNWmT99aDwP4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=mfQPFak5Vnu/HcnnWCdwBjBoqdYSUc0MpbqzpiHf7lV8QER8wg3mZuO691wG/BcnuMwOwPlksNDmW61YfC8ern6VBhqaJvNbl+kW9UjuKrk++W1jcGhYgk5rPZ4Oo0Gz23hjOMgtaka52DLy7sMEYgpLB8lYXBBhpN/9lG5tpaA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=eMAmDcZt; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=rwlJit0v; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="eMAmDcZt"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="rwlJit0v" Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62FMxlkZ2838188; Mon, 16 Mar 2026 01:37:16 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=YyobJUMrCqoQpiemBzB2+HPq7GVYfYiMd0Ms2zfNasw=; b= eMAmDcZtQ2gf0nK1bo5zf/JblrGTYonYCvBCC6NMmIA0yPM8Tv1ubbZi02igtHZc msmPkfJj67ReJ5ob66UY6BHtLENJNOHuIxf5JHnJZYRYimTr0FmO4ssxEnj5gQ1d hGRcJFhtYNXSPa0wjG4DAeRurt8ZvQqXr13T5TRDneHwAx+IJZ2k1kP7Wi3vkkdu 2/VDIUFwulQ1nvoYoa10xJcCQ06aG2LcvZKfHSz7GhNMiDBURbwuUThGMWqo2+u+ 4Eh4vr8rrg8fV1BIihop8dJe4jLc6YPa5ldrRs0Tvmn+VzeKHMfp4g8Ns0sBq23n HnmUogmnMRqvGxzJj/GmZA== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4cvyqbsb1r-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Mar 2026 01:37:16 +0000 (GMT) Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 62G0L5ac031891; Mon, 16 Mar 2026 01:37:15 GMT Received: from sj2pr03cu001.outbound.protection.outlook.com (mail-westusazon11012007.outbound.protection.outlook.com [52.101.43.7]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4cvx480spb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Mar 2026 01:37:15 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=WauHMSWmibC02Yt+xmnkT9ZFHX8rPQzqtaPmK7eEgqscAkiYGBUzBJLWUVWd6uG8tsHfjg8Cda9pcO7z4f1bsMclcd0zG533giHByQelyOlC/h28ZMRUwNr96/tjfDntw46PafVJ47aSxoJXYTO4D50EzXcr6M3plB6+JJhucAin5eIeYrNeprnB/FQzmmZMWJtKponsfpCuzHq93Ek63vhBawch5wNzgR898WBCzkdcvEEIIl3WiXGu8HqgPrI/lSBSzq+KI4fctluE+WLBMY4K3gBkBSSqYJAMhxAoJHYxeN8r+B5gcwWy27y/xlXS1uWTpqbO9qbXK8zflpDaRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=YyobJUMrCqoQpiemBzB2+HPq7GVYfYiMd0Ms2zfNasw=; b=Wqy/t0lj6/+64dzPXGL5T0w73fOfuaemXa7rVxnjP6aFoTrEGQdjucxDGHa3NKkBtASahKyqc0/0SDjMDSKVKMfHa+elhJCVAj++EcgiSh09kdtM4X0Dnvki02iHHHZS7DeocckUuBaACxMehPpvpy+HuJlGCVQyKsn9L020/Cc5RyB/85wyBnkv98TuvZRQ1MhcHOIQm7mPzst617K+hEvsyQgryRT+VTrtXfDRBtpc7EjeIA2/+htz9Nt8UeNlrhUMUkgEWY5TERKOUiM+pKdYSfOkggRZFReZpBCyoQ/PqqVw33H3h9xR5oB2odCn+2I3/FytwSgkw09zrt6aPg== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YyobJUMrCqoQpiemBzB2+HPq7GVYfYiMd0Ms2zfNasw=; b=rwlJit0v+xFPkv+HNuBD4SjwZO+2FhaCqOoZ6Kc7+p3l//LayN0W/hMHn39MMcvAhw5ZU890VjZVlcmXUXYmm7i6URd4oK93p1gCrqiJGSoiY3H8aknaHV8BYQki2FuvJw4K8DObxlIbZRCMWzwlxoUUZ7wy7Jo0QOI+QM0G2oM= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by IA0PR10MB7372.namprd10.prod.outlook.com (2603:10b6:208:40f::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.24; Mon, 16 Mar 2026 01:37:11 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574%6]) with mapi id 15.20.9700.022; Mon, 16 Mar 2026 01:37:11 +0000 From: Ankur Arora To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, bpf@vger.kernel.org Cc: arnd@arndb.de, catalin.marinas@arm.com, will@kernel.org, peterz@infradead.org, akpm@linux-foundation.org, mark.rutland@arm.com, harisokn@amazon.com, cl@gentwo.org, ast@kernel.org, rafael@kernel.org, daniel.lezcano@linaro.org, memxor@gmail.com, zhenglifeng1@huawei.com, xueshuai@linux.alibaba.com, rdunlap@infradead.org, david.laight.linux@gmail.com, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, Ankur Arora , Boqun Feng Subject: [PATCH v10 08/12] locking/atomic: scripts: build atomic_long_cond_read_*_timeout() Date: Sun, 15 Mar 2026 18:36:47 -0700 Message-Id: <20260316013651.3225328-9-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260316013651.3225328-1-ankur.a.arora@oracle.com> References: <20260316013651.3225328-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR04CA0252.namprd04.prod.outlook.com (2603:10b6:303:88::17) To CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR10MB5409:EE_|IA0PR10MB7372:EE_ X-MS-Office365-Filtering-Correlation-Id: a9be1839-3821-4ff9-e713-08de82fc8b0d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: vQS1/4puVO4wFtjzcR6FpeFcSEF9IHxQF2Hg/ZqbCwCw+Irj4z0s9RHWkWKMFTwsRS1e7it0DnFRqIh7szjnAAG+vclJMLugWMTK07TSjYBSWsiwHunx8K3rQWXd+BjtQ4I991vhueSCJENFC/ccl8573cQIk+OxCIFpnxDSkEwBGdQ/c3LtxuXvmyArkCMNmBFs1H/pDHIAQucmxUxLOP+q+OvjM+vf66Dr2h70Ew9M1plZwiyF/SCRe33+y+1nlNeOnJ1+Sh98bn74vkOS3KyzlgJsggydeBszFXxG8iDjvqz4BaCDNVqCUBOpeFNHwzdOyTFOb/qSaN9whRpv4hVfAi5HpyTfBhJNiW1wBdAHAOEvruqNUCXl/A7uHGzp/YwQ6aPW/doVKvNf4ONfF2kNTJ10XnBqHIPPDKVboL2VHm6XzWHgxVEGrL/2F1EexHgAZMLmOPKWwCkFfSMNXhZkMhdaC/BBPk5U9GsSleQ015V5ybaX/7rM3OSw69i2h6FhM2x/9L4JhitRueIhMj1YU1pIq+L9bMEIZyRoyF6BB0Q69RU+8kfsHD20JTeKQQZbu8UxQEZ/I5Z0NGpEHx7iFx894qZ0QL7bYQilozp6h18uoG2r1vGVf7JbidhOK8R6ss6xfcjHpDe/mxhb1HhsDWy+eo0zgEXbkSZWQ+BpJZCJQy018+et3U4puKa0PhFBkm60FrL3wQQq8l1Bl4gfkA3LRPTz+AZT2+kBRgU= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(1800799024)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?WH1h6WTJ/hDKScRRURShqjPumT6DyasfPhMWLM6r8nBlMeZI1ejgDVZ9JFIR?= =?us-ascii?Q?y/LHuMyj4pFFNd/hsrBpJ4+Vp4VPrkzFAITue+S1NpN2PonhsMHf5SQbgyvB?= =?us-ascii?Q?FdYFTfdJm9njRwbv7Nsx744xtfDVrDiNUd3LOYT7HB4pAgIhGunslPUXtwwn?= =?us-ascii?Q?Tqs1+ymOQCKaPEb07+5sIojjJM9rmsEDCH0k33OcrzDBag7kesoQPeIBNkhT?= =?us-ascii?Q?onqzYXpaRZjrE86HIQPhSQulyhIVuz2n0qWkNnU9MvfYbU8WhDN1XFQ1MTlK?= =?us-ascii?Q?pN1qSgFZ1fJjZ+wUxwdWs21i91M5U/DfJ/3pDEOgpb/jSa12wOP1Dmw2AtpB?= =?us-ascii?Q?2ixyWt7NMVRUe04T7wsVQ7xsLrHulp6WWumIjEwNNX0+QCA1m3m+0xvHeR9O?= =?us-ascii?Q?Bpq9tCktkHLJ/seZal++BHvLgBuwmNA0K7v0JxxB8qRgKynNBMIVt2k1tMaZ?= =?us-ascii?Q?m7FhJjva2F5LQ4zLiEK9HZrSQwb8bS2Duj9ekInbEWwZAbe6YKV5h2yMQrmh?= =?us-ascii?Q?on8zftXGGNo3IzMo0aq+TB0Bi5/C+70H2eGWtssA0Iswu0tV1VpDlcxuXkWp?= =?us-ascii?Q?nn72qZXDdUmAt/af90bjaGMaS2aU+x3aCtpNI+PrWQSF47urO3AW9nHRmi3s?= =?us-ascii?Q?+Z6gRb2BF7KLKrHko5FUS4yvvCEQqO2Y0qNVjpG2Cfp5I9AzmwUzimDCJyYh?= =?us-ascii?Q?G8sRQeKZz4szc+R1A8A4NfkzkJvvNp+Opn48VS/u3Foi4GW2eqR8LL494JAZ?= =?us-ascii?Q?HXwry+faYyxvZQdrNXyOamwcZSIqaKSEZG3Q4CiN/k29GnlShfWpyci3KppW?= =?us-ascii?Q?6j+76CpU4PKOk9Z5pUXisCbKtkCFauY+OIkg1yjXPqviMdavjbUY11s0jLxc?= =?us-ascii?Q?OWyoq4i3KMu9U+VUZFP1P5dd2CXpXOewk0+p6VycG1PaQs6Lye49qewCfoP0?= =?us-ascii?Q?MTcWxbsblNpLasQxEqc8rzrAl96baIJZvVT9aMHqJwAqJ5/7ILWB3DsWVlBP?= =?us-ascii?Q?UALKpabBya01fR6Q/tgWtZoZ92KTHX/YBGgEvP8d2mQoWPT83rEabHsPjrBX?= =?us-ascii?Q?2sXQD5ljsO0aBUvdqvCoWMvv0xBa0pfcIHPrb7SAUfK6e5aHOHmcQ2oznuNJ?= =?us-ascii?Q?ckeC2bGolBYz1EF6jvRIHrrnljXjHvd2s309f8mw3I9BH5ICBP/T+cXJFgJf?= =?us-ascii?Q?rCEPKPaTCGk138B6zqpJBboivQeIA4SvaYV2KfuJCztOA5jjztnVUZX+HBtg?= =?us-ascii?Q?A7qQpx6yXY4hQ3TdHY6yskaXl55wquMmhplFi+IkzqXrx5FfqRPmPR4ZF29c?= =?us-ascii?Q?od5z0ccdrvbv4D3qrp24se1PD7UTR78Izq7Jid/vv4LM6lDIlVcn5rpb5/Nj?= =?us-ascii?Q?+TSXLYV0FE4TYs543RdsXqQpx2R4PC5waeH1GRLJL3Nb8qHGD6LlaeEU5P9T?= =?us-ascii?Q?aqqY2LO4x4zPfkRAu4ylpAKfR4YIfYfzrXgQn53fXjvg72RC8oxF6mQ36ef6?= =?us-ascii?Q?uTaleOVgrV0xeZddfYa5Zn4yo0GIw/suM3TcbEXaHSqD+k3bTLbYAx3R9pUy?= =?us-ascii?Q?xZSUSM5qlGMca5PN9lJUjswyCYB26tBzE+xcA7GA9c0CqjUBosdn/UUBb0Kk?= =?us-ascii?Q?0kcHltcpSExWjawgwF+07XD5paReFPvC0vPRkll1sNK/6nAnjYanX40+iebw?= =?us-ascii?Q?pA2753/XGqPc7mM8Ab4334eYl3pEYOtg1nnI75bigK2tF0H9wYE2WX4JCmcl?= =?us-ascii?Q?2Xe+BdeEAtFr7N+7RtqimrwpwsLhe3E=3D?= X-Exchange-RoutingPolicyChecked: WLyqB7mQAxRtxZpyYLkK2Ol3e7ZyaN3sxZB9/SyIilW/Tu+o6XGxp4HavWjA1YYUSEuekjqaL0N/WxbadORCS1osv3FT6vYXF/YhKkk8FWYIithDLOjqvgAOKAR5yloK9tFCGLdd8FU5NtCgeYqcrd1CeXTJFojLsF96b3sLe8bebl9+qKFACwQawGNWNJoDnoVHiCFC5qF4dKJiGu1YJsb/PZ6+xaGhf36+iiKYuWo5afpvufwrtyunxnTMiU+c+Tfog2QY2POKnp9n6sC83+CVS1ukQOr8T53BGXSyNl2kr+QESsvABthE+Alnwnpcj98yJ5EupWxR7K0yVofVqw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: atFY3jYCUo3gxnpQB3sov+tOkY5l6BpnDLftzpkAr/SWtdTKZs4UjOUaj606IXH87vYknnXHm6nq247izuwHNVnjvZ7EyxRjdeXaBOPDBFeXq1JDpkggrGFtPYwQ5EcYrG6tS2qcboLzyMoCpoJFgURJhty/dB+V612I2aVVLKKGkSRr/2/ieFVd3ls5veEeBBYjNXM8puWIZ4+catHS7ITBGlU08XQLE3/0QIH1C3GUlmYbQEJ/U3lDv4bInDgEY2hEAUC935OK9rm5xo27ov+mj5PSWLLziVbvJGG6jDaKkJCcpaBxNiomKUAUUNn29xEXM7tei98S/tvmZz2mwOmwMfPJvmHyPLG90sR3Zfl52chqLAN27DyHZF9q7fP46yfPOSyk8u4ZMLMQPPTekkyinmHgVof89Xd15KzagYDuInL2o0mHr/w9hI/AykPbAB7xaqSzB/jRX9GJfCBY4Gkng7H1JExc8W9RX9MS7dZbmwt5UsSo2gvIGwl/yJiNJp7EwbdnNhenyY77hnDYkHckupO3Om+zQY6cGJTMeN0J8MNSOFyOsQA4mKWNiWdo3bABxxH/xYdz+8BcGVadOMQtrz/nQJplzDJzJIT168w= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: a9be1839-3821-4ff9-e713-08de82fc8b0d X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2026 01:37:11.0952 (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: vGsZG3WP3yNWPFtQWs9+2ZTtT+XMgGaCN0ZV9src3CJQxhjD7HVnSGzqKnkvmqVSEtgBPoafAjzNPTuR5PP1Q+DwToO5t+NO5aHI6bLrXeo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR10MB7372 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-16_01,2026-03-13_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 mlxlogscore=999 adultscore=0 phishscore=0 malwarescore=0 suspectscore=0 mlxscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2603050001 definitions=main-2603160010 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE2MDAxMSBTYWx0ZWRfX7vNsQAx463W+ 3l3u42SMvgghRBFJso4zxmnjBnOZv5enKlHo5C2qvI+OZgOF4kQPc5iboDNy7uQJIxQbcSBY5/l xHlfVgFhdN3pATCKzDcVFW+d4zMcfxd9wzkqSJzyFHpITBllFLDpo5YDoP0zXP/q1lo1HX94vbk 0ZMNHvwEKIwahyXr1k1Qz+JTRutoJpDDkGnHKqQA9jLwI+y+jHppe7tIcmVGOcq8W0RQID6liXw FQHONNYTXBMN9by5ku8gucRGqqdjlC+QCl8KExaKSMiYaPtR/4a+rSFUlzPGhm1J4VqKUiKmHdL D4aX+W6PSs658lX071ZmNsZbDUOeKqbKGYwkm7iflHgaAW7Ia5HLqvq2LIOCSdhToug1y+X97Z4 PbcSQHmpXlcgH2veXDl3TV4KCQQk4MiPZ+eJZDaUdj1khuNPfdcAsRZyfL52WpSL4iHQpyTbMHP ZzBoS+aU7PbAgcj4zqA== X-Authority-Analysis: v=2.4 cv=J8WnLQnS c=1 sm=1 tr=0 ts=69b75ecc cx=c_pps a=XiAAW1AwiKB2Y8Wsi+sD2Q==:117 a=XiAAW1AwiKB2Y8Wsi+sD2Q==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=Yq5XynenixoA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22 a=BqU2WV_vvsyTyxaotp0D:22 a=VwQbUJbxAAAA:8 a=JfrnYn6hAAAA:8 a=pGLkceISAAAA:8 a=7CQSdrXTAAAA:8 a=yPCof4ZbAAAA:8 a=LKnZA62imwlViN-40TMA:9 a=1CNFftbPRP8L7MoqJWF3:22 a=a-qgeE7W1pNrGK8U0ZQC:22 X-Proofpoint-GUID: xai_2jKbTuXxz2vQRKRVbfeQtQyASuol X-Proofpoint-ORIG-GUID: xai_2jKbTuXxz2vQRKRVbfeQtQyASuol Content-Type: text/plain; charset="utf-8" Add the atomic long wrappers for the cond-load timeout interfaces. Cc: Will Deacon Cc: Peter Zijlstra Cc: Boqun Feng Acked-by: Catalin Marinas Signed-off-by: Ankur Arora --- include/linux/atomic/atomic-long.h | 18 +++++++++++------- scripts/atomic/gen-atomic-long.sh | 16 ++++++++++------ 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/include/linux/atomic/atomic-long.h b/include/linux/atomic/atom= ic-long.h index 6a4e47d2db35..553b6b0e0258 100644 --- a/include/linux/atomic/atomic-long.h +++ b/include/linux/atomic/atomic-long.h @@ -11,14 +11,18 @@ =20 #ifdef CONFIG_64BIT typedef atomic64_t atomic_long_t; -#define ATOMIC_LONG_INIT(i) ATOMIC64_INIT(i) -#define atomic_long_cond_read_acquire atomic64_cond_read_acquire -#define atomic_long_cond_read_relaxed atomic64_cond_read_relaxed +#define ATOMIC_LONG_INIT(i) ATOMIC64_INIT(i) +#define atomic_long_cond_read_acquire atomic64_cond_read_acquire +#define atomic_long_cond_read_relaxed atomic64_cond_read_relaxed +#define atomic_long_cond_read_acquire_timeout atomic64_cond_read_acquire_t= imeout +#define atomic_long_cond_read_relaxed_timeout atomic64_cond_read_relaxed_t= imeout #else typedef atomic_t atomic_long_t; -#define ATOMIC_LONG_INIT(i) ATOMIC_INIT(i) -#define atomic_long_cond_read_acquire atomic_cond_read_acquire -#define atomic_long_cond_read_relaxed atomic_cond_read_relaxed +#define ATOMIC_LONG_INIT(i) ATOMIC_INIT(i) +#define atomic_long_cond_read_acquire atomic_cond_read_acquire +#define atomic_long_cond_read_relaxed atomic_cond_read_relaxed +#define atomic_long_cond_read_acquire_timeout atomic_cond_read_acquire_tim= eout +#define atomic_long_cond_read_relaxed_timeout atomic_cond_read_relaxed_tim= eout #endif =20 /** @@ -1809,4 +1813,4 @@ raw_atomic_long_dec_if_positive(atomic_long_t *v) } =20 #endif /* _LINUX_ATOMIC_LONG_H */ -// 4b882bf19018602c10816c52f8b4ae280adc887b +// 79c1f4acb5774376ceed559843d5d9ed1348df99 diff --git a/scripts/atomic/gen-atomic-long.sh b/scripts/atomic/gen-atomic-= long.sh index 9826be3ba986..874643dc74bd 100755 --- a/scripts/atomic/gen-atomic-long.sh +++ b/scripts/atomic/gen-atomic-long.sh @@ -79,14 +79,18 @@ cat << EOF =20 #ifdef CONFIG_64BIT typedef atomic64_t atomic_long_t; -#define ATOMIC_LONG_INIT(i) ATOMIC64_INIT(i) -#define atomic_long_cond_read_acquire atomic64_cond_read_acquire -#define atomic_long_cond_read_relaxed atomic64_cond_read_relaxed +#define ATOMIC_LONG_INIT(i) ATOMIC64_INIT(i) +#define atomic_long_cond_read_acquire atomic64_cond_read_acquire +#define atomic_long_cond_read_relaxed atomic64_cond_read_relaxed +#define atomic_long_cond_read_acquire_timeout atomic64_cond_read_acquire_t= imeout +#define atomic_long_cond_read_relaxed_timeout atomic64_cond_read_relaxed_t= imeout #else typedef atomic_t atomic_long_t; -#define ATOMIC_LONG_INIT(i) ATOMIC_INIT(i) -#define atomic_long_cond_read_acquire atomic_cond_read_acquire -#define atomic_long_cond_read_relaxed atomic_cond_read_relaxed +#define ATOMIC_LONG_INIT(i) ATOMIC_INIT(i) +#define atomic_long_cond_read_acquire atomic_cond_read_acquire +#define atomic_long_cond_read_relaxed atomic_cond_read_relaxed +#define atomic_long_cond_read_acquire_timeout atomic_cond_read_acquire_tim= eout +#define atomic_long_cond_read_relaxed_timeout atomic_cond_read_relaxed_tim= eout #endif =20 EOF --=20 2.31.1 From nobody Thu Apr 2 09:30:13 2026 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 681F62DA76A; Mon, 16 Mar 2026 01:37:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773625081; cv=fail; b=s9YySwC3ePl2Tf9pPGZ7eSvbqbeJsmx9bmswTP3/g+lHtFBLlQkkTGFI9uWo6imuxThSdWdRLtRzaljfoXfVWyDVQ71NXDZEkxLlmvYTMr39h1KMvYs0quv/2qngHqTSqkfS7VPRZib/XyCWqp1m4Qg5/tQ8JWl5IxQ2huYrXio= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773625081; c=relaxed/simple; bh=9SWzbKvxRPpDDRkjzs67oxjSeECKGNvjh8Bj2l2a2oU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=Jk+iEeKgeD/mqPFQQ9r+841G/WdarSqP5QDHMgMO43n8TbxhYi8H59UllKc6tu7Pv0r6vTPEjli7/3VpojJOJQLnuDoTqXfNOBxDI1Lwj1WmQ2cDeooGaeRAKzhI0ERzCEM8CEkDvqTnKaJ16BcPNews8+UGdFvwIiUU/aiWWKM= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=nPL4Wc0m; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=XJrCq0rM; arc=fail smtp.client-ip=205.220.165.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="nPL4Wc0m"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="XJrCq0rM" Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62FN0gfQ003429; Mon, 16 Mar 2026 01:37:20 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=oJx8XxcPA7m1VnchLFYkD/RlNIejClEUvx0HblefbI4=; b= nPL4Wc0mV8iK6QfyP1/09xFjfzyIrVUo+/HPTkQKeqH73le/qzHAAayCJeuLdZd2 Zqxl//4lc30RVMyeBeCatC1FAy2jop+G0ENjA8jmubbW6iFuXZo8G0PiXRLL8gS8 BeNho6/Z4AYj+q4lILlFOxrDE9l1HCRtal62pU3xHY94aKrl1YzJTFbuc9IX4JPc 06y/o+ZXu+IccHix3E+jKRXp3Ng3+cBVdzR0WOBTrLtz+75RvJVWKQ5QiHPluGSD zTpX9eWZHcy3weKxEBu+YHo4U3gTP3sHHK2xI7ikYQ2Y0bftzUUzIER+jKlSaBg0 +A59Drz2OPTH+LTSBApcsw== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4cw07r9am9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Mar 2026 01:37:20 +0000 (GMT) Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 62FMNVWc002825; Mon, 16 Mar 2026 01:37:19 GMT Received: from sj2pr03cu001.outbound.protection.outlook.com (mail-westusazon11012060.outbound.protection.outlook.com [52.101.43.60]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4cvx4j84tb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Mar 2026 01:37:19 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZcQy5TSbR/rt61LbFT/sUPoKm4uQZbtS0Tvuv/tbU9H6RYLgqT/4bIei6RAOvD3YqPAL/98eyCyp76loMRZEyg6qyqjF8B/GZ9pDSOTduJyhD0xzsmfD3mPiaQBRjhIJTJYtFeSfsG9EVOH0ZxXflxXpczJtdnalv7JMdLXhNT/k1z5keJ71XMUG24sUvHBxjPcnxtTRldmyMeWgsHBoRq2nBkIS8T9OWXGLRnCqZ8rByWEb9wM1Le0YSFQ6ApAabxc+d+xxDLT0ShASnXu55g248msbw+MWlR6OF0y6apegVQmACrtrEdzE7Z3KkXrdK+abSP6ueJBqZGTIkClWFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=oJx8XxcPA7m1VnchLFYkD/RlNIejClEUvx0HblefbI4=; b=mPTUFzxQ3zOd24IJu7j/AOkp9kfpCq4YE6SjU6LRjOKhSPo8HZjcDUhmC7uDjiJR/cxFWR99oAaAXH1ZrMdRPgWdmL8M+a9rbFwSMQ7YgLcJ1AT7wl1nmLnMIowOSGP0jgGCXlpifvZ841izqCc0EmCQDbBxUdYy3E0dT8WnQvwKo0a8xhTA4JIzgmuHTg/ENQeN5e34j2zdQ+5tHJLp2vfAdP80wITRv5JWugT07nzY7MuHPaJqiqAvjXLJhxoQNdru0m7sCDZXKiDRJp21e458vbG2LASZ7/pVKOX+NHPv+8y8I+QRUMk7Y3DhPZZvFtvPZqcipbTAaZzX1ccHVw== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oJx8XxcPA7m1VnchLFYkD/RlNIejClEUvx0HblefbI4=; b=XJrCq0rMnAPC5c9KpIYw4q8uDfjKd7EbX9Ut4THVraCCTCbDmQ5c9i14AtUkXyWVjp6WmnycUBfbnJd1OZVdrlf0YWJis3WQH3tCtpB3427Q+30InX77nBbX1LROdT0FnxlvbjD52MdDeNZ1s5BUSC4I5cNHU3akao5eRfvI7w8= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by IA0PR10MB7372.namprd10.prod.outlook.com (2603:10b6:208:40f::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.24; Mon, 16 Mar 2026 01:37:15 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574%6]) with mapi id 15.20.9700.022; Mon, 16 Mar 2026 01:37:15 +0000 From: Ankur Arora To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, bpf@vger.kernel.org Cc: arnd@arndb.de, catalin.marinas@arm.com, will@kernel.org, peterz@infradead.org, akpm@linux-foundation.org, mark.rutland@arm.com, harisokn@amazon.com, cl@gentwo.org, ast@kernel.org, rafael@kernel.org, daniel.lezcano@linaro.org, memxor@gmail.com, zhenglifeng1@huawei.com, xueshuai@linux.alibaba.com, rdunlap@infradead.org, david.laight.linux@gmail.com, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, Ankur Arora Subject: [PATCH v10 09/12] bpf/rqspinlock: switch check_timeout() to a clock interface Date: Sun, 15 Mar 2026 18:36:48 -0700 Message-Id: <20260316013651.3225328-10-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260316013651.3225328-1-ankur.a.arora@oracle.com> References: <20260316013651.3225328-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR04CA0076.namprd04.prod.outlook.com (2603:10b6:303:6b::21) To CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR10MB5409:EE_|IA0PR10MB7372:EE_ X-MS-Office365-Filtering-Correlation-Id: 2d2bf37c-3493-463e-daf0-08de82fc8dc3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: iD3dOG5fKyGzE6rAVwy51lVShChdqW7CYWgOgt6WrwHKFOQ1yMkgSezfL+UNFMjTJU349JT1Q/ZTA0Davs7e9R/TsidA3+G8dMjZTf+NkkEAcJF/+jaB6pM2mQ+9mWCt2xIOAGYKVohpg8Ic3K4Vj1GUjc0zjjTe8DiQSq/ifvZgFiQ3N38ND1ZemHJVKedB+CRJG4Ac7C/Gva6W6XEfbx53ZmQVuHQ5+vKJAZyeT6TeYXNWD/xOxTS0fHH2/X73EF7D1g/bGHOa18pl/PQQD33F+7f2uttJxeh/bkmTB9xDHgInJ1eJ5wEqUft18yBIWkJ9JSa9KUCMxhL0X+BPJC2y+OMfemini7Fv5CeDXGhMq5N2FuqOLWdriEoeqpdtzYTxvXPIfmE0LtxL2g7klbLYpvziVyozr6ukzBb2KU5DrSwv3HOS7j8PxmL1cjvxHu+LegqLIQaF1QcDue1b9jLrjK7Za5H/ahleMSZyTvN8T9/0hAVFtCG4+nwW3IarVcVbdHEOnnMOOOsEetvRMFAAzkAINeZNyR0P2VVTX5U+XC8kYTEXRJxkvTtT3I92458XFGMSVp53BnY+3AQN5vG/FGOV2Tnl/FGx15YRrxqo4/UuVq/+nkJPdOTlbipMkVOe7sJV79ntYt1boryilb76QQrxE2sQNEljdgovUW0OFgJIWEE0niHSkYRy08MA90U7691A/+Z9tmMB0hSgdvTXZOJBUGc+WKulSm5p+aM= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(1800799024)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?44uCd8UZyo8ORTHGFOyJLyZTro/dQ0Cq1jzsg7oeOBtE3kIHsp38szg3+aBg?= =?us-ascii?Q?HWmjVFSszuwV8hgQTizAlYkb/caInAI8g0gTvOsX/aQU6MMYZB4IyLTL+sir?= =?us-ascii?Q?+SXuVVUB9OWxOyv39MZxR0oBsvwEaGf7m2JYwQFIWEyB/KZpIaC4/XzWErEK?= =?us-ascii?Q?O8RfXIRUVBGQLoFFnMbcdbieaqYM/GyFAQjlsXFPWlFhunyFqgYvMHsQGhFm?= =?us-ascii?Q?q1kB/i/+8zgq0ADXY8+Ws7XlcL11p+EVhIU3Eg8izoCSzU/hAb44UidZu2Mb?= =?us-ascii?Q?GWWY/YP26hLSZ9pfTlk6bCuozcifvPFlUqmSNaZYKnfVVCwTHsuZ3kDBXtKB?= =?us-ascii?Q?E5sciBC5k747KF30FgvfPn/70kxd3IcqDO7c0SGCRTScVo6ROZ+fysFWwxAg?= =?us-ascii?Q?IrYPmgdzpYjxpdyjj6OvOTH4VO5ruSfQvBg1CgFulT38gNlG0ziRa4uIGFjG?= =?us-ascii?Q?9zeP1n/W53SUNSQr2qtaeDPee2OgXM3Hnlsro/RcDsOWSgKvphuTM/ny8BsT?= =?us-ascii?Q?sRh2i3hqHOR6njlC6Y6DF439Zpiimx3S19RDEEbvazlC2Kqd3M/7Dq1LFM+2?= =?us-ascii?Q?uHg36UELlHCT3TTw3iQrjoqZvxfc39tD3uxITjZhz+Lz3kJJ5z2JIK7c8dDr?= =?us-ascii?Q?Pwbm7LliIWvG6xrVBpK7X77M6hxmzF/Zlxy+2G6wayzBPGWwJY5F/GLRn6TJ?= =?us-ascii?Q?onnTwxYtaZXnBzyHO9a8/nAbRz8JuNZJssWGz/WZ3MMeUVON5EOZXsR7VNGw?= =?us-ascii?Q?KskeQ5sPYUhPIO45ydURUaXP/DrzLlfW2KHQYzxZgtqdavpLOIOfTYQvSMDu?= =?us-ascii?Q?WMBQ5/ekfSZ8hdFc3S65B7gp2P3l+2EaQQ5pgsqNCndf0BdpzSzZMpv+8tnv?= =?us-ascii?Q?x5ONehAP76dV5Q6BTnG1z3DLh7fRgqAYFeyC/tQi+qSpSMJYvVok8Udp/GD7?= =?us-ascii?Q?hW4AW8Jjx8shN+Zh97jzs/cLnBk9QWqxcfc74zhODGIRjgAvxTU4a+Jx72JB?= =?us-ascii?Q?Z3HbD4xe7B+jiHpknJRKCwOwHuF7WjD+PZ9c10AVbSaSjfLiy4TxMRndsmaf?= =?us-ascii?Q?KJhcXrcM7NjBVaN1VTZOvOnGfoomC+M0cTMIjE2/0TvW2YID9uO2KhSY6Eph?= =?us-ascii?Q?bqEaRv7hxHrcd1vih7Z4DfMhqB9ru2KZB8Gpfc+/0d7z4MqNrfus33hSIXq0?= =?us-ascii?Q?5ULZapbWz62BwgCbuAQ1vKvGYDOLltUBK9W/5mY440IOLHRLdMyray0r5Yll?= =?us-ascii?Q?LNgi7Y5BWfsrDZL578xIOIep8idj2NArqEb6SjhdNCBiPOI6BdJLz2ykEYpu?= =?us-ascii?Q?UqpZkvQe4RoI8jxmWe9Rxlf0N7ODkzxkL78aaINoDfiTYONBHDpJH5U0r/WI?= =?us-ascii?Q?HhSqbMCEHAvbGE5SvetyGjE+miFGrqF240Ybr1m7qs+lch+73tVSaFhTk/EY?= =?us-ascii?Q?AVC+MMCMJp4pWfzdr3LSpKiwbdL8IsgAkW+hcUl1kZKkcO1ilcrZYQ1nfco4?= =?us-ascii?Q?msj3/Rinr9XHDQz+ZewgyyhLVdwK07lqCy3BRyHxwavkf3ujcEhfhM4YJFx0?= =?us-ascii?Q?wST0VJTCHGgraGDEldTNrN+lWxPm7V2I80DxAXvfa6EG1jC+o0BIW6+BUE9B?= =?us-ascii?Q?a1Mxnhxyun0UfN2GQY8748DiQifxodqfe9832+th54Gc4OOUb9Su3s+s2Roh?= =?us-ascii?Q?VlDb1jwQVxhxAZFvIdXPd8MmX8cp3RlSljwV8UyTlenw3bll4QeVcAjlUOK4?= =?us-ascii?Q?L0YV1NA3+wm9pFtPHX6aH9Pa4P0wWN0=3D?= X-Exchange-RoutingPolicyChecked: O/z/LUuyFepZxQmJ32gfQM7q4m95ayCOw9akGjtE75/6tDPWwObocSxpIlWV4EOeLI64hM7LVJ20MW04BUkkqq5KCnCMv8PcNm07rk1LXOFQ7WQHgRCmKmBCi+8krlx0nplnTUF9wVihlYQyuEx65ny3fmfRBMjJ59a3bWQFh8PxR4YCUpeYHeRZiKdnGJCFktlw4mx5oNE0Qm5VzFr4zgeBf91d9uR2ZGMvt2L9XSlC5PpcWL4Sx4/hArftPaCe44eesZyhQukI6eSgkD5KBZXX+9L6rJ66orlPSQlywA8umY2+uEJVeyGhrk0NvlgfQNcjSrFaa2uWiXYzgRN56Q== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Q5CeiCth5W3sbJvTSzkElTplCNc1YI9QQU0WL1z/tUQvCfGiYM+V7tLz+iMoIsHtgheC0+txfihQU43TDxrsWV/4HCHEWoR+bnet4QXrZ6kQUjI+Mu1vrKlZy7N+/7L2DXO1ZDJ1tbyk98dRT++sso83fL7NNTivY4VWnrDSYpdXva8a+1LRS1ut87vR5ifwyqk8fe0ZnJr+ZoAF3zLRoBvSW5z9xFEFmHAoSoC89SYNc8Y/it/SKdYF4y+eb1fIKXIdeeeVs98Eo4tv5cg7pCOyA0nr6RFbfeIvHVB+2RyDrMbKOr1+SRB7YTghx7N8CBCcMbByBy4M5RWZPGgyHN6gLtbA/QttE/0utAn6jYJ8DJ4N4ElK0CE+xzSodHDiD9OHJPk/NSO1E0RSovBV8tkHAIxuXMKnn9Bvtb0WlZmxpMvwblHAk9Iugc6KJbNHF0SA6QXOCw0awwfe9LBh4oUuOWUQtlJ430ALhAkd11bxTLUwk/SrmAx7W4Hh79Xb4bQeZzZG7+ZPw9yxBrMKrNLx0rabIseiSedUf5Y/1ZL5iW6EVTqO3gGaXZwtZv1xenX8ll+gEHlWq/aWivQ0Ik3sOpmVsIaY2wO+V32wBXE= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2d2bf37c-3493-463e-daf0-08de82fc8dc3 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2026 01:37:15.6753 (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: niHshvR8BsU2YsbCat/KVUbJrIlfpr8hFx4/olNluOVNMb5uci0ExbEpgm5e0sOZr9tx+TG7m12DvgCnfklNVWuB0BQ460tKDprQmcfROrk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR10MB7372 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-16_01,2026-03-13_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 phishscore=0 spamscore=0 adultscore=0 malwarescore=0 mlxlogscore=999 suspectscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2603050001 definitions=main-2603160010 X-Authority-Analysis: v=2.4 cv=HcsZjyE8 c=1 sm=1 tr=0 ts=69b75ed0 b=1 cx=c_pps a=zPCbziy225d3KhSqZt3L1A==:117 a=zPCbziy225d3KhSqZt3L1A==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=Yq5XynenixoA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22 a=7Gl3-_t3PgB9XO-mQDs3:22 a=VwQbUJbxAAAA:8 a=pGLkceISAAAA:8 a=yPCof4ZbAAAA:8 a=LqkqbBbWekfmbT-3qckA:9 cc=ntf awl=host:12271 X-Proofpoint-ORIG-GUID: T_qF75MDSPeJRC_e47typDmBL_KPPtgr X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE2MDAxMSBTYWx0ZWRfX/p16y1ve76mx sKeE9fK3ZbvhtHJ56wPs1sycEX8quKUbHRhBx+XqQjGFDkmJYwGTCNYDfzkdaDCt5Q1+3grao4r 1Ex+MhW1C3hX1qutWai2DG2NDb+jDCg2YzqZ/MX2Cl20ID2rM5Zv2GlYkSmXUixtdyEwhFhRdAm WhJyi/b4C9w35NaL5faY7ROtBNiQa/x3kQRYByumDhkwzVAK1TFa1oANtQRT3iEGYIuUV7nyoWN q9qjTfy/jUHvLZk3xTZRZQlhhce+IGSDOd5uPoELWbFudOGeZkAg8f0fwTnrI9+EcjcsuDXUOT1 8pdwf9V4fxzb6fBWI5k0RODOhUvGAVI0orD9IzqCWR7V1od4h5dkR9xu1rgSzTW6ddgyhCU+pN+ hNKbftu6EkdAGUKa8OicfrE/uTYF2coO+tlMfskz5osklxU02JK/0agpBKl4bPQj/Z5V3ewiD2W ZZajNeax1/8N0bwHfNUBTLvEkFnO3Zj+MCBXLHAk= X-Proofpoint-GUID: T_qF75MDSPeJRC_e47typDmBL_KPPtgr Content-Type: text/plain; charset="utf-8" check_timeout() gets the current time value and depending on how much time has passed, checks for deadlock or times out, returning 0 or -errno on deadlock or timeout. Switch this out to a clock style interface, where it functions as a clock in the "lock-domain", returning the current time until a deadlock or timeout occurs. Once a deadlock or timeout has occurred, it stops functioning as a clock and returns error. Also adjust the RES_CHECK_TIMEOUT macro to discard the clock value when updating the explicit return status. Cc: bpf@vger.kernel.org Cc: Kumar Kartikeya Dwivedi Cc: Alexei Starovoitov Signed-off-by: Ankur Arora -- Notes: - adjust the RES_CHECK_TIMEOUT macro to provide the old behaviour. kernel/bpf/rqspinlock.c | 45 +++++++++++++++++++++++++++-------------- 1 file changed, 30 insertions(+), 15 deletions(-) diff --git a/kernel/bpf/rqspinlock.c b/kernel/bpf/rqspinlock.c index e4e338cdb437..0ec17ebb67c1 100644 Acked-by: Kumar Kartikeya Dwivedi --- a/kernel/bpf/rqspinlock.c +++ b/kernel/bpf/rqspinlock.c @@ -196,8 +196,12 @@ static noinline int check_deadlock_ABBA(rqspinlock_t *= lock, u32 mask) return 0; } =20 -static noinline int check_timeout(rqspinlock_t *lock, u32 mask, - struct rqspinlock_timeout *ts) +/* + * Returns current monotonic time in ns on success or, negative errno + * value on failure due to timeout expiration or detection of deadlock. + */ +static noinline s64 clock_deadlock(rqspinlock_t *lock, u32 mask, + struct rqspinlock_timeout *ts) { u64 prev =3D ts->cur; u64 time; @@ -207,7 +211,7 @@ static noinline int check_timeout(rqspinlock_t *lock, u= 32 mask, return -EDEADLK; ts->cur =3D ktime_get_mono_fast_ns(); ts->timeout_end =3D ts->cur + ts->duration; - return 0; + return (s64)ts->cur; } =20 time =3D ktime_get_mono_fast_ns(); @@ -219,11 +223,15 @@ static noinline int check_timeout(rqspinlock_t *lock,= u32 mask, * checks. */ if (prev + NSEC_PER_MSEC < time) { + int ret; ts->cur =3D time; - return check_deadlock_ABBA(lock, mask); + ret =3D check_deadlock_ABBA(lock, mask); + if (ret) + return ret; + } =20 - return 0; + return (s64)time; } =20 /* @@ -231,15 +239,22 @@ static noinline int check_timeout(rqspinlock_t *lock,= u32 mask, * as the macro does internal amortization for us. */ #ifndef res_smp_cond_load_acquire -#define RES_CHECK_TIMEOUT(ts, ret, mask) \ - ({ \ - if (!(ts).spin++) \ - (ret) =3D check_timeout((lock), (mask), &(ts)); \ - (ret); \ +#define RES_CHECK_TIMEOUT(ts, ret, mask) \ + ({ \ + s64 __timeval_err =3D 0; \ + if (!(ts).spin++) \ + __timeval_err =3D clock_deadlock((lock), (mask), &(ts)); \ + (ret) =3D __timeval_err < 0 ? __timeval_err : 0; \ + __timeval_err; \ }) #else -#define RES_CHECK_TIMEOUT(ts, ret, mask) \ - ({ (ret) =3D check_timeout((lock), (mask), &(ts)); }) +#define RES_CHECK_TIMEOUT(ts, ret, mask) \ + ({ \ + s64 __timeval_err; \ + __timeval_err =3D clock_deadlock((lock), (mask), &(ts)); \ + (ret) =3D __timeval_err < 0 ? __timeval_err : 0; \ + __timeval_err; \ + }) #endif =20 /* @@ -281,7 +296,7 @@ int __lockfunc resilient_tas_spin_lock(rqspinlock_t *lo= ck) val =3D atomic_read(&lock->val); =20 if (val || !atomic_try_cmpxchg(&lock->val, &val, 1)) { - if (RES_CHECK_TIMEOUT(ts, ret, ~0u)) + if (RES_CHECK_TIMEOUT(ts, ret, ~0u) < 0) goto out; cpu_relax(); goto retry; @@ -406,7 +421,7 @@ int __lockfunc resilient_queued_spin_lock_slowpath(rqsp= inlock_t *lock, u32 val) */ if (val & _Q_LOCKED_MASK) { RES_RESET_TIMEOUT(ts, RES_DEF_TIMEOUT); - res_smp_cond_load_acquire(&lock->locked, !VAL || RES_CHECK_TIMEOUT(ts, r= et, _Q_LOCKED_MASK)); + res_smp_cond_load_acquire(&lock->locked, !VAL || RES_CHECK_TIMEOUT(ts, r= et, _Q_LOCKED_MASK) < 0); } =20 if (ret) { @@ -568,7 +583,7 @@ int __lockfunc resilient_queued_spin_lock_slowpath(rqsp= inlock_t *lock, u32 val) */ RES_RESET_TIMEOUT(ts, RES_DEF_TIMEOUT * 2); val =3D res_atomic_cond_read_acquire(&lock->val, !(VAL & _Q_LOCKED_PENDIN= G_MASK) || - RES_CHECK_TIMEOUT(ts, ret, _Q_LOCKED_PENDING_MASK)); + RES_CHECK_TIMEOUT(ts, ret, _Q_LOCKED_PENDING_MASK) < 0); =20 /* Disable queue destruction when we detect deadlocks. */ if (ret =3D=3D -EDEADLK) { --=20 2.31.1 From nobody Thu Apr 2 09:30:13 2026 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 90C7D26B75B; Mon, 16 Mar 2026 01:37:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773625074; cv=fail; b=a/oW9BKfNCtdCYGVVcPzxqNTMbmNFe+VNWjFJCOoz5JGHBG2E3zBOrR25EYS4UTolk+PbLtk+ZLGdX3AmKYH/XO7AuTJYDclyIQMNG7WWRl8xm+CwcivguOe9Yyu9SJARgiI6C0K5RBSqQxaVn+sm/CvILdTnKz+UjLYi5Zr7Pw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773625074; c=relaxed/simple; bh=bk2Wv/aP7r6jche36ugfoRnhJGn2oShw06NbtEHSMfE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=agSlnH12JgNvK+8W7x2KlmzbyUI8PLZr/MPiNnIMfMK19NnRJjsx3WNKMP0R+OLXHI+OxztXjNnoXuKYM9kahWx16BrU8e/dLl64VWd1ixqUwXcLoK3mqivwCVcBU9hfcY6jOPcB1YXV2oyrgT8vs0ebh7h9j0AVO/iGi+G0kGQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=Lc2kDK2M; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=XUIsq/xX; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="Lc2kDK2M"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="XUIsq/xX" Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62FMwfjN1206614; Mon, 16 Mar 2026 01:37:22 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=jjD/tVFB8W1lbSnwtj/S+wlgAj5rX8lEpL5uM8Yk9U8=; b= Lc2kDK2MFf51bjgk6FJD7uoGi/9YbDLBusLa6+g/GpK2RmAfZ8ZrGBT2OnqovQB3 eg9i9NUvwk91DkhA8/gAO7ZINp6ZiBmvGqgPuPPee2c3zoy7HDrT1E7k0poDWzE1 eF+rGv7Tv1hRLIrBCXC3SuWzX+L8EvbcZz8N4wnX2LtxGWN3qxq0a7mfu2z9SQgR mID/JYvJtNyKSZ2ewT0AieT9tc/IR1eoSi18D0OR2cKFnNaeKv7FTxCWl0hv8Sen 0kpiKo2Uaws3FffNbYrivoCzO7lw85y6bSp4rI7kGDhlMHVuTeaxxt6cBoJhbaW/ aNFzOuoSaiTTaQDrS6DpYA== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4cvx3b1bhn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Mar 2026 01:37:22 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 62FLUv3s017939; Mon, 16 Mar 2026 01:37:21 GMT Received: from sj2pr03cu001.outbound.protection.outlook.com (mail-westusazon11012008.outbound.protection.outlook.com [52.101.43.8]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4cvx4jgqbu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Mar 2026 01:37:21 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=l7ecumjfmi5eEWKboa07IBAS/Sxx9IiekOOptn1Ul11wlUBkkUBi5JSgXEEaoTqIN/P1Kx4Ih5adHSpRD4ejl9scKxImu9eJzuT1G8WD4O0+F1sELXr2vscDhTwH0IEkTGAXskyfSqonPn4Gz0vqKCNnd83PEKnEq+JTb658Di1nBJbYooIgTSp/9fHjDeketk/0xMDw9IuYu9dEJ5QhpCO9h88XqQX/9VwCsgtIyzOZdxL0wBQbs/tmO2E1hi4JyH8rxK1RHRMcQVNf4uFWLkePneEU6/2ShybYs1s0hogszjTarjrw81FflCcaJl/9//EAcaQkyPFnPdvIqEWD0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=jjD/tVFB8W1lbSnwtj/S+wlgAj5rX8lEpL5uM8Yk9U8=; b=Ekv3ygv5Ay8uvX/yZm1jY9g85+Ju4ZfyCGIfmpA2FSVb0XJNC0RENe7PwdNF+w4ES9biwiF+XtugVHdKC18l1F2ZJYKs69X+tW7JrSWt1WmgVu8lS4pg9fXD3K003qG0wHijyKN2QR2Thx2FVYCD3BAQ7oz3Rxq2LsMmnTKLhtT9KIBuZwdU/QZETeCtf49+X8qRiK9OwpZMJU6mkXHDvHLYBzTgcIjr1RElCL5ClsVEyitRT0LqurdSs8w+CHdn60AJa4dkbPzer9gS+1c+p2m6/dmWXe9dSOX9m4ogEOysjXUjGygOGZ7LqnsTXedP+TQCztznYYb7Jvoj2w0poQ== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jjD/tVFB8W1lbSnwtj/S+wlgAj5rX8lEpL5uM8Yk9U8=; b=XUIsq/xXBRCKHlQkKYsfLyAkG2J4VUmz3NHMU9b+HAvwlMhLEPFbAOWOsofC/1NaWc9peTK5JLimrCFnQag+gbVTrkTqxsmAqnI7aS1S3ZlZWz9fRpXlw+FIQHekb7EjmdhJ4d+PbXUpqziWkh0BhIEJ2Gql6v0eyxuQf3NTSEc= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by IA0PR10MB7372.namprd10.prod.outlook.com (2603:10b6:208:40f::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.24; Mon, 16 Mar 2026 01:37:17 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574%6]) with mapi id 15.20.9700.022; Mon, 16 Mar 2026 01:37:17 +0000 From: Ankur Arora To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, bpf@vger.kernel.org Cc: arnd@arndb.de, catalin.marinas@arm.com, will@kernel.org, peterz@infradead.org, akpm@linux-foundation.org, mark.rutland@arm.com, harisokn@amazon.com, cl@gentwo.org, ast@kernel.org, rafael@kernel.org, daniel.lezcano@linaro.org, memxor@gmail.com, zhenglifeng1@huawei.com, xueshuai@linux.alibaba.com, rdunlap@infradead.org, david.laight.linux@gmail.com, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, Ankur Arora Subject: [PATCH v10 10/12] bpf/rqspinlock: Use smp_cond_load_acquire_timeout() Date: Sun, 15 Mar 2026 18:36:49 -0700 Message-Id: <20260316013651.3225328-11-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260316013651.3225328-1-ankur.a.arora@oracle.com> References: <20260316013651.3225328-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR04CA0090.namprd04.prod.outlook.com (2603:10b6:303:6b::35) To CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR10MB5409:EE_|IA0PR10MB7372:EE_ X-MS-Office365-Filtering-Correlation-Id: 4cdd12bb-a699-4d1b-3fed-08de82fc8ea5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: N40LFVq6l+PevzmRho/MLGTjB8PUGZppyoAK4b1Qv4LUXFv/QVYklA61YYre2s1nxa03YOhPjN4QubU8WsbKKW46lAgea30xgYrsxZZmQn2Y8KxVz4JAc4bRq+8y1S6C76+Y8kjXdy9smDqOeN79fHMfWh3bj3tzb5u8pATosd4MlZmy0MIrgzVY6GUM2Am7MVjhTGE9MDIDGwVOWWL9ZVq89papxR5CiMk7Ec8OeMumlge/UGfnWJEg2pLSM2zb0mNo/8ocjgsNzawnbLdwF/1ZZYCJphRYcw/Pmx53/KkL6RSho+6b9f9GDd/QeIOoyiDhtO9IpR89XSrWAXgw1tdO4/Qq/GbaRN3XDuXNAX4QeJIEbsNqH1DjZxVcuik2ZWBd8Q3brenCVDBmAduIFXqtC/SGY/ld5C0UVPmaDhMcJZtS7yPr20rIj60Umuv0jkj3rXGhRDllSEeNZDeoW9TdrDdZXAGIo69ockX4uYt96W99Wl0WpdQ1n+nAm3x1fjzzT9tCc0v5XAlLL0O+4NK1szomxr+kagu0n07VzsZv+NYYYFprO+e8CBXNLrB98sJeIu3xGeW9HKEJCB1JT3eW2pX7wNzDRFl1BvDTCPcSRGrbNbEpE/QJqVyWfmDaO/y2j8sT1C+YR4X1Iq/yh9ip929GQytLKyrdooq+E/CD8eitVqrfloc/3UGGbk42TYSwiv3+z5tTr0DuKp4B+farlA0I9A2uWDqKWiA4Ozs= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(1800799024)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?o2rwO5hIzP7Lzg7JX1xvfhqS6pMzyv+5WTPCEZ3GSiLtPGSSZNO7At4Z7qQM?= =?us-ascii?Q?6yjFSGkFrxL2NsxwT6rLnICxEwskyoCIeAMy6DoSv7BcsJo9nwUY6bMDo6Va?= =?us-ascii?Q?V5/1lVu2vAIJlHywQ+C+6fGbclQyRH8MfDNgycZyXk5p+QE3eY+5DHth8avZ?= =?us-ascii?Q?OfnsZE50jdqu/uKes0wAfXEUi9xYaSKjQD48gvbqsrJb06ra8ruEggaKbltR?= =?us-ascii?Q?yj6nNMoKo2m4d0UOmmlBp48dj3BOH/cCX4FrN5ebGR5/oN2u/+8WWpo8hkUu?= =?us-ascii?Q?4WRhiwyGxtOLwiK3Rp/zGg60rpqM0GvGTPaqxO6hHLoSIp6kKah5DFUUOGC/?= =?us-ascii?Q?T4xakxZYBC8U3Ym2tZ5BgYNsqM1UqoT3x306Wk/mLY1v4EjOyP1V++2RJCx8?= =?us-ascii?Q?wtRYofCXK666hJCm420H9XOFZJxscllSJaszNW7zVmDBlVfQYq3Kg7jKklMV?= =?us-ascii?Q?nft/uonOeAgOh9CQzhSPtjhnkG5k4KMV4Os2H5GYEENR/AOqSMUKXA8eK98y?= =?us-ascii?Q?n7QOEnS84ASwgDHh6W92ej0yEOdematboYxkBpRpPu0ndcsJ7BkdYuVHQXrl?= =?us-ascii?Q?dQrKnvBpkJn/2ZhYncjqJI2aqqOBvDZJGarGgeRBRlMhISdCHk9tygnAaQRo?= =?us-ascii?Q?6poJaY5iFPYqDLj/QLSdJKHF+fsv6LV6Cmr4uAAFh/E2lHf1p8/0RZEeJM/2?= =?us-ascii?Q?eqgPhkgKYUYzJWED4D04OZaxS52RnUpZG3+23R+iFAEiBLnOWfXoVaLp9Eg3?= =?us-ascii?Q?LVYQ7nx6Ueny8iX3eW01ySmSOFhio4d3baZl2hawKxRnPpMH8sDQQQRNo1ff?= =?us-ascii?Q?pXC4KW6siUAUBZIecOOGx8nBPah+gU0CoJha9TbfCxNl5zUNjYMkMAghLtvB?= =?us-ascii?Q?+7rPhvirbxVDZH7pC5LwZjeqCPskOGgjqx41JEhxhjimdrVJ29brkVMqUgvM?= =?us-ascii?Q?QvJppYUYICXwdfWUqZAh9jRO3u/mONU2LJuk5ZCMm3aBA20/45ZZnelzDF8o?= =?us-ascii?Q?cSrTwYsXgLb5I4rVuwCXyxz82SjSMDixgXbbYKl1Hs5whv4kiiygNix38VMp?= =?us-ascii?Q?hmrdMjvlZeKS5e8JAOHAOImNNXr1baMmWb7h+205oiphQjQDzjZOVOcLjNg6?= =?us-ascii?Q?BzD97KCVh9p/ag56cZ/tn+KNDmE2s3j7cY8axDDlhfISk/Gr7xKRkC0nv2gj?= =?us-ascii?Q?A1UR7Axh0fGkvGtAzoYi6toMBZnpu6MqwR9wbMxGMu3eHo7TKYt0gNdWj8OB?= =?us-ascii?Q?TWUrpS9NB38vQdt+03y9JZVyeGdqoWtmZCLDkum6VjvIseNOHras3GEekoLL?= =?us-ascii?Q?41oFvHSTL1Vriwg++wyFFeEg8IYV9L9InkmPpTjNkfqQXK46d4sVznxlCXBP?= =?us-ascii?Q?31lhOVpcYLBhWbZZuwECItFx2M2/lQFNI96mAIt1yOVEWh3Oc0d8P8NppoFj?= =?us-ascii?Q?JOnq3zVDDPMjbqMxs2+gfGtHVi+ylXwu4VTqQ/wWSIOl+Jq6CdduFrVVvVKI?= =?us-ascii?Q?9Vst86sIv1lQle6iQEsJhh3vs4OCjm757pvJZlp5TSqkyj5abMz/eJNP0sm7?= =?us-ascii?Q?C8NgJRVRBAgc9IXgiwyCU8ke+a651Gd5prUr3c+u2mSh348XFjFk5zzMZ8a5?= =?us-ascii?Q?WD/wHwuRpqht8711wd0qo2y934oM1zc4KJHHel9SNkOHl55T8pkJozEJrAzc?= =?us-ascii?Q?xOMAb4u6Twl9ZtbBvI/XORaqZqfvhwpF2UG/9q7lm6IwLiCSyUCDdMCVunMV?= =?us-ascii?Q?mlGBnbzABS/ztzN40r+5+IS2zGKB278=3D?= X-Exchange-RoutingPolicyChecked: Q9LQTs9wAqva7K4zSypChpeBq8mJ1qMVgdgYBZVndKpolSG6lPLhAv8fWef5x9TBjKaj7lvJQl0+lFWJbsqzt9Xcjw5x5fOV9RFXuobsfIpaMCvlIhOAlMXBtXhaJVMS71UT1TjRbuAk3rdM2Evkf8EldU/NXu38vFX9omMPGllCzPlrNsovWPcZUa2599NzegAJx4ygPAjwm6kMUStQPtqv5sNZjgXLtFF1wQluvbsAO3Q/YVfO/xpaJXDX8RLjEjJI5V6LaDqwoux6+ABiYHnDH3FArQBckCi52kWGZ382H8NHtWJ3g8MZm5RGys0R16iyLLh6FJXt6DO6mHnH8g== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: /fU2NeNH3Zacc2BAwlCZWlRlS9wQtFIue4XcqwOunqsVH9Y1jy7MEpoJOb/X6nX5pO5dbDx3ura4pn3xJ/bak7GvgwFTEGgcZfjXRYwkhVsz14rUioMETiPIac4t04jG1SQFT6FcrIzSG8OpB2X2tdzzfHoSu1275j+ujhuEq/WCYWOKv/JJ27QTZpx7S1QLNWM0GJHicxP/TuKWEh44hFnDyrR6YB2uN3jN1RChrNx/kLu5CG5zO6cVrTmqsuR/wfR3RRO/1MPPApHlFX4Bsl38ErNmn0Y6lZ2lcGZqWBd2ew1UnscVvNEheObvczfGrLTxAml/i3w2uV9Yy829Wb5syIHTNCeUBQsymXZztu3v9Rs7t70Hpj3euA+jyG+ctKix4uGuLb+yJNDHUtJFX434IGuZA9O2UAjSqWp8VtJ7meXFzZB6jG11f2MK45CRR4MtSJqfGa4eOYNTk3iuVWQ/710YXJz5TUhByWw+UiwGBcfddkHF9LZrLku3Wiy7fJpM5lcTqfvrFB25LybWwpnok9WAHDef6TTrCri/kf60C6XCcTnuq5MTvnFb2B0AWwzt9qx6l7byLraFA/2Yn0XwYN6QDhKsZx/24+s8z1g= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4cdd12bb-a699-4d1b-3fed-08de82fc8ea5 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2026 01:37:17.1150 (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: WIlQcVkmFDY6U0EAF7lVK0+wbAJB9LAqYgjaTmQiT5k9ON5NOmuZT6W76lMuhJJke8lZl9q0hGYjxjochC26gOBHOP2c5n6ELahyJC+/Vxs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR10MB7372 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-16_01,2026-03-13_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 adultscore=0 suspectscore=0 bulkscore=0 spamscore=0 phishscore=0 mlxlogscore=999 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2603050001 definitions=main-2603160010 X-Proofpoint-GUID: nLMbS3fHAdd-9utz6AwYILnzuzq9S35R X-Proofpoint-ORIG-GUID: nLMbS3fHAdd-9utz6AwYILnzuzq9S35R X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE2MDAxMSBTYWx0ZWRfX3lqaCCCLiSZR mHArjlObFJ9ioN9SjhFZVoiiBP1wvZrpfGBJt79dPYazsh7gxh3clbq1t8cw/3gI3OLD+B9lj/t BujgslyheNvHZy3GdHbC+6KydxrZ6OlHFC3SKHvcP/LplZHN2p9qxq5r/vOQs+I6DXPNnmsrhfm X0MUD7kxfD/Vxnp5Y+zi4qXDdyaAORJ5t60IP/mbcZogXv5GcojnORw24HE+tbrifFmQX6Yrgpf +YXcjOUrdk+sWzlr6jH9USf33TGgNj4YSSQyNMaSzU0TUIoXdf00+mtKZL+AeSc5f2urVOE52L3 Z0c5SRLYYEgwxiz4sTQrPu/Yg5RwY46kO4vgjpZpaD2Q27RxirPegqyABo4fWmqyJ6TYaNdBfkZ 6hNGl+bpcDD7Tl9uj9K5Z5PG3+JOHZKKLuaT1upvcov9DufoyDpcMRaDx1PiIolEV6dDcy/q1hR 6+49C3PbqTNl+W0CXisBVLaco7FimD0Z4XUXrJA8= X-Authority-Analysis: v=2.4 cv=IN4PywvG c=1 sm=1 tr=0 ts=69b75ed2 b=1 cx=c_pps a=qoll8+KPOyaMroiJ2sR5sw==:117 a=qoll8+KPOyaMroiJ2sR5sw==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=Yq5XynenixoA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22 a=x4eqshVgHu-cdnggieHk:22 a=VwQbUJbxAAAA:8 a=pGLkceISAAAA:8 a=yPCof4ZbAAAA:8 a=Ru_WXoCZngTtvYUXGSoA:9 cc=ntf awl=host:12272 Content-Type: text/plain; charset="utf-8" Switch out the conditional load interfaces used by rqspinlock to smp_cond_read_acquire_timeout() and its wrapper, atomic_cond_read_acquire_timeout(). Both these handle the timeout and amortize as needed, so use the non-amortized RES_CHECK_TIMEOUT. RES_CHECK_TIMEOUT does double duty here -- presenting the current clock value, the timeout/deadlock error from clock_deadlock() to the cond-load and, returning the error value via ret. For correctness, we need to ensure that the error case of the cond-load interface always agrees with that in clock_deadlock(). For the most part, this is fine because there's no independent clock, or double reads from the clock in cond-load -- either of which could lead to its internal state going out of sync from that of clock_deadlock(). There is, however, an edge case where clock_deadlock() checks for: if (time > ts->timeout_end) return -ETIMEDOUT; while smp_cond_load_acquire_timeout() checks for: __time_now =3D (time_expr_ns); if (__time_now <=3D 0 || __time_now >=3D __time_end) { VAL =3D READ_ONCE(*__PTR); break; } This runs into a problem when (__time_now =3D=3D __time_end) since clock_deadlock() does not treat it as a timeout condition but the second clause in the conditional above does. So, add an equality check in clock_deadlock(). Finally, redefine SMP_TIMEOUT_POLL_COUNT to be 16k to be similar to the spin-count used in the amortized version. We only do this for non-arm64 as that uses a waiting implementation. Cc: bpf@vger.kernel.org Cc: Kumar Kartikeya Dwivedi Cc: Alexei Starovoitov Signed-off-by: Ankur Arora Acked-by: Kumar Kartikeya Dwivedi --- kernel/bpf/rqspinlock.c | 40 +++++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/kernel/bpf/rqspinlock.c b/kernel/bpf/rqspinlock.c index 0ec17ebb67c1..e5e27266b813 100644 --- a/kernel/bpf/rqspinlock.c +++ b/kernel/bpf/rqspinlock.c @@ -215,7 +215,7 @@ static noinline s64 clock_deadlock(rqspinlock_t *lock, = u32 mask, } =20 time =3D ktime_get_mono_fast_ns(); - if (time > ts->timeout_end) + if (time >=3D ts->timeout_end) return -ETIMEDOUT; =20 /* @@ -235,11 +235,10 @@ static noinline s64 clock_deadlock(rqspinlock_t *lock= , u32 mask, } =20 /* - * Do not amortize with spins when res_smp_cond_load_acquire is defined, - * as the macro does internal amortization for us. + * Spin amortized version of RES_CHECK_TIMEOUT. Used when busy-waiting in + * atomic_try_cmpxchg(). */ -#ifndef res_smp_cond_load_acquire -#define RES_CHECK_TIMEOUT(ts, ret, mask) \ +#define RES_CHECK_TIMEOUT_AMORTIZED(ts, ret, mask) \ ({ \ s64 __timeval_err =3D 0; \ if (!(ts).spin++) \ @@ -247,7 +246,7 @@ static noinline s64 clock_deadlock(rqspinlock_t *lock, = u32 mask, (ret) =3D __timeval_err < 0 ? __timeval_err : 0; \ __timeval_err; \ }) -#else + #define RES_CHECK_TIMEOUT(ts, ret, mask) \ ({ \ s64 __timeval_err; \ @@ -255,7 +254,6 @@ static noinline s64 clock_deadlock(rqspinlock_t *lock, = u32 mask, (ret) =3D __timeval_err < 0 ? __timeval_err : 0; \ __timeval_err; \ }) -#endif =20 /* * Initialize the 'spin' member. @@ -269,6 +267,17 @@ static noinline s64 clock_deadlock(rqspinlock_t *lock,= u32 mask, */ #define RES_RESET_TIMEOUT(ts, _duration) ({ (ts).timeout_end =3D 0; (ts).d= uration =3D _duration; }) =20 +/* + * Limit how often we invoke clock_deadlock() while spin-waiting in + * smp_cond_load_acquire_timeout() or atomic_cond_read_acquire_timeout(). + * + * We only override the default value not superceding ARM64's override. + */ +#ifndef CONFIG_ARM64 +#undef SMP_TIMEOUT_POLL_COUNT +#define SMP_TIMEOUT_POLL_COUNT (16*1024) +#endif + /* * Provide a test-and-set fallback for cases when queued spin lock support= is * absent from the architecture. @@ -296,7 +305,7 @@ int __lockfunc resilient_tas_spin_lock(rqspinlock_t *lo= ck) val =3D atomic_read(&lock->val); =20 if (val || !atomic_try_cmpxchg(&lock->val, &val, 1)) { - if (RES_CHECK_TIMEOUT(ts, ret, ~0u) < 0) + if (RES_CHECK_TIMEOUT_AMORTIZED(ts, ret, ~0u) < 0) goto out; cpu_relax(); goto retry; @@ -319,12 +328,6 @@ EXPORT_SYMBOL_GPL(resilient_tas_spin_lock); */ static DEFINE_PER_CPU_ALIGNED(struct qnode, rqnodes[_Q_MAX_NODES]); =20 -#ifndef res_smp_cond_load_acquire -#define res_smp_cond_load_acquire(v, c) smp_cond_load_acquire(v, c) -#endif - -#define res_atomic_cond_read_acquire(v, c) res_smp_cond_load_acquire(&(v)-= >counter, (c)) - /** * resilient_queued_spin_lock_slowpath - acquire the queued spinlock * @lock: Pointer to queued spinlock structure @@ -421,7 +424,9 @@ int __lockfunc resilient_queued_spin_lock_slowpath(rqsp= inlock_t *lock, u32 val) */ if (val & _Q_LOCKED_MASK) { RES_RESET_TIMEOUT(ts, RES_DEF_TIMEOUT); - res_smp_cond_load_acquire(&lock->locked, !VAL || RES_CHECK_TIMEOUT(ts, r= et, _Q_LOCKED_MASK) < 0); + smp_cond_load_acquire_timeout(&lock->locked, !VAL, + RES_CHECK_TIMEOUT(ts, ret, _Q_LOCKED_MASK), + ts.duration); } =20 if (ret) { @@ -582,8 +587,9 @@ int __lockfunc resilient_queued_spin_lock_slowpath(rqsp= inlock_t *lock, u32 val) * us. */ RES_RESET_TIMEOUT(ts, RES_DEF_TIMEOUT * 2); - val =3D res_atomic_cond_read_acquire(&lock->val, !(VAL & _Q_LOCKED_PENDIN= G_MASK) || - RES_CHECK_TIMEOUT(ts, ret, _Q_LOCKED_PENDING_MASK) < 0); + val =3D atomic_cond_read_acquire_timeout(&lock->val, !(VAL & _Q_LOCKED_PE= NDING_MASK), + RES_CHECK_TIMEOUT(ts, ret, _Q_LOCKED_PENDING_MASK), + ts.duration); =20 /* Disable queue destruction when we detect deadlocks. */ if (ret =3D=3D -EDEADLK) { --=20 2.31.1 From nobody Thu Apr 2 09:30:13 2026 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9315C26B764; Mon, 16 Mar 2026 01:37:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773625073; cv=fail; b=qzSH4eb3Xvge6proDyyu4HVdrmlRyyFrzIxtrwakeiKohb/WfVJGtKOqgLP6FYFjZJlx+w9E7vfjUvsV/C+W05QsRE3fMY2X30/WtXpv2V6IbMO2cHk5a+BAxDwimreedZClwo6R8tsyCnJmbjTHEf7/8UkKQNjgqs9ZqHYbMmQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773625073; c=relaxed/simple; bh=PFT5rG5/F+SHTERKtv0STIs3QyoahP6Kvg5/BO7yjhw=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=VtyzOv5QQ2zT97lWnTTQ6MtStsZoR1Tmh72TUq93cxnxyrBLE5gW9x7yIkf77JAsDEQL8stOM+LNLkHZrk8gFBPBl3qQKOvsngpuC34ZCzql48XRtVYyXIP1YeVfIrtATqeJ5axmC4jA/2FbLoFdwv5ohNvKvjfs370mVluRtlg= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=o4dMZzXV; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=H0MP34CM; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="o4dMZzXV"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="H0MP34CM" Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62G0Tx101498676; Mon, 16 Mar 2026 01:37:25 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=4Lg9Ao/NY7+O+dHBfbLTCASHr6xXDLmXSvijPaYixZc=; b= o4dMZzXVF0jaqaUX/0iHyj5LNxuFfCVrnSQtaeWh9OSrPYDEEbLbQAxP9OexgdAG +AELcxui6C7fchc20xaUDhArZVi2+M+t5Vl+mDZVK+7kpTWpHhtUQ3fp0gVku2bI ITTIbTKuH2q8wjnakWRTGdYW2JB/b8CkLKLukkh93mI1OtumibZUGjRidMFbcYFn 9w8iFjcnyZHeSP7NisuhZP+zpA4FF/4NStGhjHMsX7gaV6Bk9qaFYjSVt5dOB6Yf aRwGUV6Ucch6dNLjde2lEDc3o4R0RVx4kntMHz8d7IgzfUPgQZVMBvUKX/pf5KJG CRIXgEVMWuViiShEtpVvvg== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4cvy9rsau2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Mar 2026 01:37:24 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 62G0KDMm017804; Mon, 16 Mar 2026 01:37:24 GMT Received: from cy7pr03cu001.outbound.protection.outlook.com (mail-westcentralusazon11010031.outbound.protection.outlook.com [40.93.198.31]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4cvx4jgqcy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Mar 2026 01:37:24 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=x3VDWYFL0Oc3qez3G5Jy1WPXMTKjXlPmdb6NUWu8DHM/llJ8n6Ta56zOLZS9mSFLN7ShgVzo0HP8fxgQLc78+oYv62bfU4Us7wBdubVrxWr0CZfrE//hYcVjAQs7v6l13dZpCst0Gv/fqjoCpOLe0cZbhKNjlcVFmVzkXbaO5zQkkgIEJ3bnf3j7I5/1sQYdPkCnJpKrLywttIXrjYHzHcS8NDTYjGSLQ4NkuAIxLfnYXSLzb4sGYRGPsP44TWuYg7KlwOTwvrvO+Wi3nBSHV4/FtTgxwD+Wb54sfBjOt6RtOs9dfsDqtz5BoaFiEXRL5ePyHuJEhz/sjGN2X8HV3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=4Lg9Ao/NY7+O+dHBfbLTCASHr6xXDLmXSvijPaYixZc=; b=P9obF+R5r2e99DwYWerWNiC2fcEmL6hnigQcFT58w+Emc0ZPnEX/zmKpQiin5oltNvHzfw3offnD3n1HbvVW78bE+tU0+U8idlWi/PhOkeSPTR51qFQ4L2m970mHiKtJ2bXgds0pyy1lUSVjUmLJ8zKQIoLUFJGS4yOqhMSvwJEGQjQbN5bVsaX7PeoijfSr/ki4Bwbq4juRSDx2SDSF+TlnRKB+ZHnHmZC4syFjfA5qYPpCVcw7DWoReqbqqBkHEC7eiYPc3LGQUldqFTTxYaMhn7FDHoULyWufTzfy7lVFvlSb1ioKZg059nazZDRIs3Prd3prvRFGq07uuw30fw== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4Lg9Ao/NY7+O+dHBfbLTCASHr6xXDLmXSvijPaYixZc=; b=H0MP34CM2NX4qr2VM1d36WGNENbXEd5F1DBK73p/CTWUfzz2qynTK9eiLmEntAtd0KL3zjHEkh5qmUuL0O29pr5QCF671hsFN8BiJhncVlp/TfyfariYrSx2NrshU99aCk3+52NolexH2qvZRDYX6NfsgS4+TTsgMA34JvKN5FE= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by SA2PR10MB4571.namprd10.prod.outlook.com (2603:10b6:806:11d::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.24; Mon, 16 Mar 2026 01:37:20 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574%6]) with mapi id 15.20.9700.022; Mon, 16 Mar 2026 01:37:18 +0000 From: Ankur Arora To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, bpf@vger.kernel.org Cc: arnd@arndb.de, catalin.marinas@arm.com, will@kernel.org, peterz@infradead.org, akpm@linux-foundation.org, mark.rutland@arm.com, harisokn@amazon.com, cl@gentwo.org, ast@kernel.org, rafael@kernel.org, daniel.lezcano@linaro.org, memxor@gmail.com, zhenglifeng1@huawei.com, xueshuai@linux.alibaba.com, rdunlap@infradead.org, david.laight.linux@gmail.com, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, Ankur Arora , Ingo Molnar Subject: [PATCH v10 11/12] sched: add need-resched timed wait interface Date: Sun, 15 Mar 2026 18:36:50 -0700 Message-Id: <20260316013651.3225328-12-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260316013651.3225328-1-ankur.a.arora@oracle.com> References: <20260316013651.3225328-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR03CA0189.namprd03.prod.outlook.com (2603:10b6:303:b8::14) To CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR10MB5409:EE_|SA2PR10MB4571:EE_ X-MS-Office365-Filtering-Correlation-Id: b149e4c6-1090-4bfe-4297-08de82fc8f64 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|1800799024|376014|18002099003|56012099003|22082099003; X-Microsoft-Antispam-Message-Info: Am5mmGvhWh45iWcsDRG3cHhhzsc2MkNYIHiihPx042rBl9PZ+GdnITSUgutG2VR/WsP97TJiDs0Fj/H830dsO241Z/VMJ9PL+w6MiKzhcLsviWNPCsuNar5J9zZ2ipxZChJuNkqyeFOzYNRRy7v19Ar8R1lj8nzXBLYg24jXxs5DQ7iuWuLCObjjPUMpzM+FfHwK6fsSf52LbrStiVZEj/kLF5Uu/tapVOSjFsypTvC+rj4F0tQven1QrTOXZUc+930fwF8s8jKcEhgSiBS1gSh7OGOgBRSpwV+llDhfW3bz4AmoFDq54BzyHylOMRXX27ncykbjLTuitD998yJTDumH0Q0dWniq/K8XjH0TRlKjIiuMVQgPhJAe+JcS7RPZMS/ib+YnSV4I8VG5z9gE2CPG2TvTwc73YaVdf03+gFnV1axBt7wWCoPx+IjNSYImftLYaDI1SlhmYztvwGoab7LL06Y63k/mZe5NV1VnAsnnFOfVV///1ZSODsPZZ0omhGJYewQ48pa/fAWlCrJFgmp+ADuh/HIEgpXfJ520GPg8LFylUtCmjSgc3pllz/3mqbJDaNNZe6lg1lx/hkyk6bqCBLorrh1g000rmatjNXpTEIxwiY3/WgcvCSkjrYOEJ48kv3qhI7h/kiHSQjCWHTk0yZYXuE7wtWtpwFetsC/1BquA6GPdCC4Z9rwQpjzO4dJl9kEL8c/OfwWUT8KTIvxBQOge1fMfq9FdQL6UJHQ= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(1800799024)(376014)(18002099003)(56012099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?oLekOY6x3HP24jhW4ykESi64NtDW+oHZwOzWkqch/D+DRfA3W6tOaYwBW9x5?= =?us-ascii?Q?M6bAiiSVM5dCyBbIuCAl68tv6OlBKe7BeYJaR881WajRyUTwmYidjaKo2ZKV?= =?us-ascii?Q?giNFcy8NTYrpblQlvFtcQcLG7rIuVh9PACBhm2dtf5SM2jyV0YWxKLrLZ4uZ?= =?us-ascii?Q?7AsykRuucT2nHKg2K4ELKhHMu6PwuttIcoRNs64ZgJNvUY8Y4jn21zwc/rH5?= =?us-ascii?Q?n8cegOa7d42hqr5mqIbaQtW7RgY/zcFyu7beqMGyDzEhPKGLPXx4ihjIzMId?= =?us-ascii?Q?h5l2a68NVvXN9ruq8M90PqOhtLpvURLLxd3C8UHRJeOB6OcAt+OPhFK1JmGK?= =?us-ascii?Q?P95lIagbh5DeHeMjIMqxnpsoQ61ctQ28hRqiLTMBEu2jRxqJTvTmOl2sQ6V+?= =?us-ascii?Q?qs7iwmI2XcZ9OvWnSkZWmAemIaoe0bHG3kO50la180n5lNhamyLIVva/kyz6?= =?us-ascii?Q?iTUtWhos6SLgR0k5KB29C+aLCKSjG41gIvEq24hd1/KEXwhpXoWrozkW5tB2?= =?us-ascii?Q?4wZYW5BtZvzv1Q4iE60SKCkavYK/BPrrGj4XPvuwlDJHO66QW1+chdNtT20J?= =?us-ascii?Q?+qWIXxXBAyOy0toGXCo5Zo2mfs4sDcF3/7tSOfsnknxR8LM6zOlm302e6yJZ?= =?us-ascii?Q?YDmPeL4AfLC6vUxhPsMl7IwJZUYsAq/BMrqbsHKRwItB3eSh01Zb9O5oTA/x?= =?us-ascii?Q?nbkO3oFsG0EOlwIkg2e4AscsGSVOFjBYK+LnuJk0cnHU2VlvWgQrx6Bn4+04?= =?us-ascii?Q?fPVbfM296npQL2jdCUkzz256BWQQw2MBhzCv1ae1BkCiEz2VtW1SqP03a2tz?= =?us-ascii?Q?vcBTbF2w8ZNLv+oHjmMZKD+e6L8zQjmUmrNRpxGhjjdaKQ/ZrNEINAn02GJH?= =?us-ascii?Q?Od2+FWODD+b65GoObgGiGVO8drY5r5l/4m4xixWDlqpY/fVUrI/5iqbwp9G9?= =?us-ascii?Q?l/1KnTUe0i/lxg8oKwkqwC5tRz+/wXY3m+ixPPnYO2IjnlCYzmUbsOE4M2X3?= =?us-ascii?Q?SsjhS9BY2xNuyQK92DL75RwiRoYxAcSSI6m9A6aq8eapx3nXB4cMrzaYP9Dk?= =?us-ascii?Q?u7h01+v2XbJFAHf5ShsWdMLtcgyKqb6XB6VTxm20WO1oR3q84K4fNUouQhNn?= =?us-ascii?Q?5A4tYd+H9dERIpXyol1LQvD6xq5pJMVn6MlNdEYCyFTnW2Jqz1sfa7gJlOJq?= =?us-ascii?Q?K+pcPfoKPkKYNoh9290tT/f51Ozqptg0qHSjr7Ur5kNQNozyVpxAYUqJrmGO?= =?us-ascii?Q?4K+6mLLjtcSEPKCgablzkDwY0poT02UERlIBWWpVk+ku0jRCBCnULk+7AH2P?= =?us-ascii?Q?oTOYj89Yvj3OisxrWW6FwUykPrssVXiYaF8u4KK76R6PBOYnqeycEPOqQfvw?= =?us-ascii?Q?qI+5oAoxolHdS4WuSeNKAQapkLYsUzNlEFc2/XK9xWY05AwCipWs5cFHZu++?= =?us-ascii?Q?WlhHuh0NJLhWm7eZaHIQnTEkF06+225qcSU2SjunvNDGoEpLpvMT1cmxCY0j?= =?us-ascii?Q?AlQmocpkangMVlpg88KFdyDR3vlKfvfprc5uzl2DVDZ0BJfzKrxf2SK2CUCf?= =?us-ascii?Q?SZdW+KOQb2kCFcpmQ7SoYz+YUJiAfXpmp5oSBJixutGwbSMn82k/lEqGqjA+?= =?us-ascii?Q?wfsKm6Bjyc79DL6A4dyVolQTtDej33W9W3Zl6XMyMEiv93IwShr4pOJ7hb7X?= =?us-ascii?Q?SQg8fxGehzqJN97ss2bDPL22vGzH1EB0Q54sRwO14d6CCyivpBHM7TKbYiAI?= =?us-ascii?Q?Sc2efv8iu8pJpW5xdvp3UE45hQ6MCNA=3D?= X-Exchange-RoutingPolicyChecked: oHHVzcGHIOTJtxrYmIcdHwPL4DikukelEm43WkdY7rLmk+FghuodH92mkIDOxdE9dHsgEatM45yEGcaXJ8KgQ5QG0mb35+JwWx98oQqipdsCCP8LCQV3+kxaGWjWeiMbIqlAnzESfayg9D1xYIZVlpz9u52MivHyD+a/X1DLk7zXFi4m/ZllSPTwk60mE2z4R6ktTPVe/QrlTS81mJ8Hcqm/ZA6PEwkBWWUePcWhgu/c0T9WymQaiNCwAnupXPCCCuwRoKSvmH1kNgYNJAowjtelLSYeAL4yt7hP/Zhb8rmsCGkvZ+V9xLjDrLsv6W9uNQFRo0uzmK1BPoONn4om1Q== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: b2LT+iAnviBrwNPs+lRNwSZy527TRQsHRA+Uhk261FPK5DPYJ+egqspHjbTbf/YjrKqCHsyZIJ8AsN5h7Pl01EMjAxLsn+tQGLcrcEpC2FXR8K7tO87IjlMFGJgbdpKeQpR+Yj+I9WrpvBhaDt1lomfDStQLzJC1Bpcna4RR59ZlJHpebdExgmlGha1TRXsJUEyWmiPhP36yAC1Zh3e50bffU/d1JOxsHwmFEsGDp3pULVOWXJ8qSuOr0k3pemdzn140vHM6IPZ0a8XU0kAZcQKcVUVr1VQcGy/4ekZCKipTjxhnCqR5vw/MLBgpB+7Y83iSUqHE7w5fG4QMBCkylV1ZnjSzUaZ5m0JjesS5PeNXccOnMybQ15TgcpYb6BtBYXT6azw5nRZOnr5upmNwTrN83eX3FGhg1V6C/zSFct2kCATF0y/QWwf7WP5AwrbTQbrxaGl/UFYNdID14KC+xFMCehvL/JyBUR77fkGK2OIZrUPLhn6UDTC2xVSb3CPWij2QDYEwTtPKMirVf+zUbkZfDvuXg1wyuQDwFKUXUVQvwPh6FbQmdCLRjyEXcgoa8UJYJ61MtlbvHBKBFBkwK+0IEH3Xgb0CgBOt88VzXyg= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: b149e4c6-1090-4bfe-4297-08de82fc8f64 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2026 01:37:18.3984 (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: D+cvLRM3COToVxbvyio4BXjwiKY5beqQ3GBy5eUAPuXKmDfpMco+eJ5udtWa60uyiZAjH7+t58UxgrfDQ3PZlj+h7kNgwUXeHkM+f0QVWeo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR10MB4571 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-16_01,2026-03-13_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 adultscore=0 suspectscore=0 bulkscore=0 spamscore=0 phishscore=0 mlxlogscore=999 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2603050001 definitions=main-2603160010 X-Authority-Analysis: v=2.4 cv=X5Vf6WTe c=1 sm=1 tr=0 ts=69b75ed4 b=1 cx=c_pps a=qoll8+KPOyaMroiJ2sR5sw==:117 a=qoll8+KPOyaMroiJ2sR5sw==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=Yq5XynenixoA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22 a=3I1J8UUJPc9JN9BFgKH3:22 a=VwQbUJbxAAAA:8 a=JfrnYn6hAAAA:8 a=KKAkSRfTAAAA:8 a=yPCof4ZbAAAA:8 a=DC2jtUcBNbVnd9lHvZoA:9 a=1CNFftbPRP8L7MoqJWF3:22 a=cvBusfyB2V15izCimMoJ:22 cc=ntf awl=host:12272 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE2MDAxMSBTYWx0ZWRfXy9L3RVi+AcP6 EOLPgPgK4k/pgagvlTcBD/Hdz/MVpszUuBAFSdjZPfNCvu0YQFA79hgcUBfJ3KS9+OnhBJ0gyxy aQTNzahCLXGvSxuMLdmSa2lvSLcdlxhGX2/mQFIoeHFHXCJ6m5dKxwLpBjTwzisYwfe9c2DegTB z/KtwPHrbB62i4qeFb/or3fFOU8ORWFZnCOfXUP4+Y/eyEvnDdVCxtEXdjuJuYZj+6m1sMU3wmF fuuKFCGXgyt2EnK3XmDbmTD8Jky16CiwPReHR0sEjcgjUHJ4ICf+3UwjUP1a3jUYX3vDAqQA8vo crwtXds/8XgUJiZnRo5qMi9jXIrugq3TgnLBQLt+vF55LAi9zXrgd/M5uwGGBBeWC0+7nlveugO 56FVLpbU4fwUGic4PI3P7N4RIyc3MqsqHji6C5jQdo9ucQx1KhWdD0leMRYBOiwC6OCuPmIWRlV QQrXGeri+Jnd3AegMyKlrDhpWsg9w6AZfQw8Yyv8= X-Proofpoint-GUID: MNjpX8SUywGX4qhusJGVruzugGNojQrC X-Proofpoint-ORIG-GUID: MNjpX8SUywGX4qhusJGVruzugGNojQrC Content-Type: text/plain; charset="utf-8" Add tif_bitset_relaxed_wait() (and tif_need_resched_relaxed_wait() which wraps it) which takes the thread_info bit and timeout duration as parameters and waits until the bit is set or for the expiration of the timeout. The wait is implemented via smp_cond_load_relaxed_timeout(). smp_cond_load_relaxed_timeout() essentially provides the pattern used in poll_idle() where we spin in a loop waiting for the flag to change until a timeout occurs. tif_need_resched_relaxed_wait() allows us to abstract out the internals of waiting, scheduler specific details etc. Placed in linux/sched/idle.h instead of linux/thread_info.h to work around recursive include hell. Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Rafael J. Wysocki Cc: Daniel Lezcano Cc: linux-pm@vger.kernel.org Signed-off-by: Ankur Arora --- include/linux/sched/idle.h | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/include/linux/sched/idle.h b/include/linux/sched/idle.h index 8465ff1f20d1..ddee9b019895 100644 --- a/include/linux/sched/idle.h +++ b/include/linux/sched/idle.h @@ -3,6 +3,7 @@ #define _LINUX_SCHED_IDLE_H =20 #include +#include =20 enum cpu_idle_type { __CPU_NOT_IDLE =3D 0, @@ -113,4 +114,32 @@ static __always_inline void current_clr_polling(void) } #endif =20 +/* + * Caller needs to make sure that the thread context cannot be preempted + * or migrated, so current_thread_info() cannot change from under us. + * + * This also allows us to safely stay in the local_clock domain. + */ +static __always_inline bool tif_bitset_relaxed_wait(int tif, u64 timeout_n= s) +{ + unsigned long flags; + + flags =3D smp_cond_load_relaxed_timeout(¤t_thread_info()->flags, + (VAL & BIT(tif)), + local_clock_noinstr(), + timeout_ns); + return flags & BIT(tif); +} + +/** + * tif_need_resched_relaxed_wait() - Wait for need-resched being set + * with no ordering guarantees until a timeout expires. + * + * @timeout_ns: timeout value. + */ +static __always_inline bool tif_need_resched_relaxed_wait(u64 timeout_ns) +{ + return tif_bitset_relaxed_wait(TIF_NEED_RESCHED, timeout_ns); +} + #endif /* _LINUX_SCHED_IDLE_H */ --=20 2.31.1 From nobody Thu Apr 2 09:30:13 2026 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 96F4F285CAA; Mon, 16 Mar 2026 01:37:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773625075; cv=fail; b=BPdxEw+7x0IOILeusbb3iKGL/IYMk4thr2EKPT6qsI4bRgtda1I/YQH5dOsbR5K3bpLdjW0GWBO8l+14SSb+JriBEBxjEZYnQrGZNw20ZRZX8uo4V95ad8LWQncpM8Lv9nAj2QQfSlOh9odYcc2tvRGY9Kersh/7EpzWlO42Z2g= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773625075; c=relaxed/simple; bh=Ma3+LLvRNlnb9rpI/GexQynajwIoSrQH8Zz5qEdytqE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=pKZqrfaTj4Y4daQLH6n3qE0kNpMD5Mfy0T4gIem4csSEzniCKtyFhEZfm74CFiEgYZiuUBScL/DCErOgAwIMPDKOY+k1ihXmBueXpnZDTAw/hcEQ4vKQ8p7kcOQCpAzBZCZpOgvjTCtERYzpWDBhnVpOl7AOeZkfcnXmPiL03lk= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=aF44jZTp; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=dhbZj415; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="aF44jZTp"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="dhbZj415" Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62G0d4UN2998684; Mon, 16 Mar 2026 01:37:27 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=JL5DIg/fCw9vB94OcC1DQAGQTB4WeTAPUwqJ5Tkeiqc=; b= aF44jZTpEmyDH6s4XF449WInul9OF1xSwIx136/j3NRXYa8SGlH77vcNRsbVk4cq 3I3hNJUl+sgwq+4p4Op+p+AvjvnzHXhco+iISLn823xTNVNRe93IyrKVV85hHpkd eUAEkKNO+G6Y36ISrjweTCs/HpU8hOMnxvxAQ2ubOvRBKrhhVpromCdjaYy9T4T+ V/97xXGNu89k60YnxQmMye6yOofRf5W4czUaQQN47/uN8V5u8TB4csC02NGZLEYV shh5xZV4jBlGXX6WZ9VuIiKtNgFM28KXpD1oa02JAvJ0dYM4f73f1CvzapJbD4/l PTeWjJiiP6qOWbGX6mlEVw== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4cvyqbsb1v-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Mar 2026 01:37:27 +0000 (GMT) Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 62FM0Fjh014043; Mon, 16 Mar 2026 01:37:26 GMT Received: from cy7pr03cu001.outbound.protection.outlook.com (mail-westcentralusazon11010069.outbound.protection.outlook.com [40.93.198.69]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4cvx4802ph-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Mar 2026 01:37:26 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=D9nsItvHvoRWDAHrZxMlYxIQKDpud6Bjpwjiqd92s0fHfKnrAOX60RhuZwuJGHf5iQ23GrZPD1p+sXYeXB5yGjJdMDvloSZco7EdMMTBuadTRF2IUxHixzNNVvG1nFu8reTCSRB2ZPR78BHhnm8q0BsntwQSn4rgQ/y0XR2FGWgyNF6UsnLr6kPFU/uGp2VBFQfCL1edbWQcNpSQen45gDJzp46FjnVrHa4O5W1bNwL+vxGV/GZOLDC0qjx1YwKBorxb6uXUhWWJnETIgfrlq/I9Qqrjp9fAJZMJphk4bt5ITHKj9YE8sDz89Slebw9MMl0vqY9irqbYisMnM6ITfQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=JL5DIg/fCw9vB94OcC1DQAGQTB4WeTAPUwqJ5Tkeiqc=; b=gaYKp4Tkx3gkdifO69PQsIcaNIohJRPi1evteSoSa12LC8JlCYrZCMBYiVVcCZ5RJixy6FBTx0ASlG3RW5FfpXknRQTz5tjp1PpmOJJGcvwEt8uo9ep+f4sRfrACBzzdkJ0nilXwY3LpOSrZ2OqbhRzzpi7EnOJ7l/NuIrPDrkWyrsACAulhpyVl8pa627lBldqS+OcQgXtfj1mlQW2E4Fn6PZo7B/21NJxTG0NT9QFpFwMpntYq7Ir4FDc73bRGMMUuhitTVXybjoh2w71BD7UyYrgQ9SvmGkwvMxnBZkBNnHrcalnhtHi3Vjf7TCgQgpY0ycAEMsJRm2S4Qk/2Yg== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JL5DIg/fCw9vB94OcC1DQAGQTB4WeTAPUwqJ5Tkeiqc=; b=dhbZj415e3HFCceV/bjMA9m4ttExkpg4yzj+fYkc1Pi/Ng8cFeQvzlpMDk4GqGWkQ2Z36BMSbDtZeSLedJP6mgPtnCNhTcLVczuaTjhfXMDuDSDtlK99zSUGjzctCTL72jpJVPn4oyZHGkYblE584SomL4TUeRq+ifb400nrWbw= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by SA2PR10MB4571.namprd10.prod.outlook.com (2603:10b6:806:11d::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.24; Mon, 16 Mar 2026 01:37:23 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574%6]) with mapi id 15.20.9700.022; Mon, 16 Mar 2026 01:37:23 +0000 From: Ankur Arora To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, bpf@vger.kernel.org Cc: arnd@arndb.de, catalin.marinas@arm.com, will@kernel.org, peterz@infradead.org, akpm@linux-foundation.org, mark.rutland@arm.com, harisokn@amazon.com, cl@gentwo.org, ast@kernel.org, rafael@kernel.org, daniel.lezcano@linaro.org, memxor@gmail.com, zhenglifeng1@huawei.com, xueshuai@linux.alibaba.com, rdunlap@infradead.org, david.laight.linux@gmail.com, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, Ankur Arora Subject: [PATCH v10 12/12] cpuidle/poll_state: Wait for need-resched via tif_need_resched_relaxed_wait() Date: Sun, 15 Mar 2026 18:36:51 -0700 Message-Id: <20260316013651.3225328-13-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260316013651.3225328-1-ankur.a.arora@oracle.com> References: <20260316013651.3225328-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR03CA0187.namprd03.prod.outlook.com (2603:10b6:303:b8::12) To CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR10MB5409:EE_|SA2PR10MB4571:EE_ X-MS-Office365-Filtering-Correlation-Id: 2963861a-b182-4a8a-72f2-08de82fc9215 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|1800799024|376014|18002099003|56012099003|22082099003; X-Microsoft-Antispam-Message-Info: YDKQgJtFDZFv4sQL/AWbevtzdxUa5MjAOSXX/qWwNJc3cVQO36Rdc9c2jLN7eVmuXpyUxPnCoknqOWrRmnwZx8DwfPtM436F/GPgt1mm+zohZsL4mmp6R1aVBOSTaLVqdno/LQgHEvuXyTXueLTuAnUPmPaRMl/r6W/xo1chJ/uEBkWg7kMrQYVegooM9zsGOPgGbsyvQieHHn61rBpQEu739TigaKpP0NwcVX2VOmvLGR6UmfFtZlNJw+sdvtBEdTNi6YSI5Iz5ZN0jbsfELBmvNey9VrzPrhKx5TVySrpX7cpbWW5aytVB7wNhepWq4gaGQkIaigDchn0V5Bd3R38Jts+tR3A7hmo8KoC436GF12MhGw/JnbBd9ECFB4cRQbfPWXfEwS0nJmhoCQqmDqR7POEajerTylxEVEiEWtNS6+QtuLUrIXSRkLsVCpfCoRN52V80t9M0jnMp7KXustG2BQV0Yai9gQT9xq7Z7SC9togx7ik0l4JJlVKNwHM25S131RKM5vVEtxIuy1b/a1jd5flZJHHRZtvYSE8oGAGsYwGhc8Hb6WA1CAQecr/sFlz7/aH3aoTjzh682xLYOT9ubNMG8+XtbFY7DOLXcQu09FcVfiJ5Faclsg3Og2pGRCvgsS3bkHr+MCHOue/AVVv2Q61H3IhUHLFWhAFGkfblnHdwRaag5rWVMXql/cPnnU5EScq6w8YLaIpiaBa7hqCAANjPixYkzQycerdHiac= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(1800799024)(376014)(18002099003)(56012099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Sy6ReswyNe/bFXCtkfsUYsGA+5H3+3flowyjGWqQD1MfzE7TIceFkDqwmyx5?= =?us-ascii?Q?91eMMUNIiGbLntzWcwayMwz9oEiKCk89EmOER+XhUyC9uonB1Dk7e8MfmFgu?= =?us-ascii?Q?E/AuD+qei47vrtsPcCp3QECoNmtu4ViMf8P8GODAQHFlvfTo9I34/y7KmUy1?= =?us-ascii?Q?2wfa1+jwSIUdfPOdsebVdy9XMe8WpMamPkCuf7vdgsL/PjldvsokClPlMVoe?= =?us-ascii?Q?HrkiuNR8wdbQZGYwEh5f3rlKtfLAf2Nz56tTQJFKprSZwmgDdeQMZ2XEI+Tv?= =?us-ascii?Q?B3XK1XNsY4OcSvWKgXNPhgJMvasacIsSI6a+BTULzMatTgUaAvlBosvdK5wP?= =?us-ascii?Q?l5IiZWTPcnhaEkzhKGUZiIohAVJAWFE/udpO24BIRr1YmvxRXiijD/g/RePq?= =?us-ascii?Q?0Sq1ESg0GfpXORK6S/sA8bEIAR7PbiWcLWsu1Ps7P6akiVkpU7cWFVtNH1bY?= =?us-ascii?Q?AZlHsXNQ2SSBfBL3qhexD6p1QL+og5W+9qlTPwx7V4xdkd81Ich0v8oniVp2?= =?us-ascii?Q?AFAyBSzUyk7rkB/Ngrwc1zUPqVECveSFZaV+MH0Zcg7N9NURItLwkSBCCTeO?= =?us-ascii?Q?GrM0RPxMfv4MwhOOuVwkYzBuk9OGsZ5gH3QKdu6Qsr4UurKhroRkyv6oTaCO?= =?us-ascii?Q?yq9m3gCqgFyC3d9xyOgTOpFk/ZJurTOWw+kRtnTGjlLZhls9p4tdwl18VECP?= =?us-ascii?Q?GJDJbrb5xXTUSegeL1F/VfFL6K1Si3WoCxWpXteCjL1e5VSWF130L9ll31PM?= =?us-ascii?Q?YGa3dy4bKHuiS84gG4H5h0LVH707fN0a+Gt/jbfplxsMyX6Mq6d1//0g+Ty/?= =?us-ascii?Q?UFSU2IwuHXB36k8a6Afnj2jAkyVd8auaXq24PHOdapg1aKxy7/TLid9z6wLO?= =?us-ascii?Q?yZJs0H3M69xBed8Hi9XQ3uU4RXr8gWL8NgD81zoIXuEnBRNoHVChfO+90Po1?= =?us-ascii?Q?edKIsoHB7ZeGc4AsrnWIt7s0npkVsgGWxdJ4IA37imiU/7r7FzIfUYh5+ve7?= =?us-ascii?Q?QXp7hJbh24H9iFkVdC+LYxHJDyY1lUFIdAojKTZM373lakj+xqcjWVCBUCY4?= =?us-ascii?Q?5DMI/lDDQbFv0wV86NwqlBSI1NsBmusQf/OeY3xaNVZqqavbMgKqYKsKtAH/?= =?us-ascii?Q?Ps7ApiVFmivRhNnZEOemgy94nvUvfevGRnWX3whaE2RfU0fcZEszTq+iXc0j?= =?us-ascii?Q?xx3QoGgWHzPwae6JRxpYq8NLElTk32/JO0k00qJFh7Q4LnkNEiYYt9S7VdX0?= =?us-ascii?Q?u78cnBaSlpJblXVLmcYhheV51FuQ8gYOxOxdiiPEw333FteP16WepKnUqRjz?= =?us-ascii?Q?s+Ll0btXUfvGFriQhi7/LEqeaMlwCpurtcVYvZfc5HljgesaX6thHRpoFEvX?= =?us-ascii?Q?6UXfYhWEVJIMtvLhFBoUqP55D/MRK74lDKRTYrvb+RIvym7FGmPTNN4rgW4B?= =?us-ascii?Q?HUDb8ECsyWFbKmaqF7XiNk3/hT+P3iYuDlNRGSwiButxJAWemig2hEZzUPTj?= =?us-ascii?Q?wE5E2nyTwNO7i4zz8Dt7gs2EfsnvNOHkUlgwqsXnyxeeomFv5SF0CWC3KHny?= =?us-ascii?Q?KXaoPA+jzuae0UpRNZG6tY98L6nrKJFOe0CRmSs240ubGANK8x7AhmbAjNcw?= =?us-ascii?Q?0RXK1XbKIC2r1tl6fig4T0w+2OtiIxYfL74c5BmPK17pomO8FDowWb0HrvwA?= =?us-ascii?Q?0PDzG/+yBTUwoaTri1R3CaEzhGL6W65Z35ln5ufqwS9eZcu1lr3O26Tn7hKI?= =?us-ascii?Q?LyZpX6DQxl9Nh0816QxRpXvJn2kj5ps=3D?= X-Exchange-RoutingPolicyChecked: rv4BAPU7fyKyJVUaWdrtIvYZS9qUnNyhJTf/D3BSmxIsbqMXuLmp3oqN+0tNnJrIA5nhSQdi+YfXkvYq293yX0Se8ntTcbAvC6vDLsPB5or1ZXEBqQhwktQw5QYmmcDNQe1CHunANdzCl8O00XoYBLLrR2DmJ8h2WNo7pBiLfTJJ2KKrbuw/XSLKmdowqqnTFYTEok//uS0CFLJUe7v9cz0Fj7+Ofodq9FTTufpMZY69f6Y4enw/w/+Dydf4jSUUdeT5reWgwkBMRX81ju8wiYbdiLIK7T5+fXuAHk3ERB6xYarAM2RPynpHVVi9ipBN977OYKe7x8LE9rfY3E/qoA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 5agshfjlk1UZkTfZPZP4Aj1Uck0V97o+xBXF4tGfd9+lcLtk6mLNI81Fi4+iriedusNjdKZaxCTMxzVcW+qVOZf3UW0ACzpjzv+WCp9+JBYR8AZ0Ks0XORNk1vNHkluW1vf9W1hCWJc7VpZxBrzc7o5T2XyV9mmXEFHED1G69DCYoGoqQCJalL+W0J/o4FaWu/jMql5GU5X8sBBzOlpUJybamLVfQusqP/CknKJSmdRGWw6T6kzu8D4leri0Gc7yXzrEinPNFkiXCD+1Sc2Fp9doIzQWoW5JP1v7ojRJvLyBJ6iKxPnT1Rv3UwlnRY6Uy01T60ZYnHvsqhsarxVT4OCYfkAL0JB6sOmEIunOyGtm98JpInbLGucAhLNAB5Cz8sjeajhiQhZFSn9GAtsoSaumN5AmsDrnll0scaIvFObDPgAJfyjx6CVF0wFrFGn3N+sPiRow6T9cbnkQqoSzO/5PwdpjchTISDRAgMXSoAGTYd+WQtlt3lIyqLSEadV86kSnSQ88sL1agLmC5Ix9DpfsV3mAjrK+DNF7PMa4E2BqWyIhyLFieN77V+LcaxT1n0heohJuiTlf3lDt88Ex0FTUXDtxkO3FaKhSoV/lo38= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2963861a-b182-4a8a-72f2-08de82fc9215 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2026 01:37:22.9882 (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: w4KdUAAF8LuTEbV4KfMGimHSSMCWKSwL0yqRk93ObC7Fa5sB+mp4LUBE/8agfUgwLsgd+yy4mDpGHW9ExYnYJViu0zS5Ccq+Kvvbc0s0fcA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR10MB4571 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-16_01,2026-03-13_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 adultscore=0 bulkscore=0 phishscore=0 mlxscore=0 mlxlogscore=999 malwarescore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2603050001 definitions=main-2603160010 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE2MDAxMSBTYWx0ZWRfXxg1Ukh338bDn 9D56BsoQ9Dn+IgZa8TWhk5WPHm4LLOCGCy5L0e9jWRxQk974XlgaNexdPRKQy0b0xx4gFj7jYqG cvYVI0BcpErx7H+74ZyoNluosT9ocr7xcAQmQrPHPEreIjv21A07c2PrxmnQVkKk8Ev1FDQvOf8 gcBSVvEfA7HlI+JypPKrdA+PLZ9exl0uR63uv/9Gn8F6FmcxkMTRJZcTJeQjJ/hFk9aqkhtDCoj NHQLsS0j7Rqk4G3Cec5rQYzM7iDQ6uYrecu4uitLdpq3ublMzBCwJn61XQ99X3nRI5lIwKRxU1t xYdUYzzz0M4hkbtoPFMMCEBQ6TIz+g/d30QUc5UwsXIOTJDgQ69uYM+WyYquwW4h3NcJk8kbHgT YRCghnZkqS7hDwEP5UZ5WvsKJuRiMTuGQ/vBFMsi+kgRs18MIETwne083MkBnIqZ0OUuASJz+eJ YU4baoE3lVjh8KpF+Xw== X-Authority-Analysis: v=2.4 cv=J8WnLQnS c=1 sm=1 tr=0 ts=69b75ed7 cx=c_pps a=OOZaFjgC48PWsiFpTAqLcw==:117 a=OOZaFjgC48PWsiFpTAqLcw==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=Yq5XynenixoA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22 a=BqU2WV_vvsyTyxaotp0D:22 a=VwQbUJbxAAAA:8 a=KKAkSRfTAAAA:8 a=yPCof4ZbAAAA:8 a=7gr8-LgUhGOHEYCj_R8A:9 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: e0Z97X9KEAjfQWDz4rS9d9M419EKDKy9 X-Proofpoint-ORIG-GUID: e0Z97X9KEAjfQWDz4rS9d9M419EKDKy9 Content-Type: text/plain; charset="utf-8" The inner loop in poll_idle() polls over the thread_info flags, waiting to see if the thread has TIF_NEED_RESCHED set. The loop exits once the condition is met, or if the poll time limit has been exceeded. To minimize the number of instructions executed in each iteration, the time check is rate-limited. In addition, each loop iteration executes cpu_relax() which on certain platforms provides a hint to the pipeline that the loop busy-waits, allowing the processor to reduce power consumption. Switch over to tif_need_resched_relaxed_wait() instead, since that provides exactly that. However, since we want to minimize power consumption in idle, building of cpuidle/poll_state.c continues to depend on CONFIG_ARCH_HAS_CPU_RELAX as that serves as an indicator that the platform supports an optimized version of tif_need_resched_relaxed_wait() (via smp_cond_load_acquire_timeout()). Cc: Rafael J. Wysocki Cc: Daniel Lezcano Cc: linux-pm@vger.kernel.org Suggested-by: Rafael J. Wysocki Acked-by: Rafael J. Wysocki (Intel) Signed-off-by: Ankur Arora --- drivers/cpuidle/poll_state.c | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/drivers/cpuidle/poll_state.c b/drivers/cpuidle/poll_state.c index c7524e4c522a..7443b3e971ba 100644 --- a/drivers/cpuidle/poll_state.c +++ b/drivers/cpuidle/poll_state.c @@ -6,41 +6,22 @@ #include #include #include -#include -#include #include #include #include =20 -#define POLL_IDLE_RELAX_COUNT 200 - static int __cpuidle poll_idle(struct cpuidle_device *dev, struct cpuidle_driver *drv, int index) { - u64 time_start; - - time_start =3D local_clock_noinstr(); - dev->poll_time_limit =3D false; =20 raw_local_irq_enable(); if (!current_set_polling_and_test()) { - unsigned int loop_count =3D 0; u64 limit; =20 limit =3D cpuidle_poll_time(drv, dev); =20 - while (!need_resched()) { - cpu_relax(); - if (loop_count++ < POLL_IDLE_RELAX_COUNT) - continue; - - loop_count =3D 0; - if (local_clock_noinstr() - time_start > limit) { - dev->poll_time_limit =3D true; - break; - } - } + dev->poll_time_limit =3D !tif_need_resched_relaxed_wait(limit); } raw_local_irq_disable(); =20 --=20 2.31.1