From nobody Mon Feb 9 10:27:33 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 D87702DD5E2; Mon, 9 Feb 2026 02:32:52 +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=1770604373; cv=fail; b=a/DLQgX4l9BtU84xPrOajX6139ZZOH8Bo0wbnXWlOLEjurWNs0OD0MK4o2d4u2iKo2OnXlwj8dhF94/iB39puRUKorO2zY0nBUbwqMfuD8dP7TAX8dIzH8wcfMzlsK30pzDU5chMSBSm9sviR+CygKXEVYGralI1RugHtWfY/j8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770604373; c=relaxed/simple; bh=+UBH97J7IlLDZPVke7D+sQ/Lwqzmw3Tz08qbtYD4C18=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=mm59Wtf5ECOPINgpN3+KqecVdVfI7imGhL2ioJvq8nd1czxTAu6hFn3wZPCImYCpJ7GfS2qYGh0+ZPPEEB2D0moG7mYTmvJiGcYscoGKq6nFDyxYBdLpqABMTZ3OV7fLlbN8InAIBikeab7LnwicSKhUvAAtHNoPeinFXZLhh4s= 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=HCtUvoGf; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=U8wn6K8O; 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="HCtUvoGf"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="U8wn6K8O" Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6190H1iG194061; Mon, 9 Feb 2026 02:31: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=2YyjxmSo+6gVm4Xc1c6CzC0hgCUrQbXj4DxMGwTnzLQ=; b= HCtUvoGfX7gnDqIkp+1D9Nvo6AYoDtLRDjnLJT4L5cTB6Jy+4l9AKfDnxmvystil o+JQBVXGq3wQQBVFSAjwrrjFcyc9zkmgOerL1VSXkUEwCkL2VrasefvgTTlpaKcL LVs05Gti7zfPi/cvurTmJ9RK8Me30IXYl6uOhPsob2VAfvQI9EDeTkSu8fRh2+Jf lx56b3qD4u9xFc1ReSZRPYzUNyW827Ohi4jLd1b8RuYwiZQuhhhC0leMkoX0Lq0r xbBpVk3dLD934OQiLnsz5ha0vJlfr2jpaXcuPuWhcqsK8ePR1P2MXH8SsVeDSUrj lK3WeYWwcy3N5Znt/udfsw== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4c5xhu99mj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 09 Feb 2026 02:31:59 +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 6191gXsI020839; Mon, 9 Feb 2026 02:31:58 GMT Received: from ch1pr05cu001.outbound.protection.outlook.com (mail-northcentralusazon11010067.outbound.protection.outlook.com [52.101.193.67]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4c625g7arp-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 09 Feb 2026 02:31:58 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=BdFDQumXwOAy8pHHmPfHzxhm97H5MRms8X+wN8MMDAkRtnIVoBSEDN4ev86j0Nau3NJpx60/9MvXtcLNJArIz5bKgw2scKbkhRZZ0piRNydvEeU7dBc4hpTkuodCZ70NNmenG55p15Umu/9CIv9nQwjvAkPdj9NY2uGfToPku5dlM2MD8tHR0lFJOWtTNWhBpN7QO80N5Q6BIW1phq1mwAREOaNF7MR5rMgtDzmmhsVcEQDvcHlYWsgAsThIXzTQG9SwFulBvgu2fXiQ+WbHsdZ/lLKGct25h3FGgD+RuMdH4bRNjMxVNBQDXCHkVlaHza05e9JNpCYKb7HTebOfNA== 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=2YyjxmSo+6gVm4Xc1c6CzC0hgCUrQbXj4DxMGwTnzLQ=; b=erAI9XYUScW08HxJ1g52IBspebZ0HVJZMoM71fOUWfuHHMoeRyKBDXvPR7SifoKaimBVrxZX7lwS769TBiYm55Qu5JbJL48qkWXtiLiTFJLjRfA3jhCYvTnT0ZtreaiqwTxFVHyYfjkayrydHqHVxTrG2DIH9wg9I0gxrp7QC/63oNlvN6LVNRKwCQbmq9chSC+qzIGmatIGnx5yHr50OIKB2D97it0GasfMYuJ8Jvl/8hwe5a6rJT29XdqJdYUkKB1jxpFvIqMaby4yLPbwWHocK2sBvWYJrNAt5I9Bk52xGIevbWWpTGruXuuCgr4jgX2XeAXSKS/9HNI1ikQ50A== 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=2YyjxmSo+6gVm4Xc1c6CzC0hgCUrQbXj4DxMGwTnzLQ=; b=U8wn6K8OXavuU24Zc5BvgravGgxKSicQmEKAdNL8Iztcog/2jIBV9mOObUDpWd9Iz2ChstbreIcNu47ldyFdq4QCqj7hIyvzg6o3VO1wjX1iE1zWipIhJLI3NPy5RHOAsGmbxPRE/N8CvS4GUElH3Fa7zq7qw1mCiBC5QDTztOo= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by DS0PR10MB997601.namprd10.prod.outlook.com (2603:10b6:8:314::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9587.18; Mon, 9 Feb 2026 02:31: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%4]) with mapi id 15.20.9587.017; Mon, 9 Feb 2026 02:31:56 +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, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, Ankur Arora Subject: [PATCH v9 01/12] asm-generic: barrier: Add smp_cond_load_relaxed_timeout() Date: Sun, 8 Feb 2026 18:31:42 -0800 Message-Id: <20260209023153.2661784-2-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260209023153.2661784-1-ankur.a.arora@oracle.com> References: <20260209023153.2661784-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR03CA0178.namprd03.prod.outlook.com (2603:10b6:303:8d::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_|DS0PR10MB997601:EE_ X-MS-Office365-Filtering-Correlation-Id: f9127201-dda5-43ee-a5bf-08de678364b2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|7416014|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?56pLfn+vROLdZvPD4dQT7kL0m86SlXhrJL+NUrQUfCe8EBRq5Eykq36JA33K?= =?us-ascii?Q?f6M/dOlQX0b3nd3t4d2NXTqVg3Gy38ztpUytX4JP+DU5SmbldeoEYu33DpJ5?= =?us-ascii?Q?2Ni59tUdwFqYUKKNFLCv2nyldbeprvU2WgiZLdCE1UovNTP7wNEdnRkeocps?= =?us-ascii?Q?dSICjniYYqJfF4iGTEPAJzgd1Pv8eLeqXTyP8NmsrJcVuMlWQN4vmD1H4cZb?= =?us-ascii?Q?WP5Qsj93LXB+etWMjAtAAGiXHzmML8b754RofLeqvKsWvx0nI8jvNAIoPTEE?= =?us-ascii?Q?keyF1z/RwulRMDDublb2A7t6ZC6c2zk9HnCyV/JCn1NXaSicRYE4PSfvB0yz?= =?us-ascii?Q?DstwrfYvddFz6tYQSZ0wu5xZnqK9uQgcDlZClKwE5KW8x2oruDokc7UZ42AD?= =?us-ascii?Q?ZpwqsAptRDJq/GA4VV/qHM+4054pYPDMYkaM9ces34vZ6Kncz/vZm/IEijaP?= =?us-ascii?Q?OAe1ZdoeXbdGlhLZhmVBReGLrkTNflarvoUvoD4MPA1sQm1XDmSzNiW94PAQ?= =?us-ascii?Q?1Lzjkn30FytgbHsz9OpEFffXWYdUk/wDCyMPXQ6CakNRhIDvyc24ylG7k3r3?= =?us-ascii?Q?k54/EqWdKiC0OX15ROWrlw8XQePMfLHy2UfqBrCU9yNhP4LqZzHMoigP7H7V?= =?us-ascii?Q?+oIcEU2jm+NRCsNV9Z2K1TJ6QDS2VFAx2aGhgJSUc+EYUD6beDjOkQTmfBTx?= =?us-ascii?Q?SyLlW9FRUfkRCwKEoG4MPGlEyP2sh1GQmumBfMysFHFQdQcf/rHEofrtLmk0?= =?us-ascii?Q?nxG+hZ2kAvl9KlhdLD4d3fPqw5bct6w7wwYGdxfwbUpThbrzAfZincbcPu11?= =?us-ascii?Q?UODIqKZKMavdrsgcX2hSOOuCMsCGtmnKWYbV8pTKS2wbvn83BhJvFPal6d2y?= =?us-ascii?Q?7bIHSpBeNIL+BsA8A7wp/eafwH5rZQR9mtAATV0sbyDxACZyLby5lQywGL/T?= =?us-ascii?Q?++hfVDPdw+H64ycdBaZfOeBdxtWcm3BQ/me/5eLZA7FtlHu41WE4PjJdQJvl?= =?us-ascii?Q?S4Eu4vQbINi+kFwhbmdUSTeRVulWXgnzC2mVqOku+3ec0m/p7BJC2B0faxMb?= =?us-ascii?Q?/e+Dp+q7nu5oQis5h4jZ4TeCLclTtUUMID5AiNyacjMVfy2DZGsyE+B6iz8k?= =?us-ascii?Q?1rpkvMXQAmHx0ndjqFy91MR6rIf0gHJ0A4/Bp6WMj8fW2rNLCUfuPeTiCh3G?= =?us-ascii?Q?ro8oy7RIVeDKYTihYfj/2VDDW+55btGge/r83dcBKtJdta10QgyA9rCOn4+V?= =?us-ascii?Q?Zk/EGMJIvkkg5afku/uYwAx47ijH4A3ZcA1u68+aKN0YJj+83LPeN11eqdRy?= =?us-ascii?Q?CcmkAzeCogsWQpS0IgGgrWYGRbbhB28itGzMF68rROl095brp8G54hDc1RSh?= =?us-ascii?Q?sEVV11+ETsOtFNGd7iwhuaeLvM+KHaCdw+BXtBhhzVne3tWvKZpipudJYQpn?= =?us-ascii?Q?t+JsH8B2wworVF+xVFem3dtnHucAmxqy6iDQurIRRbejlmLYW/4BtKvUhHUS?= =?us-ascii?Q?6v0JdCTvQph48sbX8Ps9JB1dAW94BLffD6ObpaWkmg2J8qWTCB+wmzAbhzPP?= =?us-ascii?Q?SyyOkkBVRvWZgAc3/dg=3D?= 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)(1800799024)(7416014)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Pk7GjrgsUqIFmpOSchqCDXJwVBdgHGINzOx6lzmj8j1qVtDbZjWVHWAIJto5?= =?us-ascii?Q?R0OXGIsNNqqbmIfUGoMKMcXwOoaW6ab3bVEmp2JZSK8WNlhMlZDCncBwMWj8?= =?us-ascii?Q?F2pGd3bQVkx6mfleXTn6n3rYip571Sk+Cbayvg6PBWYABWzAenrc4NKvBwGn?= =?us-ascii?Q?DdNbi7v9VCQxnKkuaUit3HWKq52+OXz4TOTN8l1O7qowAPuNtq9bsBrqHTdb?= =?us-ascii?Q?ehOkHDtyGxIHHQODnI1M++LvE0o/7czfxDYmXioajvqypWk+6UjN0uHSHxkx?= =?us-ascii?Q?vH4SRDDAO4oM7GEzcgkuGGQ1fKmB3mm72CZQFOe6I5Nh+aP+xh/rXzQ1lCzi?= =?us-ascii?Q?xa5+Zwvy0v0vI5b2sf/ABjg1RixS29Hvc2VoFMdo3luNX8r/d7XXr5N1Z4gD?= =?us-ascii?Q?z9YlwlYy1ZUeeY/qzdue6bAVTz/V5bAG7AyK/X2eBGLBJh4Dpzg6OsWQ9dFF?= =?us-ascii?Q?f6/qfpfg2ci3Gj9MyR+SUnzOu+gF+d/edVbFvQm4BSw+ehaYCy/Gknczt3xW?= =?us-ascii?Q?rrsTAyZK5HFAQ+ubL3LEIkhwRzlJQHJM3f3nLJbO1HyTivRubPSSuNhBUYkE?= =?us-ascii?Q?4iNJVAANY1o0StfvAm3FpmZaugB6f89eRC6oNRqn+bKFPMBwvHGJXCTFuFCO?= =?us-ascii?Q?GgZyNaBSJCMQIrlLtoozMJtjK1YKBA81IkWhFxaEH8QCdOs0SXq91QPjFK0r?= =?us-ascii?Q?x7B+MNsr1tV6E2gO6fsIYZk989ylOK9bPCK0j9plEigcBCGgTVNTJQ1ZGoyN?= =?us-ascii?Q?SzEOC5w77I6tnHTwj11WH0Avk9HpnbM0O92veVUJftueSabJvIXF243WU6s3?= =?us-ascii?Q?VSezC7SqQSiCFS1pnbWaP7GIQ1RvBItx6MfqXCzHhFzufWRuhFWbizoRMm9j?= =?us-ascii?Q?pVcLowmkx6zz6iJ4rXiBDIkddzpcAYixDl8Lvvtv0CaHEUpU4e7hTBAxkTLM?= =?us-ascii?Q?fkkM/xyXb6dMvGy/L9RXsg4fuTklTuKN2b9wbEKVn6BtV9zRDAcqaZ3+CH9M?= =?us-ascii?Q?4gFnFvmfqgyW+vqnt44A1p2TJ9mtY8Q93XKyWAYlBzlU6F+XGU7yE64vbpgL?= =?us-ascii?Q?FG0gzBrB/weN+0eB1vXVQIckruFnuPYW7hdEH/WPOolvtSLvtVj0GVQiBCIz?= =?us-ascii?Q?JP84HDiSO9sTXW3WVEMLwb1Kib3lvy+Oakz+DCRby5EhlxUKbGARfz2yy1Ib?= =?us-ascii?Q?eLpjdwfER1TZTfflNIl2Pazk/9ICuloWfbf/d+wqDXH2HFOEElxFeWxlz2pk?= =?us-ascii?Q?g65k68lVkpQdlBE9lJhS7w+bka160ovZXJvWydHR9jZTONTYNaSBfMVj9IyQ?= =?us-ascii?Q?CN+8ThDTLEFMdbsFPnZ2+wN8QNaBENSaxtNO0Kyeoyi/cMXhP8nHJhmF0kuU?= =?us-ascii?Q?73kPBd6mcl1RVx3RFOAbgZRxDyYeCl+RbNBP7u6JowDyDuVWbE2nOaW2Dn1D?= =?us-ascii?Q?ekolb7DMlPZ8d2/gZSWcS5yGJdUldPs5Z8rtr25u/amLgYn7EEQs/Imi8/kn?= =?us-ascii?Q?cktsTuYyJgY0/h0CExuSa9t9sVeT6cVqFE3au1xWWfEOudfHr0nqt75W5jW6?= =?us-ascii?Q?S6Vz52LDaoxUlc19SIXvg57gKTFY3G/9YuD7a1usdTVMHKlzFbP3C/Ryhn0w?= =?us-ascii?Q?lKaT+R78qT1xmf6p2S+yzol4s+agacr4mCI5vsM8RKDTzHRsNpIQa/aGk8SE?= =?us-ascii?Q?4AQdtHBpWBFDYp7eZRDegxp+5gO84RjPPRf5eBWaU7LxIAaJ8nXnsaYn/alr?= =?us-ascii?Q?1RIZC77/NZGjERJOt7AyEYd95zZa9r4=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: EqkUbA4D4cPTHBIoxEFLgrKgXboow5Bg2wib8Fsm/FxQmdGElx/yazT/WP2qwvQBu5F70mbpGuVurxvQGTWzHodjUcQuYHW1aUZDKhFbNXrTPuWsmkkYU0tB4skC+2fJwZ6EQp97s68h5rbrIYCLhpZ6vSa3NaqEetSjM7TfvPNRf6XcSwFHjdGbsFPmkJFSi9IkDu+wCCdJDpxB1tWig09eO46mbJUyKcLTnMaTs53qIIkSxs5D95cK4IViWoQhlbNRNUrdSSkGvwgvCuyzVE2wNE4n4ugNonFBf8K39IXOt0jATqjgUcouOu3wKuQKJXGjkU5fKZRvfs45tWF6kABf0TD12ge78Pd81HEiiJQgqJU74V1mXAjuMNjtLxR/uibyhavLncnJ95YuxU2aNhFe7IRHntVqJzq7tuU5fe8KbrO84o5Wjr9+VNidy1R2bXVTD35pw6TonCjAtMkq1nZ7zRK6ixAwuaDHUCx+X6A7AUW3OvTvAKRr2+1aC/+uIc6ew9Na8zJ62NUUs52Y6u70xtCLmcEjjN60bELkyKUMOmSDtcNUxmNjQQhVNzOL7k6Tc1rFFNfRlIIZbQXI5QExraZPuYNrgU1/+SP7WV8= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: f9127201-dda5-43ee-a5bf-08de678364b2 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Feb 2026 02:31:56.4149 (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: OyEahkHAYtkqIf9ai+48LAvT+sAh4gSIhP/PN6AYwfPOL7i5In5HwOICAo6+oqIIkCqfR24/3AENmLzlsN/5Is0gMlKz9c/6SVl0XwkT9aE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB997601 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-08_05,2026-02-05_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 phishscore=0 adultscore=0 malwarescore=0 bulkscore=0 mlxscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2601150000 definitions=main-2602090019 X-Proofpoint-GUID: dERFVsR4GD5yKZrIfn6duGlstSZZBnCU X-Authority-Analysis: v=2.4 cv=FIsWBuos c=1 sm=1 tr=0 ts=6989471f 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=HzLeVaNsDn8A:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Mpw57Om8IfrbqaoTuvik:22 a=GgsMoib0sEa3-_RKJdDe:22 a=VwQbUJbxAAAA:8 a=7CQSdrXTAAAA:8 a=JfrnYn6hAAAA:8 a=yPCof4ZbAAAA:8 a=DPZ65ha9606nDcxGDwUA:9 a=a-qgeE7W1pNrGK8U0ZQC:22 a=1CNFftbPRP8L7MoqJWF3:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjA5MDAyMCBTYWx0ZWRfX2MONHpkoAWEz JMYOPA8gfqi2Ppbtzz+CFISQ4M54mu40PQG9MoFarNemRT5WrTf5bJLqaVtr/9Kg0U12K5ziOJm U8//xg1Byf+BQzfzXG1dlxHAYSoPJ5Nwax6BnUuj6qltY+FnMXQFyZP3HOSbx8VHDY7cT0kKaD4 vvqkw/SgRKIG3yKGwB0BuFO/0FFH75SIm8puHSfgCewIAfZVVSFhdJgGV766TVZAvMOvrfmxet0 Z2U6Oi4KWAG9WREOdI58qTemhna0j5vS1QZGHLZwnqy5ar/3hFhB2kXreBroEOJLSUv69TT6UA8 j6dkVRkL3UZFObvXkk33ottSJ5PeLjHLxRjyEeMLdScA1HxokVdQJpMSrPFhalzvefGfu1kckCD 0USDZ80wC+XwGhumWnn7IpcKSSD8vgvta/9ZwsCpgNV7ZBd17CX+YwxfKSYQqO/+qNSk9AEsmXH HhHpe2mPccce/bAlRvg== X-Proofpoint-ORIG-GUID: dERFVsR4GD5yKZrIfn6duGlstSZZBnCU 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-waiting, 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 usual 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. Evaluation of @time_expr_ns: in the fastpath we want to keep the performance close to smp_cond_load_relaxed(). To do that we defer evaluation of the potentially costly @time_expr_ns to when we hit 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 tim-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. 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 prolonged timeout. Cc: Arnd Bergmann Cc: Will Deacon Cc: Catalin Marinas Cc: Peter Zijlstra Cc: linux-arch@vger.kernel.org Signed-off-by: Ankur Arora --- Notes: - Defer evaluation of @time_expr_ns to when we hit the slowpath. - This also helps get rid of the labelled gotos which were used to handle the early failure case (since now there's no early init to be concerned with.) - Add a comment mentioning that the cpu_poll_relax() implementation is better than polling if ARCH_HAS_CPU_RELAX. include/asm-generic/barrier.h | 72 +++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/include/asm-generic/barrier.h b/include/asm-generic/barrier.h index d4f581c1e21d..2738fe35c1df 100644 --- a/include/asm-generic/barrier.h +++ b/include/asm-generic/barrier.h @@ -273,6 +273,68 @@ do { \ }) #endif =20 +/* + * Number of times we iterate in the loop before doing the time check. + */ +#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: 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 Mon Feb 9 10:27:33 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 2E2CD29D27D; Mon, 9 Feb 2026 02:32:50 +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=1770604371; cv=fail; b=NQ4xYnxn7Kbn8rqL1UPf7/aEEDqJMPfEpSzFhsllq1cyy5YIYZtWJbHxCdMF/NS2RyO2Vo744z3XlE7hjOub3VpdoN6rJR3hDr4dJVp8ZIbry6iUkURfzwscV6UrTZRLLJMZSLqxD6pwM8+uRURlyIWTkeyTtAPp6i+ys9xxgN8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770604371; c=relaxed/simple; bh=w1Xp24ihUakBiP2D7+zmRCBaZqn4MXNZz+Brx3MfHLE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=lNWeW57VkGEWUbWlbqknuInhdWz0SocxfrQ7n6pBEbA5kWHMrkK+bjz79YLibqD05pGiakmxUALNbPT4ULEeW8/nGRnWE6wKerAxy2W6Eo60cBaZAy34rAsjDop5jGs8r/gPw2ocwOxRoIIw7JHR+9XRn42YhNhF+SWKAvm1FAU= 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=CNZ8/fbD; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=R0iIRAms; 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="CNZ8/fbD"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="R0iIRAms" 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 6190sOl04047619; Mon, 9 Feb 2026 02:32:01 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=X1D3aXo1ycH6dLL88sj9v7a4leMkhOiNZMF0hY/gAdM=; b= CNZ8/fbDh11QfByj9Ohbw/8Ob1o6p69AHyCz34ednT/mqXbugNroPITt5iv8iw5u J6/ab32cdbhVNehMavpuU15Hv9Qn42UVqfu4BdiOY2rQe3AaaINstEvhQpCWsNSj XGVQaNhfmQPjKkrwH55lIKOFBhE154aI2pF1KmPGp12kZSpBy5pmRhcHI9uIvM+8 9x+xzEmrlrLWHte2DQobeJjx5H6zbgJNA6hHM0rJ39IbiChzpBK2obElVnwccyXw BoOXC+wpQbiUrDqLiJF00rKiUBMVMst3XqxO2HArUo3qhMBaqPCTF2FT3P79HpOe 3xDA4LoGcXWq/LhLWwWX2w== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4c5xjys9cf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 09 Feb 2026 02:32:01 +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 618MEgXG021033; Mon, 9 Feb 2026 02:32:00 GMT Received: from sn4pr0501cu005.outbound.protection.outlook.com (mail-southcentralusazon11011058.outbound.protection.outlook.com [40.93.194.58]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4c625g7ass-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 09 Feb 2026 02:32:00 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=HUbOjPzIBVliu24eIgeUYsmTpG+AELQpf20NFheQbnUrMgzx7k2mTkN4ndVW0mRdgn7S279JAOqoeyLM4QrmIGRB6cagJVcbgBWZcHU3MLPW04rErKC/L9SzvhB+z/ntN9yIe4erDXkKk8PyqwBfkSNl0l/rOHsEBBeKe3BSD+qrMIvvfRXySVtmXpLxylEH9mDGTVBTp24FyOIAPJWT8sIPEa+vDUnPDbmDNurn4ML6Na3vnnGArsI9v5u33eF/eqERfNAtwJKtsfuyujvyT7oS6v4A0w2ede+QQyLOkAjvySu7uaPAW0KX/aY1W9S0IrVoOPbtu2nmz6oxKdvdBw== 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=X1D3aXo1ycH6dLL88sj9v7a4leMkhOiNZMF0hY/gAdM=; b=B9H1DoNnVpmBrXtzTFRCdBZypWEdE/EtWFmOScU3Q1QqvTVuxk9n82Ex4fIWVvfY4IXNzT7NauhYIr5sFDURW3PONNmS7P4A40pOIC5Ve1dVIcLtUsSmX4PvUa2EAItLCUegMn3+AqanYIwBn6wvfxzx7PWa/31+O6aVXxUeIutT/hgX7cXxeYMssVVXxWSVL54PP2EfIN5zPDu2Btxw5alaPtibsz5L9kSZvpYu5gqYbiCTwfPvbClnXXfXwQLTZrhkNr7OVidnY6+xD/efjYQC1Z2GRQIULQ+613dFsuWPjwRP3jubAeWo0+dkAy5imuHfsvQCeo0TlMQC1BaxuA== 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=X1D3aXo1ycH6dLL88sj9v7a4leMkhOiNZMF0hY/gAdM=; b=R0iIRAmsh6KZGJrOc/XyQFppX40aK8WYWtKASXyq9ipLgRHheXPv1KN5z/HfjwGMxi1Jyni6ryHsSS/Y21nAwD5h/hZeY4Bj4LUwnXVvgeTktQijgELBzsQFbYiub08GjJiIG+qU5q1ZouYbV17TzOd353u+rxgAiC/O5vr/mOw= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by DS0PR10MB997601.namprd10.prod.outlook.com (2603:10b6:8:314::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9587.18; Mon, 9 Feb 2026 02:31:58 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574%4]) with mapi id 15.20.9587.017; Mon, 9 Feb 2026 02:31:58 +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, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, Ankur Arora Subject: [PATCH v9 02/12] arm64: barrier: Support smp_cond_load_relaxed_timeout() Date: Sun, 8 Feb 2026 18:31:43 -0800 Message-Id: <20260209023153.2661784-3-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260209023153.2661784-1-ankur.a.arora@oracle.com> References: <20260209023153.2661784-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR03CA0175.namprd03.prod.outlook.com (2603:10b6:303:8d::30) 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_|DS0PR10MB997601:EE_ X-MS-Office365-Filtering-Correlation-Id: e96f3fb7-ba14-4c4d-eebe-08de678365e4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|7416014|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?KiBRvO/rq0loPbtoaw1GMwu9gPbZ/TQKesuCL0JjshnlQtHvtOsleDQPMrr1?= =?us-ascii?Q?FpBy23PL8ee6UE65WKH7FJbvmu7PuhjTVMJVXDdQYu2WJUsERsA0hYLN+rQl?= =?us-ascii?Q?seaiSHMz2RlIg+AskLJT6NUZdhvnU6J0pJU0zxhyzP6hU/lbDQ1xrq8W5iXt?= =?us-ascii?Q?7CnTmw8wiZ19pR8VIaCMcZos9+647GYP7dpnglCIsXD65gBMj6UF7FJeJ1ni?= =?us-ascii?Q?TDjTUo3V0O4lcloBHWeenQRW3qzJcdjoZNbPpGGsjXXAQBLG82cVyDS8smgh?= =?us-ascii?Q?uGT4GmWZwiftYmxjyigyBKB+N9RxbbtXsRp8O/69YjWssPSi8UXlZT/gKmWZ?= =?us-ascii?Q?e+schsZH8GGNtPV8hQsDr6IWy+mFYC8gFaVPPM6khSfoTYjBligxb8wVTChH?= =?us-ascii?Q?Njc4cXOGZF/1d8Rt+xRDTH2gIp5N1+3qhOYyQf09jNHxfZGLFm0v4+QZNQOR?= =?us-ascii?Q?l0cjfXvoqpzhUu+j7O45ROS8GlEX/0MPViu+TW/pPfWpB5/k6R/JP0yPDCAj?= =?us-ascii?Q?6HvkcLpSXih7BcwNDiIJaloZSYj7g8GmXjHQq5vzC63sSvEDxuhAs1cFk3T0?= =?us-ascii?Q?6WcdPQk1ElQAS6Dfm2lCIucQ2SBOn2nu8zWnMZgoTaUxFT/QK8E3DhGWB9Gy?= =?us-ascii?Q?B5qoEDFDUzqwR7u5ww+IdMm1TxICNiCm8VaGOUS1OU2UbMzZWTPoASaB7Bht?= =?us-ascii?Q?XyuWnCnBbvZRadP/bvzIzpX088CnYKcnaLssUOKV4HqcbtKulnetZFaGSPSP?= =?us-ascii?Q?4Nd5Kb5PDEXUQF3fRdWaGJGFbu5fyqWQN6kQHvY3ScIbY+Z1dDTUiD17Ay3R?= =?us-ascii?Q?bsg2sEVG56ggqG+Ya1OWCWh8eNj9+4blRd12zNNtp/7oO+1y7hD4SXQb6BcA?= =?us-ascii?Q?fCz6O8sFfK8e+PtRCOue6TNXmL1ZILKlSJF49My78jVIjHLN7GPTRnWHmFK9?= =?us-ascii?Q?vLkoYUxqQTeR9gKegxVxVODmPLTwBUxsF8p/B4ghwdQva6at4QtBNM0HCTFb?= =?us-ascii?Q?Cl4J+YDyHbCIh7hOX2DfWhboGjm86LiwFAR1UTqy6MPKQTlsNspoS+XRFQKj?= =?us-ascii?Q?B2BO8mgMLwZIiJX6hf57hZ+hZ4BnWsoIaCrgjb0csr5o6KvsSVIbwkSSO17N?= =?us-ascii?Q?yjDmRF2kZ29IVFYGVKo9UHsLT7mbFge9ftWFq7mKXQu4nyhzWyQQm5cBU7G2?= =?us-ascii?Q?JHLP1bzkxYAmgvkaxjsFZY4ajB3uo/QLmO3MTwwjIgfum8ax+Z/bzZ8CXYAL?= =?us-ascii?Q?z9mJxWaI1L4BUFwUjxuT+6kUz+Wgi8PK8PL4DiHp3bB2wElgvvaiPykyX4tU?= =?us-ascii?Q?xTwbLh1xz+w0MLHDZFha9U6bM4leU2hsLYhOgy0XfJCf0pL5lj+HWO7/Fubm?= =?us-ascii?Q?qL+KB5wsNvJbo9qt0NjL4ehQdV40RKXIxSyBxKGu9fuTrVKAHXiEDXGqFq0V?= =?us-ascii?Q?msVDQ8jDjBt7xbjNSsbtT7BwQzw0CLY5OMzQ75+u2XjPn9ueDQAyUy9wZ37C?= =?us-ascii?Q?zSDacit66pmXUc18iL0TUrN/lo6vtUkqw7EYFrsQx/y7NMkoq6nDiA5EPZ7Y?= =?us-ascii?Q?hF5KgsAFZIW0LlloJRk=3D?= 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)(1800799024)(7416014)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?JO2OREnS6DChZIskLwceFArLOjtqUCuHf+ltwt1zSaj4SVKqbhXK+/NmDIXb?= =?us-ascii?Q?MXalCTrKUeJfBW8HZURGplrE0XsbMqHownkMUTkAvzqv895Ly0G0RNogFkqF?= =?us-ascii?Q?XDfxxHZ7ByLTRWGbKEv86BDvDLRgknaIXrH4uwFD5c1UQ00tvQ9tAoNxP/yq?= =?us-ascii?Q?vcKVoPp5Yh6Rxnj3wa6CjSK4Ztq0nPQaWs6xUFLSxz3vq9Jn8onJ8jKeo3p4?= =?us-ascii?Q?IXSEGzKeRwPfo9ilBnHxAHxvs2AWy72CLW8keJLfFfKoqlEscNZBk2Sod+at?= =?us-ascii?Q?9CNyH2Q93an2YNLDeDu9ctwy/D3+LPyNyRW1PiQ2vSUVAlmuuc9sgE6Z4MhO?= =?us-ascii?Q?zegPZwXHvz5zGI7aJrZzmKrZWLvtnib4M4KyHFBPGeRF/ZBI8OTBiiJrDyoN?= =?us-ascii?Q?YWduK24vk2pYNCMzR+0S6C0Z2rQKfFwGIbIdZI2GhPZC01VBsMCHKWsLl4OI?= =?us-ascii?Q?PNWAM1BH+gZ+ExgWCGbydeQv7PtJ2u3atjkaXzh1gekcUcGeHlIOms85kQFl?= =?us-ascii?Q?JkMRU529l/jrI6vtf4k/Wslm5ZPWeFKhDmsEyvPwUfq3r2R/4Q7Z9IqzfiSx?= =?us-ascii?Q?e6cJBa/b8P3/SQcSKOX3oR7WKLFXeh8bo3jimbeQw8ULPmuknrJ0HZhpae8+?= =?us-ascii?Q?WQ7UwmasDvUFajIS7oPJ7Ha9ZPIkj1IO7XMjL/oNxfFF+4XaHt9WSSJQ5EHF?= =?us-ascii?Q?5zW6eYBU1k2OsYHaaCHM2DmtQFz92L/m5iGlc2vHUDpfZJZcUN4RqhVv48BJ?= =?us-ascii?Q?55/zID/w6pCJPsPtBelFSzNi9zkjq/DPirXqQ2e4EPuC7EKD9NGAfNZm6z8T?= =?us-ascii?Q?79/yZduJW+oQzNlZ7k+i7cEPZldHs6e+loC0LoBkQGanVWZ11TLCO0qCqqdd?= =?us-ascii?Q?bRllqotmEhZrzehy3QhUR3XSbn+opY8pS4iKD2101GLGw0ZZuWUAt/1EkGPp?= =?us-ascii?Q?rhF9bB/VF6pjcBPeFf2B0eUujRcky5zU9rSx0zDwDTd+/wqlNEo/c0b/xZuP?= =?us-ascii?Q?blw/hhLL7aOe5iU4fKyHFYxmZBUwnwBBV2HKeNLzZxynKSVCkpupAp/jlX8n?= =?us-ascii?Q?YehxoWvCST4iyWkEDuKFyhc/+RaUxQycRJrSQOWsr2C2orwMjToyMtQFBtsy?= =?us-ascii?Q?fd4YpA/X9jH5Ho5sENq+mtjBbL+SsXK7zX7f5T7SzYHK+2kZJZfTOCwgvK6x?= =?us-ascii?Q?8s9j2F6EiY8CVtJS8JKhh6lInmPuJQrWlT0pFH3/RH6ZF7pp6PMgEW0+vgxR?= =?us-ascii?Q?NJKa0rP86D3bMoW9BpyDJCxSQv1KCpVKebpvxu8fQbXGNH2s0he8qBDkhrUD?= =?us-ascii?Q?pkh+UJt15fTm77SnsEVoW/Bxi5N7us8H5lc4lK6EVrOHI929nr6j+YIOXGGQ?= =?us-ascii?Q?0IZq9i9/fONIQAA/Zi4kP2zbNfzflZe3+tYNdkwzdDQ4OkS/z4hj8fEyVQr3?= =?us-ascii?Q?dYYS+LHYpN2qZ6bkwtRgaipjDjsrr4yjti/VluGUZUOQmNZGIsayi6fSDq90?= =?us-ascii?Q?4wCgjYlnrpF5EFJV5J0IsnFCkqkcOSNQFPoZ/IFsc9xlYgGFjEAWDqvQVVRq?= =?us-ascii?Q?2Dr/iNmROnPYSNzeIzzwjn2QpJTFqPh5zGvMSbiWWzAGSWB9Ld9jgiVNBhuZ?= =?us-ascii?Q?yUcixNjpsRIEMJJWJ1zbOl7umgKXgxI6v3gc9TIIo+AZyTexfJfREHolX5zC?= =?us-ascii?Q?sZge5lQp+YD2y/zG64xInR6jgRzdHhhPb5mp/CDduue+ZMrmyLqYxg+x3HcU?= =?us-ascii?Q?mcbhDWWIvDvNZNFsHWgl7yQlYew9qac=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: OffzDAbmO9p2NWjbZgYhnuzG/zJ5WoikDEl7AlLZb150xGdE+tsDhV7dLnhFjPmHDrG8NATN0Km/PQEedblxWBqNXYvs3Oe4AI5tlz0C+VKTb1/CR829Y9dZ3UrvjKJ1Do7FKc8whsmTszpmLqasFwYmVpcJyb7f53N3xXrMChRs4xvlMSbheOs8zTlrrh8brfx0WyWnBvAq1iK3ztbQv+0PGi3A9g3hMXJTaHXyCy9QBsQq8TU0DyKWMV2BD28Rhi/NYzGjRW73vJpYqzVu+2yUvDa9Yxz93dRBcpNLIoQmj24XRJnQeqTg7mLYyYxyO8FaIzmNfr3gKQj4GxL6hFNbPIgOKPkEk/dkq1oAk8lUVRwjOALWPIEVj2265b2223fxnK6RC87eYkpq4ut0wbikfW43NZ8gTuAeptCO4NWzISPEya+d8K5wXVCEvkhbP4tCv05X5tk24YJ3YrKbXBgTwFzP78VD+OK1+ikEfAwD0vvJ1Mq1QypwDdBoFvGNvrSNTySYDjBsdsm6tsA5D/ryTjM/Ouc7eJdMYbmkQP96qjj8RfJszNqwLOm27Asy/G0rMP0Mhq6gMd7U1Y/pjWDgi8/3UTFTALGqv+YcsYw= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: e96f3fb7-ba14-4c4d-eebe-08de678365e4 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Feb 2026 02:31:58.2404 (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: JYd8YxSErhplh5ZwLzAt4fnQtvbidWez36KDZD8FNJpdUuCoDNOBdPwpxO4xDkx9jUd4HhNocMnDd7X90I/vhgKMURowH/6Hz8wbZloXaYw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB997601 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-08_05,2026-02-05_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 phishscore=0 adultscore=0 malwarescore=0 bulkscore=0 mlxscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2601150000 definitions=main-2602090019 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjA5MDAyMCBTYWx0ZWRfX+XPeBClSuSNH d0sSUn/x5viGopZSdFY/I6oRSa7M2AqRw+NGBjK5bUkDMj8VpJx04qVSjnv0aG5OeTsYeDQS3Oi iFgnKdFcRTdqZJdSx3EH0vZOiCLuJZvmZKY3XeOaUV9loELuqZYQzv9cQh/F611/3AEifbTVDeG 6SiQWjDs7nET5SborjMHhXdBDwv1NAfIX/jJLov7WF2QgwUPTDzEjijhA9+8mZe5jLBsSREg76C folSIucN88iUDQPDBqoCJDry9TXDxs60hpOdT8PzjJVL77M9e4dLo1MBZ8yfHANVUQjo1xra4GQ 8sYD7trSFsbKx9sMcbacGqQ0EC0E8mQMdvOtQNCpvvv5DlWBgS4mnIOWsYHDiYXTJMCGHvQG94c 2Bhjk6H7Wyb8U9846j8AUUi67uMMc3d/sjMFT66rpm0hpFM6HxaIX/Y3WrLy4a51Lmopx1VOS1K 2nihP0CDZrfIQ7iICaA== X-Proofpoint-GUID: CDMihF7nqoL7h9WA8788E-c9gv19Yh67 X-Proofpoint-ORIG-GUID: CDMihF7nqoL7h9WA8788E-c9gv19Yh67 X-Authority-Analysis: v=2.4 cv=VPLQXtPX c=1 sm=1 tr=0 ts=69894721 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=HzLeVaNsDn8A:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Mpw57Om8IfrbqaoTuvik:22 a=GgsMoib0sEa3-_RKJdDe:22 a=VwQbUJbxAAAA:8 a=7CQSdrXTAAAA:8 a=JfrnYn6hAAAA:8 a=yPCof4ZbAAAA:8 a=yKa5MwykXiZg5cSm1iIA:9 a=a-qgeE7W1pNrGK8U0ZQC:22 a=1CNFftbPRP8L7MoqJWF3:22 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 upto 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 Signed-off-by: Ankur Arora Note: This commit additionally defines ARCH_HAS_CPU_RELAX. Will: I've retained your acked-by. Please let me know if you don't agree with this change. --- arch/arm64/Kconfig | 1 + arch/arm64/include/asm/barrier.h | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index 93173f0a09c7..239fdca8e2cf 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -22,6 +22,7 @@ config ARM64 select ARCH_HAS_CACHE_LINE_SIZE select ARCH_HAS_CC_PLATFORM select ARCH_HAS_CPU_CACHE_INVALIDATE_MEMREGION + select ARCH_HAS_CPU_RELAX select ARCH_HAS_CURRENT_STACK_POINTER select ARCH_HAS_DEBUG_VIRTUAL select ARCH_HAS_DEBUG_VM_PGTABLE 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 Mon Feb 9 10:27:33 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 8C1692D9798; Mon, 9 Feb 2026 02:32:52 +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=1770604372; cv=fail; b=HBtjJ8T12xcPQ75MfU8H9+562oanHA8+q7kChiE+Xz5w2s+3eq1nCUpcQW9GY2md4GGb3TvqzCPE0mr8Eh9pmBzf5BOwQY8XWB9muaxa7exqa853kiAffHR5oNbPFYdSswgQ359AzetSFgYZshigYGFCfyCYsrcoeeN/LsVyNtc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770604372; c=relaxed/simple; bh=kRu2Wv5Z65JaJeYVyx5JC3LHWthPA2ALbSzwARt5nMg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=rnz3MwqEkj9Oxx67LMYE1FtsrtIHQA7ej3pNXqzPP8Sv7gnFOHEQNzCS11wsIKhkJe9c68WvYo/NUlXcaD4YKu7g7GITu4G053OXHRA7iMyayFQZ4334E/N773Q4keCU7l49Z7fJX7G2UxA2r4zoj3k6jLIhONfVHXAbTNz2BNc= 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=RFJBT0xz; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=m1cvyd2/; 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="RFJBT0xz"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="m1cvyd2/" 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 618LlXwn3754172; Mon, 9 Feb 2026 02:32: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=MSv3SXtyYg42xnKQSsMXPSLnnjdeR8uNgoBd7VaQeDA=; b= RFJBT0xzdEyVtvOXVIBXxGlm+tKA9jmoFpAwhCpHdY9W3CED+lGX84Wo1Fyo22aB 1E8YD+Q9eSykmxyvXenc7A6BWpN2/F6bAmgYgrAuEGLGlVsNMJYHLNKYiBxq1bqo Oe6dL2MLPou6yDQcTraiNg8S4F6cIQZaKBpBJGTbqYQnA4SFmJnba7hFXoxalYYR TS4bw1S2tMX9qQdadv/QNemVRPnjwfyOPXSRQUC2tvwJgAfN0551/pfo2ldV5EAC sRKqjjW8qiuDPyQgcDowznV4G6/ya1Tikw94Vb15Fz1BwAJwCRgRQQMtEcrhSqLK Ajrnt7oh+A6SZyYoW3Va5g== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4c5xjys9cg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 09 Feb 2026 02:32:06 +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 61924QZF019786; Mon, 9 Feb 2026 02:32:06 GMT Received: from sj2pr03cu001.outbound.protection.outlook.com (mail-westusazon11012011.outbound.protection.outlook.com [52.101.43.11]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4c5uu8g9q1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 09 Feb 2026 02:32:06 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=IiitfIE/2zu2bynXQqv4Huqj56dXOlDUbG+sj4rLsMEIvkq9Y5UZB3d8cBDMuI039eqIPWKYoxPXfe8R08thIXC32+enXDxE0BGeFp2tzJ03SC/LLLs2Ta3Xw+PPfg0noyBU5Ne+XR7fhO/ElTyjaDo3xFnzLTbwPi5Xm6ZO7C4DH/SbVXcDRCg0u6ZRmf+ZZJ3hMmuBEOv9+zLJg3kOmEY6jOFEPPHOTyaJ/VO5yRbd8JFhWGjbcMaKjZO2mbKo0lcXN/uepOVR9IxazAN89oVJJo9St98Eq2vNnn3FnwoekagtlXJKANEzfc1cNB+16p+swYPshZiInOJJpNZ2Nw== 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=MSv3SXtyYg42xnKQSsMXPSLnnjdeR8uNgoBd7VaQeDA=; b=J/8t1qURC/BD7wQa8aAIUW8/nCBTrC2hc/JbL3azv72lU4+myX/eaKRgObk7rkzJwQqvgnJxbzQBruhNyZvn9H15VY+RhtB7vSFtauGPkqw+ZtTP7OCCTs0L+Ig+157kstp3UpsGtiWHnU+bYjyGcK/zWvC85Z3AwGLYx43SzJ0DDgzEmQXctrII5wQscrHMmFSJXWsVcUpmjqKF28ufeDvbZU0YqYYGUWm0io0416F6K4dUIxIfGpjdhBZhAbbfKVmQC3bYBv8rjgk1HjOMtZZegom/jqHKqw79M2pkAgVVWhZDV2MdjsFfzwedGQagajxl+ggeMJDdDAMMsKJOkQ== 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=MSv3SXtyYg42xnKQSsMXPSLnnjdeR8uNgoBd7VaQeDA=; b=m1cvyd2/L+mg/qdkM7h/WTskhVM5622aLqDNtQX/4sccWNk56gTuOaAX4jLKEIoJWECODq57W0VonpuKFdMkC3DrixoAX1ugqCqmU+eKin+ezk5+FHiVU4dajaigAlu/kXLmFXaTNQtWNBM1hjkf1rZgJhZpRd0oGpz788bICrA= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by IA1PR10MB8212.namprd10.prod.outlook.com (2603:10b6:208:463::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9499.7; Mon, 9 Feb 2026 02:32: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%4]) with mapi id 15.20.9587.017; Mon, 9 Feb 2026 02:32:02 +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, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, Ankur Arora , Bjorn Andersson , Konrad Dybcio , Christoph Lameter Subject: [PATCH v9 03/12] arm64/delay: move some constants out to a separate header Date: Sun, 8 Feb 2026 18:31:44 -0800 Message-Id: <20260209023153.2661784-4-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260209023153.2661784-1-ankur.a.arora@oracle.com> References: <20260209023153.2661784-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW3PR05CA0025.namprd05.prod.outlook.com (2603:10b6:303:2b::30) 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_|IA1PR10MB8212:EE_ X-MS-Office365-Filtering-Correlation-Id: c2dedb10-39c8-450b-aa9a-08de6783689a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|7416014|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?8/osd+00Yn3SDTNcCQtYF7BcJOAeWW+okuPL4jnzWunyz1LRZwnTvxsSn0xA?= =?us-ascii?Q?f7VBEiWVYOZ8kkgpw9QIGZixlEH0pqNqyV4uljlY3/51IM04e3+VTgvNVD/I?= =?us-ascii?Q?l4ME/POnyEFHVPRvDqsTlgbljtvK9twGPUTBNqMpq5lVN//bgJy806hQ5PEB?= =?us-ascii?Q?PYPc/2QfvHufvDO3mQZyF7lSEqitAehjZeZdbUFoVGrfZB0t3jxkhcryBJFl?= =?us-ascii?Q?1utpw/3EmPy6e6fLOHyqllUkhqqgzR/dyTO0c6O/TrSKbDbkZlBlo5dGOTjI?= =?us-ascii?Q?YeKV2z2WnM9sCWFslaKlQEpFRsZuXx8Js+JjaP3narlU1kGKllGKGW/basOy?= =?us-ascii?Q?JbZ5eHkQOq3lrTd3+BAQHQlNz6PzNWpqOlGsKqUgOpzRClRbObZJUlghoCVk?= =?us-ascii?Q?nX4FDRD9SH2NJDfBSNMfYkZr2+LKPYAhCYMUs8m1PribwT/exiVbP7ewed/Z?= =?us-ascii?Q?fYLIk7+4s3G4+URq3OtvUDFHTSV6XHGHVYUqGuxQ2Ef+qZ0eC/uZGqioa+L8?= =?us-ascii?Q?rthcYM9nll4a/XpwbESSS26CblH7/ee/SmJ78BmsPxZ/ugkYKMOVdYJWgd1z?= =?us-ascii?Q?AaM4P9gaQTvIbTx7tBExeniXQRO3zsLzrEpqqnx7m1tCEHM7X1kYJ6r617fU?= =?us-ascii?Q?gUGNoeixTDXY5XRYSM3FarvNuo/N/gS7MlUduwdRa/TyQj4JnQY+abTlF2fy?= =?us-ascii?Q?ZU8qIx26VhX5N5BCH7Vh6Yl8PeUvspW2n1mgySRqWyVIu+pCpHM6icmWJatl?= =?us-ascii?Q?zw8p8EtCIImBfZj/QCfbzecdDtgm1zzeroJyK5TUGIVNdrEtvZ1jk882KRnX?= =?us-ascii?Q?t/+GCh6nQnnXtm3CfnIzPLPYOy5nOPmQ8ds6Ywl0bfzHtDydpVptWLY30Bsa?= =?us-ascii?Q?OuMNLM7aJOZXVV86EB2mepuEzExKYThk3F2oKVbSGWQqXYnx+f8tC1gnB6Pc?= =?us-ascii?Q?se+26Wf+p0tdC8T5BR4onitORbgBwPBoqR41inDCFX/vUYjmsT9wOOGgVORB?= =?us-ascii?Q?qGbMP+qp417E6Csc2oAjHzGRFhve2CtCG/z9pPsp0p6xJ0wEz7QYbL7dAjZ4?= =?us-ascii?Q?Qs4aS9uJeDDTV6oKKq5gYko4Y5K1nv7KHP1lWk3P6KCPeLK0cIp7xyeLrV5P?= =?us-ascii?Q?489TYC5gDNjyPQFS4h8sKyPpC26vj53eOgfCk4EJSxzOov56OV+0k16bMEpM?= =?us-ascii?Q?f1Ry/CSudl2eszrtDolVeSVgPN3Cxr1Dm0L+7X4ogi7ZZZCIdyZI50kxLMz4?= =?us-ascii?Q?XTsp3HFcgm0wuG8z4p+GUYC9STGfFl/CIapphiFRHkuctgvIPfOYd4eOjqOQ?= =?us-ascii?Q?NgIjTB9lC+6/dikjIGcONPdCpGCuJDY6RgHjFz4ynX2P2K3n9MopjP1lGgWZ?= =?us-ascii?Q?3cM50fppRxfJ7tsOn0e+D9WwW9DVqENdRzqXMWxu+nToQz38S9DW36czYgXU?= =?us-ascii?Q?Lom2pQLeXiCnzLVbiC2sz7vrnK0RlXSAX1e6DAoXsvCXPMRP3DXAZb476y+3?= =?us-ascii?Q?KUUyhnRIB4doNolUsup/GlIRPelmRi+dnn9DDm841Nq+WqRau4rSaGmhF+5W?= =?us-ascii?Q?RHLAwdFnCr72M3HDfAE=3D?= 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)(376014)(1800799024)(7416014)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?GgUsDfKdmp/5Mn/w5o2sK1xpSL7IvxVz7x/kn1unTPKBsn9fzkJmg2HTYUpI?= =?us-ascii?Q?EaRd0CPAmbWE9jzvXmqrgfAX13JLHcbg1DMBilwnIkPXkgmsprn+mR6N0JrJ?= =?us-ascii?Q?VWjxqljnJ21gaLkejDQyYPysSwRaygBuizzOGpUrISqagaJUF/EqDZ41QNZJ?= =?us-ascii?Q?bwBBrF5TPueafdxV2R1+k0lP513RNVlGM/sbyWJ7T6oQ1bvoNqhdB8rTLm7E?= =?us-ascii?Q?ZLB/jTx8PC51Yrx/ibbSyGBullFbWX1UKCT15oTDZ/OiuGbYWp8BkqIF1tde?= =?us-ascii?Q?hXlTtvvvHczBZDUinGoObv6g7321nu2Wu55pEan8KZt+smsMfsokkdu4jtM8?= =?us-ascii?Q?+4KXacOozwiLjS9FvU/K/GnhyycipdVK0qAgKnAYj5LsAIhijjov+pah1TVO?= =?us-ascii?Q?2ockNSHZDqgwfBF8IAM/aZqaJsZ1xAak2pubgac6Zw/u74NCnT0LrWW4xQZe?= =?us-ascii?Q?9qkgnUurerWqcfASpDskcHyW5qMjYuz1IEmDqhTJ5VOxzuTkDuopZjyn8+MS?= =?us-ascii?Q?HFM3rPwvhlzu4dP3fJgcZA6othNbSfQdHaCb8RBEI97KACZJUim14BJuVHnQ?= =?us-ascii?Q?sBPF0rZSZRMeA9JabMRNQno0CUdH9BDdH0Rs6oapsFb/YRX1XNc7Mr+9ff6g?= =?us-ascii?Q?myvTSNWHfi0cgziDKTXyA6cvggeATl0Zbq1MIBDmtHM9RJ4SIkcB0MEvrId2?= =?us-ascii?Q?ncnHMGBUuYK4uV/B+hL8CK40xig03fYXsbelvhCSs+ko7dEXGmVFALbzKSkg?= =?us-ascii?Q?YKhZ2/7u86JQP8H0OZvVfA/hFeV5i9jZcgPBNwnPZVaf1gU/rbySa5pAIFF3?= =?us-ascii?Q?TlVfdmie4XCVHT7BOvSWm6vX5EkGKmdiN9N57dPo8yaEaaH+8U8FnjyNVDa5?= =?us-ascii?Q?wrymtg7l8qCs7MTRRttmMCH6MU1kPTUKsAfQ5fxGrwierzp8U+Yir4MNH8F9?= =?us-ascii?Q?1SudpbaX+9lMPlcFaOFFqGK5RlXP66QJbnpq+o7cSBZa63rFppj302xL1o43?= =?us-ascii?Q?3Trwiw8erZp5q7W+G4TGejh8blesyopULxA5JQZKQRHyKJcQ4pGuE2XVRYea?= =?us-ascii?Q?f2Ox+X6WFMcRQX2/iXN9WIPTVluHHlxWd1V2AtQBNOnG095FQ7gyu3UTYVn3?= =?us-ascii?Q?yx01Os8IZYq5y56lBUqVz1vD8NyL4+fqbWxxh4KFylVyppMaXK8YBH22OQVD?= =?us-ascii?Q?bSak5HjyhY30Uz7Rn+uk7SwFu/pNAIdQvX6P7JrQVYXKsLg+fOYp31tVaDuu?= =?us-ascii?Q?CMuy+nZ5rf9dZXCoFYJqmv4qre6vjxRglIoE7PmdWFq3Cwqju6PrKIu7b+Kh?= =?us-ascii?Q?McB0H+gUeeBL7Rqw8/Se8UgvW5Ri6u9B/ICdJaKI++uBkT0yz5GOQC6TEqij?= =?us-ascii?Q?SPsYF8bkWsTWe5VR7G7FUZnw1VioDaMtn7Esi33mqUaKMbtMnroF4jOWIhSb?= =?us-ascii?Q?9fv2pcvvjKRiKtvUbGEdKRl2Vj9Qw35wiAp3sTJEzHJ0ArA0Ske40NkTmP4d?= =?us-ascii?Q?NGWbi3+Hld0NNDgj51edzlyZbGQzji+wzRSbdx/8mEZhO0ZXT6evFEcyitiD?= =?us-ascii?Q?J9a8zuV8GDA/VPZI8xWcY6zVRdxlD2dE42AwCJxsbBPcIgsy2or/D0pvySb2?= =?us-ascii?Q?tpR949uDGfUiZ6Q1BGSewoHSVj+vyWyLZIaM/HTMboDy6GnRx7XB2nIdqSTV?= =?us-ascii?Q?vqpoRww1UsbM7oMgNcJOGWoTUqQntH6TLiP4X43MlVxZwSWqfaoJ2ggrCRzp?= =?us-ascii?Q?bjhwuhdDAXDLvA4ukmg1fAPLLqWpIUY=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: jRrHa9xz7NNBMPOmjEvFk3ZDTfuzT3aRRd/vIgcAbiF7IYK6xbhMGPxs2HD87Pue1P7TTDMr3Jj+hX98iHP28NbsmtpvnyuzgGUF3mRhWG3Q9IWSbqcHtQ6wYA+3RHMLhoCfGNywJ8eisI5v3IA/bf0FkhAC4RirCR6popbJ+MfqEKtarQNhb1JIQGW+gffO4bHHOIAvuXjMa0QKmU4tiFPZDyGgfX6C9PxdOK3uGrhzFv2y+5XU2RpFZyWxhOCi9dFZnpsjcJm+xEKi90GXXmGk6CX+UZcpVmDevvUKXibHbhgIV1LLrZznxraxoJ+LmO5sQJZf/NIlqwoTe9PitfbMrwjpAMepMPd34CnT83OMCEhc9LVZ4Y4LHFgo4HAWYicn/MlGtYkneXRE7hKsismgEv7EFml6Dp3RTVceu8ZfZeeycQ+bVzmLOZDbfw3jWwOD7xpR5Z/Lqk7NIh0pXRdmR5mGg5yVe5Q1zDU3hP1FTnvFccGpgbgqrnzbQGCkHZvK6uv9FxW2cndAy6/KgoH9b+hRnEU05xrZmTMKxA2S7rxPzMHlxnaFXOUoQnVIOW+OOyJELWNwD45Jpxd/ZO8XrI+k+WwiNyhFUcTd8Vw= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: c2dedb10-39c8-450b-aa9a-08de6783689a X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Feb 2026 02:32:02.7519 (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: mNC044aPVIdF0oKaNG9nthbTnBwt39rhViDQVpfWAfdwSrRoVAl6DMU+WMjmjAKXrMCKnr9LN8SoRRjqQ4BvSXQeWnN+oVMtYPlsTS/X/Ww= X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB8212 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-08_05,2026-02-05_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 mlxlogscore=999 mlxscore=0 spamscore=0 bulkscore=0 adultscore=0 malwarescore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2601150000 definitions=main-2602090019 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjA5MDAyMCBTYWx0ZWRfX8TID+xS11Ch/ wg/8pnolQRIbHQFFZNI3LdlPx1Wdcv39XILQ2HmPevpo9UWG5BsdBaQN8M9VX4s7PXbxW9IU+GP hxDemj566t6i8u0GylU6/0igbtq2Lnt/xSEwwDRzBAfyIjqIjXgyYMzlXv/ucIQONPYoLmbfapR uzwt+52JZDPc9Eu0WkJMMazlBcCW3fLqzOyhFpws2WcdDChMlUOIuQijPs9JivXQZzoUrG5BQRV 48ihoF5uiZMRDdQvvXHmb9KZ2RVpfvOadDSZ/GWOrRmV/G4Y02LApYJnOG0h0WRPWOIqQy40ED2 9kWFjMDrCKPSLxzYk7XD57elHj4XTCKU7b8slnhaIb91Lo/9dk6WB8kmws5QukyqtHWtJ3fiBU/ pCvTxbZQOCal/CWOR2oJHu42GDfRDke6QdyTqLKv7ugRGWJ+r8yjiDHw1sQ/UCTON2tBnzvIi9N 8yvQiIdTVpLkb1RBpoA== X-Proofpoint-GUID: owR7Wr3gX0M9MXs1Hjl091sHtNwcTiBU X-Proofpoint-ORIG-GUID: owR7Wr3gX0M9MXs1Hjl091sHtNwcTiBU X-Authority-Analysis: v=2.4 cv=VPLQXtPX c=1 sm=1 tr=0 ts=69894726 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=HzLeVaNsDn8A:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Mpw57Om8IfrbqaoTuvik:22 a=GgsMoib0sEa3-_RKJdDe:22 a=7CQSdrXTAAAA:8 a=VwQbUJbxAAAA:8 a=JfrnYn6hAAAA:8 a=NufY4J3AAAAA:8 a=yPCof4ZbAAAA:8 a=d4sVeSq9ft_tFhUswqUA:9 a=a-qgeE7W1pNrGK8U0ZQC:22 a=1CNFftbPRP8L7MoqJWF3:22 a=TPcZfFuj8SYsoCJAFAiX:22 Content-Type: text/plain; charset="utf-8" Moves some constants and functions related to xloops, cycles computation out to a new header. Also 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 Signed-off-by: Ankur Arora --- Notes: - workaround warnings from the kernel build robot. arch/arm64/include/asm/delay-const.h | 25 +++++++++++++++++++++++++ arch/arm64/lib/delay.c | 13 +++---------- drivers/soc/qcom/rpmh-rsc.c | 8 ++++---- 3 files changed, 32 insertions(+), 14 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..63fb5fc24a90 --- /dev/null +++ b/arch/arm64/include/asm/delay-const.h @@ -0,0 +1,25 @@ +/* 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) + +#endif /* _ASM_DELAY_CONST_H */ diff --git a/arch/arm64/lib/delay.c b/arch/arm64/lib/delay.c index cb2062e7e234..511b5597e2a5 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; -} - void __delay(unsigned long cycles) { cycles_t start =3D get_cycles(); @@ -58,12 +51,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 Mon Feb 9 10:27:33 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 2D6E82C15AB; Mon, 9 Feb 2026 02:32:52 +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=1770604372; cv=fail; b=NkfJNDvIqWU72DtyalgbiJovKCJms8x6/XOW4AYckVaWsCuApwZrdUAiqAmqS6cn2LcNpj/55mEOBxyCJ1B+5sNUYkEiUJRZlhfUE42lOmGH7J25mlcvGLT9+3IM0WCJ8DCLTaE/r76b7f3Fdc6JVBgiz+gZIOLkpIbGlAG47nA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770604372; c=relaxed/simple; bh=6iusc09leOoC8Q31ivd+cOUpP/wiX0sqWj40mFLvUjs=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=Aezz5i7tIYbT/lKxvIIPCVT7FB1TmNCeLIYKeRWxkI6vQfiSRXqO9BV9vAugHzwaqCBqn/SePbtxJWanKqVbuZuDq04vjIpvFUoCfeHAmoi1Zj9BsMoGaJ9wp1A+o5YiHL8JGOlfuLTWvDPmeTpd1xWgMveXalpZxi2NMY7aRFg= 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=EfF9l29A; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=DoQqdu/t; 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="EfF9l29A"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="DoQqdu/t" Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6190KniM272207; Mon, 9 Feb 2026 02:32: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=KnhSRHO/e2oi/DmqGgdboWmx9wTDyHerIr052lj7bqY=; b= EfF9l29Ax/HUyIsGIyLGOrb7Nx7hqQ/NhVELOUSmfWMHn8YH/+Rf7spL+o5iASjy wUDKGacZ3gMPHDwDVNNK9ztTy89iOPN/Hl+fBwsHzBy1pSTWM86Db3U2ZSyb1/N7 A1wcMlNlW0F/jr8gEuHhS6KP8NHqmIjbKvTcdlYno2XEaSNCVOSHB8nU4983AYiK e3K/aYdgCKP7G2O3CLOjnGpPG54YtezfCqegkghPonQwAiSlN/tIJor1Fk7iOuLE hBtNYwoX4KOnpjTBXl3aVmjydabKImY9KHhe7CyiLhkzt9BT7UuvnVULGXm2aiA3 5b4PTyv7NSPtEjV8xtK9bw== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4c5xh8s981-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 09 Feb 2026 02:32:07 +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 61924QZH019786; Mon, 9 Feb 2026 02:32:06 GMT Received: from sj2pr03cu001.outbound.protection.outlook.com (mail-westusazon11012011.outbound.protection.outlook.com [52.101.43.11]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4c5uu8g9q1-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 09 Feb 2026 02:32:06 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XhvC1TTFPgWBxhjM4Q6i7KH5taGR5wwa88I4UdL9VMzWNNhEw3LR4QqV1ANataKCKbYS8e7G1LpSnZ9Naa/IYYAg+Yp6WjTkHoEf8pHz1Rd4BUdZKvMlNgkRCeNVHeajx8sA06hni3f0247/GJzt//hDW4+Fu6IQd/Z/4oovnb/VwGRJp+sSaSZAWgflTFkcpF3ECYbpZsHG4Dr1tMc7WLxS3eyuyLN0MoS9ib5K0s9H0/1T+z5YwRVtiRuDWjc1kHTqOZB6lEB81vVGpjC+Zh6S86r8mG+bFSGQ3GP08o2Nwo8WKfGspBuKsbiJhFTlEe2FUyDRAAK+9DJRKX+pGw== 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=KnhSRHO/e2oi/DmqGgdboWmx9wTDyHerIr052lj7bqY=; b=YBqh3np8jqGkdM6dSPn5shlEU1YfZDNFk9r6k9DW62c54oFxIdhWwQqZ3IaIKnBuekfAnIePcjK5wuUAIHfq1QTgM5LCmW1qCN/n5/fCbi0WgjO5jECAv1YerBnN2/m8b1CR5v9XLYUNmFSUdyEShxftVN0c2sts2wg24hmerA8rrnROiYeJcZNnwnBp2sginbJIdQy7y0RJzVVYjAlu7yGu2faR1TJYV88gpCGdJjR2KS3I/1RKoytGBB7QoBR9Z0omaoqpMXqORO9S2B0rh9KtrdVYc3IT2fH5ZaffI7BJV+uU+EN3I2AQZ/0jFBHSxLAkgJlU1f/Yo+4CXBfdLQ== 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=KnhSRHO/e2oi/DmqGgdboWmx9wTDyHerIr052lj7bqY=; b=DoQqdu/tM927ltX9DbLRrYoPQ+B3OALpYEOGmqCi7J00WF0Vn+8CD+91AUpa9vQpbCWQDYTqfz5NT0BZtihW/m/9EA7izox5H1tKCQZFu10oOm8+tqV5fpFWF6OKE1aC6ifxHxfLezy+BLNkASXEeUdkWhHf0dl1nvmow2Lu6u4= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by IA1PR10MB8212.namprd10.prod.outlook.com (2603:10b6:208:463::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9499.7; Mon, 9 Feb 2026 02:32: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%4]) with mapi id 15.20.9587.017; Mon, 9 Feb 2026 02:32: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, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, Ankur Arora Subject: [PATCH v9 04/12] arm64: support WFET in smp_cond_load_relaxed_timeout() Date: Sun, 8 Feb 2026 18:31:45 -0800 Message-Id: <20260209023153.2661784-5-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260209023153.2661784-1-ankur.a.arora@oracle.com> References: <20260209023153.2661784-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_|IA1PR10MB8212:EE_ X-MS-Office365-Filtering-Correlation-Id: 55f8de17-e939-400b-fcbe-08de67836984 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|7416014|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?CYx4fzmRWZjIV+FI4RdXx0+bauG9ni8k6Xz/N08SNEB7+Trx0XpYhMndMcc0?= =?us-ascii?Q?si1KBGDKEs/bSEB8jshvqWUHtVBmSBJ+x1gMDnHFm2kImwlwTWKlV5jZeNA8?= =?us-ascii?Q?WwjtlVSNHqB5TOS3pADuqk6wGytTw45OFNxFjRoIAqTlY6A41chYZiVz3YlM?= =?us-ascii?Q?7wf9ffdrPATbKdWU+3BKgCZJ0eZwYIBPo2984wz+bCq8zRQGtcevXhY+JJ08?= =?us-ascii?Q?/40y6hszjWQ6DcI9LLnyTzv+VAIv89nz8NDj/q+r97skYeIdJygs3KOGBlZg?= =?us-ascii?Q?XbFBSHqMlTKtYmIN5mAqG7IL7dJd2M9/bbNNrczzxhfWnPgJvKcEn8HkBa4R?= =?us-ascii?Q?8rsczzeiOy85q+2KlhWCsrkwqrvVIaBfyeLk1ktfNrm26LrLb3wOEO2+RFoX?= =?us-ascii?Q?mdZaAJU2f/UyR29gryxvtElPhJh9VmbLMoSMyLBQJ7BVBlX6GwgdSskwYg3m?= =?us-ascii?Q?o7NM44WSLhBfcVqhB/+VKlXuCklJfbEDGuhJrKgJhcmklN5gfc4sjk76Q4gD?= =?us-ascii?Q?wMgNTis+T1Bfs1Tq3oq/EtEyYeUjaEWMfMufpbfqEy+HnydHpqFqnAjwrBdf?= =?us-ascii?Q?DgtRCF5KB78Yxsx/JUrOc69p/nYa+21TZjbFGIlHe/wZ68vWNltptEGiknVP?= =?us-ascii?Q?zbXQZGTmdk6b0b4gveY19KILG1JgglpoL3CKi2tZveRRrAle6UMDCzWR725d?= =?us-ascii?Q?kVPEardcF/axhetZeNOJ7s6DETIm7KjcIu3Jlqg7w6NhPzOgOjbTEhUyBY57?= =?us-ascii?Q?nrVjysX/iXfR2Mkm9BxqW2q61dmDnepeiMXA2Nj502YHbFYqrS2rjGxjv9D8?= =?us-ascii?Q?4VmdP+pvksDvGyyGNl6Fr6NyYFcY+oH7kD87jdfUnx2iOq3kmXUk0xB5AJwp?= =?us-ascii?Q?C/xMpKp6eCccDz4PXD4kOf4N43Z2mlYyveCSkTG6dy2rcrzlx25wdU6slMDR?= =?us-ascii?Q?GTgisFqcOaXaKrProLjmB3WmWdujXlN6U6eIsH7LQuhcl1F6kRMCGoLSX45m?= =?us-ascii?Q?JRV8ilUqpByOV1/MxwPZ2s8NOAMuK6OYM5ifOrPfOc6YSvekI7i51tWkdNHY?= =?us-ascii?Q?H/5ViDYFaE7tlhqZWd719BuTm3nXusFuRczbGJl7NGqfQL3Ikqd0JTEufyDO?= =?us-ascii?Q?/ZL56/3o1FE14RNjGBxdZ13qPPMwb8eefihJeWEbrRQr9HAIjezf+qEsTyJo?= =?us-ascii?Q?JztmV5YlTWHc7Xv0B+tmxykRu5XnaFXr1VXR7chuwtUof0JGL5rwnH3ub+RN?= =?us-ascii?Q?sVCsoXFY3asIM2J4HSl7DSWpP86zerVTvdEEaEKz9ajlcIJO6KxxhRFhiAom?= =?us-ascii?Q?mtuSpEybVkdyojNaOP+egLefZfqfjRbbDEAJzX/NBafozba4wZPcaI8AfI80?= =?us-ascii?Q?DP5/4q6lWgdCbG7AjYfChyceNXZlR2J3aRh2vUewh8hbgah+B81MSq89aM7o?= =?us-ascii?Q?eHqdwNqtgeNy6UIC6m696rvmUpHbldyrWGw88vfqjr+tLcbDgqg4kPGfr2tw?= =?us-ascii?Q?mC/8fRDebFOQryoOUvOPV576b1GjMCB2UY/HJQBeClA6MqM+DR4JBNKfMvmC?= =?us-ascii?Q?uYBTHvUQU3G7P47z6+8=3D?= 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)(376014)(1800799024)(7416014)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?7loHJcfSJYtbNH7qiQl1ChMthPyfdDTZZEqSPT325polfSmIg9Xxne2XDNBm?= =?us-ascii?Q?OTxZ2QglyUJ+WGrbRI0k5revDFPin/dYys8GMBhY0lNoITz6PMOpgHb3nMIy?= =?us-ascii?Q?lhGlL/9nGRVclYwn3YkhKyb2z1g1BGFy62KSBXZtw2RXfOgJg4cdF/eTm/rL?= =?us-ascii?Q?03Flu9d9AVFTT2OIlYi/KRJLOP587lBFAyIil7Snc8b8UN1PExsAmRdKHUN5?= =?us-ascii?Q?saVewxo8grINYTJKmREKYmh21knUmpZDStuoy05r3pgDsJcvEz9sd/EI4anQ?= =?us-ascii?Q?H4uNTCAeU1LwL6D8eP20yj4qznJa9TrGxyRa+bomfMUQJLPGwRqMd+lRS0v3?= =?us-ascii?Q?hVJCJHcv1kvoSx8C0EC6r8gZAgGGMrJcbHZmJqBa4YLabdd/xQgJ+qXp88oP?= =?us-ascii?Q?zAMqRHuHpjdr5NIuSdJSD45fCKoyQJGusCDwf2Frq//jXrptAiv30ASqXqVk?= =?us-ascii?Q?zzh/vJYXd1NvdQHupAFDTYRtoZHYJ2ThZtcGzIkFocAZVy6MarYERNcgZ1XK?= =?us-ascii?Q?1EhwNszwgZcDDEBGKK85LK+Mymf49Ln4qQ7cnwnqQAh0lJeA7ga3zMPBVhIY?= =?us-ascii?Q?VPE9759QlDTtMb8wfFsBD5lBIwe26h1IDFjprsuMrEvrnIPWmRfORbn261iu?= =?us-ascii?Q?CfYwT4OQd8MZvkGt9twY+wwUaTx83filHddh2KUt3FK5YrBqU4EfIwtpCiPt?= =?us-ascii?Q?vLfENL71oLT+Rw99KPqENo8F6fru9uqzFVjD6i1C8gAXKpe/p6xsOqBglDqu?= =?us-ascii?Q?qW1SNoL29ZphI8LS9ruHm7/M4Ia4PPOh74YI3Gth8wg3SyKv+Ypg3C5bMacm?= =?us-ascii?Q?khF5L/ldug3FTdIDbodKkGOekR7cc8ZKnmP12bJ6qoKIdkZ4NhyqLREuL5UR?= =?us-ascii?Q?PgIlv9roocPQJ4BgFe9f4L4ocjkxESKulOc9ggNRmQ0tMNxOB3PpNnoru6UA?= =?us-ascii?Q?kO1Vd8JuBv5bnWXXL/2ffa5Zcs8GgC+/DZx5bVLLUUCzKypZIiBnmnwD/ByJ?= =?us-ascii?Q?LVRJmS02kwN0k5hAIqbFyiHY4GmtyHO1sgW17vJzFtel37Jwlk3x2GnYQSw1?= =?us-ascii?Q?vsE/Xrw0NjOBCwdO7xFK4rqrvXpw5IRc7EitxNf7UWth9SN8U8VqyuvbmCLl?= =?us-ascii?Q?qoUW6VTW4gr7JFTxilJniXZF8YO8IhCn2dPbrYWwPwkhOT3tVP3oMO40c4g3?= =?us-ascii?Q?+9yxqfaMCTXN/PPAVKTMAdZXGB50eZ/6Abky76DPZXQv9rT7ErFeRQQoNTIC?= =?us-ascii?Q?0vqVFaUyii3iZl30pCNzpwUmCm/s3AtZpyJPcIXu7/kF3T4h4OQWX7miuNA1?= =?us-ascii?Q?D49mbEqQjeUOa9oncYOUA0AcAD1aUzdPtjjd5Cuy4Wc3dkU1hj/KqFV06/d3?= =?us-ascii?Q?V/Q9Bur4+grh6wm4Zoth55hjJDnV4oM5Wwon2dwnMUWxKtLd3T6ZJ/jjJa91?= =?us-ascii?Q?Hoy81Oqgr8iGCWu1IZ2LOfYujuCASbj6TTng1SecVDIh8Jd8rd1FeBK9NVpr?= =?us-ascii?Q?H3TonVW+j8nnTUCExoHLyshfRfY204hqUseAnFbY/sx7EOrrEh2FWMmBbzXy?= =?us-ascii?Q?awAqwnr3hVLlNPjkvs/7V5SMxfyuZ/OuPjpimSo3Ih1n8K5jkf5HR65/rZTT?= =?us-ascii?Q?Em6Sq5ZHoZxqbzVfKsjIOz2V/KT4XVF25PKOc9Xx1wemFfgktVcAJlnWMxy2?= =?us-ascii?Q?It4wKqAe23DJBuxiACzhDgbUPO4c22NcR4KxxOGQxMPLtG4a5sB2mMnn2xBR?= =?us-ascii?Q?NXXDHtGdg8dVmdTtFqdlKDvipKkYfGI=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: f0j7EAoklb00gq+LEBUaMokjV1Md3PRIijrQtxkGVL14Y3ZA4lApGUqqLK6ha0gXli0+XVip9IefJVVvCUfTlU/YaLc9EwudIAt/BMqKR0qPkTPlqfKv+hrGMg5hXO/pKkzxkgkntaPWRdADpHHT8oUrue2TFqwGVhmE+Zx0vZXIa9mV1BUXbZjId0PSr0tjIWpru4EB2KkSz0sSqtcMkfeAb6KQKSYHDK1wvfXQGaHL0O0C79yzeKowVkZDQqoRGQLF1VoT8vm9kuEoHNvltbWpedzOS30+/5PoF1Ukz4+iRtVxlfFpvCM09LgGXJt/d56CVGZAqGO2HTPIkw1NsRWIT5ubY7HFxLmX8ddlupX9tmCrDV32z/vAT/y9sFwsxQZhYP5CQZ0jmnZW6DURtt//Ny1XhneWsXZKwxS8pv5KY9QyvvVp4F8j8NZePl4GVkWJaGfEPOF0gcHYn8lEEepdSBzUS60n8XDdzrfnD0qd6PAb76mjs22uZqe9lfJ7wQwwoexNHtG4/k2axKm9x2oOFDVap65dV256RQuj6EYFk01YInTgRDxG37W5iiL7Qjqn66jk7ySZb9f7b8sw/aDHW/i9oFL+U33BUR2pLhc= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 55f8de17-e939-400b-fcbe-08de67836984 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Feb 2026 02:32:04.2958 (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: M1ueravmkqnzql2bTjJw9phpR84eUTi0ttg63h6V2YKuDJuzOh9pek49rSgCnl6nVl4YgtEvjEnlVTSScu/g/XSwpU9uHiTKyR1ybxG39ns= X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB8212 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-08_05,2026-02-05_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 mlxlogscore=944 mlxscore=0 spamscore=0 bulkscore=0 adultscore=0 malwarescore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2601150000 definitions=main-2602090019 X-Authority-Analysis: v=2.4 cv=YbOwJgRf c=1 sm=1 tr=0 ts=69894727 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=HzLeVaNsDn8A:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Mpw57Om8IfrbqaoTuvik:22 a=GgsMoib0sEa3-_RKJdDe:22 a=7CQSdrXTAAAA:8 a=VwQbUJbxAAAA:8 a=JfrnYn6hAAAA:8 a=yPCof4ZbAAAA:8 a=mEGQEucz3tjVRUtqSOMA:9 a=a-qgeE7W1pNrGK8U0ZQC:22 a=1CNFftbPRP8L7MoqJWF3:22 X-Proofpoint-ORIG-GUID: 5WQJCWlROqMpv6ehOuGhCYTGPh6iaEWa X-Proofpoint-GUID: 5WQJCWlROqMpv6ehOuGhCYTGPh6iaEWa X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjA5MDAyMCBTYWx0ZWRfX3c5NPkmAw47x rwIw75PxjHYNxQ14i2CPDxWfbNgiXPKy5z7iezCv9zQAx6I1hiUm48RiRoAi6He2H1AHDOgHFp8 fBF82hcpdBhldGEyb7XEAAtJBy+O3RcHtNQbZIhYwufGAiygVHO5GnbKJphCPWh5LvYv7oY3ZCZ dA+PADFyjjsf9AafnzRjVHJ70EcGple+vcW1Po/54F9753Wnsl9loZIem07qG58ae3Tf4a1rzxG nbstI0630OQmlX66bjAZo+BZuRzhMVB30+UGYyedb5+uSjVb2hc0frgQAuyqe1D6Z1twL0JtGHm zdN1g5Z8nhIyhyvHlwFe9cb2BXRROx83kdfmTQzRCHtSPjkVfqhKtd59+HHzs7L47cq6scel/IN 0YIN6YycP2VTzInLjKJI4G0a8EZrm/CoLPFquPHx1U73idfrhyULFlpu2Ro1f3pnJTNyoJMxvOc 9lMKRy0VC2OfZa+LHQA== 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 --- Notes: - split out the WFET handling into __cmpwait_case_timeout_##sz() instead of overloading __cmpwait_case_##sz(). - in one of the review comments there was a disussion of an added warning for long timeout_ns values. I did not add a warning (or __bad_ndelay() style failure). However, a comment smp_cond_load_relaxed_timeout() does mention that it might not be a good idea to poll for long periods if you don't have HAVE_ARCH_CPU_RELAX. The reason for the lack of proper warning/error is that for cases where this interface is used in the spinlock path (as rqspinlock does) there's no way to avoid this kind of polling. =20 arch/arm64/include/asm/barrier.h | 8 ++-- arch/arm64/include/asm/cmpxchg.h | 65 ++++++++++++++++++++++++++------ 2 files changed, 58 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 d7a540736741..dfb7d10a18be 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 @@ -208,9 +209,13 @@ __CMPXCHG_GEN(_mb) __cmpxchg128((ptr), (o), (n)); \ }) =20 +/* Re-declared here to avoid include dependency. */ +extern u64 (*arch_timer_read_counter)(void); + #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; \ \ @@ -233,20 +238,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 arch_timer_read_counter() + \ + 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(); \ } \ @@ -254,11 +291,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 Mon Feb 9 10:27:33 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 0808AAD5A; Mon, 9 Feb 2026 02:58:26 +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=1770605907; cv=fail; b=PAy9GExkxme6HUl1Tq3D2Z5quQRf9QxnjlKdwkJ7UNpjKe+TQkYoSDl/u2rAGi/3VTKmNJY8rg4XZe6DjbXNvqTMJkJRCRE/mw+hVG8nfDO0t7TIVbwwpQXjD6MQ0QQF1bGOBwDauwQCRoIq8MKZ9n4Nr9EvEQaqVUnJrWGZcHo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770605907; c=relaxed/simple; bh=fLzo2MKS3zcjLUWyddaAdPyIlMm7AdzWYGTGhHuTrXo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=ePOy1NsueSq0trLPJRgajRQ5sVi5uX/KEdFVM+eB+J+2mT3m0Xwv9H812nNtNnlXiPaqrTgp3BgmLKcxMwTvZ7Vi6/u4twJKY8cPCvZ73i0qsrdn/tOoGdb/8KqQfKMemrxZs+Ihf45rl/vx6dlBVPaDuekAHQaJFG7scpDUyMw= 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=nJiJUfba; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=xBGa9L7H; 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="nJiJUfba"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="xBGa9L7H" Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6192Pmbv077481; Mon, 9 Feb 2026 02:57:31 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= nJiJUfba8qus1UDpnAMtQ+MKpPhGYwSX3cAMK05+uVJZs0+0uh7OEDNTgpXPcLSe ewA+c6Lu7kCZr/ZI4cyMxCEiy9+uG4wMfWYVO0vyIhSqAdVB7UF2z6aoAmGPMr5t kKpEIjdxCGd5Lfu2cSfxjRdizJEU6yB2VaxzPom3JFFRQxBY/FaFzr954OrLoeMq TIxq8YSUGBBMXVpGe1n0j4LD5SDXmmabM9VhOLsUiaG2ZHxaOXaDsi0w+fRh7UiS VUhHz5Woi6Ru4BLattqgEhgv7OIr0slpOeA75t+SZfSeja0iKfzgGZYwuhkc2a3o 4d2xkf9sEwW8hbYDiPuGSQ== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4c5xes1a5q-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 09 Feb 2026 02:57:30 +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 618LiMSg031565; Mon, 9 Feb 2026 02:32:08 GMT Received: from ch4pr04cu002.outbound.protection.outlook.com (mail-northcentralusazon11013032.outbound.protection.outlook.com [40.107.201.32]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4c5uujf508-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 09 Feb 2026 02:32:08 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=PmcLFekLBIhUItZujqZABmONnC/yBdNlbaLSoWKcIWIYhGReQJVKvwkBgMnh5An2934LaUR4m5UZJIvjiap53qtQxEu7JzZepQ2/SGZXF67aygLljFLuL3l+Q3HeGlfPv7O44qPdTd5IuHXTH8KDCM29BqOjXkQupZNVosNSSFtvQtNQAib7YeFB3qRh0nRyza/nYAofEul8jcCJLhD4I9voHF9DNyJBLmQSI92jGXsNcrGMMTw/CIUzUlqpWp+Tz6eNHI5jpx0s76n3IBjQAjeTvM5CSZoz8hrL4gE16v1NqJlcxwcmg0UtFn/VPH5qKKhK4cXqlADBJZbn0YV4cw== 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=ofYMQk4V8shoIqUwdsIM4tpDaeAlTThBbDBZ+Ahi5w0VOwUptT9CH5wJTTwp9LO/gVBgb5Eqv6hpydANpU+CeOeD1HWjpS403DDOjgqm+E1WY5Cn9N7Z0Ezc6/eQSc2KXtr6R2hRmMzf+CK96Y/RRmAqi7J3nzaqWupGEUw9oB5+nuFHLYPh8jiiFpRujt9Fver5NZhJgoxV+Hq50aWmGE0e/ypNT/UDNawNXCpxUUJanwCqSaNQ2fz9vEfeA9+tc2BZCf/mt8LlYVrw51d3uXPZK+Y8rb/mzLuQX4nlvMghtwCOka6f4LakXd4xOrRTtUO/Ziy+0koc4O9ZkwMRWQ== 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=xBGa9L7HIXcrv4DfGmTtBeK+SBeNe3k5vIkjQGRc7EoVyZ9Fa3hoIViyMFkIf6CzNFoqILDw2MtsZTTSr75gSZ53MgmxKc6lgHHAEpya6LcSl6Ggzrgn9qCBXpUddy6GFaekyO3oaoYzt2fj6p4zqCsk+m6KJB7G8cEbRyYMLAY= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by IA1PR10MB8212.namprd10.prod.outlook.com (2603:10b6:208:463::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9499.7; Mon, 9 Feb 2026 02:32:05 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574%4]) with mapi id 15.20.9587.017; Mon, 9 Feb 2026 02:32:05 +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, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, Ankur Arora Subject: [PATCH v9 05/12] arm64: rqspinlock: Remove private copy of smp_cond_load_acquire_timewait() Date: Sun, 8 Feb 2026 18:31:46 -0800 Message-Id: <20260209023153.2661784-6-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260209023153.2661784-1-ankur.a.arora@oracle.com> References: <20260209023153.2661784-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR03CA0082.namprd03.prod.outlook.com (2603:10b6:303:b6::27) 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_|IA1PR10MB8212:EE_ X-MS-Office365-Filtering-Correlation-Id: 24b16a8e-470a-4734-045f-08de67836a70 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|7416014|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?LnYq9E7RfhWYkMcA6/Hj7P5gcmDoQh1/aGbeaa2NjZw+o7T8erHWD4mz9Ztr?= =?us-ascii?Q?f7ieygfHd63HDAiR4yXfvG4DX+4O1hW3o61JIqU3SibbLRX1+XndjaaeLpen?= =?us-ascii?Q?Plw6XYKEzpLCcht9Hvml+bRXcSgx+HWS2bDocQuc4hHT0GEulKWLYJ5pDXkD?= =?us-ascii?Q?23vwtvu4ui5L1u4Rnv8i64bhKEwNvp4G+acfjSuAmikOUOxqoRHLtZ/RzWdA?= =?us-ascii?Q?Q+H32IRtQMnNMKbjmqA1khSJ8QGV1r3QaKFGjxXxt4Kn5nteaOci+ODAM2LL?= =?us-ascii?Q?LIS4Ak6vExTrg0EdBQrfnmigDys/9489cjmDtsdF71WIW88eJbX9AOlS8kQ3?= =?us-ascii?Q?XOdt4oewhpbCG4YO1Pwiu/BuFJKKAA7kt4rNbSt+FDXw3aqrOkl+h+9RBC/u?= =?us-ascii?Q?XXCLhx4nKsIkuzJCRJySB+PU1ur04XyVWVIIodAFZAd/Zu9XY7qypFADgpXL?= =?us-ascii?Q?iPYHHErv4IY29VEzDIQZAdlHc7Ep5lZxPlL/Qg1AVoz6r9cQ1ZqPDeZTKqwN?= =?us-ascii?Q?f5SeCh65Qvh8Q+jIewcwuEaLPpFMZ7q5h6Zc1DjMCGrnWADxm7dWfyRosK0o?= =?us-ascii?Q?Vd4PWqdCntG0didLPWDfjRvVJNFQCBbGkEprDyblHKwMenq7+MCcCxYaacLM?= =?us-ascii?Q?rMw0sXuzYJGzEzrlx7o9KJiKw2s4LrJ87V8IcMMADw81G8VUdQmwmafWlNeA?= =?us-ascii?Q?sY9ER646Rz3IhfRlyOWTDG3M9lSwYi2htKn0Sdokm6zic01gKW6PQJGmlTFH?= =?us-ascii?Q?eDOWLRtbUeCihiI6V0fVHiEaKJruq5w1orugXVe7FlO657GbtNIgbCaayZyV?= =?us-ascii?Q?5dCTJEObdX3slP8bsMD9V+VVaLKVQyE534FNSNw1MHi+ozpA2v600BIBzMwk?= =?us-ascii?Q?5JmZ+GZ2sJZFN84wyogv9QPp2FJM1EeFfcWh3bKBBXFGkZnOR1x4wLk0OxA9?= =?us-ascii?Q?uDsbiSvTVaJrIY9/lCl+1Bz6IbO75sCh95zoPrRgBR2TeHyXkyuYnaY0fGYK?= =?us-ascii?Q?x3eDOPvunKN5tDpJ+t0NBsaSDJoB3e8niJPz+SLXjmtfKnGKDGV9KUg3mGMJ?= =?us-ascii?Q?qXqmTBTCP5DWWTY2aSv0iZ2iUMzsvstAoEIENepbNO3UsLiHaFH7QjOxXKwH?= =?us-ascii?Q?oFl+aeeYFsx4JHDw9TPA+b71JX4urx2DNJPa7x0/brCm8u+gDfqjtlkN/EDo?= =?us-ascii?Q?B6PWJgymiT11Uo3wzYeR38F6rPrx58Pp0DGPdpRKX4gBij50YvMQBecWPXgP?= =?us-ascii?Q?qf9v2u8epy9fxUKwCK7BCLZKKF66j9uHRx6s4HiqWMHTQmgQiJVKIrV4wITw?= =?us-ascii?Q?Xg709RRqqOr/emDQUZwoW1sX4QmeUUkz+mX6793Q2YyqqFtFeBEc2pDDKKd4?= =?us-ascii?Q?d6H3c0Kz6JwY7rcLu2hbTkUksxqOK6LsCzeQexY8xaMilmzi5LduCcBnAlpf?= =?us-ascii?Q?3EComQbsnufLgVyox/orhAr7gsdRwNf9IHk6kn3qIirCJjmm2XckKYPqIZrX?= =?us-ascii?Q?GeT+RA1jhO9GkBHXxbUPjsMDbnpdRYYtqnAyHSFgucegznYyFjj0tebbwKhF?= =?us-ascii?Q?FD+USyp3DKK4QrGePfw=3D?= 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)(376014)(1800799024)(7416014)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?5nH3t1jP4Z46WqoEVZt1wffshmc+MG7U/c+Z+EhSOLfXkf5T6JF48A6YlsDS?= =?us-ascii?Q?BYxrA1NUD+lBSh7bogxxkjL6jXUczfzP8fPiXfz6EERnRu0gynnUKN73AwyR?= =?us-ascii?Q?99Kjhch6HrVjKmr4e9G/lkJj9qunWnSxPvOb5jtIIKMo3y6Aw5sKgM6Fv4ys?= =?us-ascii?Q?cRHCBXOzKB6ZErV81ybeN78q6SIWpiuF6ksmPwLDWs8Ik0ImCQX22Rfd+zzJ?= =?us-ascii?Q?KPh1JAmHDD3EmegzKcu/bNvrzx9tpqd9QShajrzvl0H5hoRdDq+fO6f/7O75?= =?us-ascii?Q?Yr25j84nlxeKOvCXYRu+t1VLdNmL9sTiBeJhqlaladNGKTSyXs4Q4lPyZha9?= =?us-ascii?Q?cVYuaKW9sOI8RokoGj9KXWD6TLT0kEEL5FHfLl8KJbNYQQKVkzmMQZ6bbOmm?= =?us-ascii?Q?tNp2pLIdYRlK5CGxB++a0jospM9xyw0McdavHpbptaG4YWz8kIpvPJzQP3fi?= =?us-ascii?Q?Asjz4XFkcU7ELupLMtjDY7rxyw1UBD9189Y9daBvNMPxTVWQXbKzg38bLiv4?= =?us-ascii?Q?m0ip/uIS6gwrLVtanhO7VftEvIwYo3zFGX+qbY3nx/Vj2h4F3td3r/g2ujLq?= =?us-ascii?Q?W8/42Zl1NF3KKRJ2jb1EDRONuSjlfLqVZw6w/A4szYeJrbQEqoGk7GpJvQHj?= =?us-ascii?Q?d2vboq+Mue1cSKftgbfiMzU6avO77chufcZ3EB2QYx786f2Eqr/ru7vXFdAB?= =?us-ascii?Q?n8/ZQWdpJ+KX2sVl5Vw15Y5jySkI9kwOptw7ylSDWqTwEpc57rVnjFUagOBg?= =?us-ascii?Q?5fMBa3/CU9ha51NbbE8qWZ2dqVP8Blmj1/dNV8oTstlpyCGDA9X0i9FBQChk?= =?us-ascii?Q?nBOK5qQw3zB9Ww4mYjK1k//2ouI4YmC2ZlCFbfyigPM2ue01y5xfJEmIiL1Y?= =?us-ascii?Q?fCxlbNLz0zhIcdGbnUZrZL4K4vR4NLIJ7IjS4jDn7L6pPBRMKfHBgB8EMzbz?= =?us-ascii?Q?5Yo8/Iji4knAyltuIqNO3/LwkZ+qq1W1PRFJnazM2cR7j8XGtIFusB++AeyR?= =?us-ascii?Q?n2owG90mCPO3F9Y+mxiip2GLBmw8ere3R4w4xJ25JfK53PwSAgtFJ51mO13s?= =?us-ascii?Q?78mMXPypVJOyFlFEXOWtdhvwexQv1coUNrX7QGKML7MgUOUVcCOepPODmXOF?= =?us-ascii?Q?9LKiDP8dZGSVdugQT2E7teqS+Ouituk75q1MXv3PMe+RvYXQTqeCL/RD/X1U?= =?us-ascii?Q?JyqxivadK3+nfKgr4HDFp2ZTQLUnISXUf4Acn0Y9DXqNzANjyy7vwS4Oe7nE?= =?us-ascii?Q?251obz+vMaqwPo+HhvJA5vk1tMcacrVyozvko8D5ZIicbj/63jdkxugSzdXA?= =?us-ascii?Q?fn08PpIUB2lSSnvxTt54mYVeyR3FPCzxHmAK2K965QNTBDCQ3vc9iuPq5Gz/?= =?us-ascii?Q?GJaLE+NA8ecTKr6LhvFxf7nV2nU++yJDVL+ZLpQfAtXUQdqA15WV3+mV340u?= =?us-ascii?Q?dT2+nc5lECESWSrIjNuw6YA+XmdFpUIqy98oLHb2shkBp4eO88aogp0FGvqk?= =?us-ascii?Q?seniGsk5+mLGj+MMVzdY3XLWH1GY981OAglCrA1Eml+uQnfM9iOWw71i3nO/?= =?us-ascii?Q?xVBKF7+ahB1S35t1Q0ehBbvy0LK8vDpz7afkKOQRbKccXqPDkQk8wb1cNjId?= =?us-ascii?Q?nXY/eSPm/9R56T9Ay0bSn8V8MdeXIgu+FOetaUVAjQ7NKxu1Iz8StVVbfdCj?= =?us-ascii?Q?BT8tsYjJ4UJTFJ4/yYzIlFzFdVG9PSgLLv4S0pBFiBV8yuc3WUq+z5AwFNNx?= =?us-ascii?Q?+XXNFg21hfsOC6Ge30wLdMYRFEiS9jY=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: tEAqNhd23e8iXzkuFm+5lhmzCbWMAoJOOOuvHGG5BWU5dNlBfYRj9MFGBcTpy2DG0aCn0JL+UTIqwUpnhHt89PPHe866rjZEsTJYtbjnxvu//MWBKQ2K6cfv8fCyewgrwvlJDiDvKJLKPmiiTAT4fxiJJPuETAjPad2ewzgsy2qV/YtCZSZnPPKmmC0VahUApZ4wLMzvL2Ulonu0SMpZUDSfxD6v9DXIF55YTsuq+Yc5QkuXx5WzGzZsrdeAKMeoo/sSG9g5M6DppZ4NmGCdd8J0znFW9oLHJ97OGo8lnlCD225p1IvHKe9n5A0WP4l8v3bSaTgh7SItQ5V3lBs+eQQxIBeZnR0UxnNa+bWIs5GRndptOKkk4VYbxHUa8t3ePgMb9C2pu+CCPGE/5jrUQEw7TMmv2MoFLNPvc7XYhjWkLmiKk7BpzwclE7AjW39o8pdfYjW3H77VqN86h6+adScyUd5UPX2zD2cZKmL5OSS4NqpD8QS+ZBf5t+uV4xWPaqrejvjnYCR6nBwKc9LNioRKR5WeRzegWZh0hDWs1QEqntjLuUZN1i8htsjV0cdxxZ3KUlUnLMhI2Cin5HIbL08Az0g3RnrRf99+WnrcA1A= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 24b16a8e-470a-4734-045f-08de67836a70 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Feb 2026 02:32:05.8695 (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: MsA/GCS3llZRx7a/qcyGqdwpqS3ihbPuS0NgFsd0hHcZNlX1IvAZcId7XBRW33fibGD+ucDBi/5P6JYQyaP1zeavr94QUuGt8Bw8wxYH9jU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB8212 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-08_05,2026-02-05_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 mlxscore=0 spamscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2601150000 definitions=main-2602090019 X-Authority-Analysis: v=2.4 cv=KaTfcAYD c=1 sm=1 tr=0 ts=69894d1a 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=HzLeVaNsDn8A:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Mpw57Om8IfrbqaoTuvik:22 a=GgsMoib0sEa3-_RKJdDe: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:12104 X-Proofpoint-GUID: 5iQhPrqzYuHTAA48RvwSBYlZzmpjJ6dO X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjA5MDAyMyBTYWx0ZWRfX+P69FkVWLuDK JatG/1dL3OvzZ6DIGjKkLxXVievD/DcSwcK3Ha85MdJSlt6R5STGMuO1RRgE0Ww2jkI7T2ZB1fR aLDTtWtl0FIAmIYgbFRGtUFbbmYztqGIXSFwmSAc2f/T+YHGG7vlMNFCIRcOZ9e4NRy1kMH+K/j hmVoujtQe8DLGr7BGYgylEmFrxwOMTmR2heVonDB/X5U9My+Cwwnxvu3WsYbRDZ6bzjYYBTz45r Qxibe4manmqp6lAhHbxZaHIH5Uccu49Vopf+cXxHCKn1tbEwn8pXlScuHQwn6zWY38M+Gi2vXMn rVuZZUQgvufQlmTmU+52gW+IZnwEaqYfXN9vQO/RysSO45/mbxsDN9PfLs9NRnrUjamNDKBwfaN lOlARsrYd9XVcq6fLY/txSOi0UNjh5cWXOlvDKVj+JfluURKXq2ugeCgjoxEMtpcUtLvRmJvb/i DdN2Td7MEtHBPTDAMxVOfyQFsia65v6vHdzow0pg= X-Proofpoint-ORIG-GUID: 5iQhPrqzYuHTAA48RvwSBYlZzmpjJ6dO 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 --- 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 Mon Feb 9 10:27:33 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 44FDB2F691C; Mon, 9 Feb 2026 02:32:55 +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=1770604375; cv=fail; b=oJJULx9p5WobBO1UZuzytgmYfH96N2s9iqG87z9l4OQw3qaw8gs1L4dKBzlrsUAhB5TVxB7nuHaEeesAlQzF4oO6RgFyDkEubzChBtpxLA8Z304x/g6WChrAguVkDVgx7+oNEtWHeSyAGHV4h96DsZCH7Tr5v9MQJjQN9O2MTXc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770604375; c=relaxed/simple; bh=jJvdQ1WU791pucW0ca53eAcVa+5xWuEb7myjSwu37ro=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=XaBWH9qrA5Et5U2F+9pssGFTlklerIf1l31yxlF19+jJRjqvMLsyGSN3yxr55wbXVdSnPixXzdsu+iOB5d/A/BJoUDiyvU9/KUQm5kYpYLF8Fg+nMRsjJXEpNX2WlNAaCkxyvSsH5N9rjROhf911A5kfq7VWctjFF4xdaOnKhcg= 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=FzIieFHp; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=vJi6+8F3; 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="FzIieFHp"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="vJi6+8F3" 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 6191qr564138311; Mon, 9 Feb 2026 02:32:14 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=RKE71GXtK6y5VtkX2rZvX70tQVD1983A9NPkAJMTk1g=; b= FzIieFHpBtYAyFb9WlOCXv7Egqdv+q4KBnfd8014zCqjfZ9Goiy3tiFBLDUOOhRE 07cNLQTTjrAU9vhJ+KE9Wn5G1w91t4YhD2EjdRcgfKGvSdfDPQuV6Bj+YILgcyMq 1eZCRZRiJrPvayU81ImpHPPcDvEDaZxJVxGe4VrqFZW/MgzEe0/YSTP3LNKej8e4 /bs81KcbHFO7NvR66cIl5RJO6fp1V45qOn9cdpuoYjVz4fR6e8hjHY07W197b/o0 d9/ndgoYu7Rm06YXKpnD1OkvJsEz3sAxFyCDTQ0fGbcbMf6zmZ81zeLz46keEVM+ Jt/SqiJJY9Yd5FZ9wJQV3g== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4c5xjys9cm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 09 Feb 2026 02:32:13 +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 6190g34H032342; Mon, 9 Feb 2026 02:32:13 GMT Received: from sn4pr2101cu001.outbound.protection.outlook.com (mail-southcentralusazon11012058.outbound.protection.outlook.com [40.93.195.58]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4c5uu8g891-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 09 Feb 2026 02:32:13 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=W2Gp2aiG1LMeAZXohcoM+cGR/Wo3xn2oFeaxyGj6lPFoDkfL3j9umWbRSk2W0bL8qmLSv3fCZ0wI4K2jtgSxVAVHscnnZlMZ0MCGYYJfRG8pv8jPf3uDBYaAgK5MK1NAcOar1+YTJB9tGCWGvgZgRTCINM7YBVg1GpG5o+bYHiV9PRq+HSqaErh6Zlm/bv/rnXBDR0tVY8Cl6KqR+dii0TDQEDOdYMhNUbpxrBg9shBUZP0n1JbdD7ktllQg8SG0wE3AR/OaISVWYAw9wwTHBd0yXLF+OpJxtpVrDxkKHj1Ubi31T8+nBEFjFrmIx3R1VZiU6SYUXRfqhezS4oSJGw== 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=RKE71GXtK6y5VtkX2rZvX70tQVD1983A9NPkAJMTk1g=; b=DkvXACVJ9vMEB688To/IMXZ55WlmuMpTeLt3RHUfz2bYLUDbZWULs/MKLFhU+9X2Ae1KR4vJbJdskOitBX/Ra1PxjdtozLXUUM51wMNN3cNCWJmwTIBOsKW/9bJnquYXzhf/v0mLq/fn4FW3gVpGnwvNshQbGxXQcSmkolDYf1YzI9xnWoEIBnusXYm2vDkwE85JDu5bw5PofsVp03T9yfSutmZzxxyvo7ys1IVQB3gR+PT1LcKQoSwYxvS09hVhfpkBf7J6HM7/C8e2YjXr/UrS50dfL8ApqmBBfU2RZ4Mga6V6g4clGQDh3Mpfj73yBv76+SFeGD/lIv0Tu68hzw== 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=RKE71GXtK6y5VtkX2rZvX70tQVD1983A9NPkAJMTk1g=; b=vJi6+8F3ZlQrrxy5PxTajvRLvMNo6IxUe93naAIKVyB5dLvqX0G2QPcYzE+yTay3HEI2nIZ2fOOvAVB8OP1cg7CRcLNyU49a7S74j8DWZmU4LC4dikEm+a2AqPTKGRWQ/FbS0WKzzwLcF9bbHNEDKr1kf8DFD3kLI1W6jSUDpZI= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by IA1PR10MB8212.namprd10.prod.outlook.com (2603:10b6:208:463::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9499.7; Mon, 9 Feb 2026 02:32: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%4]) with mapi id 15.20.9587.017; Mon, 9 Feb 2026 02:32:10 +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, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, Ankur Arora Subject: [PATCH v9 06/12] asm-generic: barrier: Add smp_cond_load_acquire_timeout() Date: Sun, 8 Feb 2026 18:31:47 -0800 Message-Id: <20260209023153.2661784-7-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260209023153.2661784-1-ankur.a.arora@oracle.com> References: <20260209023153.2661784-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR03CA0283.namprd03.prod.outlook.com (2603:10b6:303:b5::18) 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_|IA1PR10MB8212:EE_ X-MS-Office365-Filtering-Correlation-Id: 44a4905f-13a6-4386-1e85-08de67836ce4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|7416014|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?ZcX3m9UVOPH/mECaiaSgwvauabyH0kOy6g9OJMWnkYipBs3xnPxfBQ9OKgi7?= =?us-ascii?Q?XMjnp9UecOVwpk6eLi9zEMXn+o8wbR3/3kBI7I+LWPpHC0YZuiFWlgvrIfCr?= =?us-ascii?Q?OVIP/BgfGUQHdPUYrxqU2sYtFzcG87qAFJhXin2KF1uJyswg0l0dA2e7rG1o?= =?us-ascii?Q?ie25+q8rqGBxdgqcKM62u1N2qOfgl8XiPKnsDSF4oVp1JGNnUm+IWZyKZUK/?= =?us-ascii?Q?Se+h1Cj2vu2F2sp/1oyxzyJuFZu/qKy2rxlxBA8aR2FIKUQmHQdUznP/vMuL?= =?us-ascii?Q?sTo5KASvuYACmzj+cjsgsneizDJaj9ZcWJU13GotLgrXrrW0qL+COiHAad2Q?= =?us-ascii?Q?9T8ERQ83OCIbm4z39gicRDQa8K7/dvq7/zNcOMcRrDOUqjXQ6DUGpx7GUt5m?= =?us-ascii?Q?jniFoU95Xzh71G+HRvqDlHCnoV9K8sSKsOMWzWE7LdlIqq0qTj0UC8u5ZbBi?= =?us-ascii?Q?dWYJ5xCIJXyEGMWsep+BcZOB1+kcJs5Jz0d0KkwLj0es8gYtYeqqVG91ctWi?= =?us-ascii?Q?jm8e7V2wmWpuyLeRaveYU6UJjRnEV3NynJ4Qu3vi+AQhhrnksBW0LPdxUhTn?= =?us-ascii?Q?V70l7Ey7QHE6qxVo3lmki1MNIO3thilG8vyquWvhn/FZT3U+CWmxxRb3A9GO?= =?us-ascii?Q?8AbQPUztSg6SdV8gTiMK/az44eChkLAGWsbKAbXClvibktEb4ynShpw6FqSB?= =?us-ascii?Q?IeK6/c/Fe/+ohLLO92Gn2hquesqh11eLm8z3Gr5vZsWJzaWlLrd1gIzVOptg?= =?us-ascii?Q?MDSe+0QZzTIHOg2rtqr9NkLjkR5blUwmArB8Ex4ys5nlp5FxASiEqoHLBX1E?= =?us-ascii?Q?Kg2swFi0+CS+RndZ/OlV58h7TSDZeFAlP19fBFrFFlamxa3Q1tAc4V8NDDA3?= =?us-ascii?Q?S623Ypyl25Eiv65v9HTS7wW+tp2msuDVRTUY2CRaOW5jzT4QV/lhhU2Mf4G3?= =?us-ascii?Q?A4QPYl/ux76H+gw6DhdB8Z+vw2m4TH8sl/CAIrttBN5JL31Wvyo927+NJHCX?= =?us-ascii?Q?TpLo+PWrYJ/OLnuX9i80D5q+Zpyaecq9hPgii1+8v6rxTYkXPmYXKDHaE0PW?= =?us-ascii?Q?Wi+gfgVsjZURYI4bcD8fqs6Tx5b1IwOk9n7/HRUEVYC/7SYfiL8lOKLaD5A5?= =?us-ascii?Q?gQsKu4s+On7a4CGu6asmUx5/Wz746ZxwJCnnzx0nXW5ECjWT/qPuNgenbZCR?= =?us-ascii?Q?se94A+bQuzNoQ7Shukt8bJxznCS0qgAZKG5L5qVr99lcPi2BSzMR3RhmjKzu?= =?us-ascii?Q?RgHhs5V/UxEQDnnVwcbaFc8NS7B38B/gNeqYFMwxZhhQHbNFl3VJKeOE4/bv?= =?us-ascii?Q?lORU0bC/Tgk5LnwSHJzAV+I6ZUzb+mMQwzGQQbmzRsd8Ai6OpUWLKnP4Y6nq?= =?us-ascii?Q?iT8PuKhdFxemmysoAWiCWYZFAw7vz2W8t7giopgQ9MJJIeEpoEYveUExMwUR?= =?us-ascii?Q?ZIUqGPcvQ3dZAqIDdJkT4oNp70Lke6l/cvyirIndJMFUt+7+6OFmKQZCFFBl?= =?us-ascii?Q?MpIgIT8OdK3t/daGYtswl+MtHZctij5ptGdB8IQ/87+QT6yJEvvKNQDf1jDE?= =?us-ascii?Q?ohqtUWgRkw36Je+vc8o=3D?= 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)(376014)(1800799024)(7416014)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?DgorMbVGuKMwy/x9GZQ40JFGBKGkoLHpfEaIonmkFzrJTnuoVA1mrF9bqaBg?= =?us-ascii?Q?0zJblK1kG1U2eeryJ98dWd27AwfYe1zEleTVLMEIe1yWYKPn3XXCuuumjltf?= =?us-ascii?Q?P6roB7x9JGPYYLeHfg574+pk3pQmWkC/cwgZpkFNSXY/C3sI8dKqvQB7iY/9?= =?us-ascii?Q?2Gnn7M0z4wAHOUPSl6+Yv/pbhqOO8oHE12DtVRBKa5N0OYVZWumM7/r6/IVH?= =?us-ascii?Q?nhwetmGs12Os44jMTg/7eflxtaFeyg3D+uwLNZt3vlff6BmkZ6kTHJpTb5tE?= =?us-ascii?Q?KmE2cmAcDOa1lIFrUFgVs9bQyeNIhk2uGPp8GJvZjyWynNyX5bKT3i3MGzTF?= =?us-ascii?Q?vUZsf0lNzR/fD6qLSoEmrt5F/JTrQaZRH85aEuLXtWnbAfypuGfkHgeughnG?= =?us-ascii?Q?yW4P1FSZAo4zEv2K/sXTMw51Gpv8eaHDqeRtNdNs/CiUJNojrfzeM5mypvSD?= =?us-ascii?Q?JlnUSJ/5wGldD10hytwE3m8+1KByeJzZelfO/Oe7Z5srWjaNEmn04gXM8Urx?= =?us-ascii?Q?Khv4iqLTwbEbTHBwnB7w5qRNp7CkA2pBAh70B3MLAmV9Hm9SsmPEdaIxr5Dv?= =?us-ascii?Q?/40bxFFMOAvle8JTg0ymwNI/v7ft9hxsGa43rw1VS5zjniKdD9jzcO1cSNO2?= =?us-ascii?Q?k5vOzm5gGafpxs6deI1cxnb5qy987d5pJRwPqstRLj7ipRl+ROtCKIgYRaCU?= =?us-ascii?Q?X7B+fQaHMDGM9dmkHUI2mGUeczkbcY3JNOYvqXKYglRTE1yrXFeOGi/JSm8N?= =?us-ascii?Q?AcEO/NeYziyBljWhUKG1uvhPh0NL7c4EOWz8cI3GAO+QtjEN4V5SZliQ5/eP?= =?us-ascii?Q?OpOhw4IbqmbKxMJNL+l1AIOd1L8ppD9lSYKUwRHIVjLt61GGjKWeBAftIbJM?= =?us-ascii?Q?EuWi/vqJzAVlDQlDnbXw90F1jn02C8WFwOj/q7o/TfYdt6JjBkeH1kEiGCVj?= =?us-ascii?Q?UDUpIEDF0wEWD3RNwINrw0CBbl6jCmlcE0OwdXKNDvria8kT0kgVAxky8tsm?= =?us-ascii?Q?imPLswcAEKcTsGXRbTl2mQzD6VPXCYsiNCAN0smbilTGWx9z8OmvirU3FFWF?= =?us-ascii?Q?0OwslSZC4MvHPyn7coqDDWU75SJaWVjteUzfrTEZZX5YrjUZlEEs01XuHurj?= =?us-ascii?Q?McKPZKdn19KOQf1k4GZamTMfSllHxojvVuLPWU6Gk0aY+UfZ58J6Rv5/DQu7?= =?us-ascii?Q?AZuzHEcE4mtM4m/9+PlTMNL+srdQjs0KepGF+vU89mhgygbYI0i1aWIHDaJ3?= =?us-ascii?Q?L7Y/NG+wOWcJpio/jbCXW2EA3Cx9LhkefiP8/sZZp7dIEOP9Tn9TdVlgzdKh?= =?us-ascii?Q?p5CrWFSNa2RyhVxd3PUs/d/omtU6EcL2FLVnXoRM3n6me5UaOm5tiAoIRyfS?= =?us-ascii?Q?VMWdmuXD74dESi8T0tTURmWT8ugqw8yOW/827CxQpYhIYN3a21LLufbOHOE9?= =?us-ascii?Q?tcZig7gQ9VlEPvxEQle/5pRyIlVu6a9U554J4Tlwl/ugZ4QuIVM6vC85LWyB?= =?us-ascii?Q?ivxUm6AZt/TvpSVmO/TGy8H/wh5t+kPYDGA+mBQ2WBN2Ycn2i4sjxLHMKQog?= =?us-ascii?Q?V1Z5Ei6S8S3OQMKfbSe5KzMk4peHMVYpy1DE6fzC7NGDU3T8JugLmaDYu1XS?= =?us-ascii?Q?dta1kKnh38Ot/Eqh9tyeWdiiS76l5RaiYw5L1uf6bn8xhoepiLfrvYFaEL+c?= =?us-ascii?Q?AebanKOPp58yFJPwEuF96Uvz+PzFT1+voKp6BS0J2+c8RMtZwkn+vzLCohQN?= =?us-ascii?Q?7tn9VF1+LnShDAE+HvCQ857vtC7ewVc=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: W2MWRvFYxCT6TaPNctimI1slTixoaaGT42jx3TWtnEJFfVh3uNq48i76DU0p94gcp51nN2tKx3l+rPDU9Xw3Ahhv7ZiGw1Cjaj+mmWc+ibsrw2e88SRdXmD2KtVpqjJau/vGpmhF/0atdsNQAcs1zd+qisBfxNGYCGegBGyipWnZgmgPNiJ3ZSwPrireFp7jLAg1KZVhdzSD4SLOv17F3hpvPwzUow8p2OagrHO4P3tRDVwQ5hFrfecKwo/Eu6dzXbyO7ePHLO0rUC/ztzQaH6CxY23Bseo8m9KWKtIQl5usHDFHNf0Z9tLAwifB7j3Y2t+IgYW3/aMF/kltn98qF2nZd7E/pt6rRnARM0hKes8BiSqjgoTEI0CXsX6q1mBlMSNRL2LWhyNKEt/eT0TmhJ3uXlC+rRMClDo1n7bYxAYXylb+UU4bcdWP1wLvHwpxHH4yDN8jXQJJd31vmBZas2oC++hIiLChvMu9w3BzqvLoL8goCs9/UNGyFXMd/+2TdppzhnAGojFuRgyznJW6Lm5p+ZDBr1jiEQOCzrlHseJqeNjUgtXj7P/Tv9tLpgRsK3bcyEpAWRlnu01FAly5aByX5n6OJVMoD2I14pAqvJA= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 44a4905f-13a6-4386-1e85-08de67836ce4 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Feb 2026 02:32:09.9671 (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: byQ/5meTTDRN3xNw5pKglqSWkFJLsqSwcOp4JNa1WhO+0e6Jz5yrEw0pliGWlyrO+WJQrNCsv64rKT2QwiQnCdZ5O0cyVjEv2ib3sS9h8Qo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB8212 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-08_05,2026-02-05_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 spamscore=0 malwarescore=0 phishscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2601150000 definitions=main-2602090019 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjA5MDAyMCBTYWx0ZWRfXxDr0QVPCnhVZ +pxIkcrKkOVfIwb437aH3BaL4iDGH20E2RtFn2EbKg8J0zjP6dxwIKe84j8/9XxqnFy0thWJRVR ayqdL66ou+tfENtM+WLOZ9iNhaKESTjxCzTUqnsKblTY7akoDeFZnAAT+BkCHBvx+dI+F9Ui+TS Xl0DTSIBjecYtGMq3F+63Ctf1q5CTJCr9L8ZjoC1+DmDshVTUMe6awWOVyyIgyTHBipHrc9wz6g 3gMRZwYrWPSBvXOghqFnoosDkmwnKUOBsJruLrdsZq/+EuOTW8F7DPDCoNapXORNzPo58dRZke8 FqJxggmbQb5uPLMIuHXZ/s0FhPVkqj4BYknFB4jPQPEgHiHaQAXkSdjcuwTaOU8GWlo7mkbFIM4 jh24Gs2ptdqEenbI5LO/lNH4VdcxoF9vad6kwM9Lj4aSONVMpMjT0frXWngXUWSt0xRbulzGRny BmvLB8ZV6d20rH/w3YA== X-Proofpoint-GUID: h7Rp8oTf_eNMHQSoT9aiIerDXCBVUUOC X-Proofpoint-ORIG-GUID: h7Rp8oTf_eNMHQSoT9aiIerDXCBVUUOC X-Authority-Analysis: v=2.4 cv=VPLQXtPX c=1 sm=1 tr=0 ts=6989472d 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=HzLeVaNsDn8A:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Mpw57Om8IfrbqaoTuvik:22 a=GgsMoib0sEa3-_RKJdDe: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 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 2738fe35c1df..ceac834c9e6c 100644 --- a/include/asm-generic/barrier.h +++ b/include/asm-generic/barrier.h @@ -345,6 +345,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: 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 Mon Feb 9 10:27:33 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 B5DDA14A60F; Mon, 9 Feb 2026 02:32:51 +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=1770604372; cv=fail; b=U3d7m4d31YewtDpvbTIAZmnBv2abw+F/wGd48t8RmBIxa4GHq7+AY+zzu1jvOlBYYp/E9JQOxAEoeC169usjbDwxPCIzvFRkMCsKWuoN77oVhEgm+MRKzJxiHuch+K4g/nOpRZq0oht8im+3T5FDUQ8Q+Vwx5ruPIWM+etlH3/A= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770604372; c=relaxed/simple; bh=zvEdHyF7iUcQI1RYK3lO3Y176opnrJTsI61GBY4z97M=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=YiIVU/T1fGuxvqSGavZZF3kTOJwNwTbYQwvspnuzQf/0XV6WMDlo11vMMqLzoFhf96TuFhPeVb31Fl082dGvKFROiyCWf3kwA3EUuw9wx76+qB8e2kMfJCsj+81knS4RcVSKfa3FUtnQQe16Jmewbsdp5Ok650A+LCh4cerKAD0= 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=aMG9/uiz; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=xl26J9Mr; 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="aMG9/uiz"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="xl26J9Mr" 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 6190sOl24047619; Mon, 9 Feb 2026 02:32:14 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=qTW0gWfQMfZ+XQdqAUEsYCbTLcxbTTH+TFWPZPZsbtM=; b= aMG9/uizmm60s4eT7vMM6Th+czYbfDUdE28+vcFDp7jrle6GTlq6mjR8Njeiy/Oe j8uyZ4Rgj5xbNUVi8Ao3LaItC2Tl48hli90qmi9yLSrAaboOEm8ANTYAt+mTqp7O SBx73C3/314/zUdVhKVtJ1Dsaq9gp86K3tGZ7imgn8iZSEdDcXM3pw4ba9fN7WRI kEre9IvhCGCpHdAcbOVi+cdm9ZcnG7skqYQzFGV3QBLBlnb/J3f1ZOaGGEo+zvj/ hu59MNCRkyTOZx5N/6gk/edN5NqwEjVms941ndZII7U0D5mHi+8xz02uwH8gFVwp 5g3sZX1zpMiHZI216XvAbQ== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4c5xjys9cn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 09 Feb 2026 02:32:14 +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 6190g34I032342; Mon, 9 Feb 2026 02:32:13 GMT Received: from sn4pr2101cu001.outbound.protection.outlook.com (mail-southcentralusazon11012058.outbound.protection.outlook.com [40.93.195.58]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4c5uu8g891-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 09 Feb 2026 02:32:13 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=H+pBsJjthCT8bK8UO8gHhw04yCoBgKf6ysnslGC6sQNNWka6c/GKuZiCUFOJKbHdjYaKvIco0N3X86mKQiR3aPzKLfh0c+l6PXWnyYzMTjrPmz9w3Do+gHb/+VIt2H/x4ozcI0jmVjAXmvWtzd3v8dwt4CmFXD8E/AB/ZSCkgnVYc6cx0gTJbmEO3vushX35+4MSqZ8oaxiKWIJLWSdIAbzR2qlgPtSOHBMYz3SN1X3pgo80XSaoyElMQNfySqY1+lh5srmjLUSN4/pKGrrmVBkRH0IBDQ9z8zGbeRXvF/7abCwfQ2fPJVdIKO9v3oS8OWA7iZX1WOOQ47lr0ZF1LA== 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=qTW0gWfQMfZ+XQdqAUEsYCbTLcxbTTH+TFWPZPZsbtM=; b=bd/Eny416tU+03G8K0sPugzn/fjuagpm5hDAs/NjgUPpwqVSyKaG4XI2l1hy4FiGGVgcODDAcn6LEqeVj7OeTETS+Ly1F+ogAz9+BY+PUzkUdR0OzHJ1bJx6yynvNfCp8I1AIkHB/42IZdiO/pdevBZFYDiTHVlmWT1+G3Ho303DNmXg9BRqCq4TFOrTX0wHYFzl9kZmIloZ6A8D7zlQiL65zOyWLJF2cxgNgfK1R3pKFkD1lTtcbwTZlV4lPSoRBROiFNZs+lqly2OUTkrpQYIOQmONYV3onj6OytH+vXaI6ThoAouYGbZ0kAoBHIXiFFmPTseR3WI4BjJ+z0Otiw== 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=qTW0gWfQMfZ+XQdqAUEsYCbTLcxbTTH+TFWPZPZsbtM=; b=xl26J9MroLHEtf0EODuCNpM2SF0haM6AE3KyemOjwK9LZ+Zisa8vyz1iUd0MCGHvTR2/uFmxUkX68Ewqi5xY4yqbS56lHrDD6/CucOPQBv0rQ9prAxHyNLIzsUQ1NrLkLI6AJbIQV3VncYxON7LzRIgAOarH4m4db2PpgEG+hYw= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by IA1PR10MB8212.namprd10.prod.outlook.com (2603:10b6:208:463::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9499.7; Mon, 9 Feb 2026 02:32: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%4]) with mapi id 15.20.9587.017; Mon, 9 Feb 2026 02:32: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, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, Ankur Arora , Boqun Feng Subject: [PATCH v9 07/12] atomic: Add atomic_cond_read_*_timeout() Date: Sun, 8 Feb 2026 18:31:48 -0800 Message-Id: <20260209023153.2661784-8-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260209023153.2661784-1-ankur.a.arora@oracle.com> References: <20260209023153.2661784-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR03CA0278.namprd03.prod.outlook.com (2603:10b6:303:b5::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_|IA1PR10MB8212:EE_ X-MS-Office365-Filtering-Correlation-Id: 1d02481e-5e78-421d-dbb3-08de67836d9d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|7416014|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?TDi2mnH+t9tueECwNXExacfsbj78EXcRZVAXkHF5JyGHUMNzucgGgNRFLeU3?= =?us-ascii?Q?dxBaYKs1TDrvEswmdxjLYm07bEVVOnXGKrvYLVbJOK22zYFfg9zHLXnVoxfx?= =?us-ascii?Q?Vj4BitFwlvp3qNeBr/t/uiVw+gsYUQu7HuStmDWhTOp6ML/nINowMUQCpDUt?= =?us-ascii?Q?fNIdpX92KBA4J2vLBKctTyv3L4RXlffZvuAtwRtVXiuVC0t4TvOOzXF+fpdL?= =?us-ascii?Q?Zk7hGWolBFT8k3J8HJI/HOgZWes9sOW7jEQTv6Mh78hMmyOpD/Kpw465cm1j?= =?us-ascii?Q?IFbhAo7SrixSojGeFSedfI+znddHdJ+zIcnZpKNYJRVhp7Z57kamcj1S770e?= =?us-ascii?Q?p/qKWUXWez0fnGGeTcZd4XsD/vWYoWd46w0Up1T82gvMGU0bdrEDuNVjaAhM?= =?us-ascii?Q?1wzV3EvF7HnuwDEFtjKmCXjprzNuI4b6kylxQ0FFBfTjZL5ipPDp4UDalyn3?= =?us-ascii?Q?Kev+lYrWbFkpylczEdmsihkQuPSaz3ZClTdpv2Jk+114k971r+JrWQCEuWB4?= =?us-ascii?Q?J0wd5FrQa1VV9DC7Gh2LawZ7RF7CEHx1302oT/L7FVZOi+Kp/kT0qdu9zCuE?= =?us-ascii?Q?FjLVbJiMHG1+5yNU1BERoi3Y2VMNCfiKx5lmjXrQwiNed03rbBaQ4+rIW23x?= =?us-ascii?Q?B4nFG1rGSER/mQVqGbQnGe7gsHeL/+RFijfI12BqnmvuOILatllgxpHcyek6?= =?us-ascii?Q?Ejv+IiY4zAkGm3hx7sYCg9KAA5t7O4mk6ZX8hCu8RQ/IcEN5+LYOyWzmxiFF?= =?us-ascii?Q?Il5V3hBT/9Y8kSsxsHO6IX4mAMK7sNkW1eYgoJL0v7AypD04IEtch51sTyqn?= =?us-ascii?Q?DUOtX702mpOX060DDlMDQJ3lO33eUt2lkZ9kNFItbp7tCObaGIDggs+5wpOQ?= =?us-ascii?Q?ZwR4OgbTMvIDaR65AyB3nQaId3plnoOsCVbkW2IKK8jqd+P6VJ8mqOiFVu8S?= =?us-ascii?Q?QV0dmSXvUKKbZIXndo0sYXlU2dS91uRhCls5flYPnOdsIT1rTuzMsR/B7LtJ?= =?us-ascii?Q?xedF1XtlEliCcMq8i/gn2zc5LbU3SAiDRFtJrhSr6PDXd3S0GX9P/xYGofZB?= =?us-ascii?Q?2L01hrgQnopiwkgNCsPlLU9jz7jmnDsoWmEwOXiDL3Y79Ch0PeyqguEJUIbT?= =?us-ascii?Q?jCcgtP4UCbL6MEySoFOUNpm2FCiG5+nKUNfdpzQmfm2xT5xXC30RHlvSSOZQ?= =?us-ascii?Q?L231TmcO08yp2KgBUU3TuaB1AqmbKTbe1BNyh6JZtOO6zPePDFu8BZZcepjN?= =?us-ascii?Q?+PzUpFPxdzadRGj3gQSFZWJ38W8YHcLue4MO3tWwbxc5YDnndncje6aN4gUp?= =?us-ascii?Q?4PY1vTNmIUKtdCU4EaEJ8ME1iO502FivYt/Rp0U8o8cBrVN/JxhLGDss8BFm?= =?us-ascii?Q?N6ErH/GHUhvdoKThB8fIbbgYhWdzPTHCAW2w1CLfgToN7vO9sHJNu1g+UcfW?= =?us-ascii?Q?FDRKPxg2wwCh6Msydp9E5cwbWR8DzImvkPy7MOqU/SYEkjjfqjaVLUlWvywU?= =?us-ascii?Q?0X19xN9VTTPbsgqtAr0PgXT0YxERrJSwDyW8pZ2b3yM0C8+EHkDrTpvpDJKu?= =?us-ascii?Q?jdtDbNRR5y9VwXOS04o=3D?= 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)(376014)(1800799024)(7416014)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?gMMVeDncHG0v6afCybQRfr3Di/62jrOamABHSnHB6U9DeIpQ8wQPOPZuXmcb?= =?us-ascii?Q?TDUP4OCmcoSBZo5c+NzrM2LFBsvJWjzHW9GBRfiGpSY4v76vXbb1qdd8RX3g?= =?us-ascii?Q?H7SG3rjQm0TTdK04cjLIgVurPLucPfECIx1w4PedupAuTEblx0TE8wkRsl6t?= =?us-ascii?Q?Xu4x9wYO1oHQLihMKF4Zs4SJQe6GGalusQ9av1nKHZ6lP47jE4kIkSEKeapl?= =?us-ascii?Q?qatxqItd52/Z3LsyMapJq3FGuOIHaYoMmwRue5esXMEpHfmH+7qISnt4amLk?= =?us-ascii?Q?suG7dBhhhR810hKVUiOCF7dyzpTtUTViS7MTAAac56QxXXukYGn9I4vlY+7u?= =?us-ascii?Q?m3FiWICkgXvcmMXBHnURj3U6oXepCdGueyCLQTzXUvbqHxI3+FXdIin1dEE7?= =?us-ascii?Q?jwHBGkpCakjCA+osTRt2gGBIH3Mg7b93gAKtPkNW1nR0BxtyISH6lV8qctGe?= =?us-ascii?Q?koWF/occaLGWVYvrBb8m2dcK32hj9bMBXF87rx0trWxMLt7ODvTxbzdNvA+S?= =?us-ascii?Q?VICASFCQxIb+qPnbFaWsX/7iJ6PijrEcgm7+1GvBlCBBLaF0hdIMuwW3KeMl?= =?us-ascii?Q?CHER7i8Z4DJ1+hrK3/dTOCR9VlVl8KsBmkuh7RYJFITM7ErPMW1nTIPwvSTl?= =?us-ascii?Q?6RcMXOlhgkc+OlRrJl9gMGKesbQp1nf1aF5dkoKsXBDeHHHgfJUkKlP510gm?= =?us-ascii?Q?Fy2DczyET03PB8rvbwLmpEtpr3fYiWzIHcRdjUhWPqZ6xFhn2zPlCD8yiHSI?= =?us-ascii?Q?Ek105Z4oNAGBhKU6gtOEANzlfzpj9LU79VfoJS6XSuCujJeKsiqJxP2RI5Ak?= =?us-ascii?Q?qeLf05ofFkGdziDQhyh01bMMEHkerlU1MN7DQEnVFyVzCaYUUM8yEQqP5i+o?= =?us-ascii?Q?LtpLfUC5txBa9cQE+is84Z5eVrCF6Z+RAirmVVqprKEc1PzHMqXoMl+vzZOX?= =?us-ascii?Q?TILIrcWPpZ9e9zsiCvjqYQF6QYq/5CHSc4G2pPyppkwpC/Y0porC683OrlPQ?= =?us-ascii?Q?tUO0+5Ru45qK4rA1kupABNZgb2Ucp62j7YOHjXUq1m3Rlxs5VDq+BDcYAsPn?= =?us-ascii?Q?IxaZPALYymQIJBb/iJ94vtJ4tIpe9dUAmaoLYHc/xQ4b9jQ1FMcdce/nFPqI?= =?us-ascii?Q?X5qWd8avS7tjZJRSbNPu91p/F02NUX+oO24advWWVIrP0dV4GOpGfg09sIwn?= =?us-ascii?Q?fGSE3YB98OnaUvOmCIoEjsN/dzmxmlir5ERtEm/M0X7aPO+pc+dY6YiQVSx6?= =?us-ascii?Q?OHR4knCGbXLw9ts+EJ8wm/Irlq5oGNWagigTDve62mi6jFvX7/yfP6dZ9Znm?= =?us-ascii?Q?Xxz9p9RLPc7NHX87ABRVqYijI/ogQDx4AnVzrz5TBLfFnNib+AXXNfH9e5Pn?= =?us-ascii?Q?dsgGJleBSSKU6d1lalIto6pYupHvz8tIn0e7TGJz3figf8qO1NTB6EXwwrWz?= =?us-ascii?Q?wk7U6KB0gFzmmfjOfsI0vDkdl2lm8RAo06qx83uTfokjBRekMQLqwB4f/1N0?= =?us-ascii?Q?/UkNkd+oBNjZQ3D7mKk9Wy487qGNSxV1dVwO+8zdcn9iJ8TxlQ7SwhpV0rL+?= =?us-ascii?Q?lLNh12BjDMb9CIB2IVxNf0Kza0e0RsGP5kyloHdBbg+l4wMn2D1WsLvRh7A1?= =?us-ascii?Q?+uqdCMOAdVAAHHe3VBPBmoXHAJuayh+FfkNNkgcDORALM5/XM4WAvv+OXFMH?= =?us-ascii?Q?bA+Cpk3NbOii7e+mk2kBElolpSqKeu7C826qCzO7u2wBkBYixXSyyTfn/Ykj?= =?us-ascii?Q?E3lHI+19hgoydB9jVtwPs1YZgqejFbc=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: UhO94l+C6p0hkGQ8pyNikDwyoHfTbnZ5heAkQAoIpldZdTL+MTDGFvdqp8dCA6DL6m9wASfMSnFnFp1X5niikQuXJkgI5Ueun9g4dBEjJmt7pI5Q8bxLzqH1EzGW3uRNvYXOIcpz6ovUt4RAatmkqwLU7cYMS7w7uzosHPCyp9PslEY3vB//66jMivVRBIZgWqe0YwvFk0o7bFPBqa/av6pJy88bfRaK27sFteVDwjoXXsYiCGJ1i1B2NQ7Q1qc6UQBakreMwOs0wWZO6rgxHG04ehZHaJfru3Q5ZtM0PcBDhgSrM4m3aB+TMOVNlH1+V5nggyrrh8NNg2TPtA6Satnw02IWVxYrOL4gA4EqQp/t5MWMyW0Z7v/XxEGHbUoFEnZpCr3F6UbLEDW3iV0TB0BF0ZipC461SRW9Z7sIYfbokCbujmFPoZSbo9tAXv4Uig3M35VHXz1i8v9ga2aGwCyS1jGNpktZ6mzpJZuakk8yPIzKpwxqYaFl7/Vd3BWzXLApSK4yJLUX0aRZaNqz6wRJgCIE6dWioU67b1Q3U5eNriODaATvQB99yXoBk9ZwsWH3Ataoy4tYJ7fManUpO+F4zF6rkIK2CMR+69YSE9k= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1d02481e-5e78-421d-dbb3-08de67836d9d X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Feb 2026 02:32:11.1986 (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: VNgA0lFsIkQgz5JuHDnQLvdRnm61QrHJZnLIoX79wtCs/ukyxOF7oe1EjeylNvAhzvuz5S0reT8aF+OgT/t6rsIZni4k09kYcn5l+Pc+6DM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB8212 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-08_05,2026-02-05_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 spamscore=0 malwarescore=0 phishscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2601150000 definitions=main-2602090019 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjA5MDAyMCBTYWx0ZWRfX9eWGdysgbFQs pXTFnoIqhy11sAfP/602R2W4i0HscGTcFf20/YJZbzZy3OedvCt9AuFGu3XRZbHMYQUfGvK1Knh djzMLqf2j+f9Q5WTMjD2fTHegWzuhkzoCIrDVT3MwgKrbxuXKN5TzMvEBa7L7nikIrHiycW1yYC imrDcg0JupKqCzJhkmlVtwfDueYo8zYAkRg3yBZrpIN3dcUGb4D+gosguiDPrUOPGzWjfmPijB9 ZQGssts1AXRSFg3qMPzEzPLCp19xUdf1me05Z2jt6ttYpAM7Yo0hYLx3njAxi6OW52XANAx8d50 JgtJRv0NnRITFl8ARsXTxIZp7Vbnkjw8psxwozeot+yZ9wUF9H9SXIx5n1GIpP4a7tSRQWP6hln FvqOeWSj9Gq4VYikbdTr4U6eLuc3ZaqaJTVWD/ZsVa1FrQlG7wqOZTD70PpLCcuOb+t1pzVc4rR +G73wpMfJtOvoIUB8Pw== X-Proofpoint-GUID: eKVCJ0rlsS2EF1On_dUP-2R6nVidSfrg X-Proofpoint-ORIG-GUID: eKVCJ0rlsS2EF1On_dUP-2R6nVidSfrg X-Authority-Analysis: v=2.4 cv=VPLQXtPX c=1 sm=1 tr=0 ts=6989472e 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=HzLeVaNsDn8A:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Mpw57Om8IfrbqaoTuvik:22 a=GgsMoib0sEa3-_RKJdDe:22 a=VwQbUJbxAAAA:8 a=JfrnYn6hAAAA:8 a=pGLkceISAAAA:8 a=yPCof4ZbAAAA:8 a=RgR6v_fFY-8vhBXvnRcA:9 a=1CNFftbPRP8L7MoqJWF3:22 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 Signed-off-by: Ankur Arora --- Notes: - mention these interfaces in Documentation/atomic_t.txt 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 Mon Feb 9 10:27:33 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 5FB762E1722; Mon, 9 Feb 2026 02:32:53 +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=1770604373; cv=fail; b=MGlg8KRPCV9zA+Xa8+w0Fnnh12q0LqYFPfKtOTCprcASYsZubNSBwyNuhu8boxR5g2z7/NAAtzkCCACQCH15XJWKH2jAa8veVf1dZ4IAw8NZ9SgP0sOb30sw17B1lJuxL1mZU7CjJLkoTdGvpmFYu9HpJK4jNU4GfbSY7lj0soY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770604373; c=relaxed/simple; bh=kSUCLLCvs184nHLKCu044ZI9rllsTIq+/u9I9Ig+RNM=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=CVz/hJ6ZOoHVdQRNpAC3t0j8uJ9rcEK92ALfoUX0k5InDOZbUgcBTROGPX9Asu4DVAh1h1n6F353y1s0ROmUCqT/kVBaJIpEdRETtx7Nl6UVACHEqmpKcXWgj0Wt91s+yfewSPyzGjxbj+yPXKIzv/FGHzNjJ6QkE0Ycw3yJCfU= 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=niRcZ8BH; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=jyLNdgs0; 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="niRcZ8BH"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="jyLNdgs0" 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 6191qr574138311; Mon, 9 Feb 2026 02:32: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=p3ugmiucsT7MPRQrsuTGwdXGivxpKP7hC4wP4Iwyc5w=; b= niRcZ8BHkDzD9mPOOPWqVdizD0HEzS50X9gVfMO0z6wiqKCrYPAW1NnRZBpBsAmE cFJDqslVopKsI7KkuOWhdRlSfP+BKOi8jlmNcBcZALVSey/C8AEkDAPnzuCjTc8d jBmdmvwfhRCp73+1XLeo6ibjrrT8Uf5NUPWt0QNYz+DqAx/OH7GuvoSyRFsfIj4F OieY2rZ/5/iA9LgURWBhTG6ioLaAW9xYGsYez4uVJB7B31IgWNXDj73cBgTmrC25 bGNeraWqh59G3XhB3d0cuJZ8XixEwmXLcrDdoMpcLaINNWLQeIF7jCqx5wLD65Nq 1ovPwH9iV/DZHBBNz8ceWQ== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4c5xjys9cp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 09 Feb 2026 02:32: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 6191twQx020892; Mon, 9 Feb 2026 02:32:15 GMT Received: from ch1pr05cu001.outbound.protection.outlook.com (mail-northcentralusazon11010052.outbound.protection.outlook.com [52.101.193.52]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4c625g7aw5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 09 Feb 2026 02:32:15 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=w6ervmGJftwr91lL9HbRFb1FqJwh6ZryPTmqoI+YrolCAOfZ8nNvlbEVMkCQPzN5b4uOhJAch7+q5g4Vfo0aQ4ql0CLmCSJjp5UjlY/1E5ClA0y5CWxf+g7z+U2dZwXqwzYRfm3Map8rf9Fh6yZMgyfr6c+Lnp1m+pDqyIs19DLq7arjqU7bfzrF5AhaM8TSl7bnQ5BPeYQmuOzXydc5ZoUvE3tTmUuasFvcBcTdJlobbbT+xo9P98O+soqWGnsMrhOPbXRtf0lnv+ihrXGwwKq/F1QBIfPlvrAf9NP7Nu6O66ztf4Ped2kvaYnzitsWB2Chf/trZI6osjD5aP6a7w== 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=p3ugmiucsT7MPRQrsuTGwdXGivxpKP7hC4wP4Iwyc5w=; b=TMTJNWTYbtFl4pxA3CLrYNusVWCdNvQX32Itfrly0dAgkaaJzeXR8i6+150R5pMBeB0m/uaUj4RhMPLWeiD2S1YMT35PEKrGqa9GSXLf5P9TbZTZ0ZAe9nAT6CtBnhD2PXq0MVPsG6mV/VQjLWQjTU0GtWEC7wEW75uJ97XxkbFjCb5SZixWNriqW0OKkZekY+5kanDyKZ8AHqLv8PSDK2trEvILYs0kUBCNxe91AiNWQMyjrhI3+k5dKt059NCmBglXHl6gafy2/7V7UTTAGV/xFPvvL3W41XyLiuAv79ybILUlnc3i6Zu4d5Gwqsa2nPWnuOwYB8tmTQUav9hh6g== 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=p3ugmiucsT7MPRQrsuTGwdXGivxpKP7hC4wP4Iwyc5w=; b=jyLNdgs0RiXJJZKGGr2v1tgYysjefJkuK7qtj7oGROAFSE+lavrTD5e7eQO4pUwXmQ55T0xmmee829k1bYTgrcTnTQznEIgwC96l87mZJOfUysDK5mpqF8vOrRCHJ4r7mD/QYyg0KPvZnuHXqSL1FFBam9ULZaL7oMwxLwso4iA= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by CYXPR10MB7974.namprd10.prod.outlook.com (2603:10b6:930:da::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9587.18; Mon, 9 Feb 2026 02:32:12 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574%4]) with mapi id 15.20.9587.017; Mon, 9 Feb 2026 02:32:12 +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, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, Ankur Arora , Boqun Feng Subject: [PATCH v9 08/12] locking/atomic: scripts: build atomic_long_cond_read_*_timeout() Date: Sun, 8 Feb 2026 18:31:49 -0800 Message-Id: <20260209023153.2661784-9-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260209023153.2661784-1-ankur.a.arora@oracle.com> References: <20260209023153.2661784-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR03CA0281.namprd03.prod.outlook.com (2603:10b6:303:b5::16) 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_|CYXPR10MB7974:EE_ X-MS-Office365-Filtering-Correlation-Id: 2239e3ba-19e2-4951-73c8-08de67836e57 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|7416014|376014|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?AfQPnqxdh/eOT2YOhJN9ycfgL407uKF/Q/85hTpPeY5rJk0yKNC0JJAnw278?= =?us-ascii?Q?Kj7SomG/+s7/VkoKR1EIWLmW487Dd5ysaAkTc35SqL/r64Cx2hibRauuNZfN?= =?us-ascii?Q?ceaAx5OXLQvP6s2lJDt0tX7iwfKcnoS49dBZepkHeGECJreFT4QoDHONGuSf?= =?us-ascii?Q?BOkLRUBb59KHV2+QKieVFtfUW6ciN5NWQwi5/6Xf5iTLF0qbpwEutQ5LYwt4?= =?us-ascii?Q?mrJcFT+kWMs2rmXFh96YvfW9/8UfiIu+fFLG11zDlvpIsVW/ZaaxFPGE1N3C?= =?us-ascii?Q?KnE5atEntLKKXZbBHULpRoARsplsR2cWvt9nSS6sUjxV1hJN7IvfwyZ3zM87?= =?us-ascii?Q?lxTnHd/H84v2QpqgiX6TuI9PnOrCa4IOtPVZPtGOb/1upgYfVKlaVhItvpey?= =?us-ascii?Q?nXJWIwxo0r6tvngWP/sNsAYBi+DICPgHDY17OVVlk2UO+lTbod9MKNaBiri0?= =?us-ascii?Q?dwnj1nXkKa/IjXtk7yI3KQ/sTKp8srX/wVAQxES2nZANdCGk9omoiPyixBTS?= =?us-ascii?Q?AlAWYeSQ9tKvgxolZMn0hyt5JDwYGBDDqHrn2SNtM45R4BKih6FKWqCmS+Li?= =?us-ascii?Q?y5s5zLwLqvwMKAOpzxGz0yWazPvlDF8vcVQxNX0UFMpInKurkfuy/ySyi4nY?= =?us-ascii?Q?ht2GzKXyn9YhxrHLoKM5aKMx0Uz0KyHME4pahNe645Vmrug9YI1MtuiehTDi?= =?us-ascii?Q?5HSrtsAXTHL8bvCW5jddNWFcmxqZpSvc1XCYoh5c2wttPRswQndzmiLCkfHI?= =?us-ascii?Q?w3UNKSi3i4F863+vJdEHf7t/bN+1SW0sp5/5MXXIm+IUM6ZLzXq2JUk/0iUg?= =?us-ascii?Q?NAFOj86eYpZu5TB3eTGhPo5VBf8XCN8iRWGekvD4g/gbLxr3G7UC3tRN0rBU?= =?us-ascii?Q?4rkgYhd0fAkrar3aAi5HNBGt4cOrJ0EW/b/LImtkvhzYkxahRSNWl8MqOqTM?= =?us-ascii?Q?pvNFacbDlB0w87XIQdvl7mezMSSGF9V2rD3eq44Jdl4BtkZRaEplGY1IT28u?= =?us-ascii?Q?uDjkjVO35inrrZ8fbHf0qzGPUf5pPhJu3yId40RmF7EFS6Yll+v5ieuo7f5b?= =?us-ascii?Q?YiB1mblc4MNnx4tkUFZcBG8/dwiguLwCb8nRnaGCcBL2ohiKJBNVSYR8ruoV?= =?us-ascii?Q?ncnyrpdg6o83ZWnax2oZmHHbA6xpVCkofWXu00tI0DXB/U37ou4ImJN53oT/?= =?us-ascii?Q?jGyGkgXI3nZHSzohIa69InWSVD8uEWLHrMcsdh6mvmSHKgVDNnMhK6FbkdjP?= =?us-ascii?Q?ZHq3xpnSwr9BzN5+f4BpubLs95PPpDhXFEosbKZnv11V6tAhgjLzh7dwYcPg?= =?us-ascii?Q?RLJCO5u9T+4vLY63u7BDvU//lQsb4z6OIlFhUKsQQXfE8EZwfsws+yF4qref?= =?us-ascii?Q?mGQRgGU6Yi6SAmojdKJLTI4ZuLN0Lnq4LRqyWYMb2pSk03vGw2t6J1bso6fz?= =?us-ascii?Q?3VTgkSBWdPm115A/MSd+GonnsUN7ocuFCP+Os6Bi6gEDsbm7o2tIZOT+OyrB?= =?us-ascii?Q?b2JXVTNZ3usJORKpxzfs9uuhrwQVj0Jy60otwy7j0TsSKxYa2Hh7shhWC5HP?= =?us-ascii?Q?hvB3qBUCwFbqTn4hDKk=3D?= 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)(1800799024)(7416014)(376014)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?JLKwOKsCL/pmgD9pvrK+CiogTIqC2khZlRcZKen9WpncQ8EFVijbY109i8h7?= =?us-ascii?Q?uovZb32wzOMmd30gYrOPmDH7GQ8M4WtJM4l36T+1Oo6xRAt1BtXalsn5iSCW?= =?us-ascii?Q?7b38/aXbcgbeuaRRmL4WQtJDGto2GsXG+yzrhBCijl7LsKFbgRQEa404k9EE?= =?us-ascii?Q?+K1x6tM0kk0wUQcB0xrQM9DQdviHHbOm57kY9xQwnWJi7W96igaRbNrD36pl?= =?us-ascii?Q?4CUCKdR0duFVlc0rxPps244pNDsViW4/HoJvJtU5S9dGJ7sKBPf/m1rGlnl3?= =?us-ascii?Q?R7SCci4FYhQCL57KG37zIIaH+ofZoO2NnCI0H1JwJToxw1tovsQpL91HzDq5?= =?us-ascii?Q?Lc6Za38pftZgZtxEglxlseYn3+5r932HD13Dvxm1V4IuN4XvuLxqMnOc5lRH?= =?us-ascii?Q?9sCcSsI/7z2v85jQ5dTvWNBJd3B0Ed0oIh0hGgFTxS49Qu/iSN8LT9zyUjfq?= =?us-ascii?Q?YSfvFLtOQ9avQ4h61rfo0owBjkCYb9y0rHgORL85KaJJ2FtM/zV9gme6jS2s?= =?us-ascii?Q?rpGeBf2szcxRyMH1chzrs1VYML0rlPhn0dyqwY6h4e23MlNN+s8cOEAawA+d?= =?us-ascii?Q?F0rcxwBFIhooyfy5MX04rt3D+fX6d553inC9C76qbiMW9DDWmZ5k8MXfAoUj?= =?us-ascii?Q?5VC8vgnN6exJbHLZyTuJjDqyO9B2TF7KtDWtG+x3qRbTxN22NjDEBCrvIA6m?= =?us-ascii?Q?FjE1Uh+OfzQz/VTdrzDIUtTPEyD0GkvoECCE9sFNChw7d7aewyCMD/yS8yaG?= =?us-ascii?Q?tDHKMs9lLOg5h6LCgqtvLWYSzIwFozizXB/kX2MB/YbAZAheY5uW5tBVOEoj?= =?us-ascii?Q?r640kuYQPbnBbpkKtgAqgaxLprO9QCN5ErrkHmXzL71Dp/2OBumFoPLFHLUC?= =?us-ascii?Q?m6LIrQqGNMrGRWeee+yuDaVWF8NbktR05NrMNmNrwVZJgS/MH/4ATeJJbgX9?= =?us-ascii?Q?+s5badn3lqQs0lIIFsTe52bw1o1EkCQG7npO1rNl/5Pi2X/wNX2BhwsA2VWe?= =?us-ascii?Q?+ZN+ZbSyoikTr64mhESwl8YY7KJ+iixuzQaZlsHjj8cG29a1u4NiHIIaD9oa?= =?us-ascii?Q?RsVAgDzwVpvyKuXXn98wmvxrp8tG794btlfdRHZxK0NzOPhF2Fa2CRCOUo1V?= =?us-ascii?Q?mijozcqBsGkewqYZUI7kvKhJXC20dcbfEqhq7kiIC/EV8u3MxHFmMwuLaQD3?= =?us-ascii?Q?Eo6cMv+vujJgDURI3ZCostDSIdB3mtXV4eR1tf5HZxgPgmZz1auhcriOTg1G?= =?us-ascii?Q?Vf/8uQw3Af+AU9UpDFkmku/LG4K5T3nU6z0QY7tLnAK3N1NSOqLKap+Ip2vA?= =?us-ascii?Q?dT65tKyvVYYoiAKcTn1s6vFn1UABuNnBcyQlXdiMnSEKYho8+CJ4kQj54ssD?= =?us-ascii?Q?VVNH7765LuUGho/PnOF4JQBoXZxKxsqnTlnYyjFep4t+Kio1klFZS+zYiLDR?= =?us-ascii?Q?4JAm3d8tH6WIOLG0ShMsxsnfFoXyCryjwns65hHy3hnO7qoUew2l98yWYopl?= =?us-ascii?Q?ZzcV/mfwiS38uswjJbjvSqmY2fYimcI0SNp8MMq7SCwhtOxV2h1la+CuLhYh?= =?us-ascii?Q?DawHEVjuovqMSmMRi5py40vmID5mLf3wJOenpQZyeWFVWAAl8dHRhA3QaXAS?= =?us-ascii?Q?G4bPb+tklsoats8XD7s3apiIdJ0adAVeM4ny0F0cEiWmBiiTiwDxn+AIGPOE?= =?us-ascii?Q?K49qOxxqo4J+UsERRQz/vpH5NTALceyuyjLrbkyOCn4912yjx/XTcmi8uSxi?= =?us-ascii?Q?RUXVe/WrqXMtSi5l0R3cJfi6YKCapIU=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: XRKGXArx6mlaIpolV7UdjtsB/hr5sxxGHPave+xcXYfafZqQKBzxpzP1suLhoyG1hBH1fKI9oFyOyGopijRuG4Y9YYDqbW3zRZDfbth8at6MK18lMUB5pipg09islzqfA2RZSkcDhlMnok46E6+D9+ooJWXFjgzPNX/HyssXj8N9v1jFbLHr0oxfTt5D7FqubbJ7MDQ1XEa8Gy826N4HDZ5igbjfIsGoSFSlWy/OFiW3nkkR4SRmuSOjrGDhGrGe3b3f0H2o+FBZ0u0gF2TX85WJ9Jtq7T0+eVmp9Zb1XCM18MJMDIuuhevfilcmf5cdhbHpqiJj4wFWCssM+RToTgctGTA0mmTt+QDtGLSPVkt1U1BCWE4LdnKxsg1y1sOVj6uBF0BRQFiiev2q8u4t2BiSSXbXM+IlMymDH+6GYS2xfG8wkHZM2i7YGKZhwNp1MBb1dbrR7SUhtVOfnHu5V/pyFlVdleTUd+Tyyz4kqYzmKTsXyI1LOsbBeH84oefpeup69cYL2wqxyfviAxFyg4RYHkLNd7QdjbsYshCToMCO5zaOw8d7EkXIlm9avAsVpf3LEBEcmGnG2vntOHbh+ee4nXDYXXiotZLFCPSm8uk= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2239e3ba-19e2-4951-73c8-08de67836e57 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Feb 2026 02:32:12.3757 (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: wBrAXmmqIOcCVJsujNs9Vr7UMkO+YTxAnYvs9upG5HPq6udFoznVLhtjZtKmHnLTpARI4l37MyWWU9yCZFjPhzkxWIlHTdpUtWlNN6/TCSE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYXPR10MB7974 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-08_05,2026-02-05_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 phishscore=0 adultscore=0 malwarescore=0 bulkscore=0 mlxscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2601150000 definitions=main-2602090019 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjA5MDAyMCBTYWx0ZWRfX54RQlKtrMnCB ygWqHwVyglZZE41P2Z8BptYZ8NrnRCjLsGk+6nuBFC5T7sKc+QDxvJXUigboYNlOR5ffxLHi8y9 K2x5wFmuQD4Uz4At/C47bu9kVW3cQU67cP3YcoPfYxdfbkiFI4/1/nsip6NEvpw3wS5UG4gcvlF 8LpIDt2MWD/Z4Of/tzi93ot89pIGywBRzDynSUNj1qYFEirr9JYYQ1aFUboj6vNrn3Aloi73aIZ V40srLJOQneR3sbmpidwR40rm88/xBA4E/2rtfO9tmL+TYMlUavZyHK3nXiGl9y6vXjpdU3GPhr uqRHbm6pQ4VTDJpIYXBUvemWqL3pjuCPJ/7j5jDdFUC/1yoJDwnAMU5FbGixvOMfjBSjVdzrEQN v1UQU9L6lGcAmPuoyBAp93GX8FZivLFa3ja5VTG8VvWOFEPE+2Xmov7xy30ib1Fq5ns6RBedTZC V0PD9vHUgeXPziohNNg== X-Proofpoint-GUID: KHfuKoKEmGaHXo_gOSTkOcjHBXNJicZI X-Proofpoint-ORIG-GUID: KHfuKoKEmGaHXo_gOSTkOcjHBXNJicZI X-Authority-Analysis: v=2.4 cv=VPLQXtPX c=1 sm=1 tr=0 ts=69894730 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=HzLeVaNsDn8A:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Mpw57Om8IfrbqaoTuvik:22 a=GgsMoib0sEa3-_RKJdDe:22 a=VwQbUJbxAAAA:8 a=JfrnYn6hAAAA:8 a=pGLkceISAAAA:8 a=yPCof4ZbAAAA:8 a=LKnZA62imwlViN-40TMA:9 a=1CNFftbPRP8L7MoqJWF3:22 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 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 f86b29d90877..e6da0189cbe6 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 */ -// eadf183c3600b8b92b91839dd3be6bcc560c752d +// 475f45a880d1625faa5116dcfd6e943e4dbe1cd5 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 Mon Feb 9 10:27:33 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 9039B2C0F8E; Mon, 9 Feb 2026 02:32:56 +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=1770604376; cv=fail; b=gwkfSazzS1NKgZmdWMq8zogVvl7QZ8WNKsm1MxzERnuwxH0UtI+5i09bSofpqft5GMX4FCxWflip/xgjfl7XbyMOVhDPLof00HPrfURgECTfPOeKZOwUz15lv9SR6spdFmf7G0+isD2NvuQp4jxnBnuT2vpqpLcs0rO4NFd4Ks8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770604376; c=relaxed/simple; bh=TNAAObdjMCFPh6yReYoInFOlnbkX7tIE47BwA9BpOfI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=iQPxs9V4PKHeXkmgfvge05RRBwAMIZfdfxrPXtHumkS/loWBqd+uTtTG87+C/TvRWkiW542Q5LIqwfclfjvAfabEYW9tiIXBW4s9gkJUtu8ZXWLBXC7NpfqpPDuI/bRE0cxTbLWY0lD0qvjrl63PIyslEgqmrILZdijQ+uOh9Dk= 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=DhXhR1rB; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=YVUi/c9E; 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="DhXhR1rB"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="YVUi/c9E" Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 618Necup136611; Mon, 9 Feb 2026 02:32:21 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=iMjZEz5aiZfIfGl5mKdh/JccpF6VMdbqKJNqZrA6PTg=; b= DhXhR1rBFevf5715XkaEMGaoQ56ECHGhtBUuuoMnzpvoI4oVx68WfXV0Xbw/HXKk +YynlsLjWNSUJvEPlee5jDOmG0H7JMud9+ORYfwqiahoi6OSK4wMgJy3qi3q+ecb dLXVOVsU3yX4ks/3AtPCCf+qNGFHR4F4/pPqzZHQ8xeld6F1Y3kW2CD5Z4uNOpgW abOCF0Oher7KQRRxq7zAaOwNNnjFqszFItNu0hvK4ctVcRE8Rbm5GwTZSUAd/NOs DmADuL9ufrmUpS4fSjo1HYvDCiZ0ZRLuNdnoXhe+UerBMrmJl7Vdj+F9yfSJx9yH 3rKHFY1O6l5ij7a7U57Qsg== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4c5xhu99mx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 09 Feb 2026 02:32:21 +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 618KWJlK031967; Mon, 9 Feb 2026 02:32:20 GMT Received: from ch1pr05cu001.outbound.protection.outlook.com (mail-northcentralusazon11010011.outbound.protection.outlook.com [52.101.193.11]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4c5uu8g8bc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 09 Feb 2026 02:32:20 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mbH5TLHmA7aLKqSZW7T92M9YC4bd967L1e1bvXqxrpz0PN/xEU1Yn93aC+h28JI7zw9d1yxoAtL3jNgclgETJOq6ScZnZVxbMFGs6T2Q8rKELhCjCKj/SdPbETTPdr8mwm7ipXc5QsYASMAhrYuOQ2kHyhCnLqdbls953KTkP7AckQnrRJf00XzbmlvNkTnBB/zrgkYZWGcE38LDLoSUUpc4rmzEdWZHtdZYw7pQuls+hQLjWkWUiq5LzF5IuNynrbs3vpPqY7GsSLetv8GwJH+n7RB0OpNyiehA5TtjGpmkk0kS0UywCODK89reol4gp86kYpidYxAWOFPmsSHUGg== 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=iMjZEz5aiZfIfGl5mKdh/JccpF6VMdbqKJNqZrA6PTg=; b=VM7Hk5pn2R0MxM6yCpZ3mf5w8siyXVoK0zbFaMsBLeQoDBZDLRaWGen7tUMGlfaBEIh11TeAcKdiyV9N0IehUl80ZRYqgnOfyefRgRfOgwapdOv7DsyDQj067q9PJgfVvJroPLPs0zN/ubMF0fL4utTGjXAUJo/Mz4ExE+RLLWkD5cgA/SunBwuBlPoQntKN2gN37swTmJ61wXF2923cpw/KDf3YGpNEdVUiYiuRx66ljWM50mz+hvukBUTrknpm88WtjEWV1tiCK/Ycg/7+4sCwT+hdf2tjgKKWF4RpJgEsKoNRB12pt4po02hrD49sC9vAd/7BIFSEBFmFYUc3hg== 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=iMjZEz5aiZfIfGl5mKdh/JccpF6VMdbqKJNqZrA6PTg=; b=YVUi/c9EkQW0v4iTR4kXo5N0fteOFHmt2Oc7zVwVuDImj2M0i3NK+7oR1wL1FQYdFgi7bDgpmhhPGd6MgTz5ZchQkmXrqrw3AHYiIuTV4deVo1xc7T+DkwaqQLSi4wVF/8pLtRwAv38cFmN9RIzI4BrL7cLi35vxTITYw8ti/B4= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by CYXPR10MB7974.namprd10.prod.outlook.com (2603:10b6:930:da::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9587.18; Mon, 9 Feb 2026 02:32: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%4]) with mapi id 15.20.9587.017; Mon, 9 Feb 2026 02:32: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, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, Ankur Arora Subject: [PATCH v9 09/12] bpf/rqspinlock: switch check_timeout() to a clock interface Date: Sun, 8 Feb 2026 18:31:50 -0800 Message-Id: <20260209023153.2661784-10-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260209023153.2661784-1-ankur.a.arora@oracle.com> References: <20260209023153.2661784-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR03CA0101.namprd03.prod.outlook.com (2603:10b6:303:b7::16) 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_|CYXPR10MB7974:EE_ X-MS-Office365-Filtering-Correlation-Id: 024dd8f8-3e95-42b1-8838-08de6783714e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|7416014|376014|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?S5av1VIc8xjawCdmEHib2quhcqUIZvxYMlvMJUMzZZ3P8kFxYMXnaegAqjyo?= =?us-ascii?Q?WN0z9oRLKsre1UG/mTTgle/Sn5phpatGX7bjKZna90m3uKSFQK3E9y9AmRcC?= =?us-ascii?Q?BLmEaRggfR8faVue27y24sAzPiLmI5leKUDFiMfGexYMYvYMJd54kJasxpNo?= =?us-ascii?Q?lAAGBUO6IlzVz1tH7oDqaQyLZKT07ApEFK/K2O2w1nPJ6EUhHoaUadd3Mqaq?= =?us-ascii?Q?7HThRdyUuY+NIUSNKxNWEWiyahFQy4Ei21eXS4JYnv/iJe/Z1IQXAVauhi3I?= =?us-ascii?Q?rd2l9Aj8qfaF0ODrrXsHYNrq7qYulR0F/6U+a61cqSdyZ5Q1coOOWh3lH21p?= =?us-ascii?Q?ms8Njb27fhSkDVruiBShQXEsr5PKyCqWW0KQsuayB0i+tuCaoN0I5+Hhe8/L?= =?us-ascii?Q?J2dC4NGAlirUceAIsRpop5Gyqyk+3oK7B9njfflyA2ZbjrjxPlQ+Bg8o3ETR?= =?us-ascii?Q?+Msxejt1gBYwDYSf/PXTrPl4od5mM9/5hdbUy7tYmWX2P/5OJDnKTqXHHkQx?= =?us-ascii?Q?hqAd9Gyie3LLxTm1uZKf5oSs22+j5bTAAPCTGLMtJTAM91+YQmiTUFjEarJH?= =?us-ascii?Q?1g/lhouKpE/pF9EN2dMhYliugg4Fitl3WZ+zAUpJ2gfDnyzoPDCiJQ6R28K8?= =?us-ascii?Q?rFe2RE6EPAqfjc7NBe/adPZVkC0xtrw9/ocIo/thoBnv4M0PwBlV6TzsekWN?= =?us-ascii?Q?Qw6totX3QTldevtCfga2rf+p7ePJfGD4ejGPqoYecaI6IgRZt7NoKELSxQt/?= =?us-ascii?Q?VXTZdIzHzvcKshcsA1oa9znOQEpIXujem7MyaRFN+EhbtxBd0ZZNmmaWNa1w?= =?us-ascii?Q?OVrWV2iOm1L+PM4Q5xTwIInckOIQpI7tBJR7olkYwXUFlYjYoD+2iGX1S8AO?= =?us-ascii?Q?cPZSHD6TdSFMRljiA3IVry8uMbi+zi8gIJHBQUUSN+p+Tv1AzOmrtvl5LLWi?= =?us-ascii?Q?2sj7+CGeD8rdXObD+vBfPKT6t/Ie2KSqhCE+uxvmpe+GlzX2jmUHkIG8Z8tX?= =?us-ascii?Q?ejnDRNhG+nXA3ENsU8gqIu0P443JVEl6PmE7jtYpfbfxmdJxyKSXaTlMf8fu?= =?us-ascii?Q?xCM3hT2xHpgYEumdm2wz+A9m7EM8YjY2FpBuFsoMZzBp8W50EXBy112noo5y?= =?us-ascii?Q?4AchXF0y63gyDYmbwVquY9bQT2tnsMbjaA3FinLNlJPpoOn3ePtqA81FgGBj?= =?us-ascii?Q?ryQTp1DcfYZRUhLxDrJvGzPLTutjCfw3Kouhu5g3HHwTDJ8crnDP5rLJjwwx?= =?us-ascii?Q?+OA+qKAEzJ0KO6E58FnsZwP2qsntwignb5B4TK9uvRT29oLVxpnq6kYqEqai?= =?us-ascii?Q?QuxNs7QtrQQaTJ07/PYtCTVoKdzLEGM0KcVRjisaAgrQQWsDEy8d5IYyHaVG?= =?us-ascii?Q?SZQNupbxgvgZCWc4ZopBQobcA03dwXycLvCdOqCKkS5yuldw9KDS1rgfJhpP?= =?us-ascii?Q?x3E86BF2tsaViLndck4J2KK2tAFNA4QJ7zdoND6JMSohtXSUOqrWG5ofNgwx?= =?us-ascii?Q?7kQJDxX/mqfDzUDXAGpdxoNxuwJaZTgpH2zM8S7ouzeMt8BKvwJEUEwuAEym?= =?us-ascii?Q?9n6o1tE2D4IkcnWvIvI=3D?= 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)(1800799024)(7416014)(376014)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?xoLzlIw0rN6dqEuKdaoHLNb3j3G0e+7SUISDmxWAWfZr/7JOmWyZkQjqc41o?= =?us-ascii?Q?B15u8bf8aexhwGf6U7iyubv2npZQKrTjd1y8rZpDMAqlefktDE1vck4CcONM?= =?us-ascii?Q?p9aCeTYrk2aKA9tlOG7o9ORBJZDrFKLxwc59yJr77kyhsQCMsfZKLHS070+O?= =?us-ascii?Q?YukZt5HLpNOG9IJXxoU6rL5g9Dd70J7yq0R2Qs5UJFbR4IdalfcP4D5afXaB?= =?us-ascii?Q?lMor9IACm6ELyqzMHrZqDtDCqhdxeEI3Z/5Qa+Nf+x6WRNNr4X9+hrS6QtkA?= =?us-ascii?Q?cSOJE8SPRloGo5eiTnzutbawXGbcPr9YbCF249Ft0yTKpcJ7AvcW2RTWioDq?= =?us-ascii?Q?etDurSf3QcP9l9fvs9ZnAj+009+1hFzfFh8hlPbOEqo2PNrRVf7G+5olbMsV?= =?us-ascii?Q?+KNejSXwig35zcdN3LZoI3qRKHvNqiIo0GkVyPD7YCQqT0YVS7UwRHzCsocL?= =?us-ascii?Q?VIL3kH1skyjdPaSwYrup87AEtDv4DVUyztFRST4ie+FWTFnNB5e2XGfKlPFS?= =?us-ascii?Q?dOBLG49m0cLCvFw8MYqHHfapEhd6NDVKss3KFh08owDC5KkmtIW7YRQSJymM?= =?us-ascii?Q?uZorMW+XuUCRCz1XtzmtWhFAmPjhUoFDcF2/HT6wGB7MEirRv8V7pyjJ5yAM?= =?us-ascii?Q?myQrO6RZJ/4P9mIPuW/QBVVLdEkeyj0khM+7jjyw8deMAhJDWs85cqXFpOwr?= =?us-ascii?Q?AwqzK/XEOEJsmyvMTTAMxemZ90uZOR0sl7wIiLtDNHGXey/FEPBSdi1LGNzG?= =?us-ascii?Q?M7wNcWbLE/FBG1qDXC8nX3W4gulykIHhiM91fKpNHOAnIlL6h6uGyHT7g1lG?= =?us-ascii?Q?PSIOHwgpfeF/WCLIn+LPgq8CIb2pk+172odv21n0wte96mN8Yw0kU9QRMVtG?= =?us-ascii?Q?3f5VCtcJyl5sctY6rdCdRCWJPMBT4bb2xv3Ji5/mX2vZMDiO94GGwkkl0J7h?= =?us-ascii?Q?9lxxwtvme1pBZG1mtoCPWY7AuFs3HtqnCR6qSdRMxy4L8LPzzJNPl2xR/fzp?= =?us-ascii?Q?5qFiFQqo4buTnlfBDEiCrKf/Af9n866giwU1bL4d0DWadH9f6RRtZRUMY8y9?= =?us-ascii?Q?mA+jGz0/HDxt6LQYMfJqQ7vcIa7UWh4IIwNLBROUIS1V7NInW47QM2H4BYgL?= =?us-ascii?Q?KrzQ+nFAh7GFqh1CKBLhZ5lpADjZl/TvSDh1ccRoDjBK137Omh1eK1i0cG71?= =?us-ascii?Q?3Tt3DLYt5Yz7r/29Qfi9joUEevCgMDx15+WodCfcOPohYfcHXa+UlakVnkNZ?= =?us-ascii?Q?it0bRNCBQJ7pFCOytK8gMTJWxxKZ1yRKJGPGzwDKY2MiBkAC3IHSvDPJUblm?= =?us-ascii?Q?/qzaICMicEfg9Qk90m9nrKRJDmoOxIpDnFA2feYGhe4CzobvDIm8MLLybcyw?= =?us-ascii?Q?SZKBJd9o3fhT5344ymhCNsNeLRLVf3CeutThKqHWUa/BIpbdxhqsdW1Z2DhV?= =?us-ascii?Q?+wCWxkj8hOl/B23hbwelNIFW8ES/EoOiINZejIpouCUa8A0Z3dJKH5834cqM?= =?us-ascii?Q?O4XGpZ02X4G7dhclWFn6q4dvXBchcjNO5r+4VQ/pr6hrgPnRnzpd7aPXVG+r?= =?us-ascii?Q?cKFO5t2n9cKC3cH23y0yNYUxueYO5PJBiCQqk3vgHgXUdYJjUVGzDZS1YDU/?= =?us-ascii?Q?k1cw+4gRgt9OsMpzgrOop4Rb3hywzqHEHmnDxR58uDH5QwyTfIQBUpJs72ca?= =?us-ascii?Q?4hVY/5nV72wPO7xtdtBvKVUG0Rju3sqHamWlF8ctP9tEkNr70Gp3mjYLFLmk?= =?us-ascii?Q?lE832DyMLbTFfORuyN8LpJD5R6Kemwk=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: ljYrT0IuWJPt38kBbK3R7RVdEpYyRvjrmP/2QrDZTrbCznVIlzlUmJNHBwclZfh5QjhnkWYqThwepN7IIOZ4IGfMUqyXZTsNqMOiGpWYylX4k/9dzoLFFZJ4FpfQuMhJfJNFUhXvFOMl305oVS6Kfzr75RW9lNGfRbWhNsYi9OtjpNMi2wpF64L3q9gIZgQZln8a2czUsbvuC+ORZGwa5Kv85eRDflzI5mVIKgExjKO9su95vI644Nj6ZrTLku7fzE5r7Kn1ddOFLRJO5S41VUXjf4/UYc7zgkgYdA9bnbtch3LFJi24T9IjAnSUQhcrA5/gS/xEMJge9ATbYZ9y5jiA2Skv6BGu7VtJsFc6qPndElHI5fdsLOTD+tIZ4GimjkERLSlGMV29sJVMWlGpe9wJY5bOXUu3f4qkCWDx9icePIYvp2jVKZ20WtJOwklX2Uu7l/gAneM7981yJ8VjmQ6HRNg3WfwKpyE6kYjKKU+Vi84oHUyaax0WNOHkiopUMx4VAYKsPFvlL3ehs7lmiTatOi6TuWMgzJGTz5tLOEGbaFgl1Zb3IiX4YNl37k6aS7dbHZas2J4oWkUpzWqvpFn+NDinEqYeemgscfzNzzE= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 024dd8f8-3e95-42b1-8838-08de6783714e X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Feb 2026 02:32:17.4025 (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: aqhqaRWJR0TkC+Hg7+zCMolNQZN0Ux/vOvleXa7XrtG/2nS9Rwa7vB6BOlEOZJAiddVIs9uScYKZJi/x1rRhiCjhsSVwHKEZrexrln+5umU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYXPR10MB7974 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-08_05,2026-02-05_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 spamscore=0 malwarescore=0 phishscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2601150000 definitions=main-2602090019 X-Proofpoint-GUID: bNpwPTwvDih9IiTWD0hKhUJQTu3EbJTR X-Authority-Analysis: v=2.4 cv=FIsWBuos c=1 sm=1 tr=0 ts=69894735 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=HzLeVaNsDn8A:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Mpw57Om8IfrbqaoTuvik:22 a=GgsMoib0sEa3-_RKJdDe:22 a=pGLkceISAAAA:8 a=VwQbUJbxAAAA:8 a=yPCof4ZbAAAA:8 a=mCH88hr4Ii9tCPgkyJUA:9 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjA5MDAyMCBTYWx0ZWRfX2FCkTOIdMnLn t7ImlR/VBI4tNtHCpIFRe8LgdP//HEceJLYyK4c6J+D7KZK+NgCpo3yyfJVHkU/XwHzxbFNYvrd V5D3Hla7iaF4WQ1RMGUrczb31s+kcrNiKq/CAZkRMO1jexxbVwulpG9kPsRcRzJRvPzbb1nPKAi /cDcfJz4rDc0BypTouwiazCw28Se4BsFauT8CAa07crOftEuQVFB298J+4mpd5YxZs0Siuny2lP Vls0h/bOOiDnlf2MDc3wBzyNkliJjzF7/IHYd0yfzqPFC9FxDVDjBXth96+eLZeDCLdoJVoJaWw 4DjzlZm8yWMeYSp2A4fkt3/KhGjB3t0cQ84v2YIu+BRiz1urnvwxp71EAQJEESVfuUQwmoPyU2m 2QP96aT/bVsmWBRlSFCtKN+Tfc8wCFAU1pLECIqaIYht8ATnqXYX8On/jjPXkTPfkOEnECTMkIC cA49EVwzQnm1ZcKt4VA== X-Proofpoint-ORIG-GUID: bNpwPTwvDih9IiTWD0hKhUJQTu3EbJTR 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. Cc: Kumar Kartikeya Dwivedi Cc: Alexei Starovoitov Cc: bpf@vger.kernel.org Signed-off-by: Ankur Arora --- kernel/bpf/rqspinlock.c | 41 +++++++++++++++++++++++++++-------------- 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/kernel/bpf/rqspinlock.c b/kernel/bpf/rqspinlock.c index f7d0c8d4644e..ac9b3572e42f 100644 --- 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 /* @@ -234,12 +242,12 @@ static noinline int check_timeout(rqspinlock_t *lock,= u32 mask, #define RES_CHECK_TIMEOUT(ts, ret, mask) \ ({ \ if (!(ts).spin++) \ - (ret) =3D check_timeout((lock), (mask), &(ts)); \ + (ret) =3D clock_deadlock((lock), (mask), &(ts));\ (ret); \ }) #else #define RES_CHECK_TIMEOUT(ts, ret, mask) \ - ({ (ret) =3D check_timeout((lock), (mask), &(ts)); }) + ({ (ret) =3D clock_deadlock((lock), (mask), &(ts)); }) #endif =20 /* @@ -261,7 +269,8 @@ static noinline int check_timeout(rqspinlock_t *lock, u= 32 mask, int __lockfunc resilient_tas_spin_lock(rqspinlock_t *lock) { struct rqspinlock_timeout ts; - int val, ret =3D 0; + s64 ret =3D 0; + int val; =20 RES_INIT_TIMEOUT(ts); /* @@ -280,7 +289,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; @@ -339,6 +348,7 @@ int __lockfunc resilient_queued_spin_lock_slowpath(rqsp= inlock_t *lock, u32 val) { struct mcs_spinlock *prev, *next, *node; struct rqspinlock_timeout ts; + s64 timeout_err =3D 0; int idx, ret =3D 0; u32 old, tail; =20 @@ -405,10 +415,10 @@ int __lockfunc resilient_queued_spin_lock_slowpath(rq= spinlock_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, t= imeout_err, _Q_LOCKED_MASK) < 0); } =20 - if (ret) { + if (timeout_err < 0) { /* * We waited for the locked bit to go back to 0, as the pending * waiter, but timed out. We need to clear the pending bit since @@ -420,6 +430,7 @@ int __lockfunc resilient_queued_spin_lock_slowpath(rqsp= inlock_t *lock, u32 val) */ clear_pending(lock); lockevent_inc(rqspinlock_lock_timeout); + ret =3D timeout_err; goto err_release_entry; } =20 @@ -567,18 +578,19 @@ int __lockfunc resilient_queued_spin_lock_slowpath(rq= spinlock_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, timeout_err, _Q_LOCKED_PENDING_MASK) < 0); =20 /* Disable queue destruction when we detect deadlocks. */ - if (ret =3D=3D -EDEADLK) { + if (timeout_err =3D=3D -EDEADLK) { if (!next) next =3D smp_cond_load_relaxed(&node->next, (VAL)); arch_mcs_spin_unlock_contended(&next->locked); + ret =3D timeout_err; goto err_release_node; } =20 waitq_timeout: - if (ret) { + if (timeout_err < 0) { /* * If the tail is still pointing to us, then we are the final waiter, * and are responsible for resetting the tail back to 0. Otherwise, if @@ -608,6 +620,7 @@ int __lockfunc resilient_queued_spin_lock_slowpath(rqsp= inlock_t *lock, u32 val) WRITE_ONCE(next->locked, RES_TIMEOUT_VAL); } lockevent_inc(rqspinlock_lock_timeout); + ret =3D timeout_err; goto err_release_node; } =20 --=20 2.31.1 From nobody Mon Feb 9 10:27:33 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 450592F6931; Mon, 9 Feb 2026 02:32:55 +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=1770604375; cv=fail; b=KLLWbxx4aASASn0+cEQ6uu+mJjjt+N7+2lQs2+4TfS7bnHukuVVnxLK3IOXDIBGRX9jki2A4Q/ai0rDSLFYbFFw4WHEKPEI6FmPc1cqvZLAg0GIL+fF5uOkuq3JsKzlh2h1bLxSJouY8gj1ClmsdIRO5Ks/J0BNXyUNHfUeBmuI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770604375; c=relaxed/simple; bh=EDUHX8kK8pS+vhQmVN3OKc0mBFKaUOMaTija+to4XPg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=cA5oSnFTU/xZVTQAxLG0CNMiNxkjyd4LwL9RXwhNhqdJoee57eanuqqy8fDceCstB731RobSkJzB0BJdzxLzn6aoIoFu4i+yMrbuIn6zqHve/lL1altHvxoocXnzqGrquqoCo2M1fOw27WIIURh5g9hDM/cNXVq53FSvS/eTKMA= 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=CZIVVq0P; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=deQRp6Jr; 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="CZIVVq0P"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="deQRp6Jr" Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6190EmC1263733; Mon, 9 Feb 2026 02:32: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=NF45OX7VY6gHsg0QT9OrrV2ryjWIczmP16k6FMm0eBk=; b= CZIVVq0PFLZPymKWYN2aOoO4NdajbPtqT1H3xtw9WztmZtIUdUa3CRTOkXxUBt37 biLTKDDtcXhk7GGzxW8aL+o7GKDcL3VPzKLqdpZpwjZYyibRqVWMCRzHrDOS5PLs 46x4nAT3RsxZiMXR6tWWwcLdB1oaQnTFnPzFfb6t1d9mQBXomgscO4mFbu+3X0j3 6ws919pAa6PMBuhAhUKgzRxEZrCaaZNrwNu8Rfnjp6vk/eVx/97OygT5U17bNgfW 6mM3wzLjYPUyeQepoxwsUaTlRUxlXQFrUpU3wBUEubMaybvz69OJbqPFPFkGsGUi Zx+nwbH5afwKuJdNCUU5nw== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4c5xh8s989-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 09 Feb 2026 02:32:22 +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 618KWJlL031967; Mon, 9 Feb 2026 02:32:21 GMT Received: from ch1pr05cu001.outbound.protection.outlook.com (mail-northcentralusazon11010011.outbound.protection.outlook.com [52.101.193.11]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4c5uu8g8bc-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 09 Feb 2026 02:32:21 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=cENsJaRSY3RND8Vc9Quj7FsAavPIm/YyjIyw2gZPKRJlpj6uDTwMKydDVB8Tb2tj0zkyUvC30ZMvaWe/urz9VwMqmUys7uKJriWY+Z+jb+27HirYufQl3/1/E/BFNOdmhpILF8SNSmpgxMfr01z3pIuBSQcAsiY5Coh2mLTXA8nw6YfjgH+wLS6tMEpTV2loo2dFAWnSwpB0RLLn4DaVN+AaQgEVQ8ul6r6FQZkj4mfiLTgxo+SDF3nv/0F4bun6B4XfIOkMVl2FGRiF7QQ6aieupNQZvoLhVuniZxZhfVdKy/lK4hygtviKicyuQafO9p7m58NXCCPDL+Uk8AhG7A== 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=NF45OX7VY6gHsg0QT9OrrV2ryjWIczmP16k6FMm0eBk=; b=v79++fCmCiAfGzOU7bNRnTL35mc6nNH/NGqifro8WIpqc8YJD1IzAeVEDO/72xg5FuqbyL+Upsgt7CRJ69BpI2TtxSpgoXFHGJO7VCTKih0wzq0d1iaSSav5KJBnFmJkSX3KRrAfjc6XLW0vGcmgCn9zXJGYFxvEP82nZsLhuoYLUvPh9VGJ6w7L8SwcyE4GaVzekHs2tsgdx/lSPwoSqYa9Iox4seXULq1q/OaSf5vCOZ9L3YlVZBXX2V2sZFaBNSVq4PDsiKhpnV9heEkTUBNwUxdWuojznuKMqmCuJGLA5YNFCw0PWUlybTAA+IrO/YOQrDp9OZ2snivFmcGPpQ== 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=NF45OX7VY6gHsg0QT9OrrV2ryjWIczmP16k6FMm0eBk=; b=deQRp6JrDzy/06M46mcKAOsqtOLTNY8Ltsf9ZcUwfKXaNZHhtw6zLA6nTWSBmDhIhnua4ydGNIgAZ/H35akcH+3AlGxn9V0TWsjJslqL8+xw2KVj4m5PR5mgcKIis8rrYKH3B3RGjjeUVAmVtPQoQRJbavNF/V0J0fs4k5EGVlQ= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by CYXPR10MB7974.namprd10.prod.outlook.com (2603:10b6:930:da::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9587.18; Mon, 9 Feb 2026 02:32:19 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574%4]) with mapi id 15.20.9587.017; Mon, 9 Feb 2026 02:32: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, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, Ankur Arora Subject: [PATCH v9 10/12] bpf/rqspinlock: Use smp_cond_load_acquire_timeout() Date: Sun, 8 Feb 2026 18:31:51 -0800 Message-Id: <20260209023153.2661784-11-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260209023153.2661784-1-ankur.a.arora@oracle.com> References: <20260209023153.2661784-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR04CA0069.namprd04.prod.outlook.com (2603:10b6:303:6b::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_|CYXPR10MB7974:EE_ X-MS-Office365-Filtering-Correlation-Id: 8ee8dc46-7fca-4ab2-3dff-08de6783722f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|7416014|376014|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?LdJfmR/d/778/wkRujdjGxyu9R4nMIYN1JGS0n1Q91xiS5bJeyN3qqxobjvn?= =?us-ascii?Q?kHgTDE8dzI3E1djmrgLSw8nT0tQyu5ISCvOPEobLZnmcME1lzkF+chTqJZYP?= =?us-ascii?Q?CzlMH9OXljTOF7DgO6yOYb27La/3tYYlwJA7FDyYGyaptxBk19XBg2Sy9GRc?= =?us-ascii?Q?PubFQlGt12Xf70ADVTbeCwDaUEM9xUI3xKmUHuN15h0O3u6edx18NOpdbhuO?= =?us-ascii?Q?VazgDmueJMXp9q0l02xlB8Qrzp/0ceyh+gGtLyeGlogJ9lN7QivbegVToWPQ?= =?us-ascii?Q?xOqBiLyFSqqKJ6DgCpvgwjMhFhcxwSB+FYJpbrALUuM+S+Lx49iC4xRqbbvf?= =?us-ascii?Q?c16p+BgVVR2b5S6o/qZHRjPhrggfTXBqUhbAsKPD/DGR9piG1LGEAtYobQoI?= =?us-ascii?Q?+EWXDUGcc0OphB49BAYuYAUmRSCKF2kl+iRCYuhYUbJg5/1VFEsgLnVX8A0T?= =?us-ascii?Q?kIV6OKd77filNC65Xk+9lqqL1oPNnGCzvIemCqD3+2DGfNoBTJRXqghlgz3Q?= =?us-ascii?Q?x+FwP6ksHCMOrtChG+O7Rlj8hHoIDRdGtEm5jngcXWcyWpkq/Pyj6yDYru8v?= =?us-ascii?Q?cyXXFJjNGEw7845URIeVOsQJT1oZNUUIKwAslXSMUz7HQ1Eub7FUGD5+R0v+?= =?us-ascii?Q?9M8Pq8skwPYrgyPgbvBgoW9vflDE4AeV3oW2na9dilZ+0c0NfdLT7QnNglHx?= =?us-ascii?Q?yFkBsclqI2o5zfIbTXXABdGVIYMSDlD+lTkXiQ2bJ2IcO402GKg+OGni/gcz?= =?us-ascii?Q?VGAjdKukjgzE67iqtTgI3lUmrW9piipMofTmpSvHhWQZjYA1dAIWtiEDrUtZ?= =?us-ascii?Q?oG+HYl7p++KpauPZGvorU4GDO+rg31eHivJWfRanznu1y7WDIODWQ4LTYFdx?= =?us-ascii?Q?bxlJEoS/ax4brre+1acS+H2TkE2yJARgdD0tTrm+/eUoaW+0jSXY26+VWt++?= =?us-ascii?Q?l36nE9WrKW5stJeBVNdg+2q+ayE6Ix30Xg+UE3062QBVX9Oib7SciR32Lp6M?= =?us-ascii?Q?b7IIDd61ng6idwSAH5nMo6BCP2W+0ENrZpbvtWOwdJruVmd36Fx35EBAN4LK?= =?us-ascii?Q?pfgb66RQDUrKiDFcGEfG5GOKKSc9sFQ3SWh5SOtpParpQsisFUFZ3AXLFde2?= =?us-ascii?Q?lS2ZQKyyl2uzHQw5lTTlEOcCnj5n589TmeLJpaTgyQ2goBgH44DHtCLTOKFG?= =?us-ascii?Q?KvJ8cZrEjn1leT7rT5BYcxcz32N1mFQYVGmnQrMcB88ZML3TAkqKQ08ArEhg?= =?us-ascii?Q?Q1Lm5VDEaCR7pMzDtcCO0JkOsfaBmF/qvlEa9WiSLQqBsrGFcomZ4xoHX4q1?= =?us-ascii?Q?y9xay8XaBhTn4VoxZLVGuYaAHvJvKMyTsQ5ML2WkqeCy+eYmafx0qt23t4nU?= =?us-ascii?Q?/heUhXHxWNUGNVw9OQtSQwfsxOS1dz8MfIz26GcsaTjq3DX7yieFjZPgZmrA?= =?us-ascii?Q?WugaxjCP00WZflVT64dxtM7fu5Q0VuzSbW8HqpnRBe329s05apC0VlqFSf+e?= =?us-ascii?Q?CoUscQYBf8T1zxx4SWIIZE22ya0cOrlrplr6wwP2/rBUrwHBlq2IPBQWnb3x?= =?us-ascii?Q?2lMhkyKMV9E8Tnnr8I4=3D?= 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)(1800799024)(7416014)(376014)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?RdpJdYGn8uEfS41X0tGlqwsGcR+qR7+IXZLOR0ii9Aac3ktfcdp7+zLqJ/wq?= =?us-ascii?Q?h2w7XPmaJP1JeglSy7FWBK14AGZ1WvR3OWpNeR6WxgmiEWQQU6AD0rYndguX?= =?us-ascii?Q?ggYM4zMvgnZ0VEtYWhWuwamCw2g8hhEn0qJdPhrvpBsxcUPlfIkf1OXi7sAL?= =?us-ascii?Q?SsaWG8JgXrjKsK/VahbEMBpO4Frkdm7K4/jP+pichPwiySNahJ1cAJTEj+rl?= =?us-ascii?Q?5mOmeLJtV7nBcIocYrpbH4isoIhmj773rNDS3M/JqsWg6ocNhxZ4Iw9N8w7t?= =?us-ascii?Q?9ahWBIkCY4yh98ly1xhatu81SNl7NlajNwsqHDQty0TqnOcziwAfHHTwzaBl?= =?us-ascii?Q?U9AvqEBhogXvvKqZxfPEs7+IcwX4LU/ET2EMuYaByeVma3kgt9JRCTkMhVEV?= =?us-ascii?Q?QIGToJzzgFMXPoITXExUDouSOtKbl8ofGyhNochhF2pyFlp2YKac5/wUml8r?= =?us-ascii?Q?dJgkitA2xUcbQUVsmEMTXUdKnI5PLkd/n7ma10jG9gcAR3HRv0xs7+ihrjuw?= =?us-ascii?Q?3HP3EEfW+r8tvtr0hul3+iaIrBV3aE7hBXz83b2Uu4v4WfjfI6rEdsmKiVXT?= =?us-ascii?Q?DKo7AFwkLYWDpWv1kfLLtYBPGDYuutp7aamp5zfy08Gw9HJOfYjStjQ3c0mf?= =?us-ascii?Q?98qBTil4Xg1d5MsJsYSFyNXqYfQyf665qcRNXx4uir7tAgXkzRLJ0b1z4kxd?= =?us-ascii?Q?n+RnPqIs7aS7p6o58sZ5Sb/MfiUoc8sP5AisprlGA0UZx80d9CqdQHiCX0vc?= =?us-ascii?Q?kecwx2qVIYp6cZfqbc6P7rBoHNY5o8uPQi9wLA0gv7iiO+L80Du16afRm5Lh?= =?us-ascii?Q?w1Il7vGmGYYbt7fWdQlEPtcRixSw0RZcz08/gfOmCzRlYLjh2sv316NRDfxT?= =?us-ascii?Q?04ynQPL/jlp3JMygFi+qAcuHv8mlmTorBrxbm8evxdjSi1zdWjQB3JgXhOBB?= =?us-ascii?Q?viRYisjy5MeFczXUD1Qtly/aUDug/FWZdWj4bAB/KjS7NzNuUOTq2NOK6hf/?= =?us-ascii?Q?gQYPnp3c9hMTlSye9P/ehFbzUjE2gdNjp7tJRIvaPPECgnMYye40/7+h5RjP?= =?us-ascii?Q?XMzdjpJEGkoZI0i2/oOLc8RT/5KTNL1DIjY6WMAhY+rmGkiY20dHHD5Xx/r2?= =?us-ascii?Q?iAAp9235SIaFd771i1sBjfWUjaZUWgTLIEsiHFL1pUItmJw0XzLOOqW90iyQ?= =?us-ascii?Q?bKF6raRv6rzkCROAlPME8fjBH327SIqb3IrsfVrKFHVkQD8rd7kmsAJfC3Es?= =?us-ascii?Q?LWwImDvEuYpGWugK39wCoDWQzMoeyECLKoxXInElTaSvjNeqlqfzzjQOy7BK?= =?us-ascii?Q?keXInYA9OM/oTNzb8lX8NJPM2GOFgrh/VeY7zzOmjarY+e1e3R5ep06QgWZu?= =?us-ascii?Q?DjpUL39INHOIBcF5ogkCvEcvWeIVQJraKhHi07hwei9sohXfpp5cXlkfO9Ur?= =?us-ascii?Q?5L1brRmnRVROtDN+/iEo7Ydv8bwBUlLdcyPoHmMwmSDW7HOeNG6FFDpFWlm5?= =?us-ascii?Q?H6OEMfaOAMSyl7ViwdAjP0fPv1lSbTGDQoJz3MM3kFY95uSAFBXJwtvCi+WK?= =?us-ascii?Q?haAVKS0uQq9GwUBkR8euA29yvSiT8/h8B1E9DDeSd8UFmlvphuoxZ4ejcs/U?= =?us-ascii?Q?Uzhuh6zYynW62CzAyroN2Yi0XPF4wNIHMaLhjJEvG7frVUPa6k0tacCtAUzB?= =?us-ascii?Q?x0WVy8/GcyhXOvy8XL4D2fedQmwaCyqOyrH5BHNnQ0GDbxBgFRYxGxJ3p65J?= =?us-ascii?Q?UtvzFMuO8oMHtnk9sE81lZ94H5aTFxk=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: vPjuh1Fv1QYWmI1nl6YN4ticTDKCBonGU652hkw5+gJX1I1crE8Qg9Kasecp/4Q7hbVtuNJaEmSF1z5j8nei4LZbyOewIii3uaGbmM48yr88hjoH2OL5UdSPnkYhgaf5Yen/DCi0+7/xk1fm5tyrtb4EJy6g4INUGRJX+iAOoKv85ajfJUlG8oyUIkgmRtsiCVxOcejJqSUS2LrVgrXjRzS48U+C40MsdHWsfGXyW3eHsUs3MdUfTbX78tG5zltjRc+NynpTP76uwBuwF/Ld418jGqF33r5RwOKRCQxD+z7sSbhUQoGijv6xYzTmJ5MfleLASA4aOsOHQ6L/FxznjBF2dcVJCFlnx+OQNxUcOsv+FtvcxPdDwz3IX0bfjl7t6cG9iIrCCgOgirob6CCAUU3Jlj1TiUH5e/UHX54Ivf1y5R+/f0UO+hOzjHBYX3wnyDPux2NUmueO8RZnaBbQ4S/hVC3wIBMajJm9dzgXzlX4hZKocIsM4dHRkXl9kmM8YdIruaJRxiv4ZdIXkVo8GjpQPnJ3KMcbEWt3scTkALYApBqVVC/79KJLTuhbYRAw7fyvocF+PuN91L9rHvil8zJWiG5gU5dWeep5AEnuJTQ= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8ee8dc46-7fca-4ab2-3dff-08de6783722f X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Feb 2026 02:32:18.8535 (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: Cc0r0K5WHOGWd6uw/ufDrNnHaIH9jvLUsF5ypuu4CRQCSrQiwwS+SCiG+erU1E+CmIILHJzienfL/QjeL/pVobPxTPHrg3jHzfqxFcg8V7M= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYXPR10MB7974 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-08_05,2026-02-05_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 spamscore=0 malwarescore=0 phishscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2601150000 definitions=main-2602090019 X-Authority-Analysis: v=2.4 cv=YbOwJgRf c=1 sm=1 tr=0 ts=69894736 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=HzLeVaNsDn8A:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Mpw57Om8IfrbqaoTuvik:22 a=GgsMoib0sEa3-_RKJdDe:22 a=pGLkceISAAAA:8 a=VwQbUJbxAAAA:8 a=yPCof4ZbAAAA:8 a=rUJF80uJHZDRKD-Yun0A:9 X-Proofpoint-ORIG-GUID: NakFtqTUPF2cAteR67oLUjAi793y8zut X-Proofpoint-GUID: NakFtqTUPF2cAteR67oLUjAi793y8zut X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjA5MDAyMCBTYWx0ZWRfX07srS9+BIh3u T3Tndjohns+y9JDs61Pstxjoxx/eOXm0EP59Lt3E9OJWTFHZrSsapW4uXTyPUoLHWsmaaYJYglb ZRZ0n4igH7NasqqucY1FsuUtbugpiepGYU8ytF/PPej0Gw1oHWrKYLXtSGEBpp4enPdJJiuIO3y 1i7yj9hkclGV8gjEqfNvp9bMcGJnhC4FUQuM7anELTRFn6oJNO+CTCtOEh5XMvaQQbee4OOvIYH 2Czvy0X5Of4pKtboTsRq4IPacNZ2PBY2TSk6yzIiGIFo3K3KI77dZJZi4VxoA4eyBVHmbjYYv+6 PhzacBJR00du1BEELN+KDBp84/xgK6qTxae+K4785A5Eq9iRTCwzKmwsleTCt7qfbtmEpLpLfdT 6BZPFVwPd77GMavWQ6J3taJTBeC5vTHVd9HL1B0QT4sEWOO5HlqC4q8kHA+GYs2ea7xRb8aLBCS cTvYsouacmpBN3WoINg== 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 clock_deadlock() directly instead of going through RES_CHECK_TIMEOUT(). For correctness, however, we need to ensure that the timeout case in smp_cond_read_acquire_timeout() always agrees with that in clock_deadlock(), which returns with -ETIMEDOUT. For the most part, this is fine because smp_cond_load_acquire_timeout() does not have an independent clock and does not do double reads from clock_deadlock() which could cause its internal state to go 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 RES_CHECK_TIMEOUT(). We only do this for non-arm64 as that uses a waiting implementation. Cc: Kumar Kartikeya Dwivedi Cc: Alexei Starovoitov Cc: bpf@vger.kernel.org Signed-off-by: Ankur Arora --- kernel/bpf/rqspinlock.c | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/kernel/bpf/rqspinlock.c b/kernel/bpf/rqspinlock.c index ac9b3572e42f..2a361c4c7393 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,20 +235,14 @@ 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. + * Amortize timeout check for busy-wait loops. */ -#ifndef res_smp_cond_load_acquire #define RES_CHECK_TIMEOUT(ts, ret, mask) \ ({ \ if (!(ts).spin++) \ (ret) =3D clock_deadlock((lock), (mask), &(ts));\ (ret); \ }) -#else -#define RES_CHECK_TIMEOUT(ts, ret, mask) \ - ({ (ret) =3D clock_deadlock((lock), (mask), &(ts)); }) -#endif =20 /* * Initialize the 'spin' member. @@ -262,6 +256,18 @@ 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(). + * + * (ARM64 generally uses a waited implementation so we use the default + * value there.) + */ +#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. @@ -312,12 +318,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 @@ -415,7 +415,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, t= imeout_err, _Q_LOCKED_MASK) < 0); + smp_cond_load_acquire_timeout(&lock->locked, !VAL, + (timeout_err =3D clock_deadlock(lock, _Q_LOCKED_MASK, &ts)), + ts.duration); } =20 if (timeout_err < 0) { @@ -577,8 +579,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, timeout_err, _Q_LOCKED_PENDING_MASK) < 0); + val =3D atomic_cond_read_acquire_timeout(&lock->val, !(VAL & _Q_LOCKED_PE= NDING_MASK), + (timeout_err =3D clock_deadlock(lock, _Q_LOCKED_PENDING_MASK, = &ts)), + ts.duration); =20 /* Disable queue destruction when we detect deadlocks. */ if (timeout_err =3D=3D -EDEADLK) { --=20 2.31.1 From nobody Mon Feb 9 10:27:33 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 ABA87309EF0; Mon, 9 Feb 2026 02:32:57 +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=1770604377; cv=fail; b=itomhlCydlh2BSIZI1JHMPzkpepF7A0vrFNRhUt6X3zaCROlePZgBE41MK4F3/g/UttcKB4m0T1nBgnu6XHjPJ6cSctIKZAN8eArA/csJJadEliM0uOuj4ENAP7OvXipm+7hc/mdT347PsaV9e2e/kp5ynQxKUJzAcQ7I1bbD0g= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770604377; c=relaxed/simple; bh=kAX630dNgaSSWm847jv94pt+YACI49DCjBIg/iXB7PA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=k8F3z7/QCI8izv5R/gmwrmkn4DPhVJxVsHuaqoPfotDQaTlev1Q4muFX+JT5UkGMLYe6/zXoGBR9H5D0RfcvFQSptsksLH8H/KFyPnLrxAY6oeHGlTABCb7kutapRykmwAhGW3J109aPecpOXmv6MAaStsJ8MKXWWncHi9NK4QU= 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=BIiSkG1x; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=uknxY/GA; 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="BIiSkG1x"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="uknxY/GA" Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 618Necuq136611; Mon, 9 Feb 2026 02:32:24 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=fJM82hUDm82PI6d0udMTBg8/ANwCQGHQ1mYcxVr1nIs=; b= BIiSkG1x7Rtrx54ejdJ46Q1ou/FcDW71RlTtl9AB0YEOLtgTOe1CFgRcO4mQEWz8 QwahFHG1czHCjNE7WjOkCBRO0wOjfNKkL2t1jjwDHuoLIU16ukcKH6Vv+EQbKF0+ mWGn/aseYeKjsFGexGxkiWbsMJZ12ygUK+KI8xQYBxCUX+/gb+tY/ef/G2gg6iX/ k2DGTkvR8udEvFyESOdXpf3eFiq+yIk05sq+Rtn9MIlsLOHHv82ShlSGWfBSW1o4 X0Ku5QMzNLxVHqNk+xir9CxOIIBUwhHgqdO0MVhZdnZRH/ajA5mefborByTJHnm5 O2fW9p02qUJPbz0BowoJVA== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4c5xhu99n0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 09 Feb 2026 02:32:24 +0000 (GMT) Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 618MAwCp015012; Mon, 9 Feb 2026 02:32:23 GMT Received: from ch1pr05cu001.outbound.protection.outlook.com (mail-northcentralusazon11010044.outbound.protection.outlook.com [52.101.193.44]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4c5uujyf61-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 09 Feb 2026 02:32:23 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=W4tJUuFDAhKkOZwcCw0YwyLXZzKJUh7w8MdJGRCc5RaoDtYe+9RqNpCnLBje9/6sEigRwoXB3aBJ9GBDzlcE4yaFWL3647xiJppgZ3YupxrRjkEixsdTzx0lZSwuShg84m7gDas4G+4oZWqVyMG/DUxXhXrent3L/lHdBeT97h11bZmUmqaM42w7PCMBscxkyAgYAWkv/Xj/OUFGH51r4rwEW1q8+8hd4kEpX9mASxxMv552gj0rlKxZc3mIf9b0X/1qhAsxQcU50+rGDDadpA06j8FTiHAbK3kHswsN/RHsqNVh41K6rDeCVTZ7D/JdyaGwbbxooE5F0CZtpx9fsA== 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=fJM82hUDm82PI6d0udMTBg8/ANwCQGHQ1mYcxVr1nIs=; b=tCAdWdPcrRc7cK+EJKkapX9Oy5a47E504oMyL/FmVgmG58VtoBVfpoWDopQw6+O8VINuUhXWIxExthVbdiNseprMMG/1aGNeAvO55eMDBCQZPphZOt/vQOgftB+IB2JPMqzteU2kzdpBG+lnpLmrASzFDKvwDY0Zbp5No1AaFuYDh1n1vQg7eTxlhFFb2FIBaTRjIz9lK0fgqgU1lk6YTz8DM7YZCxaH7rcT40LkjObQ1gG6kE9SRdorFHpeXfKbBShCHwQKXsDT48TqhhjPhjKxBx0IP+avID3oh9rYyL+Ca8Ye5eCSN/OAXx9d1+wlsWGb5A9I+C322L0Q71xeUw== 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=fJM82hUDm82PI6d0udMTBg8/ANwCQGHQ1mYcxVr1nIs=; b=uknxY/GAk+vlGzwCANNoYP0LzOWfDL5mNBh09I6jKOj+CKddo2JPMyeLypavZvhLNyLpjpooDqUg6jcHzPVEsn2ywDi0bhICJ6QjVd68EqrA5QEOPYtq2Rt7PqKqSV5gYTRW3hyRUQzN0AHijfVTb6zI9kzUhhTjW+f0e5r5c2U= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by CYXPR10MB7974.namprd10.prod.outlook.com (2603:10b6:930:da::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9587.18; Mon, 9 Feb 2026 02:32: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%4]) with mapi id 15.20.9587.017; Mon, 9 Feb 2026 02:32:20 +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, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, Ankur Arora , Ingo Molnar Subject: [PATCH v9 11/12] sched: add need-resched timed wait interface Date: Sun, 8 Feb 2026 18:31:52 -0800 Message-Id: <20260209023153.2661784-12-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260209023153.2661784-1-ankur.a.arora@oracle.com> References: <20260209023153.2661784-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR04CA0071.namprd04.prod.outlook.com (2603:10b6:303:6b::16) 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_|CYXPR10MB7974:EE_ X-MS-Office365-Filtering-Correlation-Id: 661e231a-d6f6-46e6-3c09-08de678372fb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|7416014|376014|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?QjbQA+hEOFzawM5xcjmTt2sIkdSLmqsdcsFPZIknuWtVYic8qIWexo5g3ZZ/?= =?us-ascii?Q?RPo+/wZRhh0KmpNZmw73YEiaMkSnDgngtvHs8864yhNe5v3sO+9tgSC8NSA4?= =?us-ascii?Q?/JUdOUYx8bmBuqPYY4IvuH2TWSy8Vw50ozsXqb6nm04MkgeK0b7n35IhOnN5?= =?us-ascii?Q?hC0yZh+v5tCuoI4EM2cRwHBx9GPzCz0BUaMcsc2iR3eyw5wvhNY/2rlwHiLx?= =?us-ascii?Q?UxIWUNlsyrLnbSDZ+5JKY34wqkGZzsiB4FI+yglTEHLyFRctlVgBsiyFPWOu?= =?us-ascii?Q?hJ+/vXRn0po3BY9sxzryRy/32ynybFZ7tZqzeE4C0jFPrwAvlY/RtFPUAtQQ?= =?us-ascii?Q?EVWlfX/c0ZdBJJVlHg1bBlqGmGEpYcSKpsU1aO2fKi0WqF7z0hqTO4fW0WzZ?= =?us-ascii?Q?BpgCX5quxKZm7jTM+KSaxhN5Q7d4DX+NKKmZDybSGz1vrkbIsbURgxyWRBJ/?= =?us-ascii?Q?4bT0IA7Inow8UEL1kZ1av4uPvM8knW+CPNqMYbbKDxtrUx6i0KNVlJGW/Wv9?= =?us-ascii?Q?Gg5yDhNQFbMMf9FEGMKthAbpdTfD2QHSGDE4jC1qLFXS5hwPZJ3J+0kWTxJ2?= =?us-ascii?Q?VJscIuBA8NUMqwXN5p9WtdixukBlDC/4HeVvPYQhgFqgN4FhLVq0UioIpYpH?= =?us-ascii?Q?LbKwpoAaZjB5agVfNo06wrDjYPQi8ex7UcQty4lmHHWD+ff96m43jUvBG+VL?= =?us-ascii?Q?3k2aS3/cP08EqR3s/7aSD262W8qVIrYdBvRpeLJBFeB+1KNt643MAEia5VTy?= =?us-ascii?Q?hVGUJZJydUhDXXbN/kYDMLRCXpPaeRSMyXZiIj2fyELac2YMYqnlRLWdhAFS?= =?us-ascii?Q?Xval+TNVX2ZyJocU/7UkFO+D51E8DgnQ2zTmmn1yRQ2tnwCVSS/5eutig8sq?= =?us-ascii?Q?9emGWk2emJrV9tmN+apblMrxiixGczczew837PxUQVIXTfUZkZ3PHgnyJjN5?= =?us-ascii?Q?dN9RKeIMeI4nOjn2/mQbJLFi5VEq9F+NuCCLYCWMWGlFvYGRt89RQwz2UvgL?= =?us-ascii?Q?4Pm35XvMvsA9rxA+BVSPQYWVgPVfNPBjUzCJe+d1erwZ9aPZDxx99eR7g2Ek?= =?us-ascii?Q?fzr7aOFEYUMw14Q7lJtX8U4nsGeCL9dCFQs6kW4qw7o+80yCi/B7gocA9iZa?= =?us-ascii?Q?30Ij4+7UfMckhqNEjkk51DY+SfqxbQGBhqJpnzj3MfxbdWaIol3F/WD19qAp?= =?us-ascii?Q?er3JscQlPwb5Q5UfrwfTn5CEOKPDLBiG/qDUFwfs+OBzS8jgWAYuCbJVrHod?= =?us-ascii?Q?z7VLWACRQTEp8GKnA7uRcDBPqOLorXcrmtV8Urm5RH9BCLYcXxjp3VONYP5s?= =?us-ascii?Q?rs78ZMRvgkMVIc+Mh1KqNdpQ1ExtNsZZ+3KqqrSkX4YEM4D13Rz3ZPunstds?= =?us-ascii?Q?NhAIg9geBE541yNIDkBpxTKUnopvh7Yvxx+5foB/+7HHrEtbWdfD8MRIjiYq?= =?us-ascii?Q?pjR34Ry+eDIIrju8px5RvpAsOleioV3Nlh47sXB89m+x/OqYSXAhhL3dI4mO?= =?us-ascii?Q?Cg+ylC9FnLiB+3qn8NfoUIWMKYjhgUIzA8xi7KYVcpuLMj9XmZCRVzcgeXY7?= =?us-ascii?Q?pUcSSvo8GAiPcVhJObw=3D?= 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)(1800799024)(7416014)(376014)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?g5WYZKbaaUxlpdGK4PkAgheBhaw5zL2ZjSSbyReaxc5bBdnC32i8QLfGFye7?= =?us-ascii?Q?yOq2WRwfo7/IiQDMNJR5mwI3V1ZacBndt4LkBGnTmxftccuRlFFiH4s6J5l+?= =?us-ascii?Q?xp24pttOiMAtOQSaxzpROZfyO1h2bjWcvzxtd+QzVgCncl2E8aZiLgJpaF/q?= =?us-ascii?Q?gWLWsCymKKut2RLjsw/f6usKnUiuGMSd3VopjdVRIG2rLthGDvRhMQ5FfuMj?= =?us-ascii?Q?edSKeWKWixAnsGyTY0Bw86uscwzyvwycAz5KD8mUYo478ET0y+ZE/Bubc+Ik?= =?us-ascii?Q?vwCIKCam5HXdPr46CzDTWFJ2rVVA06UYLLYWl7SJLHriN/WTL018bH9kXEu3?= =?us-ascii?Q?2+2XhiQT/2BkdIKDZa9mzbEN/rhWSHgItoyMrVe1LLz71Y7B13UPYDrzS+IU?= =?us-ascii?Q?6Yvp+xpkcvUHZ9Js7iotDqV+/E0Pa8p5/UuR2MqI/QJBqm+KnqDOqT86wMvc?= =?us-ascii?Q?4q/pIMh3t5Ki/9wvnQIolZOLfqDJr4/mkgCZZ5YoBONG8mEHo9tCaut+oSMH?= =?us-ascii?Q?kGumNIEyjr7Ri/6hytbH3MbTg85jjYIromLbEj8yHmbw6mHoQxO3lC2l4exq?= =?us-ascii?Q?vFeW1Amiza/Uwo3S6JKuxIlOlbdmo8pxBJE3mTDCnjHheLTSJClX99m5ba3A?= =?us-ascii?Q?zbA3F6dZL3MffM2RF0kmYO9DIc4DoUkNSZlco/NG9/lOdSqZczhb50oexkOd?= =?us-ascii?Q?i+QST15RXUSpVzOCqYn5XaiHE4c8xo2GZhuAN+ELRwdFUBeAEWURjUDydJqw?= =?us-ascii?Q?vCIFEmz7UTf8/LwGZAbiXFLJAiHp4fdLgRBYC5ubzzTeZbUuUItEJMuA66NV?= =?us-ascii?Q?zEQi7od5SERy185hA8HVYrF77397DI7w7KXPW5GAiq0/AzEUtbypgwjKUtP/?= =?us-ascii?Q?6CryoHDYBtXWo9Psxz2pdd7gLtTIkubU+WojbJlcVvp71lNK1ghKIwA+t5Ib?= =?us-ascii?Q?VupfjoxSCKx07Kw+r0nA/tO2lS2+Gc8lmh4c2cSrOYSdO3HkjOkgRja0OK5G?= =?us-ascii?Q?fQbBWamt/SRRFIwXCa8aUxz54H1G+0oM8BpGs93zJxhJHFo61OdHnkQNd41/?= =?us-ascii?Q?tRO9uDyk0Jkh7uV8+t6IlnTgsDJ3GiSjAh9NtVzQJFMcXTQuVlh+RpSBZl06?= =?us-ascii?Q?XFUn0Uw78sFr7tIDi5HzpjNlwjuesFv4ssz+r74dFtgqgyZA8S8/47KSicFy?= =?us-ascii?Q?SUzjo/5sQEMjE56H5XMk7tufBOdRunEyOWJC5Y/RMvENvPTjNF7jJ35kIfXI?= =?us-ascii?Q?fXMl8x0OWH3w01JC5DbBHRcClzY0kCidB2GSmmtx55qM9NnOqWUtUXO4WuSC?= =?us-ascii?Q?eb+N10UWXMB8i6akGsnu3ovJTFH/omiGa+YEs68SCwoYRtmKhK7811HWkccI?= =?us-ascii?Q?ZEGYUNrInFhBocUlheyn8rY3YhuXmJWMXYTjETcWHlQRPC3jj1eOLekhyPmy?= =?us-ascii?Q?Dake5LZmR/AN8JFR/ptKwNXQGSTZq8wDWZGp2/lp5hTAPaObUNJksitDiaVL?= =?us-ascii?Q?oS1gXWoL8Ufz5xRnRfXqgWOJ3SuuriW3JdQBC3jzxoH1ZbpOUhAZiUEi/Cll?= =?us-ascii?Q?u4hAIxDEOwRmTLptW49n8pygnTp/gzG+RM0EFT2GHEhM1NlgkqXEogbhXXjT?= =?us-ascii?Q?N7MIdyznxY1gGmQgNzFNJBZfKqyYny7aGFun4iPiNg8S/hYscrRTLfaLxiJU?= =?us-ascii?Q?mQTomQD/HdIbScUQvUOM2Pk8X6lul3mZjnXeeFbR35VAuLowY/VzKVUdh3Ll?= =?us-ascii?Q?icgOnUSpXqVYi0iuU8WR4FqQHWw6d5g=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: LotDnL3VGD19Bj43/2T4A4Fx2nLEiBoJUrEM/KTxWak6hwwRrJXWX1eIR5QtslhxEgT9faldEZFWySy8aXQ1QJ8EoG7JPbEjDsRVJXpko1yeoD2yn1tr/JW2XKFMpBunv6A8Qbs4ddq9+9rtOgXztaOhJSNXd1eM94bCjt2Vai5mVgQ8yPEOxdBcsiuVrG/+uzKknVfL0hgmMTcZoQacV6Qd0AK9GbR5/jDyvsB+2dPbSiuO6yj91iMknQuIbLjR4NrPmbvT6dpbiIwxfdEDKJa8h9TEp4u++BgJFtvdlrwVtNapNF/7XdP0OGCwx/msQZBUpvT+w/P8xSdV34oix28S5u55+INKTSSkxtWxD9SqlXbHLgaDKeJ9PtLoFfwt0MiVx6SyiiRQFnR7cOWaglP7xKZUSoFiTOv1GgfIP9A6R14wxmBcb7Tb2yeihgHAd0EpwzF8Q2e/vSO3FTESRrdJes91taQnjHnkPViCchHnqn5/2IyhKQY1bX23NBI9ufv/zBiju8smCgqh+pV0wv+1l9iGR5nfkzxGbt1xFfPwxtyH+OgdEKqh4ghw8lHd5o56ixcHWd0P+oh2CuvDeiTmCk3ByLjg0UCXOuqLoOI= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 661e231a-d6f6-46e6-3c09-08de678372fb X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Feb 2026 02:32:20.1696 (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: uQy6XYQkezFWeGhyWdZZ97ehILfvxH6raX4K9fM8/tXXoFOJZwp2dPObLBLB5SC6roF0DuHUYPkjvwb7Aa1GHIHvwSg6gp6TNi6EceMwnUE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYXPR10MB7974 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-08_05,2026-02-05_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 phishscore=0 mlxlogscore=999 mlxscore=0 adultscore=0 bulkscore=0 malwarescore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2601150000 definitions=main-2602090019 X-Proofpoint-GUID: ec3XnYYz3FUzwJ5E-NkxHHsoDRLqR72T X-Authority-Analysis: v=2.4 cv=FIsWBuos c=1 sm=1 tr=0 ts=69894738 b=1 cx=c_pps a=e1sVV491RgrpLwSTMOnk8w==:117 a=e1sVV491RgrpLwSTMOnk8w==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=HzLeVaNsDn8A:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Mpw57Om8IfrbqaoTuvik:22 a=GgsMoib0sEa3-_RKJdDe: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:13644 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjA5MDAyMCBTYWx0ZWRfXxyVxDAUlp+Im QdVINsqXh5+ZPCrbLi8qAHYWhpBYDeuKwmP9csUGMSV4pOdDxyF51sbFF08mQs3uijRiJpskajj 8pAHH4n1oEfoxPFAFRjGTROedQmlbTd4OmTsPJYfitJZo8ijTQeNrE+7crLx4njoVr05O8AjCD7 WoiSh2Q34PlTLvuSk7wpC8DypimoBHIT9trTAxmNg8vZg0w5DGCexuvukE5dLvLtRuZFq6MadmW U8C43gleYvACA7uzZ7xfttnvOs6EGsfrc2afvtPzFeloXvrRNx64wV5ZcIzNjdqrnPXBTJClRbj UJV1uJBsPT7f9JJAH907QI3VgXWB23HoWWyQiXwPUir0fW56KJjGLapqL6Hv7v81PTjFK4470ep aJXR9vGG8KSD2f+DzmUOMAKj1sOKh2Wkw4pkXyDtpU8Sozyku0SDhPuvnBApPmuZg/yDv2TzqAI Kh1HZXzv/zYAdMmw/WfEQBLCvhBbr+N8yQ4R5F1Q= X-Proofpoint-ORIG-GUID: ec3XnYYz3FUzwJ5E-NkxHHsoDRLqR72T 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_acquire_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 --- Notes: - Make tif_bitset_relaxed_wait() __always_inline to work around the noinstr section warning. - use the BIT() macro when checking for the tif bit being set 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 Mon Feb 9 10:27:33 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 B9E59242D6C; Mon, 9 Feb 2026 02:44:02 +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=1770605043; cv=fail; b=FUFeHi9eO2cWs4rj0ED2+v8n1A0k9WYSO3gcHRompKsA6EmctYyd5wCh3RXJfRn6Y1l5K1zUybc0rw6dkKMEMS7guLPli4fkISUmF2h0Rwf+gVEg8Zz644sydWeU8+csZzK12EcAtab/H9pITMMBZBeAbOBNbzviX+CylGBwJ4s= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770605043; c=relaxed/simple; bh=u+60uCMheJ+KbYqZQVYBt/6cYO8hIVO+DBKq40jJDQI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=ZcIhF+cYBfRdtsxCR5vlHNv7mrAszTz457T+PgeCX/+A0GlkCfrEYwtpM41jWrHi5ajRpIREHebDPILqW9t+s0ev6tjLA/fkCkLczsrht7I0a2Jsss1ljc1JdKi/V7B6ny3Qo+V0GmpiFEOOkT5ZuNPf00VauP/qwSvgkibfZds= 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=li7dUpIz; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=dTgXWb2n; 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="li7dUpIz"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="dTgXWb2n" Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6190H1ia194061; Mon, 9 Feb 2026 02:43:26 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=PN8gl00AgWSHNwVcpx/OxMd/Cw3256lLnqS10cs3nQw=; b= li7dUpIzkTClIYFZsOUPV7U+esNia1QHCTZH3RmzYHGHdA3SYoIKeMQVzQXAAzTn s3kXZt5m+hLHXuAB1QEZOxhd/9KtqMVUuINr9voKYsqV8iaoBWK65agBLMa9WSOf gMye+lMMJtmvMm+adF58UBUd74jYtNUfKzS/Hoc8v9A7A8siTpex+4WbgKzSFOLg laP0qlM1jj1uvNhymfn07yO4XT/AVtAHRpzXcFxivdMD9CbBlcPjwaZhI2DQNj6P N0G6fzckOI9LyNG7sCFLrGYr1F6I28dp6zveNgMqcIWKLczQSfe9dIbSeLk40gsR 7ViIL2LH2YfNLf7NVp9zRw== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4c5xhu99tg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 09 Feb 2026 02:43:25 +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 618K12a4031636; Mon, 9 Feb 2026 02:32:27 GMT Received: from sa9pr02cu001.outbound.protection.outlook.com (mail-southcentralusazon11013040.outbound.protection.outlook.com [40.93.196.40]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4c5uujf559-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 09 Feb 2026 02:32:27 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Nm5oM8Qx35GisoridZusKiDw3U3QiACnoEVvyGn+N0PUPvqXCEZCVQPOUJTiEcT3fzk2w/rqTZdIX1QWImKN0/d4nrxt41dT9O5X2Gwn7XmqUYDZQNpsgKdDq6BjS8OdcSz+bszs/ghQZZIKsSL2JOZJ8diXTnxVDI3RJvB8odQqJTgFjW3jegjB93LOFlJbkUONe9p98Fjaj50OCf68Ai++r0rnxN795WhPMytgFOfrp8egE+yHQyJFMGrQZA7rlRMja7E4tNCMSbtOvFP9aDENFtyAq/deer9cmpSVNf2ZL3heOCMOrV0yVF/V6bWFd3MP0VMe9rXGzdDX9R4CUA== 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=PN8gl00AgWSHNwVcpx/OxMd/Cw3256lLnqS10cs3nQw=; b=BIPr/tD5vc4SLvifKdeAfyCKsry+9TNd1dnzpZyEd2cjMVGiFL8vOpphzowubr4/oSM5E7xkqDtKpioOdNIY5iA8Hh9GysgP6bjV27TECU/5PBiO62RXaO6i54L3em7aoDobWSiz/A1nW9C3uBtWMyY1ZsH0BKhHffE5KdWssXkRuFVVLa1X/1ZIXTmjoTCNaTUOatIuPHypNpJwFEgCch+lgTKoVTCoMtrmB3X/9EGuAFEPc/7ammYq3amSQ6e+Kk5gshcE7M/ciB+ym9NmS8FhbvoEJ3Mhs/V7gea0wgNQB5r7uhDJEDXdwjlgvC3FI8+Tr3OUOFczRe58X1EJQQ== 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=PN8gl00AgWSHNwVcpx/OxMd/Cw3256lLnqS10cs3nQw=; b=dTgXWb2n8yZUkDBrHyUNoLcKOopD3HoUT2agF3fAZineos7CuX53duW8VqoQV+PjxH8BNyTEABtFIn7AkkYpU6LyOwJxBSclIhrG2garMvX1A4WQIqiCZ5ZU2CifjU73tuHDkS4rPT0OjpoOvNdhT+g/bl+vMYkeXX99VpVNXgs= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by CYXPR10MB7974.namprd10.prod.outlook.com (2603:10b6:930:da::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9587.18; Mon, 9 Feb 2026 02:32:24 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574%4]) with mapi id 15.20.9587.017; Mon, 9 Feb 2026 02:32:24 +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, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, Ankur Arora Subject: [PATCH v9 12/12] cpuidle/poll_state: Wait for need-resched via tif_need_resched_relaxed_wait() Date: Sun, 8 Feb 2026 18:31:53 -0800 Message-Id: <20260209023153.2661784-13-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260209023153.2661784-1-ankur.a.arora@oracle.com> References: <20260209023153.2661784-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR04CA0071.namprd04.prod.outlook.com (2603:10b6:303:6b::16) 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_|CYXPR10MB7974:EE_ X-MS-Office365-Filtering-Correlation-Id: fc3b373e-f2a8-4d0b-1798-08de6783755e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|7416014|376014|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?dYv+qx7zzfC/tkxfrHG8DZ03vp0zAS0u9Ic7jUS4yCLFafhDxfsAMmDsWr/c?= =?us-ascii?Q?F9nL1u/D50Fss4cAIEHYSYsW1f9FyuWmfXPhYeGxkgfxDGj0JtmVydkjLrJj?= =?us-ascii?Q?dsWAhYuQGY3NN8dbnBFcjG9/TC+P2Z6rZVqbcODOylozHIamruLH1ZI0D2Xx?= =?us-ascii?Q?euijDDkqYsmqWt9tIEtvbYWD7Fvnr0OK/4APXYhv2Wn2SYt196cNcWxKqWQJ?= =?us-ascii?Q?9g/9DfkptPylvHHEuX9GOJFkKqlqVodCCfem2d/bkBhrrlEQtIfYY8wwI7QJ?= =?us-ascii?Q?RPuTfTGImjXnx4iCICoqWYf/MWM39Sjccu3K0vC2CEHYj6z/ePHDRRWCtX2u?= =?us-ascii?Q?5PP0WoOJzO8LEk3o7TvP+n6OlYlUMZxyOatpmjSCpbAhz4HhJx/7H1xs0Lco?= =?us-ascii?Q?bwa3VgV+1/EUWz+FnBHTib3jeljpkFNgZK9aFwQnYGS0xP2TaXpk4o7m+iz7?= =?us-ascii?Q?kF3Y0QPYkM2TM3iJ8up0iz7uoI4sbk7wMXfL5LBxSVW3yvnjNTuLIUuN2Dfy?= =?us-ascii?Q?8tHpHVyMSYk+0wnrAp5BjXqTcbm+U2+JfHqCeevRtgtSIeTDDgGE4WdnScX+?= =?us-ascii?Q?evsy5Qi3/Ex6QNEvdn5q9LDVckHvbDVOopIqGHxF5RwG3amSHnLtDSTDv8yB?= =?us-ascii?Q?LurfXjVE9RO7qEmFkXycVmBWt4hMDMq3LB/BUB9LoKQFP3JWJzjmN2gPoDib?= =?us-ascii?Q?8UFTCvbGEapNPxOe6RaobOHmLIikFKKptCwafU+dNH9F0wBuB+mAN0PDebd3?= =?us-ascii?Q?wsJDdXoqbVraefJYMue4kkys1j1MMFWazY0WPkk7Z1kN5eH5UXDuZOztYNqu?= =?us-ascii?Q?Yc4uLD1plwMuHnhF8YAaqkXYEOacO8i6GOiMpz9Evy0PPIF2X1ckSqeOO8o5?= =?us-ascii?Q?gT7m3ezG4FtDV6ndlueJJsqqNmDikqx3eMSNKqE+XHkGLmeY5OZ5Kur8A50n?= =?us-ascii?Q?Kp/+IfpJaRzk8B6M6WYLblUdgtJDYr5BjCHAXMbLxl/hLx5XXwMUxnkVa9y/?= =?us-ascii?Q?YcZcwcPdEqU1tDnRrwmVi3a7uMu8ayIxYcZfh106Zt67fFX3+F7QTSwgm2h4?= =?us-ascii?Q?qNMvItLHG1zATqhC6kf4/bk1DkgRjPmpZV+ENu63kNf2FL1Qiv7wOPxail3A?= =?us-ascii?Q?dJx+KmtLo4nokpNlxkGq9B3vSgrrVzpAcb5wp2Qb/qEN7bAUVhE8C8vTmatp?= =?us-ascii?Q?rueIj6IzHGpIlc6URjskd29I6ih9lP4DaSEqyGlPyAZrlX/929Z/yvlBsnBE?= =?us-ascii?Q?Rpm14Akg7iyuvysiussYg3YIHVVpHwZ2HCcj3lIoUWVEaYB2aXooXzFU0LnL?= =?us-ascii?Q?hvL+F8Y8yGessxsgFi8N0+imQ/smF46vPX39vHFgY0J/Rv2J2n6USQg1Vwrb?= =?us-ascii?Q?Ye6OEn8vBxIQ5fBIvrwWK+JIkKwxyzS95mFK0gibRW9Jhm8sljqCWffbjpYB?= =?us-ascii?Q?PUB/cQygxUyZZVxhbIA1EelgH3MYgAHrWcYKF1jbv89H9N2fRaFM5zMd3p7G?= =?us-ascii?Q?vj6n+AmiiqYKSA9mefwvP9xxuRFgqWx+cloWsh5ryRZOCJ8z1dcH69Kt+Zm3?= =?us-ascii?Q?DE4ReVR3DbjSV9dXKfs=3D?= 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)(1800799024)(7416014)(376014)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?P7DvbSRbd+k90WbTMdGvSF7W6+/ZhtJuOL/x05KbWa+NpRbG8ZOHggsQHbp3?= =?us-ascii?Q?B6x6ZHu7opUqMTwRXW1DKkVgpmt6NsNZiuo5pLRjVaPlNAJzuQtgq4W8G5bR?= =?us-ascii?Q?oiZqnEJu3FDoOOTW8dbsQQY02+9FOMyRmTGfEZ8O8Hcx1Tth4n9Suz+ajsJQ?= =?us-ascii?Q?dI/xKgXOqKrNMlF0bg043q6yuh7j55HsyRtQhGoBkl5jrNRWBJ7+euskPUnm?= =?us-ascii?Q?fFAsYKZe03AwgGxcbrj1llQDHsMdrVmxD6E3dtwmnDxfPU702OynDzboYkYC?= =?us-ascii?Q?J8amE4TXq5hf9+sPBk1y7w7fDv5jjcf/3klFSFEH9XeJVBinGO4H45t1wKL4?= =?us-ascii?Q?b2hySasP3buhR9rU295Fzlfb6KGhmGCXwerpqTNAramrrs9tVwS86u8RbUuk?= =?us-ascii?Q?Lo/kGWyfs8leswWXaHDxfv89/od/5CMl8k4dBz919IA6Qoi70k0MXJo3mED6?= =?us-ascii?Q?uESeO3OrJ7KYa77tk3iwjtMohJnwAeMp5drn7F0AgPhAgxvZCfNOdWHDbgdM?= =?us-ascii?Q?dWENDggFJnmIrgF2vhTBJ3pn5Oo25W1gxXuwHXQ4HUgur+xcHFyDqnQMtuf2?= =?us-ascii?Q?5n40EmSNHhoyuiNw6VqVlyjr0LiCX1IFOauylTt+kco7Vkc4Xpl1jAuK0o78?= =?us-ascii?Q?Ne+0Gk6wHcLDoGqN5NZb65rzZU5JQgivav2ISZKsZ/8BDB+LCYUevUJHQIKP?= =?us-ascii?Q?EcmVqTYAF6r4XPTXyaGoSG6oldamu2lZDrCHauIUSHWNyicn0tdTdTpnFoPX?= =?us-ascii?Q?O+W4XQDMAtdmI7cqoobXVoJWwYBqP39r2IuuKXR4W1LUFAcELoO+k68xBdmq?= =?us-ascii?Q?LX5oHqy6RYsCV2F4XyymVi1/qsmH/uhTt+RkvW+oNqF7TcV8UHuBrXcvESwE?= =?us-ascii?Q?dX2KpMGrFfmviToyGja1K9ZEfaus6ph7CYNd1B7M6XAwI03FARh9zCoVpdCB?= =?us-ascii?Q?vFgPH38iUCtP19+t/0Hkz3t3n9BTMewQj2ZSTh+/OA7zLwWoFKUnbhyYbRqd?= =?us-ascii?Q?qdjVDFgGIgzDtOoeqp7dsTRMgIfsd/FMaWmr2moPwhcazwzaIpu+4LSP8tR8?= =?us-ascii?Q?H5RL+vcqRjeF77aJInbSDsMEZv18ZVQwFv9RvoGl7lBnfeiXMWla2wpF7Oyv?= =?us-ascii?Q?UnQoxGRCM+N0hpZZbpU4xAKlFV2kB0EaR14MDCFCWKECoRkZeU+N1DLa74bS?= =?us-ascii?Q?dLgf58fsXSqPmyJMLHqoI1uJd4sjYqSPsro/k+17zutyiJsNYgjWGHo8HG+S?= =?us-ascii?Q?vFx2Y3t1aUJaKeDqEK/5JWlcPHMOC0hwqqFXRGt9bOrSGU/NbQ2aYjjRBS9z?= =?us-ascii?Q?js10i37sKSp4abIaBImbwgOjxck8Y0Q6iSwl61dPBeav6Rrb6KBsr5viVEd8?= =?us-ascii?Q?eOSYXWP2/WClTgWeWX0QGDr1zrweNrNhMt1jskGIkj9nx9Z146rFUPbV36t/?= =?us-ascii?Q?0WbW+I97OZrrjQEKTDr0lqjZYAKNTbXS5bdcXP/uQg95ujf6Yeqpjrb9k2sM?= =?us-ascii?Q?0A3Zgnmc6mVrQz7qzPCjWOxD5676Cm7Ohb2dL3HkQeD7+Gca0zc0H1BzdZso?= =?us-ascii?Q?u3Iy9FK6BULyyTYoVy7lB3OU44pOrZnnaQUrwZJhsb9s7rPKuhkGTKn0yWMr?= =?us-ascii?Q?BFqNpUAeyYORIZ0IY/XL2g64tjjrB0F8haxpJaX2LnYK/GAB6Xv0geB8etYk?= =?us-ascii?Q?hbfGDOk/VVMcoOXtihQI/oJ766TKyvoxaafhOoaLe18LkXhhwMcMNWX5jLgo?= =?us-ascii?Q?/Y7gwv7PLwZfp2DrU+6LcoJ6s/jYvqk=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: seOiwm8Af+scTWii2rbEO2Q8uqS1OvuYljrkGjl7VQUSUZlrRwpxV+M6ac2bv4CV3SJ9zEDMN0to6oMvmjCqCTax8fITgu0ACYRJ3wmEAJSx290yTBhgvTRE7eQKmff4oR9T5C7KLugyPv4weFs24C4xKt0BGXt2Uuw3Kt+BiOjCJiyL+3aZo5gZ6OqE4W4/dDmPuo1ZM8/X84AX5GJAc0ZhriL9ml1QYobZ/7gngJcx5+eiIdjFWM8itAy/yQVMai3oggITGgRrqAMIaaEDxYQpDDyp9q3fqkbAZGMoZKlzlGfnmp6Df0AxSBJbIsjpoGLaX30y5P+ODexGrBulmY16jfKvJfrTeiQaXV40Zog2Ej+OsHCWfq5kWquVJmDSa+kt9WgU6FU0MTYt+x0NOWx1gRSHTaXDpl/pBZOpAuMc//xCNB8awMIf7uS1CnkNC0LLw2YhOKQSHn0W9E1+39PwI4XKV4r+EUwjXB15MaWh5oVn80QqhJuYu1YBfAhNqtjTjeUyGUnxUlVS0qLieDtqfYFsoFo3xamlT42n5ivbqNByFKe8aRqjl4rxrDHL1saO0nWhai/3wGxqsS2z8CyWQgirn5ls9uh3rA4mKHc= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: fc3b373e-f2a8-4d0b-1798-08de6783755e X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Feb 2026 02:32:24.1538 (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: 9kFvWPlCKIoBY1HJdBj4PogsXWmqJHXTKXgk2fZFg3QC8JGEYjU/zdNoCvAUjKAdphMdPF8v/vWgXCK/oPJQim8Q5jDo2iDT5nVSPi7Vtms= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYXPR10MB7974 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-08_05,2026-02-05_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 mlxscore=0 spamscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2601150000 definitions=main-2602090019 X-Proofpoint-GUID: qiIAW9GDVLnW4iRWsJf3W9bpTrGJ6rEf X-Authority-Analysis: v=2.4 cv=FIsWBuos c=1 sm=1 tr=0 ts=698949cd 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=HzLeVaNsDn8A:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Mpw57Om8IfrbqaoTuvik:22 a=GgsMoib0sEa3-_RKJdDe:22 a=VwQbUJbxAAAA:8 a=KKAkSRfTAAAA:8 a=yPCof4ZbAAAA:8 a=7gr8-LgUhGOHEYCj_R8A:9 a=cvBusfyB2V15izCimMoJ:22 cc=ntf awl=host:12104 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjA5MDAyMSBTYWx0ZWRfX+FNE0AWD936w y3mAp7fEJvG1mRgUAaP2GMfxhdkbBNfp0Ucnh+cKztJ4RwE5DG0oURvpvDcJfEW+3mg8saQtMdu GqDG7bnYhgnCYdMie+7rupkzqAvlVyxrIFmGSuV+yalPrenizMi341GFrONN4e1Pp6tMtvRLCy1 m791UR49qPPeCyMw5CmNW+NYK9LTfovF0fuNm3NbS79flISHD7hZmNHyXN/E25s0x+c8vuCmfxa XHQXOpsHH+zDR/IeCe+02RtQolnCS6tgmJfMmAMoqxFz/joMJbg+5LxknR30XXkmQNqHH3/j3uc 2zuipjxk/fNdL/Hcsz//vy9Lj/JRKD2mLHBJ0O0qAwIEnybjSrX6lDW7Ft8Ex1j5gwaTrBIm1U0 bfiw6KDuQU4Jl344fUFYeMcZLES2taXHUCbjnajtIhHBvmrpl8vZ4yjhCu8+SLbT05KU1Pk8M89 oQDo5BwNbmS2/ULH155d9npgCtBbN1WOmaVlutBM= X-Proofpoint-ORIG-GUID: qiIAW9GDVLnW4iRWsJf3W9bpTrGJ6rEf 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" Signed-off-by: Ankur Arora --- Notes: - get rid of unnecessary variable assignments, casts etc 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