From nobody Thu Dec 18 13:40:51 2025 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0723D2727E3; Mon, 15 Dec 2025 04:51:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765774273; cv=fail; b=G4TWYn8bEAq7qWhlfJ4O2zQs5T8YFIXs706hiGvnG/wxKZ958wz0/3Z5yLQmrYhQYC6y1DgtWgqB5ve0EayBp+CGbuX/hTyplpcrkWknaMPt10kRv2XsEtomW1ByTtLl4iODvlQTBVTZtW7/9JaTKcgEkLy43VmyIusgMQLLEuI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765774273; c=relaxed/simple; bh=8er9HkOAyaNwtxi9KyaE12vAyeEbY0ndgEhI2UVtS7c=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=SG+9RPjkSQHwieWXZcOzl5llVPZBZxOZycKbMXaGj4CGV7bgU10mfZtsQ6xCD636et4F5/CFLRzUE8o72FGoBsCAYsFLrDUqujcKr0nl6y4qYcpOIEvxh9D2AH4nt5bnOOrz7P0RTGTxLE6SQ9jV/OwRa7u/6iIg37PD5iL2/R0= 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=MCUx2LGB; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=owmg552j; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="MCUx2LGB"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="owmg552j" Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BF2xDqV1420645; Mon, 15 Dec 2025 04:49: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=RIFrJ+IwPYQtq4AFhF+Ofbwbbt8Eqi5KSLy5R1SF0Fc=; b= MCUx2LGBxGvHSo6huzlJPFz0qfhUrwWgkOv0QNbp76TqC0XC0enfuxrpHrSc7gMF 2ltb7cRWEdgZI/1JqRZmuq+6YMEb8Rbmyas9EleleyF9W4bIQOubMJtDHrNsByAK Su4lTWuFm6nUE8lLt7sc6NXChF11I7HKDfNQgVO0HFGifeHIJ2DfXfl6Nb5OxnsS QEAv4fYixHY4Ssr1UT0hESOteFqejrkshVsaKtJLd9I6Ebs8QJX1On3uY+pLCP9J qYljoX0wyoaDm+RjAwpUa3cOea++N1PXD7UjtCTQR7cam5GVpH785R9nfg+cVJIg +iQYueFDgcN5efs3YRXgVg== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4b106c9a7q-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 15 Dec 2025 04:49:25 +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 5BF1gU9M025249; Mon, 15 Dec 2025 04:49:24 GMT Received: from ph0pr06cu001.outbound.protection.outlook.com (mail-westus3azon11011028.outbound.protection.outlook.com [40.107.208.28]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4b0xk8rda6-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 15 Dec 2025 04:49:24 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Ym5g4scogYrjU8yEtV3T6uJVTbIl8/IyrR+CBRwj9+2vxAQbaO6cgLnnZoVOZK3o/tiBAduzfoYGToG60ZrG3O8ybIP0zQGMUslck1rbxfYeWrxFIfOGtLqd7Z+WutI8XehQb6yNrYYwE46vbi96W2733obe2SjN8aLg3NccUL4c7o+whwIkjuoc0NpO4sFt5D7qW0c5HBQk0jnx1kqiJ7LGADtJaQCBy9osx1Z0Q1w/YYN4eeZVNKOQt8LxGvdzwqveap/3xDl+oCehQv0HahFwjE3K3bZOIV/HKYU4cw8iT18SXf80DndnvZofenFUrP8luoG6cNgis8WZ8RkeDQ== 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=RIFrJ+IwPYQtq4AFhF+Ofbwbbt8Eqi5KSLy5R1SF0Fc=; b=jZsBvooWvZixZu9jNiN5SJ15mGUSgeQvthyo2v9Ac+HHsuA5fSe12/YGAnuTPfpoxpaMjD//MXe5E9c504igerrQ6ZPPp5BWEFICnYEdbXNNCeQ5FUmnWZoSnH/mZY1NBgp64JB9zdMup263ajjE932LvHcj83TM6g+WqX67mt0MDGw1HbK0S7SW5lvk2NNrpUZ3qTHUhoB6nPf+0s6SUxjZ3lXyI1dgLhVQm02c3ncZ98Wr99NOAI93dHjAimXu3QSmo3VDMhljQhH0sXVQkegYJU82VoYvL/NrDWtGLmNKI2uZ5LRtpfWKRRKlJ86hUAAojDNpk/X/jNFdu8pYVA== 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=RIFrJ+IwPYQtq4AFhF+Ofbwbbt8Eqi5KSLy5R1SF0Fc=; b=owmg552jLGTu2uXTF1DEfdAJJOzR26vmPj7ZMP0Zr0hlP4tW+xukylkX8TyxUngCERh3qLcuqI5sKhiEC6dI3l6/dJpO1wtHhi0MUnxfUFr2ugjNFwQlOXY6Jd+heTFT3DyU3Ku8nryeWFJBv1agMb4kU3d8wqa62u8m4r8oILY= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by SJ5PPFDEBD75B51.namprd10.prod.outlook.com (2603:10b6:a0f:fc02::7d7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9412.13; Mon, 15 Dec 2025 04:49:22 +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.9412.011; Mon, 15 Dec 2025 04:49:22 +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 v8 01/12] asm-generic: barrier: Add smp_cond_load_relaxed_timeout() Date: Sun, 14 Dec 2025 20:49:08 -0800 Message-Id: <20251215044919.460086-2-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20251215044919.460086-1-ankur.a.arora@oracle.com> References: <20251215044919.460086-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR04CA0226.namprd04.prod.outlook.com (2603:10b6:303:87::21) To CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR10MB5409:EE_|SJ5PPFDEBD75B51:EE_ X-MS-Office365-Filtering-Correlation-Id: 9c7ac240-73cf-46f1-6c73-08de3b95507f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?dxjJvDsVvWc1QD3ll6PkzrtzU2l0ec0uYtrROL8QbAqXKDvJL3ne2wSenvEE?= =?us-ascii?Q?/TwF9LwvDj9tWpYmKAboCW5rBi4B1YO8PlgMzFN0NFbT2+lM//yS/3qSDFzm?= =?us-ascii?Q?NuxG0RR1smKOtcvXLi3PVk8jhne1deYdaGIARr0Ir8C8otSYs+Sr5wURiaY1?= =?us-ascii?Q?njDtQ+rGTc2WJ4AFa+wj6AtRHHn9RUm+1icQXUt+RLgz2hAbpnizXr2gyZo6?= =?us-ascii?Q?wDhHI02kAINRe43D8Y+sB1eQx1InoERZJINB5XDyGG+uG/iZdSzBL88a+qoL?= =?us-ascii?Q?pR/DopFI+MSr9c8Vo/uzwWhflPDnHHTDG1WFl3jhaqZ3pu8fDe1c7ZhC6aA7?= =?us-ascii?Q?aWEI3V9X2ZzHCSDBBQ6EAvpqXwpRWANpRJhe7VKXk7SLh/KUI1/13oVCWw4Z?= =?us-ascii?Q?DXssU5wgcCcIXqL3FEDLMzY/cQozaAVCBBzQNPFpXOS9UnA5kH4h2sYEzqLI?= =?us-ascii?Q?0A3hrNcPP86i90k6TAWASS1UbyYTuZ9ddwPyyBMup4PX77vfR6IP3m4PiDcI?= =?us-ascii?Q?4qyVW2IwJQmCyE7v71zzjaea7ho5o5TvwBzj8hM3XPZdFkHBvWaL4KSnNj9c?= =?us-ascii?Q?mTbBIZ5/A7HvVMRGBiDpICRgRfiyr7R1pJzHD6vaqnJG01JV0GFMSe11s5rV?= =?us-ascii?Q?xDMsrSAPyupeUrgeLEurQ6j8kwot8SvBJU98nvuddQ6y/nxPJA4KKoxB6fpY?= =?us-ascii?Q?De7cLaPo+oL2zH2sejH4KA/FX+9Gj+NYxPcrbvvivt58WfqviuDql98coh7E?= =?us-ascii?Q?YavdE0fDTU1014Gdp8q9JLiK3WLY0dlFTCyk9Zh2j2azT4Mxr0HVwzaHocXK?= =?us-ascii?Q?mLigywlabE/NE/Rb+J6aP5tdpzJ1q0cyXR8N2wGphV2m/JeBYiJF+VlAtOyo?= =?us-ascii?Q?zoyU55+nN3i9Uxk8NDBpMwMECK3YOMkJ9i0akRPu/O+D5FvGSSQgHs7PKNCM?= =?us-ascii?Q?AR2MtTQAulQn1s2IOBbzey3Y+Bzi3WkOYO5rtGJ/+wNLh2WRw1TRYR1LyRx2?= =?us-ascii?Q?3xUUZD08qn1atRwGvwXKNOXT1SneaIxVii0mDhT9ojK2ZL2q4SnqAw8sZBlL?= =?us-ascii?Q?f7r0QjMWxog4pxA22ac+xgGXmTgLTfAlIFL88FmAksnsVHtRrORwtL8UBgee?= =?us-ascii?Q?LMkcvbnIYHk3rHyXxoRtVac9kP7HyqrZVE8zlIenOsX4FtIKphnkB1qPGfWD?= =?us-ascii?Q?i0I8umrurbXbqLq+4tkb8KUUezthzWeOe1sYoiYFZMonaJkoXCfS5zEZKo93?= =?us-ascii?Q?nVd40TUsyUpgaOsjYypDdrXGjUS07OogTxjp0Z5pPHqnCBLKrk4mHQxB6j0W?= =?us-ascii?Q?ExS9cqLcZgOmp7zFidRvJ2QZ7YIvOBus55FceqYujNFQP+0nNS0HvXliRQsU?= =?us-ascii?Q?3I0H2piARk0SU8rm7hFLyKTZvuBvGbdjM0En6RxrOYE25Mo/kMJa+jMD3VJw?= =?us-ascii?Q?+Qsx1mrGmZzZn1EyNJP0m9KzW/l0np5D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?iWDzrBwXhuJNbtDR4d/eB3f1xeUKNbAR+7PwEAD1NEkpYg6KHhU1ln+es8F2?= =?us-ascii?Q?A5q1gu2o1ekogH7XWXq7Tc7eDRRJhD9dES5Czb27zaIJpPbZ0/9WMtmSW75d?= =?us-ascii?Q?WfU6fYShgjrvFjFDBkPgGry+Y1G6Iof6iPjCsYnF/hi0jf+gmFlUd83TA7Ez?= =?us-ascii?Q?JCmh7EoWn5VVO/uvSOXlX7Uwf+SZJvf0YOm7BWuXMPKmbcNeJFTRl52UZP5p?= =?us-ascii?Q?Ol2bZHb37dVPYANftSIZ28y/dLw2+H4KHQAN2Anv0UUT63vTYy7lDREVdlUb?= =?us-ascii?Q?oakG23QAXuvsVgeH2I7Va6MtNCMpq0aLr2jNHVR6A4EOUuC1DCKhLt7Az7EC?= =?us-ascii?Q?QMywcvOWdVov0IwIcS8+odocc8uU0CMp1pk/JyuvSCPbtlNXppqkF2mFdC1y?= =?us-ascii?Q?wXg0DynvbWxs7GkHejKy3nv4cB9PY8WYOHQeW8HE+CLJhbPmAXmdq3li+ifL?= =?us-ascii?Q?kYSPbkWL1gzeaj+3ZKDyZmmV7tIYLG4Byvz0OD07VOHyeFyK7HTKJhcKYdVo?= =?us-ascii?Q?8BcUJKoT9zXtBewtXdbu05H2IV8jlOi5t2NmOXyCRz7DACAbEcoPycZF4Wpd?= =?us-ascii?Q?vHEE9sDluxRr6Pc+qdtzclVVkhhgu+7tqxPwIPAvoqeC+Rb6JzJYt6TaoL2Z?= =?us-ascii?Q?h5r1vJef0eNeoxurkJmQMdODrmLBipJDFgxJmB+2CJgCHi6LKiV+WIPwqrV3?= =?us-ascii?Q?jvUmu5dDCHS20CjVn1J8ALUwyvS01JQjNdgwPvLaLP2f5D6skfBZ+6OSdkjj?= =?us-ascii?Q?b7SyOEwEO9B5NF35X+pCDBL11bQK0zOrqZ3qMHXFVqWTJhAuksbRQHom9LAL?= =?us-ascii?Q?8clQUZe+cs50SIoHnTaoeUNMl3uIdWg1kAmjpicN7P8N3eJRd/1zYip+H2s0?= =?us-ascii?Q?wLtY9NTt3wQ96CIUoBRHNqe2tJcWWif/Vk5WI8mpb37UgulnnqvkvCOJcudD?= =?us-ascii?Q?1G296862BZY7JalkonPID/16wNwoqXTEks1/cwcBqxOVkYKLBMmyfqIGrd2T?= =?us-ascii?Q?zMuiRExfTMFmidaFB5fprry0cPm+Q5IQZZB1rE5N5RDtTRrWA7CS/Izj/dO/?= =?us-ascii?Q?xt21t3/6cgKxH44c9sPzekTS9LOwH6Y9TL27QH+jkBs6XN3OzkI2meFmxBBg?= =?us-ascii?Q?q3BXUkxZoe/ekYAxUYO7Uhppr8HZovIO3FMjpN2ddYR+lT2eIt25tKuP2Hg1?= =?us-ascii?Q?ZCyuVmzrP4RjbdaqU7GxpToF8pAOj3rnkDycQTg17uSwKC1lj1MEzKnFgeEf?= =?us-ascii?Q?oqz9yy28Z2mFnKNDwVWTHAXYEsmy557dAMbMUlPf6HE9PXOn2DgwIEPoa1lH?= =?us-ascii?Q?My/I81Nh821icZ4iQUy65IUMtbgFDBGYDeUnnkK+BNDlDZH8A0QPBkGDliEN?= =?us-ascii?Q?uAYKP2Apk68vnV5w6GW/mCLXe0Wj+kfdoqLkFAK2ND1tKirvk29Ij2uTSqfS?= =?us-ascii?Q?CJhtRiKgeM5qNIdsGuir9iDnG8BK2Z0rqFRMmh+iJr3zrMT2ZDHVQ9ztKNpk?= =?us-ascii?Q?obG5CxPLrKb2+Zpr/doXFczmqpa5FGUaEfHgppoQGCMr4G/zG5GpYz/gvWQX?= =?us-ascii?Q?q8v60owyQLGt2YNq2XQd9W0/cycJXHfy9pTQI+lfcZ7RHXTboal4LALRrA5A?= =?us-ascii?Q?5g=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: a70p0bxdxE4LUsYHnL8P7N41qrdt/e6bV3aR7DxljppYnqqpOj/g8V74BLX1vIXsEGZa41Mf8oIG0dJhgN/kDEeboP0bWGqZOcvP0Q3Ch+oGelauk9d0GOLjtSbcm4dnOzUtTMLoixtcXJX/auSR8LRAbJTUqReXrDFQh9p/+QXmNCfS2YETdY5TzW9PtTOfvF0yausnD0GCUGFJFksrMx+/69KyK3Y28E4940K9K6mfULPmJhpgdnxk/ElwpjNf1syMaGR/b1dy1IBnaS91KdXl+sd6OgT026NHeqxLayP0gyTQS6tn8EmFnegvYF2QSSGbOdiXWKqIK5FedBjFQLj+Wubues08vC7H8A25h56JBnla7cYL9pBcxlEXqNwSBkmm+GwQVd8pxzckI52iIWSkorPPcnWHELGrymncYCIVxwAtAWL0GGFcYp3FQ423Bl3TArUqHLWPX28dlV5ZyqLXNiQM3zMo59CcMZbrkBWdsWalllX0VDMMc12EGDD82TZW0FwXun3bfepLTmqtiq7oDNUvHNKqrHkGi/5zWXHA6ko1p7g1X+pBYa1UkzcbIwErtwg5E6mPFNbL0T8F27QbK1+L0CSmu2kgWL06mzw= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9c7ac240-73cf-46f1-6c73-08de3b95507f X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2025 04:49:22.0824 (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: GvitSAC6bXMot30jdSy1haMO0oZomJ3XiK/7nNvKTRXQBGCbJitbq6WtEungWq9Z2lbtBRDc84MhZlPEvBgJnTTPKSevcZa/eAuVeovOBKA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ5PPFDEBD75B51 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-14_07,2025-12-15_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 spamscore=0 bulkscore=0 suspectscore=0 malwarescore=0 mlxscore=0 adultscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2510240000 definitions=main-2512150041 X-Proofpoint-ORIG-GUID: G6xDGumvdDmvHeSeHtIJ-bV2St3mFpfJ X-Proofpoint-GUID: G6xDGumvdDmvHeSeHtIJ-bV2St3mFpfJ X-Authority-Analysis: v=2.4 cv=et/SD4pX c=1 sm=1 tr=0 ts=693f9355 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=wP3pNCr1ah4A:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VwQbUJbxAAAA:8 a=7CQSdrXTAAAA:8 a=JfrnYn6hAAAA:8 a=yPCof4ZbAAAA:8 a=3XRe5t2kunFDnJQC4W4A:9 a=a-qgeE7W1pNrGK8U0ZQC:22 a=1CNFftbPRP8L7MoqJWF3:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjE1MDA0MSBTYWx0ZWRfX8e78WYx0alcu 1t/jXzSjmMXj/WqSspJ/QFbib0MqWIr727T2Kz5lvXszjdon1yzXRuSzgs358dbLd4az2kC1aEy P3lRz9lv13TJgg9uwAR+PcylPKghLMNwLiC50KmubKE45kN72Rupfr3XwreM36LgsglO7km0rXI seIhYFXZNTVIS9xWCrQ4kZNrVjyQJUfepuPtotgKeU9e+INcngMkFRE9apPF9Sj2L5EnXCOhYey kUv7KV01P+UrpbeNiqSno0HeCVBzanijDrN4M/oy2qQuU6NTs8zCfDGLq7k99p2YMTsPIxRj2c3 XMMm9CtiZV+YccT+C4wPL33VCHzPgRrnKjJ+4N0UpFem6xJWOEps/pEKBTbNjGo4fk4wi5YbquS tq5AW7bq0hpBV3pNElyWbu8WWYMbwA== 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: once we have timed out or, if the time_expr_ns returns an invalid value (negative or zero). The number of times we spin before doing the time-check is specified by SMP_TIMEOUT_POLL_COUNT (chosen to be 200 by default) which, assuming each cpu_poll_relax() iteration takes ~20-30 cycles (measured on a variety of x86 platforms), for a total of ~4000-6000 cycles. That is also the outer limit of the overshoot when working with the parameters above. This might be higher or lesser depending on the implementation of cpu_poll_relax() across architectures. Cc: Arnd Bergmann Cc: Will Deacon Cc: Catalin Marinas Cc: Peter Zijlstra Cc: linux-arch@vger.kernel.org Signed-off-by: Ankur Arora --- Notes: - the interface now breaks the time_check_expr into two parts: time_expr_ns (evaluates to current time) and remaining_ns. The main reason for doing this was to support WFET and similar primitives which can do timed waiting. - cpu_poll_relax() now takes an additional paramater to handle that. - time_expr_ns can now return failure which needs a little more change in organization. This was needed because rqspinlock check_timeout() logic mapped naturally to the unified check in time_check_expr. Breaking up the time_check_expr, however needed check_timeout() to separate a clock interface (which could fail on deadlock or its internal timeout check) and the timeout duration. - given the changes in logic I've removed Catalin and Haris' R-by and Tested-by. include/asm-generic/barrier.h | 58 +++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/include/asm-generic/barrier.h b/include/asm-generic/barrier.h index d4f581c1e21d..e25592f9fcbf 100644 --- a/include/asm-generic/barrier.h +++ b/include/asm-generic/barrier.h @@ -273,6 +273,64 @@ 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 + +#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.) + * + * Equivalent to using READ_ONCE() on the condition variable. + */ +#ifndef smp_cond_load_relaxed_timeout +#define smp_cond_load_relaxed_timeout(ptr, cond_expr, \ + time_expr_ns, timeout_ns) \ +({ \ + __label__ __out, __done; \ + typeof(ptr) __PTR =3D (ptr); \ + __unqual_scalar_typeof(*ptr) VAL; \ + u32 __n =3D 0, __spin =3D SMP_TIMEOUT_POLL_COUNT; \ + s64 __time_now =3D (s64)(time_expr_ns); \ + s64 __timeout =3D (s64)timeout_ns; \ + s64 __time_end =3D __time_now + __timeout; \ + \ + if (__time_now <=3D 0) \ + goto __out; \ + \ + for (;;) { \ + VAL =3D READ_ONCE(*__PTR); \ + if (cond_expr) \ + goto __done; \ + cpu_poll_relax(__PTR, VAL, __timeout); \ + if (++__n < __spin) \ + continue; \ + __time_now =3D (s64)(time_expr_ns); \ + __timeout =3D __time_end - __time_now; \ + if (__time_now <=3D 0 || __timeout <=3D 0) \ + goto __out; \ + __n =3D 0; \ + } \ +__out: \ + VAL =3D READ_ONCE(*__PTR); \ +__done: \ + (typeof(*ptr))VAL; \ +}) +#endif + /* * pmem_wmb() ensures that all stores for which the modification * are written to persistent storage by preceding instructions have --=20 2.31.1 From nobody Thu Dec 18 13:40:51 2025 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2D0C93126A4; Mon, 15 Dec 2025 04:51:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765774284; cv=fail; b=sF9+vFF3x6L5WJEhoLsUpoJjllCjXO7DgVvDPRj7m22YEYCRc6gX5BdSIFl1ZctW6jLDWMLOUGrdoVSolI0bcgC5DKANJGoAAfjMA8GOuQCgFMD9CQROSdn/WOWEuKVHrbZBhRtgKDn+z7GrZmoRdPv70tSP3+Iypav80mlu8xk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765774284; c=relaxed/simple; bh=3AgLDID3FLGINSCYQDRnkoClQ2UMtuUPYCwozlsY6y8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=e4JD/dZ9V1sC/AA9wJHXMhLAg5N5oP0nCI1abPw4Na8ZLpLhEMVWTVE5+nthPiRtXKW4mwZHGGM4R5zb1BViXy/yXgZ3WPPRaE46hobBHkVelDJ4+Yc0YrED8HcXxdIsqQ3UJ2y8AaNV68EoimJij4Azsi2nEv6kpLCtdp2RtMY= 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=UD8Y29Oy; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=YZhbjE9D; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="UD8Y29Oy"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="YZhbjE9D" Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BF2lR1B1157217; Mon, 15 Dec 2025 04:49: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=n4J5CHbkafKD6WlD1OTvX/XsE9RVBgaz5qrsYFBOOv8=; b= UD8Y29OyBsvQH0NepoDoh3iW1iNhYlc/WU0tcHImS5azE0kv2lGe9ua0RXSUC4sh SXhjniGtxFT95dVir+HxQDD4/1AGWvV9ILMJGRiYHDuOlPLa8X8Hmwps4/U8+iPO u6wLQhvAPL9q6pX8vF8aIMFul0tQn/32z8Hux6KiaM+/1G2vFtvv3REsF6sRehct 4PBMlm2RKh+xlhJgH/vpSLTKGMb7LrsxSVbalBZjrPq2dRs8fJwU4Sl69TDGUSSV aZ2ybY8CDKU16hixXg2wvs0s/vlRwoOFpPBJIf8yq7nM3gy5KhvDfFq6VFq3IRIZ X3DiWrQPil0SbgwzMNGuZQ== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4b0xja1b5x-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 15 Dec 2025 04:49:26 +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 5BF1gU9N025249; Mon, 15 Dec 2025 04:49:25 GMT Received: from ph0pr06cu001.outbound.protection.outlook.com (mail-westus3azon11011028.outbound.protection.outlook.com [40.107.208.28]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4b0xk8rda6-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 15 Dec 2025 04:49:25 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=UVHRg2Weh4AHdV+NHx8xCjQ8SX9JMQnu2vwpi5HkIdFcDhrzZ7HbA5rIlUbr6q3DcKoqJ1/7r0VzoMwuF39sDiJTZfy1GnXjiMfd/ryS9uXr61tqxsLMdU110Fw8rl+uUnPK8mMgwDb1WXCj7C90E9Inv4lCw3OL0JKSwbVUbxU+uKtlHh3LQrDN4lzYl7LNTDSnW6/6aVgoVsQ0PARNGG0C2dteebmSre33GEkLS7lYRdCtTNGn8j4D5Ie8Tspe9C9nyCYcnQj9iwgyuLpHpdyv9U+X/YAC0bbHDzLkYtskTfAmM3e2huMdC+5FudE6WzDR3e3ujZ8Y5aCwjsTPqQ== 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=n4J5CHbkafKD6WlD1OTvX/XsE9RVBgaz5qrsYFBOOv8=; b=d1xhOiHyAvOC8GE6JEwWFP4A4PKjFEWlLEDbvZWmwg2drLunONt9eCgEglghApg9cDu4iZFXENKYpAt7FOWBYuXdMhX0AgFuME2Duz5m1RaHYWu0KdaZG1Xu8M9hT5rMXbA+G8DxlH5Hcs9eDhEYORKayDJeNxuBQrap1XK+pdmFH1sZwR4ahr6wGL3AdSJqWLMm5b2xeCRg+kolzZwHgp7BCjghrn02P00z7RP+umdf+viM7O2PsAvLmFulrw2kaAn8HtmzwEO4vKbOdJUHmn0A9dRuwJyG2DqNf7hNgihtzz8vVnSbRpEaAuMQdGZRdkPALEcG1Rvmuoh47yRcmQ== 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=n4J5CHbkafKD6WlD1OTvX/XsE9RVBgaz5qrsYFBOOv8=; b=YZhbjE9DTnn9Bu6bVqd3OTIKmQUMTBp3OEiukXkHqiu3IYrWECKpy3ftFzPodVcTpPsgzRuzwbxhylxJ5H3Ohv9ae/z7QB/ikDwzJ71Nh4hV0POTlI/f7gaD83I74RNDlSEcoDB8KLKvBvxCowLEmdQMESQGfpR9iRWe1D80s1M= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by SJ5PPFDEBD75B51.namprd10.prod.outlook.com (2603:10b6:a0f:fc02::7d7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9412.13; Mon, 15 Dec 2025 04:49:23 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574%4]) with mapi id 15.20.9412.011; Mon, 15 Dec 2025 04:49:23 +0000 From: Ankur Arora To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, bpf@vger.kernel.org Cc: arnd@arndb.de, catalin.marinas@arm.com, will@kernel.org, peterz@infradead.org, akpm@linux-foundation.org, mark.rutland@arm.com, harisokn@amazon.com, cl@gentwo.org, ast@kernel.org, rafael@kernel.org, daniel.lezcano@linaro.org, memxor@gmail.com, zhenglifeng1@huawei.com, xueshuai@linux.alibaba.com, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, Ankur Arora Subject: [PATCH v8 02/12] arm64: barrier: Support smp_cond_load_relaxed_timeout() Date: Sun, 14 Dec 2025 20:49:09 -0800 Message-Id: <20251215044919.460086-3-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20251215044919.460086-1-ankur.a.arora@oracle.com> References: <20251215044919.460086-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR03CA0194.namprd03.prod.outlook.com (2603:10b6:303:b8::19) To CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR10MB5409:EE_|SJ5PPFDEBD75B51:EE_ X-MS-Office365-Filtering-Correlation-Id: 692469a1-2817-4f80-cf1e-08de3b95514a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?V56pxNwROYfKRmFwUwJFagzoMlhZpUI9NieLrMSGVCCIRiMIV+S76OlaE5fk?= =?us-ascii?Q?ab8QGOS0FImaWSnqTMilOAukObWQaUdoaMuzUA2BswhekVm+A30nXAWDTqIT?= =?us-ascii?Q?/9y5AlDySBKsgp8n4gsaM9GGKG40su7+H4h6gljFq5WUilD4mdcvgIwentRB?= =?us-ascii?Q?u6tjvGMspo9Zbt1MndRzX+tJeHsjPRvuAuUBfJnqJ0eN4XfOo4WkNaKcthQ3?= =?us-ascii?Q?n1/UblP/fPe0czE4dNaZvIDLROZb7XphNOXXtZKwEX0VYSlVgiqvk9yuu8KH?= =?us-ascii?Q?El5u2BvyHYicQpxU0r6baYdK0zPLUjFXUk4LKyAmKPmeii8fG/g+hmr55GBI?= =?us-ascii?Q?FjRl+ZFLbFscBa6Jj4RCT0YBtLcsMr1GDLzknQbQ8B/O1xKJWX8a9n7CvX84?= =?us-ascii?Q?HX/NBHOR1S+xpX+o6+fzRthz8a+VpEm/WWwI2/hMvpNNOvWNaNEoH+jGUsfx?= =?us-ascii?Q?KGFDzsUgJdSBlntrkGh1D9bXya1CO7qcNwFe5JVgWTXUM4hPAGKjWC8DUgtF?= =?us-ascii?Q?TK+mo0hWo4X5FnT/0nGJYDiV1zWv1ACL1Ebpn2VY1tjAshftcYe4S8NHImuk?= =?us-ascii?Q?49DG6QJKsmcQdskIJmiAo4UXOxcTpyDmSY5D3+W1uYQ/8wsqoDu0yGs1rxwb?= =?us-ascii?Q?uOZsvq+ANOjP3Hc0RO53/I32dNAKhg5pJaEBa45auS1s7lFQmtsm1eXPAsBI?= =?us-ascii?Q?B+7gc1p6Ow+Q5+q+cJAzYt+IbIuQl1zR0wmM1xRMMUczB90P4MK8jwjXA2Ue?= =?us-ascii?Q?bl2fYik5w8aa+wcI4sM+v6goSeSCITLBsMhne02Lg5Og7imT0qkLuednQpFM?= =?us-ascii?Q?Lejqj5wsGQYt/z5xGpf42ibjCW8aGCAq/5ykCkVun/0is2qwcvAvR4hSLV0/?= =?us-ascii?Q?17Zx6S3vs1uMe7I6gaaXm4uJ0f0zacEB2MTGwqA5osVTG5YhDGh5xV6sSScc?= =?us-ascii?Q?kQAgtoGFXJzpl2fIKY9tQ6TJkJ0A/HQOj5RPbDMg1sR29GvTt9oHlStpavRh?= =?us-ascii?Q?rAXEGt8kptu9B5A1UcqCZbOnVMgOoM7TBEwaCHSGY7W634wL/gzwMObl9b1+?= =?us-ascii?Q?3F5kh6u++OYEOvmYjL6NqbaKRWepYdt4gcZiXkwneNuunxnKIYNUnMS61GqE?= =?us-ascii?Q?RV7oHNgCjnszwhmVXJ9Nk/M206cKGwfl7MF9KiaebovMWzoQWgVtaPT3ybnp?= =?us-ascii?Q?EPUX0hciXbY+cFiJylrkoPnc00McueS0td0frd+zXCqj67O4e79AryrKWfz4?= =?us-ascii?Q?mlhlXYpjLTJfTSuSLf7uuVMI+50l7FEqPlG07STXmyPK68PbU9d5bMFYoOBx?= =?us-ascii?Q?utFwKXdc/+sbStqcvce10C/kBDHZlwZpxQ61SS64nyuv27kaErERbiXujO3+?= =?us-ascii?Q?xOdZdIB6fPLQFu312d0O4EnYf+3zCFk63W9qsx9LUuQa3byhlAW9MvnhIgnN?= =?us-ascii?Q?XeyQ87/FXrFqxIwr8aKYNsrjolRG9ey+?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?5nThyz0EESnR+5iv+dNJLzoRpqOOfdjkLd9jzzvIWrRJ3qQk9dpPdfIOJdkL?= =?us-ascii?Q?Jk6wqd9+3TMz1Xy+nrLH6R+rk4sVjkxUDlABlOFEqn3Xjy9E5HEhjwKY22wT?= =?us-ascii?Q?WQSSvwNyDy/MBv9g9OXkN8AD4DGBMHU+7XLuxYUrRluUtrmvB2hQVv3d0G+d?= =?us-ascii?Q?RRb7WwFk4qK2W8mvxDKl/4T/Y6kYq37LadExnoIYvcc6Ne2H5/rYIvBdEvWb?= =?us-ascii?Q?MajaueZipVENOwer0j8eTiJ6mQmVIwBosFUPv2yqLYHFRi0438gwj2sxpe2l?= =?us-ascii?Q?jHRruEIrKXZLquYBzSud+ftQ+oOMRsgPBfrRkcCPYMzb6G0sINZ29SKygAN3?= =?us-ascii?Q?O0Nz6bqJY1Mh1glpIyRyOs45rvHis4X2vD7AevYmMOF885z8j4+FqdzKEGTk?= =?us-ascii?Q?t8dFpJmmVQf2SplHHt6E1aYfWan6Qg+4kAQ2+XA2Hwx/W4CP4IyMWYLWfkoh?= =?us-ascii?Q?QS44NGzXcq5l2UKjnuSdfDwm0X+HLlCtdTuG5MwgCGfAviQ+NQOfSN6OWZ+F?= =?us-ascii?Q?c7R/XGfeFx/UWOzRAigeo5G9C/x3iA0jJAPzd6daNtv1FznD5zc9uG1L7huI?= =?us-ascii?Q?gSyMr0Klc0r6LUQoJsjuRbLkAMbPd15w6Ue1G5/icf0IVCNUQbBskyEUpfvJ?= =?us-ascii?Q?sUQUXnej75OKjU+Ct/DRujcEostBFGHmJn0zWjCJDFWye/+uR4l0Fh66kE0h?= =?us-ascii?Q?q0FgdH15U2ZRKLnx/nLA+Sfc2WZvCbpztYjdXIYhpyUUfur+Qd2WjJVdHNBD?= =?us-ascii?Q?HFuEFjhl0pf3WGyVhd68SpDSXQGuKWufgVxgZsb0bOVcFBVgV9Ic0QeQVrQM?= =?us-ascii?Q?wQEbu+0ssPTjEFnEAxhYyEOGC81OzT/xoQOyesg+TGPkFc99R2h+z2BOekXu?= =?us-ascii?Q?lJX6ThacwMNVoTHy/viv5teeKj+vbCA5jmsXh1Sz+pOU6LYhCNma8RoXIM5o?= =?us-ascii?Q?Ieca823zha6GXQ/NoFRmIQfb1osMQD/vWEUQGUGQCpaJELhAXlEQCQeSdS/9?= =?us-ascii?Q?atSWsvuLg5PLhaJ1fkCc/JsyjFh7wKIqgvo1PHVkLx4VrT3t1oxZNg+wU7VT?= =?us-ascii?Q?BA1m9X2RFG2o5FiXpGr6dUdVdKufLoHzWdw2AJxdyGoPozMj2/SQQoWEhx61?= =?us-ascii?Q?uCDbgsWiuJIzN/85rp0qezvMKT0YoyDfzE398sPqVtv8ds1WYZENt6tHZYBm?= =?us-ascii?Q?zgMakUGptT6AumQob9+lO3MGaM008YOjAJqdJBwbBZU9GEkjA6pw5ogwAN/n?= =?us-ascii?Q?5TDk/G8RiZOnssfXR4okcJpas+xF/S6U+uhmD1K2/wvFt2LLyensIfOvTSB2?= =?us-ascii?Q?LD7X+stCweXzAQaeK7yNdMwYMWgpAa8przq5IEu0d9Iqf12XgjILYk2SFdDq?= =?us-ascii?Q?xJiH5W6Yo32L2aOWV6ft7as4xBxfUMzDvy0RWmOcLAEFm8Jeg7ym9bYRKDsw?= =?us-ascii?Q?0CTokx4vHria35qVbBZ6dDTTU1HNgV3sRNTDZVYdnbxl2WbZ8guedTLpQl6O?= =?us-ascii?Q?5j1Pju89ypiAoqSebqtiySfEGAMusPHA9MBtT0TnyCLg+HomDpFPRMR33BMD?= =?us-ascii?Q?5KWEEIATVp+drXipvfJwZ7k8CJPYEGmK3+X2QsRRC05l5MHKQxgjWDXGQyJo?= =?us-ascii?Q?8A=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: JIaHHhfUyAdPQpamxIidE34YLHNHlJtaqgJuCe8bGZGKXDrdQX5nvfRFw1NeuX/C5Od4GbMBZnhRhoBKb2YldIv1cfvCTGC3QbyyQOVDSTB94iy4Z2ebzeBO8lxONOJGGybYk4U8VIAQQJC9gHv/UWpsoIJEojivkG+oinVyILqDBXwvPMPv4pcxg4XT+jgsqOXmoEMqdSAM6Jsc0tV31kp4ptFzNDXtUQ5et0GJdXIMvWXbsi0Y/DbDQjIBToRcQAsfkBuXOojQNpt0lt7NwarcKo+JLjK486G7U56w7gCu5RgB9WssoJvUeLdbphh/hCtkmn7JswKU3kWNlvE+8sLKq2X0ICtPx2ueWCdEGDvIh7JmzAIIP6mtXNnmFwtbpeprBjuX5z+56PtM0jh94OMyqIxQuprzf1x/zoZxTxuTGJ6V5SpGPoPXnMEwFdxwW/PT33Wq85m9/z7B58rQzMseVl7nmeBGwoHyt8eGuyhGN9cQl7pNd03FQCxxTJJNpAwD+JWxLN/w4TBvYbyikmG1dAsqm2PFweoPFOn7rUYxS91p9HSKuFqlWNUIxO5S+MO+E2yXJqRG/3MgFVh+B6Zx/2+6GCqOZxC7ZvIfkbY= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 692469a1-2817-4f80-cf1e-08de3b95514a X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2025 04:49:23.4568 (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: dIEg35Zfas2HLb/Cmc4IAby/VG2T0f+bIkaJDhVSGbVdhp8k9cTCVl3JR2wl3PH/A/xKWJ9SQ5yWI4P17nHwNTBy129xjGATvRw7/veaFbM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ5PPFDEBD75B51 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-14_07,2025-12-15_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=834 spamscore=0 bulkscore=0 suspectscore=0 malwarescore=0 mlxscore=0 adultscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2510240000 definitions=main-2512150041 X-Authority-Analysis: v=2.4 cv=TbWbdBQh c=1 sm=1 tr=0 ts=693f9356 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=wP3pNCr1ah4A:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VwQbUJbxAAAA:8 a=7CQSdrXTAAAA:8 a=JfrnYn6hAAAA:8 a=yPCof4ZbAAAA:8 a=C9KTRrY6tsI4kfzUhbwA:9 a=a-qgeE7W1pNrGK8U0ZQC:22 a=1CNFftbPRP8L7MoqJWF3:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjE1MDA0MSBTYWx0ZWRfXzNpQhCfsWRUr WtjjWOrgaQhcRwxg92ZwRIvfxoEq+eXgc3yu95jMN1IYQ8BX7iCPUhhKovHENUfQUk1GOH/7XXj qQSrE9edZ16EalH0kLlFLJQGYvixKHlC+9JphPELZVMTAXzltGX6CLM9qMkM5xml99wOtBMwF0x 9hAlH9ix2YLMsokL96WAOBhHfWhS52V7OD53CgiuHf9muwGP/qd2H76zLqXbn/lpKjqJAfUe3lc NihAYVyu6E0cnnyg41YPIcVIpEGVoUFR7+W49nKFfJhIav13mdzmriabZvRUFJ/uWVz3K8mAjem e+UG+qGQTUPGC0HnT4NPAUjWQ6CBwv7/rMzoXfOxUpwlN6MnLVuJ/J+vPO1op/MXTa3flGnHKdg UCH1eqkUFyQREawxufYI0IhJ+0wVYg== X-Proofpoint-ORIG-GUID: BufA6kXQ9VeEzNJclsScW2Qe7R5iuXGw X-Proofpoint-GUID: BufA6kXQ9VeEzNJclsScW2Qe7R5iuXGw 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(). Cc: Arnd Bergmann Cc: Will Deacon Cc: Catalin Marinas Cc: linux-arm-kernel@lists.infradead.org Suggested-by: Will Deacon Signed-off-by: Ankur Arora --- Notes: - cpu_poll_relax() now takes an additional parameter. - added a comment detailing why we define SMP_TIMEOUT_POLL_COUNT=3D1 and how it ties up with smp_cond_load_relaxed_timeout(). - explicitly include for cpu_relax(). arch/arm64/include/asm/barrier.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/arch/arm64/include/asm/barrier.h b/arch/arm64/include/asm/barr= ier.h index 9495c4441a46..6190e178db51 100644 --- a/arch/arm64/include/asm/barrier.h +++ b/arch/arm64/include/asm/barrier.h @@ -12,6 +12,7 @@ #include =20 #include +#include =20 #define __nops(n) ".rept " #n "\nnop\n.endr\n" #define nops(n) asm volatile(__nops(n)) @@ -219,6 +220,26 @@ do { \ (typeof(*ptr))VAL; \ }) =20 +/* Re-declared here to avoid include dependency. */ +extern bool arch_timer_evtstrm_available(void); + +/* + * In the common case, cpu_poll_relax() sits waiting in __cmpwait_relaxed() + * for the ptr value to change. + * + * Since this period is reasonably long, choose SMP_TIMEOUT_POLL_COUNT + * to be 1, so smp_cond_load_{relaxed,acquire}_timeout() does a + * time-check in each iteration. + */ +#define SMP_TIMEOUT_POLL_COUNT 1 + +#define cpu_poll_relax(ptr, val, timeout_ns) do { \ + if (arch_timer_evtstrm_available()) \ + __cmpwait_relaxed(ptr, val); \ + else \ + cpu_relax(); \ +} while (0) + #include =20 #endif /* __ASSEMBLER__ */ --=20 2.31.1 From nobody Thu Dec 18 13:40:51 2025 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D904F320A10; Mon, 15 Dec 2025 04:55:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765774504; cv=fail; b=bC+YPlymWj7dC9Zly2v15jCfgiXPQJ/kokGrqb+Khj6pv5G090m0gJQDudWSqbbmJ3GkiPyaXu+ULjxS0zkGJcdjFMofwXu7Ryyi8BjW+Mh8U5opVTltp+fos6Tl3VcUGzbF+bUwWBys4PtSFib0H8aUexuk1bCDRG/T3ZaAQ7Y= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765774504; c=relaxed/simple; bh=UEsVnvreByU6ZNXkqfGmwbNQIH2zkPVh2MNAmQIuMxA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=SRVOVQcydnnauwBXbJpehjP4ovT4iTSfL7c68OuwY9zb7Yre4f0BcPt8AqmtirYJnA9KKYdgasUm0FFlO7vb+pORSCK/CoBjd5GDAjjAZ/4+TFqGAkfapW3kPqv/JGtJEykkcLVQ6ad9q6vhLn04cQvWQKSncyhCuGjFwW2V29w= 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=S+p60a/o; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=jIrXASFR; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="S+p60a/o"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="jIrXASFR" Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BEN1iwr864057; Mon, 15 Dec 2025 04:49: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=PpeHWUNiB/+F2ahCWgkB8LtWyZTkE/VibxuMHpNcQmY=; b= S+p60a/oIw4dInMck8oKEMAqDLE60XTD/T03pgJW1hfPi2IOozGCLsmBE2ygH1rp aWsKkShxOimHthY7O2XWa/H+4APTEGbBdl0vp0UHm323CPIidh33yuvAgQ+1CfWK H4+i62xfFRaCUlUMzKPGR+7WeyosFv0xpNH24zi3WFDGV2Vmfg4N3O9hiegjFta0 zlO1zaMqKfJd+Q6mShj9uBv7PQba6wj1p0mFNGDnUzxlexXGtJuWXJGovd3dtWtF 3rUZPLc19A5HHEhTx6DUzH9INL53jwrzepOHiCyxWxeC2ubZN4tr9/fLtkKpsrG5 i1WkRgcnMF/QeaOsPn06pQ== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4b0yruhaa6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 15 Dec 2025 04:49:31 +0000 (GMT) Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 5BF4jQZk005878; Mon, 15 Dec 2025 04:49:30 GMT Received: from ph0pr06cu001.outbound.protection.outlook.com (mail-westus3azon11011045.outbound.protection.outlook.com [40.107.208.45]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4b0xkbgu79-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 15 Dec 2025 04:49:30 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=rwWYqH3HHTLhjAFMM4bf3P4rwbfKkA0KjIOI3PfMAuLOfy5M6E5xfWX7p9+F4xGx94Ydk3DPio3pO5YK0WoIRj/2O+LTfdPvNaF7FT4PsHFUqngWcKdYsGEdGg3GESck8NOMoHbafKhWaQEvlsYNrON08DDQyjAjyAl3KnFTZBsBdNlNROsa+ZgviufsGD+l/4R+y9ChlTehg3z/OYrUBLkHTc872dE5jFJIAypEgd63oUJsXw9lDDF5lTg3wNIW8q9olfhfphdlUK3JHjXKqpKd0w8Gw0fPcs6LahY30SY8Eek7M+mfRnIrQCFG0HgYF9wQVWFgoJRUxRTNQHtPiA== 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=PpeHWUNiB/+F2ahCWgkB8LtWyZTkE/VibxuMHpNcQmY=; b=QAFyN4K+0vgf3u6sHy7wr/izbIZ9DEPx+wJC0xhoqUB7D8Dlnnth8iFVgf83q1abueJFRwgGgb7tjgdqBU6X1C8EjH9CZmpGJdwHugXsnxIsj6MkQqywyGoKB8pmMsMQSXORAEPQkuaAGrwCGwfaoVUzktLx8K4Qma8IFzaHEuJ4udj2wV8Sk+d6B5tgT0eGcbcLSsY3Dou5Nr7Zzny4GBxNeKigmQ0ugjvj9mBhHdg2MEEV/pYCvfaacI9XTO5E1JPsicTKev0wEN0EG9zM5UNpvFo5+EOAypTjB5hHs2Py0tnoeNTw4qatLy0G6hgMaD7KzmIrMAHURTnqidloDw== 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=PpeHWUNiB/+F2ahCWgkB8LtWyZTkE/VibxuMHpNcQmY=; b=jIrXASFR6tOaIY6pk+kdRamTw3zD35ue1DLqfmE2p1nBFIt6n60aWDhtZXaM5j3Sfuc1baj2dtCTSjQTB4xsIaWe5bFig1QyQWmOi+rPN9p0gQiPtSlukp3haf6ekEfbKE5jco6nQD4x0WYYEfJ7uVQxi+BM+mzdAQAkGgdIi04= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by SJ5PPFDEBD75B51.namprd10.prod.outlook.com (2603:10b6:a0f:fc02::7d7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9412.13; Mon, 15 Dec 2025 04:49:27 +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.9412.011; Mon, 15 Dec 2025 04:49:27 +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 v8 03/12] arm64/delay: move some constants out to a separate header Date: Sun, 14 Dec 2025 20:49:10 -0800 Message-Id: <20251215044919.460086-4-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20251215044919.460086-1-ankur.a.arora@oracle.com> References: <20251215044919.460086-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR03CA0204.namprd03.prod.outlook.com (2603:10b6:303:b8::29) 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_|SJ5PPFDEBD75B51:EE_ X-MS-Office365-Filtering-Correlation-Id: 0400ed9b-6bd2-4b0c-78e0-08de3b9553cc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?mrlqkrQp0Y5m8EdW+Exyd43gfmvuP1WovlbLzMPIML5McHuRgin1+QI4sJ5J?= =?us-ascii?Q?i0kLD79cd+MEwM/mLAyxupSdq/gLrD7BBKqXFl7Y44ioNoPl0mWK5TATp1u2?= =?us-ascii?Q?zE6Wb1eyh3EIpne6is+MrVtMWNypx17dgHHHVgc+CJLYDYsCfNaYQfdR3h2T?= =?us-ascii?Q?8zUjgKORZ2Hk0jY4wEgHmKc1ujb/dNaNuXz3LYl4fwJSC5+xel//Km5NwJQI?= =?us-ascii?Q?D9Tg1Ega1VyoBrIAn/FW+KKQsI+9exeehiOyKPla4F6yAv3dgVMEn8e3KHA3?= =?us-ascii?Q?L92Ftm8PpZOb+j/vikKryPHF9ihd4sUBVRTqzQFS13I8BaKwP3j7KAZDLOao?= =?us-ascii?Q?QqPRhOpze2z9tokzQqHTJw7hwQQ+SzttR/2JVXKZFZAXKTWPbbdWrTsln2vw?= =?us-ascii?Q?J0vBIO5ydcrFgo1CJaeoQJTzOPRmi6ni8WEBaJ72LVm9Leh0lNSywTl5endx?= =?us-ascii?Q?spW+HrnL1NwEuDGfvZrRz19MUNxexX40RusYff/ZNwkwH1w8x3DpVmM8eyEi?= =?us-ascii?Q?tQsf3DgXaygoLZHqax3nrA8b6whPsCg41N1cmD+DnnRBZVi6zvDtqP2Smo0l?= =?us-ascii?Q?xFWV0F1M6VQ3iH/DaFA7XQfuvDjP+ksBUlCrzkgpdNhu0gh9MsYX74NYb3Bj?= =?us-ascii?Q?Brqlh0SqW174WyZu2cSKer05v5ZEK5bWuIqooX+cAcLAqIoUzeqp3MTTFyHb?= =?us-ascii?Q?8/fc0gIuY3SsDQx0dh0mhoCYSRB3A67lHTwMCFk0IQFfq1Bv4EQy+iksthi0?= =?us-ascii?Q?IbFZ0hMc6Puls766WwAR/qRcALgjiHugkp8AxMsN16Jdj6JliQ3CUkP+oObX?= =?us-ascii?Q?LSaW4yXXfsZpxuRgkBJjcanqMcllvEelKPg9OSRWI5+EOR7EnlG3yKKiG86G?= =?us-ascii?Q?bcSxyCLxDWH1aROjqDqH6ydhWX+sbLHi+K5F22Ln7esMGE9nUgPHANAICXBb?= =?us-ascii?Q?l9A4RGvFJ1nWvrSsDpCDJY5w305alxVairB+Mwss4092DY2aFYmq9bA/Pf6m?= =?us-ascii?Q?yo5nrAxco5Rbj/z9PqEsUdemRlsHPs1cHes8JyUayKa8qG4uD/pIS/oyjIK9?= =?us-ascii?Q?biJ3w8jakEbHVx4toKIa3+Pxd2yFmlRqpjWk40NZx657FTQE+RdppdnVuyiZ?= =?us-ascii?Q?e910BDs9EtFmh4sbxhscurqLMJpKe/I1O1BLDG9WuBhzMbus6wvRBvWVvSt5?= =?us-ascii?Q?C9fJ2jW7d3dPmNLkasYoEhyaa1BW+QHeOZ8OhQSICCejR9Sp0LAD6yfaw1D9?= =?us-ascii?Q?fdgUsMznR1g+9nMHpVlRZt8JgeLiCNi8H+jyu+1OKhxJg0TVuu2/HfObOf3U?= =?us-ascii?Q?BMAsjkmc16fx26AdL+50x5Za4/VJ8UCIp0jke+MFSdiaGxbNzs0QmT0fOGIy?= =?us-ascii?Q?7R/ykhqbpWHCeFK2fz3tbAqWxY3fIgCqFWWmC4/QFNFS0KUs0Zj8GD9/7idr?= =?us-ascii?Q?HjT07kbPHFcB9iMaA5iRsskWKAWHIIqI?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?VlUo1Fs06lgQ8iTNiW19dm26AwMU1HzduHdStTYQmh+XxrdAZbxqsN9iQ1pV?= =?us-ascii?Q?qRRF4j5RiTBPFbn+Sgmi6mbsa92mXpyCWjyAhmjfZJVVFwNOIyVxz4iJdCDa?= =?us-ascii?Q?PhPiWQoFDEcFiPTBpVvD8NqJeAFGyiB6Kz/3ZAtxLkT6M9r+Yg58y7j76Fjx?= =?us-ascii?Q?c1m+rZ78RT5PtPOWIvouUj0FDUU9uT24qD3xUHvrmWMBfGa2h31EXRK5Lv7Y?= =?us-ascii?Q?Z5By5vm+CaEp+zTuhXUwF7/Kh6S88RyfyYEFqXR5KZXtO1vCnaxj578DMo7C?= =?us-ascii?Q?/OOPMScXZUh+E/PgRT0PIyGsNecu8XBWVNPAirHfwxTGNMl/0PlcZ0bxvCXQ?= =?us-ascii?Q?1NHouoI9vl/EvDhlLiQx5kSZltNww40KNEaUCDnVZxd4rQiIh3b5O+f6jMCb?= =?us-ascii?Q?0P2Ndlq32lrCgJqLuyS4kY0oUryv69n7E8Nido33FajU1aY4k4pW++BmR5qo?= =?us-ascii?Q?Zyp3Gqzl2jcLWvc3lkoG6WHDqAGDBWAu4QS2lSwZxTtp8+vuySNYC8axZq7Y?= =?us-ascii?Q?NLiPH3ilVHg3SYqzNYCB527rmbxBNg6a15AixE7mGg8dWUQNl/vmy4fiwNGR?= =?us-ascii?Q?HJ6y8LBfQeWGdUZdzSbC03wspCNpsc0osXyir2A4t8ZloRLR4JqI3zajowd1?= =?us-ascii?Q?Vl8AaSbopAG75gYQhEVZ24+lM7sTebgsQAaG92wWyokm24cKMG7e9lYPi6um?= =?us-ascii?Q?xFsAVCQx6aYaqjk33VlNQs9qVFE+O+tn+51Vb2exfDCytg5sC5TMKPASIMgw?= =?us-ascii?Q?Gm9y3l2S3EyFWExm9HC1apoflZkkR+1TCGlJhqgUowztMuSC1ZYRvFecvlwO?= =?us-ascii?Q?ALCEtQNYXKT/ah4o9kVf8LqLEZJmqvtYt4HVLSXQGH59rs/vNI10uV2lmCYj?= =?us-ascii?Q?QNADpbNhXXplGYvM6bsIG1AjwIe6WA5OePMAlNqZlKuuYFfjd9CZHf+ZFvUA?= =?us-ascii?Q?x6BgbcMOfnICR/BtbGC3jrW1144YLXqFoMWWsXFS63Z3T9oiTW41doiXGmCq?= =?us-ascii?Q?eqtsUziK2bQz6rP9vx33hyuRBvkT9jVTHNtJ0kffniJPJ9/I0o29H69pvnPU?= =?us-ascii?Q?L3K4vcCykskcUJrZ3vwynJkD22Ovo+f1NkA6KrZY0ItxQJS6Ue7U0Hs9QpG3?= =?us-ascii?Q?a+UYObtAswxaN4sL5pxgJ2QsSuQd18QLSWsrBAvVXitruezfDRwf0Rns13B1?= =?us-ascii?Q?KWJqpWMxynVdDXDQJkTnxNNReO+mk0eMfi52PBmtCs+rBL07PmHd8MPM8Jhj?= =?us-ascii?Q?3oD5VyIfly4gCKL2oxn1Wx+oeBv5qSgC/JnUZIj24Ad6JSqO4y9MpXRViB15?= =?us-ascii?Q?E+PpFuF3+C/roKo68XJF8zMn42vYVDakEKIqQzFU5FBtWRnKXa1WiWmF0pFm?= =?us-ascii?Q?Xznrb6QlknbpoZUXRzoXAC4CrKwFkyf2J416HX0tu1stIcqNwtupbxLDDrtF?= =?us-ascii?Q?pHpXka7MzxQi0l7wGxOW7Ptfx/PJHIaE2y4mjzjQ4mpu9eQDAr5p7n9Rgc5J?= =?us-ascii?Q?M/3HFma6o9ggvAepYAd99O3ryMSggJMmsd7jdt02fTw7pbYf+hJL08c5hp7q?= =?us-ascii?Q?R4cxeDdrYa+3fRPHAekTh7hpEIyUUGDUugNSbVS7kt0WjZTjoCVsAvWqAyQC?= =?us-ascii?Q?uw=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: xVuOfJ98WuTW1fyy3tRaEMtOZLcLybbOhuv2xk3T2o3KuOrZvz1++KW/Zftfn8k1elllR+mBahE1f9jhya7piAblSl7hYqCEld2+UYTiGjjEMcfPd+cE+xWiyLstY/pC6RhoJOKPNG/q/voLIVu6iAxfVvEuxP8a5mWSGZS8ZHSpKFOqUsYxVP6IxwxG+jB+jOYMqcKPR2Aq11oozLjC0Ehbjo43mTSj8iQEvD7Zrf4AW/M/mqBDt9SIYNjFaAFki1uea/PwiA6L9S6G65IEj1hKSU6YDblkMdpDQ7JmlwJeyjPfjm1/R7q2OIXTsRdygZE8TEcF0oSv0e4Ge/6Lr74LURAejyS9PGPszXj9guqh5YwJdovw4rGF6+GlnHXI3r5iscFB6wOLTCQO9cR5naU4TJl+U6kNXXL4ZYNKpR5vV/b64KiZ8EpL05ya3ufD+08GAKukFdx695UemzfcIvl95sDIvronnZH8XNxm/tS8izGwPWzX6OWO5dwjOEudjCWx2rfyMtjHDZvzcp2Omtp9sxpBqzSh65hNgQlGEVMl/HWd80v3nd3JXXMxr9L5mW46QkGJycH5xHvZNqtRpDDyI9L6JRD3pQKc6ZwlOyQ= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0400ed9b-6bd2-4b0c-78e0-08de3b9553cc X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2025 04:49:27.6396 (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: VDCEw7pjKG0scdDil5T5LJl9g9Njbi2Gvd45OP/VYY7tYIz1iCAgQ1hgAL5bf7dPACtYmvTZS3YFKnuMacD5vS2jjOlxLuFMwxFtAvXaseY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ5PPFDEBD75B51 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-14_07,2025-12-15_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 bulkscore=0 malwarescore=0 adultscore=0 mlxlogscore=999 mlxscore=0 spamscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2510240000 definitions=main-2512150041 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjE1MDA0MSBTYWx0ZWRfX46Bi0DYRjdbK F/qvx9Ni1ZW4ZmprlFbYE3uykIEIRJoyPHa7Ckq48qjQsWrLTyhNX8xhTL1JC9/beMG0ffuLJhi 2ayrVuIXTaOjyk8tZS8Rx+MWOoSReLGZXsUyoqnSQomESJnvT/eFePnA9zfmco0UxMY3pypivbD tatNnsBF6bP04yuBhPUjIuy2+FSO0WYPYv1Ag5un6tp7Yo2Eb/HDRope+u2E0+q4dIX/fz6lX3Y rwRYuy31+zSGMaXCAMhtBoYQDAIMNTcSUeo7tTUBCL9dCZIjR5C4zRDeCBLD/+TemSxIVGDh81Q a98poxLdAf/JkOVf9hZSINpefG1G6KSbuv67g+JWiYM5FI3AJx3n0tCTMUUwzDfeDKa46cf59ef ftWNkn0igMGFP9oX01wCAvpvq3SYehK41gs9PuTqU8YPHLxcLzE= X-Authority-Analysis: v=2.4 cv=TL9Iilla c=1 sm=1 tr=0 ts=693f935b b=1 cx=c_pps a=zPCbziy225d3KhSqZt3L1A==:117 a=zPCbziy225d3KhSqZt3L1A==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=wP3pNCr1ah4A:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=7CQSdrXTAAAA:8 a=VwQbUJbxAAAA:8 a=JfrnYn6hAAAA:8 a=yPCof4ZbAAAA:8 a=NufY4J3AAAAA:8 a=d4sVeSq9ft_tFhUswqUA:9 a=a-qgeE7W1pNrGK8U0ZQC:22 a=1CNFftbPRP8L7MoqJWF3:22 a=TPcZfFuj8SYsoCJAFAiX:22 cc=ntf awl=host:12109 X-Proofpoint-GUID: sAgKRayedR2bDtFLjSGNxEhRR-aD7Nlp X-Proofpoint-ORIG-GUID: sAgKRayedR2bDtFLjSGNxEhRR-aD7Nlp Content-Type: text/plain; charset="utf-8" Moves some constants and functions related to xloops, cycles computation out to a new header. No functional change. Cc: Catalin Marinas Cc: Will Deacon Cc: Bjorn Andersson Cc: Konrad Dybcio Cc: linux-arm-kernel@lists.infradead.org Signed-off-by: Ankur Arora Reviewed-by: Christoph Lameter --- arch/arm64/include/asm/delay-const.h | 25 +++++++++++++++++++++++++ arch/arm64/lib/delay.c | 13 +++---------- drivers/soc/qcom/rpmh-rsc.c | 9 +-------- 3 files changed, 29 insertions(+), 18 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..95962fc37295 100644 --- a/drivers/soc/qcom/rpmh-rsc.c +++ b/drivers/soc/qcom/rpmh-rsc.c @@ -26,6 +26,7 @@ #include #include #include +#include =20 #include #include @@ -146,14 +147,6 @@ enum { * +---------------------------------------------------+ */ =20 -#define USECS_TO_CYCLES(time_usecs) \ - xloops_to_cycles((time_usecs) * 0x10C7UL) - -static inline unsigned long xloops_to_cycles(u64 xloops) -{ - return (xloops * loops_per_jiffy * HZ) >> 32; -} - static u32 rpmh_rsc_reg_offset_ver_2_7[] =3D { [RSC_DRV_TCS_OFFSET] =3D 672, [RSC_DRV_CMD_OFFSET] =3D 20, --=20 2.31.1 From nobody Thu Dec 18 13:40:51 2025 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 05AAD256C9E; Mon, 15 Dec 2025 04:51:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765774273; cv=fail; b=rl4QRjWtf/Iz7bdxSZQJgxwcTjjmbhJLXfnRAN9RxFBX1TlBhvaNi9GOvk8FaSqvoSB1maULZJh+ADXNaTHI+vRe31YQxnECLEUvCySereRXIXqVbxax9nGMmkV20Tk7i3NpLKL2MAqCqNJVtcpO/oYsaPZaLirO5Ddw3kBl+kI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765774273; c=relaxed/simple; bh=zHuyIHS164copvweGYAiuq9vMXET15p2pXOOyUpyDi4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=VdeMu92Lvp9hAl6hmKiWMZHJEXiV3n3WqOL9WqL/AAi/dHx4rAGwycRLeregpE6OyhPKO/sys2Jil5t/ESVntY3QSUg5tBLkU0KV61pm0E5OL/ftZjxfXRHzLL8dCMwVYDyNMDI1p8crH3nZaW53rw5pdHJ2EQp873y3ifF7CXQ= 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=QGDxgxYE; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=zho425n0; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="QGDxgxYE"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="zho425n0" Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BF0HMBb954172; Mon, 15 Dec 2025 04:49:32 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=3rCGIU4l9cUr5AQIvr2FPjLPVqn70/rkM6Hzc12fias=; b= QGDxgxYEpdM4dNO1yGyGugZYdbTiUpc+I6p7TBz5PZeb5S/lQWaLrVQWWB9vSA35 05GxxBN4m2FZ2UUXTKwR9pRljVYrhG61/sNc2uiqL7ddY8JAb3kw5klJCBXQm2pw TMloLerBGxeLN8bKMW1/64TvsJxaZD3Ufg1j6iQU2ke/zBmqShnFOyW/Z2CTRG3Z 6bUBNQLmnV22xv9LMEIIoSzea2UYTbEIkocnmSXALZppaAsY1fPcOGx9/r5vjOhQ M5ksQue97CIk7c0aEYq/C7nvwEqnGzyk4lsum+hDWYI6RrQ4mY/Z5X3DZQwwPlBw HPs48uoCKgfju5yAGuRyOg== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4b0xx29b2h-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 15 Dec 2025 04:49:31 +0000 (GMT) Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 5BF4jQZl005878; Mon, 15 Dec 2025 04:49:31 GMT Received: from ph0pr06cu001.outbound.protection.outlook.com (mail-westus3azon11011045.outbound.protection.outlook.com [40.107.208.45]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4b0xkbgu79-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 15 Dec 2025 04:49:31 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=V0PY2lZr7yrpJOj31QKxx9cC7U58hr9SMpEQl8PcdLXnBeucfIyvlk+HyXtiI0QdaW+IQRLv3MEL68/3SK+RSfK8a8OqT2pkbbnQ904r7Pwa74eq/sNMoA/bPkhMtIpCy+pFirQtxXN4ddVhfm7B+E+3ytotlU0omQdrJx0O7GcmSzc+MbkJrRCKSpXiHzBHDDkhwRZen4FWJQwXTaR3wMVxAu2dgvKe6o0hYU4taI73P/2YrDEKmXrJGM1yCnZI5BZ1JJKCI33FatXUMuq7Mgw3qjDgKLduK3BCRUhshuzFtE7HU2dhxLQFik8sCRva1QN+cn3E4yBhKPrr2Y5saA== 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=3rCGIU4l9cUr5AQIvr2FPjLPVqn70/rkM6Hzc12fias=; b=bh14MA1d00ZGDLjL5A1RvoQq6nzFzdDJGw4xA3BHlPtwTLW3/TpDasRMa3zRdodXJTW7KWBCdTr5umLyABLF1+MY14avVAZnNeHxbAB+FS9qibEmh+kxTzqg/Uhi0Bf5WO1kA/Luuvq5vseKlwF+rt3LJkQrFDm6qGjWLt8/+tdh6EIk4eeficQCO0Q6MrhrLFQgOeIygzLKWsRuD3nnBfNYhsJs/2wPS1TYeKbXoP68VNu6gx0HJxG+nwXrYgfM0pLBVlpRs0b5V5vTmC4Q6ShSheeOn3VJcj4xe2ZZFm0Biii20LbwKnCbG42HlA5K19mijjALKLnr5jiarK6iUA== 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=3rCGIU4l9cUr5AQIvr2FPjLPVqn70/rkM6Hzc12fias=; b=zho425n0eBM1Go4k1PXY3UE/qfBnjZk5iKdpVxgx9/ZUs+Zd164yw44MaiZbF5rtRnaUi5wsIu2Wvh0g0Li3GS0DlH3oSDB9tSNWfjTPiIoc4nWiUJv2LhnZXZO5PCB2LPCIeXhnQf4XmaVDELOZN/Pkn7rNASXoHlClgRgqyVk= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by SJ5PPFDEBD75B51.namprd10.prod.outlook.com (2603:10b6:a0f:fc02::7d7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9412.13; Mon, 15 Dec 2025 04:49:28 +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.9412.011; Mon, 15 Dec 2025 04:49:28 +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 v8 04/12] arm64: support WFET in smp_cond_relaxed_timeout() Date: Sun, 14 Dec 2025 20:49:11 -0800 Message-Id: <20251215044919.460086-5-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20251215044919.460086-1-ankur.a.arora@oracle.com> References: <20251215044919.460086-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR03CA0204.namprd03.prod.outlook.com (2603:10b6:303:b8::29) 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_|SJ5PPFDEBD75B51:EE_ X-MS-Office365-Filtering-Correlation-Id: 832f4dcd-033b-47b8-c2ba-08de3b95544e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?O7vyquMwi8Esn+g+xbpZO8WZ9kx2IMZrlFnVyTEqTVb+G3BAbGpF13g0sq+8?= =?us-ascii?Q?pPAFhM42O1xKvQnd9/8TeNHFLFwMaZV59GAMRHrr1SudhtOqpXdb0pHd/XLM?= =?us-ascii?Q?7wU4N98jhhvVOoZhATUFNzl7nwNJpVqxJtTa1MP1TsBqz9SM1R3JHBrk07mn?= =?us-ascii?Q?1qC1+a5heztZtcWzpfTEr+N1e8rhipWw6wFX3qasVuL4DiF7xRJh5okL1DhP?= =?us-ascii?Q?hEAuZKH9dwwrm2vNmr/GLzLunojnKnmBxPpxyQcr16dXfTXpux5yuv3oDbfc?= =?us-ascii?Q?QZmw6VNvoOqEveAYsHLglAJAdEA7R3+b/62GQkTlsttWmj0YstqdMdlMoe/G?= =?us-ascii?Q?t51p1vgSQduShgkVkMZa5CC9mJt0cLATwTxPU6dKK43uHXnJEkeZRvnck3vs?= =?us-ascii?Q?KNUqkeTjVc6IVxWNeJucmAFHlqtMPcH6MV8XHzsTuh9NZOdgOQpjgEkx0pja?= =?us-ascii?Q?bXUEny3G4EpLS/dwZeUQKkFmWAije8Mhg6QoOkLOr3nfALgOSJrtVSjfdLU/?= =?us-ascii?Q?ZtpsIlF0uWKD5vgNRMS7Qsnh6Gs4VGjlo/qQhFZQ17SvZsFkytGmMxBvHaNS?= =?us-ascii?Q?NZE17SC411eCplNwnHtDat/CNjzPSK8tuR4AhhCefvVXNZFELfiTJP+pzXYH?= =?us-ascii?Q?wbnMPBB3qQ3EILc1woDM5wcu53aYqEqUGvKu5VUPTp/P0ZSM0blCaJkXqkLL?= =?us-ascii?Q?Z8p8HiIxca1qhYabNca3NNPYEVNZ9o4Zri/vXna3W/689oQpHGPo2FqyDYjr?= =?us-ascii?Q?uOf79G0Ot0m1ZSaoFwGOYYfLI0beUXUMWSSXZf1JpsrMAI2xhWUwcFBI+ayz?= =?us-ascii?Q?FGVoWAU2w56b6gpC7fLtaReaKD1y670iLT/EB1gKSwsfOZ2GvnwII4Jf4n94?= =?us-ascii?Q?2EgqFxruebGrFAajnARNvMqRqqT0VWJUM4+V7hv7OTo9vmxvu0fnK58Ainwg?= =?us-ascii?Q?ANIiytKKnR9IJGBrm6Q9tFRNqoLdQdm4/h1htKWx5rUw7DzmwQxGQryT9Gvb?= =?us-ascii?Q?g5qNCrLM47h+qJvFcC0ZZd1nQLF754N4raGGrc96cfNefB61R1kqPbZppsl7?= =?us-ascii?Q?P80sQI5eOPuqQjcOQAGemDZ3oekWk/fNuIedBn9J4YTDsc3JrzgSFMWuBzLE?= =?us-ascii?Q?oMjDP9MRfMbl4ZaAjlstazzhmjqTq+D/+KYd0GeZy95zKWJ39dp1c1Wr17y+?= =?us-ascii?Q?4+UsLSvjYTyKUmDpgJ0RQr+TDRQhG+Wi0ZgfaWoyAYosD3QdCznLgcr3mz82?= =?us-ascii?Q?f1sBMxn3mKP0rKJzbZTJaTMUG8DvzFtXtf8jqr8oG31u25vmcMaNSqE+k8IA?= =?us-ascii?Q?+iKZ1Zy7NF/t9Rhr8L1FG76lrEF/6QOAi9i6Ao7pjFvb1DRH0c4/p3Vx+ggN?= =?us-ascii?Q?22RCUYi+uRFnN/SOHuOs0FJI/2rpEkCnz5Qc5jxk0jpyRTzPHcqEJK+J9mQ2?= =?us-ascii?Q?IR3UgGEe0TOZMHtC1/AgCoCohgbSYZGo?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?wFQLMXcGpL4LhZtuXD+VkwBDOrRYI+aKj8XElgnQ/gMy42WwKw4Pkha2e+b2?= =?us-ascii?Q?mFYCuSVxI525tcvsJP7fw5PoqoYevBBImYnVQpUBa8nez0ctmj+lpQQdQY8a?= =?us-ascii?Q?8H84wSvEJZ0ya4mf79hoR/pDyAgwsLftDNQpMm2OEONSEILWLYBVx8+0grcn?= =?us-ascii?Q?N+ILqMpyrhiEWBt5CjbAj/E0N2+WXH28JwVEJQta/RkWSBMGAwjYgEftyUEA?= =?us-ascii?Q?qr0meSUrVt322WC7UkXMpBO2G7+s+kU2575AgINMeKceWpWlhk8zjwiU8Cz1?= =?us-ascii?Q?N+CBY3XUfOmcOp4Ywo9gSRZZDgStoykp7eBSi22zm5qVPV0NfKRXpqHTfjPT?= =?us-ascii?Q?Io7Km8yjNGdmc0+y0hNlr7YtoUYKJms0RwcGIULpyevjpHyOCrX2vQSToxSB?= =?us-ascii?Q?+yarGqupUuzxK+hwvYHilDX8VmtMEZMt8JVQ8y6F3ySIek7UIIjaP70xwxOC?= =?us-ascii?Q?BcJmAtuH6I6p2AZHGhpKtvbs2YG9qUieOcvQDq99e6372qZVsc+c4tIFAa7g?= =?us-ascii?Q?S2M5fKo+2e10n0qXWvSMGre774/eR7os8GBfpBp1iwKAV4OwjUDYYiI+e6wM?= =?us-ascii?Q?dTB/UiVi4oblFtaUvdwa2uzx7e3H0CkGOmhcuyLHqTtpstPWECVgnUT4A0PY?= =?us-ascii?Q?XCSQxUb5jSXQdIRd7cscJc7Ks+dB+DIpu564VhcqobNUrrCSSZ879vxUz0lK?= =?us-ascii?Q?zg7Ip+uyOBDbzPgBqhgdhUiJAi2zE8So2yhLu0QA6AYRh7Smy85SPAKBetn5?= =?us-ascii?Q?9E1+AEW0TbLtq7eVZCFiatM23AS2+kzsiZpYpHp9ofKvgjJ2VWn95nzwV+Yw?= =?us-ascii?Q?XmrVeGmvYPT0jkZZq7leaZrKVI1DR2SPnwXee8q/H5xZnvP7RTpDbYtf0ttJ?= =?us-ascii?Q?mTchoLFRSe9JIwz0UU6aXfs07jpWMz+uOyr8jsVyGO9wXMY24Svqb1BILqtq?= =?us-ascii?Q?1efHkWx/IDRU0ahXDHDuUDYgOJVVpF5kXjyCZAiNaU6tdiz72+u0iX/qNyVC?= =?us-ascii?Q?4r/TcooEIdCwFH+7LZIdTeDmlsVsjthFK/bsAKn2r6u2YKzxfB6rEQ0z7R71?= =?us-ascii?Q?d81/p9n6ZqXPLyRqCjEy4vRizds2dGGrXNbc77yJU+s0PhCQINsxkJctpEHO?= =?us-ascii?Q?CCig4egNa0EMGHGj/6NrClSucDkbcycjmqReGRkNEWi11O2K16JYdFZ+4pZj?= =?us-ascii?Q?8vM5y+24xti6NAIh5DAC50VsnRElMJozwZiF9jL2ogWaAXNpuYGSKZPTJmFu?= =?us-ascii?Q?b21RcBy+I20pJ0dyY0JuPStYWLCiPLeXIV/oGJPftNCJjkmn1kdiLGujjTKQ?= =?us-ascii?Q?4nPAlx4wAEFz8v0HrQC7RIyOSWWoPPcTL0jv16v4i/Z1iIHIB77xesPNYRi3?= =?us-ascii?Q?5bbqBeVel5JDCGZNr7qwpD7uh0GHF3QR1yuTiqvysDLM+3XieFceOJBXlHCx?= =?us-ascii?Q?XT1v5lEKk9YLWczxSZsSYVtSFwANps9LjL0mF02DTUavH4aDoB2z25w0/t1n?= =?us-ascii?Q?NTaOyVBqeWBCNur7JdS+l6KzIfqqx2v5EfIhHr54DAI5QPkWd1rOkLMPi36V?= =?us-ascii?Q?e/UMbMLQl94J9Mlvd0ScPQg+bYtGZpWUQej1l/rYWTg00ETE92aRtbAnhPaV?= =?us-ascii?Q?aA=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: M0UFbN/Dl9heviRGqGRzQWVf28cvmn/mKiEdJcM2YwmwJI6zMuDzBM4Y9Pe6/4TaBhoP5IQkNx842484a/GbphPKwHQRp75JJS8wojz7uvo+CnF5HRBvHcYNKr5pL98q8tah/pcWxN5J270lNranVNlGmmCNbkD2a0R5dkFZAtG/qe/IykUkT+iGpvGrqYcPrsR7t/MyNVNB79qYIIOGklRLccDk/dstSvp9O4FoVPNXBnMidA8DW1STc4Ydc3bGOPA5HpUPOMhevM98UjWXMl+LRoTllSlNy4n5JT2gpdpAbeSbps9DiQ/da5rFoH008kNNaH6hhikkWmR4B+dD45X1rI+NL4gh5ILoNre/srkPflaSGpCk/8JI0TARk1aaj0/xaejVUqnO3xdQGMhXpCpvJqHbIVqI4TXBbjVPA66Hwy6/4luRPkdkt2wnwzJlg6hys88QaodFq2dz5DGFEm4hgainyGwqGMtAFYbqJIKZ8c4QLcsMZ8UaCLOWS/sB52RXshI6oN37vxzxnZkA0Fn+b3aRpD4UQcCnFbMy+zeS2Y57gDDA/wbuMS11lXkjzUNIYJKlxTOSeGEaMDf2Jtj1UjxSpH1bxWQcvAs6Eps= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 832f4dcd-033b-47b8-c2ba-08de3b95544e X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2025 04:49:28.4693 (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: DcM9LlKEf5c3bE8UGPLZmxtCVhHeF64kaSBy6O6HHg06t/Gh6tyQ7WUm2AIZctrTcjNNf+h+Hhi2v6MASy8D9GF6PPP0qs74HyuqRJn/Asw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ5PPFDEBD75B51 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-14_07,2025-12-15_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 bulkscore=0 malwarescore=0 adultscore=0 mlxlogscore=999 mlxscore=0 spamscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2510240000 definitions=main-2512150041 X-Authority-Analysis: v=2.4 cv=B8W0EetM c=1 sm=1 tr=0 ts=693f935b b=1 cx=c_pps a=zPCbziy225d3KhSqZt3L1A==:117 a=zPCbziy225d3KhSqZt3L1A==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=wP3pNCr1ah4A:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=7CQSdrXTAAAA:8 a=VwQbUJbxAAAA:8 a=JfrnYn6hAAAA:8 a=yPCof4ZbAAAA:8 a=nhvTsVnh4RFXrASZcgsA:9 a=a-qgeE7W1pNrGK8U0ZQC:22 a=1CNFftbPRP8L7MoqJWF3:22 cc=ntf awl=host:12109 X-Proofpoint-ORIG-GUID: Qk--z39Ozf1lXmY6nO6MJD9yfHTI9qlm X-Proofpoint-GUID: Qk--z39Ozf1lXmY6nO6MJD9yfHTI9qlm X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjE1MDA0MSBTYWx0ZWRfX76317XWyGfPk jhZXithzTwHmchs/qTtTYuF1VTIRHrO9MCTM9Pw2dqW4ORqx0qZ5qVz4wu5+3prT8l6p8FbzkkJ vjDR6/A7rK58Zg8TsagcX9wJFBuuNGAgQqSEqVio44JcTZhCc/4X6QcgrV5CcLKxE9ejC3bXCyB 6Ja/xYP0FlKeO6EmLtZOcV4a8ilrF1DfXxybIqsoYF0Sogpbs1KSphQAipCgipByX9JlUFeGl03 HPmSp95BSC0tna0worR3o1TvgPQd698Z1txMpR8LxP/YqY0mIH4oArRchRHip1UjQ6kUuwj8NKM PGyvmIBpoOFShLrU+JvAB4XXDHBrLUg2qD2S5lyI9QMbmSDH6IxEQRl+KV/QslOae+974a3cBWp lhBMDTT5Fk8cE76HxSSUBE/ruvJbboJc8Si7QLGQo97VqKSBLO0= Content-Type: text/plain; charset="utf-8" Extend __cmpwait_relaxed() to __cmpwait_relaxed_timeout() which takes an additional timeout value in ns. Lacking WFET, or with zero or negative value of timeout we fallback to WFE. Cc: Arnd Bergmann Cc: Catalin Marinas Cc: Will Deacon Cc: linux-arm-kernel@lists.infradead.org Signed-off-by: Ankur Arora --- arch/arm64/include/asm/barrier.h | 8 ++-- arch/arm64/include/asm/cmpxchg.h | 72 ++++++++++++++++++++++---------- 2 files changed, 55 insertions(+), 25 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..acd01a203b62 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,22 +209,41 @@ __CMPXCHG_GEN(_mb) __cmpxchg128((ptr), (o), (n)); \ }) =20 -#define __CMPWAIT_CASE(w, sfx, sz) \ -static inline void __cmpwait_case_##sz(volatile void *ptr, \ - unsigned long val) \ -{ \ - unsigned long tmp; \ - \ - asm volatile( \ - " sevl\n" \ - " wfe\n" \ - " ldxr" #sfx "\t%" #w "[tmp], %[v]\n" \ - " eor %" #w "[tmp], %" #w "[tmp], %" #w "[val]\n" \ - " cbnz %" #w "[tmp], 1f\n" \ - " wfe\n" \ - "1:" \ - : [tmp] "=3D&r" (tmp), [v] "+Q" (*(u##sz *)ptr) \ - : [val] "r" (val)); \ +/* 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, \ + s64 timeout_ns) \ +{ \ + unsigned long tmp; \ + \ + if (!alternative_has_cap_unlikely(ARM64_HAS_WFXT) || timeout_ns <=3D 0) {= \ + asm volatile( \ + " sevl\n" \ + " wfe\n" \ + " ldxr" #sfx "\t%" #w "[tmp], %[v]\n" \ + " eor %" #w "[tmp], %" #w "[tmp], %" #w "[val]\n" \ + " cbnz %" #w "[tmp], 1f\n" \ + " wfe\n" \ + "1:" \ + : [tmp] "=3D&r" (tmp), [v] "+Q" (*(u##sz *)ptr) \ + : [val] "r" (val)); \ + } else { \ + 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)); \ + } \ } =20 __CMPWAIT_CASE(w, b, 8); @@ -236,17 +256,22 @@ __CMPWAIT_CASE( , , 64); #define __CMPWAIT_GEN(sfx) \ static __always_inline void __cmpwait##sfx(volatile void *ptr, \ unsigned long val, \ + s64 timeout_ns, \ int size) \ { \ switch (size) { \ case 1: \ - return __cmpwait_case##sfx##_8(ptr, (u8)val); \ + return __cmpwait_case##sfx##_8(ptr, (u8)val, \ + timeout_ns); \ case 2: \ - return __cmpwait_case##sfx##_16(ptr, (u16)val); \ + return __cmpwait_case##sfx##_16(ptr, (u16)val, \ + timeout_ns); \ case 4: \ - return __cmpwait_case##sfx##_32(ptr, val); \ + return __cmpwait_case##sfx##_32(ptr, val, \ + timeout_ns); \ case 8: \ - return __cmpwait_case##sfx##_64(ptr, val); \ + return __cmpwait_case##sfx##_64(ptr, val, \ + timeout_ns); \ default: \ BUILD_BUG(); \ } \ @@ -258,7 +283,10 @@ __CMPWAIT_GEN() =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((ptr), (unsigned long)(val), timeout_ns, sizeof(*(ptr))) + +#define __cmpwait_relaxed(ptr, val) \ + __cmpwait_relaxed_timeout(ptr, val, 0) =20 #endif /* __ASM_CMPXCHG_H */ --=20 2.31.1 From nobody Thu Dec 18 13:40:51 2025 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B69A342A96; Mon, 15 Dec 2025 04:54:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765774498; cv=fail; b=TY71X9VAg/qZtjK4FobfgX35tzgsK/XUPHCUMV4GrdRm3R6aaMhqtRq9yv3VZnNI6GKrEZJW1hauGENqtlhO5/0s3O2cxEClH6qHlHSiDu0muTGyMU9a1T0MvAkZudx3ttTSgS/kWgWdflx9E/ow8fG3oOtvKQ8xYe47F82arc8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765774498; c=relaxed/simple; bh=fLzo2MKS3zcjLUWyddaAdPyIlMm7AdzWYGTGhHuTrXo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=Al6V07vy/ohMv61dzC8XyOJ/NBn2EhDxLvwJBXuuFrUs8taNChM5XtQbfJ/VygB7MNwC6ZPPGw8TP4Wa+KDjbidu9J47T92Y2rdycVXHJ94XwSum8GWvIKSdqtWls7yzhOoJgkbyX8js64bziOotZtZ4lhdu27eOBo3314hgI/g= 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=FcYKRRHR; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=qYsz1YYm; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="FcYKRRHR"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="qYsz1YYm" Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BF31B3D1243278; Mon, 15 Dec 2025 04:49:34 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= FcYKRRHR7YrC4fm/sFIdVUzQVAuSXi0Hl5nF+Q2khYkh4R0rMO4I4lXFUpR8mXX2 pu7nIebPJPaF+TNLgV5aJw2kXDn4fSuj1HW0IORLpQC0IM8sie2hco58z4rw9Jg5 ht/5vgbrCY/azV9rYOwqxDObeuHQz3t3bn0uIRF2QCtPZzkP96TZPdqgxmO9QeJs q7wWJayqAyYTbn8bWDNfUq6mnY4mEkyOLJq7sirt50wZH6zxhs57v9ULR2c5Nat3 MJYwNpugygXzD2DYJTNmWNNpWRQT63h0M9PEWqArMmtKidfrFYu9zMFPp8j71kGJ xgOS4I/lmIfw5w+ZM2VRPA== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4b0yruhaa7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 15 Dec 2025 04:49:33 +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 5BF20S8g022550; Mon, 15 Dec 2025 04:49:33 GMT Received: from ph0pr06cu001.outbound.protection.outlook.com (mail-westus3azon11011059.outbound.protection.outlook.com [40.107.208.59]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4b0xkhgnep-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 15 Dec 2025 04:49:32 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Gz9dCWTJh9gB081BKgt1tdVgJtfgMXRRR70PRLhSkaRCnI8U5OfnZ/c9YHOqnlBhX3MtlGI9BjMl+OoqbpKVS1u/wjM3PVCFVbMVa5zztjsZ93ZhRSIcfC0P1f/cnWz5Sn+QbCeF2yg8WxIpmxPZPSwgu23w0bv8pnkqzcg5rfusmFrCFcjWokHWWAgrbsom4Z/crL+MeUZiNaCN+2e7/ysaP2IrgfPeO95HYEFFQWckgV+aNpqy6w8gQG67iBzrf5/ybQucbMtjq+KmrcPKZEP/e0YyYM/3Sjt6iXoqDJozhtiWoP+WHoQhDle4DRH71GksavgjRHS5LAN0SV3ixg== 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=pWJk59TjWCmFVPx/lULwW4MYFmbHyByAXZ3vKOeoFlP5bwV/z+MZ4HzWJbXc7O4NJHmYoGIE+JnIgLssY6ezn1CeM1ndKuUh3VnoiJjv7FagtRCrPvw55KsP6YQOBGqph0Q+5nUrwPelxsA5p0lv3SoIY1G9tvL6sgjsShrWV5+7lFdmEP/6M3efDb+f+CbyDTCv/tulwHeccBMfhaBE1x6eu8W62CSK7UxNqaE8YeTwjBj5r9NnKFeDk/myQMbrp7SYa8FNYLGOShzD5A8mQ6kWdUfMTraefGzChiIKHwkHhtBoNE39gSK6WFBvFZul0vuQ5pYsFHdmgyoFMfgyhg== 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=qYsz1YYmSY6Wm6JbQ/qDyt1GmmjnU0n1PnM1V27nOFGmbCPxtN2y9VpymhfY6DopRJ+wYVNcW0dtc3VmrXwbhk7jwBGJsPmf0De42LOU3TYWyAJMfijMutKh+vAv6HYDru7qMIHYUmvn3M3D9T/6nz1LZ6bjZOmacDR26a2lmnc= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by SJ5PPFDEBD75B51.namprd10.prod.outlook.com (2603:10b6:a0f:fc02::7d7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9412.13; Mon, 15 Dec 2025 04:49:30 +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.9412.011; Mon, 15 Dec 2025 04:49:30 +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 v8 05/12] arm64: rqspinlock: Remove private copy of smp_cond_load_acquire_timewait() Date: Sun, 14 Dec 2025 20:49:12 -0800 Message-Id: <20251215044919.460086-6-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20251215044919.460086-1-ankur.a.arora@oracle.com> References: <20251215044919.460086-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR03CA0205.namprd03.prod.outlook.com (2603:10b6:303:b8::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_|SJ5PPFDEBD75B51:EE_ X-MS-Office365-Filtering-Correlation-Id: 5942d0d9-26ad-4684-b3c2-08de3b955535 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?0SRNt4mHhlRHHxwhGU73FmXmyQjMYW90zgAfY4fzxYPwMMhRCH6v4t4zyAGA?= =?us-ascii?Q?X/CGAx7BdWZSbxI1M4d0bT3TK+nHlwh0b8xy24C0cHRyzKxj8K00BOAxCCQ3?= =?us-ascii?Q?/3BNt73ar+PfPVgXGGAl5+cZXPW8boyic7p5NnGL7lD1zEznvEXhlSz7O5OS?= =?us-ascii?Q?zKz2aJiNuDT+B4kFTKrf+8jcnHVq/GZa5vGs7sDmajG/qEXRuo0TGdFaGPAl?= =?us-ascii?Q?5TNhTyk4jgpnxJ5afYxXDFd7etFsWjZuCvogOBaEKr3lFMxfV2b+vzWg7P2k?= =?us-ascii?Q?POk0NY0fuaVFTwaFLok/MzL5HKZgMYpg7f8lK70ITgbdPu9Kfg6zmtluiMxh?= =?us-ascii?Q?C+GizTLNgbr30UDNmeA2B/jfrtD6DtEmAdMjT27e38kH6jSDiiech28XXGwv?= =?us-ascii?Q?ASFcuMpTp0YZkOp8A2IQSq/MYJueGK9f4vr8H4LjgMPDioVL5vtR9ibuVYLi?= =?us-ascii?Q?FK+KRtfDuBqYXKiyt8pjp8HOhI+OF150NqSTQPmCEV9doJO7C701BAejisNW?= =?us-ascii?Q?YYj/3XX07lY1kzU19cGNtOjx+PGp3RoEHQ8aLBsRFgqd/oIfGyhCn9JPIDrZ?= =?us-ascii?Q?14pK//KMkD84vzb6v2M/y2qyrbPkDASUZU3XiaFYg00NBrFjdfCa2/ZVaSd/?= =?us-ascii?Q?zRI+1DeGgzEmlzvDkTxH42pPzzdZCUPnPZKGJaQDToH+Nh0TQ4isPkgqciYW?= =?us-ascii?Q?J+AVooTE2zjQPssWeR6DpFiXlmqvouSKj39kEsfnKAb9TTJMtht3Xh/EtGjf?= =?us-ascii?Q?8xlr3hB6OaMD4zxkaYhcUA/1/cyIUj4dPoQEtKpes14JFpuPdpm/8hmMb+Zi?= =?us-ascii?Q?0Ql1nCCmB+qJjHiJqEJ1fvPDiDwot3lKxVfaAYItOVBHZpQ7WkweIX+a1kOE?= =?us-ascii?Q?P0dWGzi5nrye1GQMKVsxJu0ngwv7amnBhM6DdS9XYVX8dEcOqU98da9Lm4gl?= =?us-ascii?Q?9Nyg1IqnB93SlhKXYN6w8O/hGKK+tolDmkUytX1zMN2mPVCJEarWNw6z3Z8j?= =?us-ascii?Q?S3sPYQVrZwO1ADLOJQuu7VgWpEsHmvnv/ZyrLguQkEqIGhv/uT3A2vCuhcFs?= =?us-ascii?Q?pYyH+dsgSyZbWdYwFEz4OgXksioIDtllzPevF9rkhuzO7lXUfZf5Ttto4WOS?= =?us-ascii?Q?SXSshgX1yca81r2O3iXwQGPNz/NAfVw7BQK3htBnuVmLB/jW3Xhc1ptNFlRi?= =?us-ascii?Q?yj5wZtHMmdFAN1CGRFmQhnY7v8RTI+DJL5sftN/gBDNE7YT2yALxoOfvCFGZ?= =?us-ascii?Q?m+c0UJdqVDyUgMV7kN+RyHDxMwLVf3CLQX7NNI+nyGHgy4NmFarxdt1qut3/?= =?us-ascii?Q?4TQ6BCVhgmo4hprd1AM2WmW8IHPfCdoRQFhvc+Qvy002Kz8P2OzvpHVdUYNU?= =?us-ascii?Q?ZpE8TJznOiTmQSnHA5l4FnhQDnS1gdfAhEth3Qh10BEMKxtkpljrMEq1iNxb?= =?us-ascii?Q?abLtCywCOWlL3b8a/XLrSOV+VJgxc0+S?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?nZjxh0zTFz0w5AsSXs8ONBGwZ30p//Ad9vwmqy2BhLHpFz6P77RamTZmMR7f?= =?us-ascii?Q?ST+gttdlgLkdRH2XPWGA/uTEhl7VbeyVRnFc0LzF1ZW/9E4LXSyiZULAxM29?= =?us-ascii?Q?LCt9ml9z4/F/e8+tpKlf4gX30bS9llNyqJqaWwQLVSjX5QJcDop80Jy/iWdz?= =?us-ascii?Q?q1p7OnOfKpgK5PuE6+jmRGBiMlF5rHtjHkMb2XZDwRC45WSJoEOnPj6SJzGm?= =?us-ascii?Q?FutRhIaDKOtXQVdQA23ykXTv99CGE/kAkUsp+NzimLJMWRQbyi7PECc3Glbt?= =?us-ascii?Q?SJjPOBc+oS+baWKF788xvHTKKwsoYPHajq2lqfnsE1jBrLpm7bZdv823Pun0?= =?us-ascii?Q?L+w2kXRy1UfWq/MrlVWhkXYGP2lQJnIYn5YjqB25/QAsgqXK/bvFwLJ4gM+h?= =?us-ascii?Q?RknBBLHmN0AZgGVo2GHznbVrX3ReZ5dJvIteRuRxnZMDqO8s8rE6LDQL3akl?= =?us-ascii?Q?9Ko2HX2Aw9ItlHa82k4O67wE+PbIdxNfggEh6lnwuII6g4S1UjP3yL6GzLPB?= =?us-ascii?Q?OPCjdsYkBnZxHRc86W9mxB+9F6ubbCcYxOYUIPq0hMzt+hk3qDMEL6p3+oi7?= =?us-ascii?Q?5TWLYm5vPYxSxNWSDNoDDofA4Ckc5FoZVHI0oJTXs3jljH7aKtRaQfD3j6nT?= =?us-ascii?Q?nU40tLpK79q+EY+Mnmx2x+k/Z3cRnJRyWybZ0OQpWUzHov/AcPZIkBhcBpUV?= =?us-ascii?Q?K7De0OpHZNnqG4czcrRF1DZfBPqUB1AaIwLjsY8lRAwpevZ0o8u+k+3m/fde?= =?us-ascii?Q?uxBmO9ZtrEozT9aUIqsdAaykG92KKpmMU70BNuwwxE9gxtSZ4pfokntHsYtU?= =?us-ascii?Q?W7fWhppxOubDvsaQAzZID5c+XNBHP37nve505prikTaDrIXTKfY9O+M5cEAy?= =?us-ascii?Q?BebA/GVjpTOt/8+3hK3y00WWWox52//4O7LK3DRQvy748qsBRS5Q6HGGx/Bg?= =?us-ascii?Q?0tJGMVnlsr6S3eHYKwMcDZNgbzadDma+4gp5+MHmLvYqXhP2+T8mf8GmY+cJ?= =?us-ascii?Q?70rwiV6SOU+LoDQkSEC9n9IZ1k27M12hWAFhEbe+kW++YF9s2SggMneKy8dL?= =?us-ascii?Q?UQ6/5RpWgPELdly6TUXT5B4fLYCRwD2raiTufvPGervaBGhkTUQF7ClGR0Op?= =?us-ascii?Q?+ieWmS57Xa8ukmK+CuQyQcE8O2UB9qp4geIMm/iFhxOpzm3y1XnqzSjDYF41?= =?us-ascii?Q?OOEnTpss6sYcw5ABB3+V5XjzmdFH0nicnOIAANuhsrYR1cGubTb7EeaSVlQF?= =?us-ascii?Q?V0EAgAY7saq+xOeN0FhND8KLOsGJTNQyuAUivU9qpYn6mVSwKGgP3WP/ymOY?= =?us-ascii?Q?gjdNKuiq5YKVsYZL1jRixBEAi1M4TRlOoMxaGIvZ26cmxKaxeFSgS9hT+q7o?= =?us-ascii?Q?efbIrsMLDnDnDHy8tBtD/V0/DV2PlnU1ZQ98D8EYYS21nUTDPryzjMOhjXLJ?= =?us-ascii?Q?gKs+2dYJ5lRUnrt7TQV7aFdqhga0r9G8yaQ4pJtO4ntXCjagq4cjzH/m5obs?= =?us-ascii?Q?SIrKPYESpefCO7MATP6UqgROthE87iuy8kQZZK8/QweiX+n1pvERSQGUGNlH?= =?us-ascii?Q?LG5F0Q3zSVHBX1dPBv2n983MrzGujsrh0qJrjxEqHmzf/dLJ7mfCtOXu9Kff?= =?us-ascii?Q?CA=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: U1M1l2CzA0c+czpfrGXMHSLO7etPMsKzFhaMZgi4kgGmbhW/Kxr0le10a9HpxxuXNs8QmHvkYIiFUlnhuMLrtL0NwBChuKzcidbbTyUXk3ENAlLj7LmpGxHSmlAzF483sN2sTsJKalpsiDo7hW6n9KcNUYQZ+5wCup+9yxbspw+vHjkgnAnZc9O/oi3fnDxtInlsHcmJhuxIgCR/1KAzFfBiC0b1tAs76Rr47Y5eCzw7nxND1MRJ6yzyfyk7BUDUKkyBZYMw1YGT43SXJLt47xiGiGVaGOsaz8EqMaNAPvnliE6QWfSoom1bxFUWxhkQI2Dw7cZWfXxAT5CkCKBNJTU5emm0NHpmXAaRJwDZZCQjSHJ+0oJdj33ZXUiaE62Lp7AqFts6bcCpel8IhFWL88bjMMUm/Z9Tn6huBVG+szeK14lC5cuJFX/ysf03hHbCIJzCjZEsJgQuNnshqVcOQrWl/dFaf7kQ3hClkG7AA+fV/756dd52JASIF5CLzDNmssTw8KPPE7m3otLJMIAPkiV+NATlGWnFVocHEZ6x4EB6Uzh7jwmt/bCUeYZu/RDYJ1hH8r/4jt6MF+ke5FGpDjI6Mz38YkxMhLrIMpZwqXc= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5942d0d9-26ad-4684-b3c2-08de3b955535 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2025 04:49:30.0260 (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: jEEwNm2y8HjapvNoS5LlAnFlkHOSU4tdyKbgqs6JbSb5LkJFg1yVjwWjyOVDnhuQ68yZAcJqRm88t2U2u79NuZ8WpKdD0HzgITijaz55Vbc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ5PPFDEBD75B51 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-14_07,2025-12-15_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 adultscore=0 mlxscore=0 malwarescore=0 mlxlogscore=999 phishscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2510240000 definitions=main-2512150041 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjE1MDA0MSBTYWx0ZWRfX34mEFa432qff NmsjMDztjIxsX4wgD7ZufJgaOCd/RVjwwU6ngaZwISL4xIx59N1t8erxdkx7pW6sUP5ZOBs9soq yhHhmcnWnqLTuNX8fupLq8NFeeCZLpV5AVkSnFrTEfWF1KJaqb0HZ9rHSQqe/bAigwCsTWThCDP oTws2e8M4XpgO+rJizyr0DHettj2l8tG0gkBeMnnz4Su7KilNdfyzx4SVMYlBPM6Z9iWbEnUbiV aczJ9IWTkCN2stwvD2HIM8T9pG+adaCThowoIJ+bMSNqywms6uMBhqTljV9UdIkgcb7qDNyAFIf Hvu35EGfjt4YiIOr5KAo8q2AGcOC+gDlfZ3BN0OHo6B+sbKW2ys6WIN6QNwMWuxhvFfD9WKeTwc lzquPxNEeW30phimNqdFBsVVBaPLyVZb4U+9v15tUT15+GB7BfU= X-Authority-Analysis: v=2.4 cv=TL9Iilla c=1 sm=1 tr=0 ts=693f935d 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=wP3pNCr1ah4A:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00: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:13654 X-Proofpoint-GUID: TMFlC8qa36Xmc25xHjF7EJ30hoeqZHT- X-Proofpoint-ORIG-GUID: TMFlC8qa36Xmc25xHjF7EJ30hoeqZHT- 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 Thu Dec 18 13:40:51 2025 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D5F5A253F11; Mon, 15 Dec 2025 04:51:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765774272; cv=fail; b=pC/L6MpJeJ8h9OKHeZiK1NKN/y3lMk+6Nd7dGd8tI8aWsX1nctJs3FZlWrT428BdzjDHboPzivSTJoLrI7P5BJurAjO8pU7NtAde9c3xU7xiiTtAuG6CQHFJWYhx+U24suK6BIooYFxBLFDdW4KUEL1cuswTZyLfmbQNDrHgjF4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765774272; c=relaxed/simple; bh=Yhzz61YYmGdTL3ELOvYnaZNQ5knN0WJs5c1ZSpH4TtE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=LOURCQFp8NnufuVlRYK/P2rWio1xjSNjTg+XPaW2LUlV8Bq+2V+B6AoV5bD+hm93OefDpvfLJqrnZwWQaJ3AfPqob7Vvmjl/Go9RoomLoWS4E1HYa/96NXU/CGCEAicrHaxReOUdBmsOCMirW5aQhq+V4++aLn+LjeYrCQmtPAE= 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=bDfRd1s6; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=bibIehwl; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="bDfRd1s6"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="bibIehwl" Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BF3UxcI1470666; Mon, 15 Dec 2025 04:49:39 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=VRULXyJ9/p4woM/6OiWNdEgFi2W5iIyYQAPf47z5TZA=; b= bDfRd1s6w8VKutFoU9c2mBiXWulLdLP4v+C6yXEjRqLalxNVy8HeEN1IqF5myX3e h6HAuhxxZ4FOP4rhnEwhktsJezh6SZkuTRPu0BIhZcA+BM65qGnXT0/uJH0olVT6 FbeDNyCs5ygWCAHbi7bZNAcz3mawTe35b4GN08INrNpcRcyje9NBxt/boZz8YvO5 NKs4b6bc78/wjL6OvWs0uMWsP3KQPsbsZVRK1PqMvf1cdJ0sAegJvR4vel41cQF+ yfY3ahqTcab+29kGB1yFYI3D7s1F77zoAVFvQ0K1296UKjcUq9gZmcmJNmB13MNG k7LrqXCDT+Ni/h8bb7EVXA== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4b106c9a7w-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 15 Dec 2025 04:49:38 +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 5BF3De04025232; Mon, 15 Dec 2025 04:49:37 GMT Received: from ch1pr05cu001.outbound.protection.outlook.com (mail-northcentralusazon11010050.outbound.protection.outlook.com [52.101.193.50]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4b0xk8rdf5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 15 Dec 2025 04:49:37 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=SjH7DjZyKCK3JLii7xzlSeZsbHMi8KFGYZdsPuXr8UofkZ9gaaFJm2yuV3G8Yovn2tYJ6wgrDil+k89v2okELyQ+4hQcXghWc+JaUw/ql6aX8tP0UsUp9o02ZMiB2N4F4Xc4Ct5rJep5NA3LiYQwB5+CSwm2wIKSFhwP+qfTMLERUjC6jQPJBPX/S/PHYbvuOdwl3wQzdLQ3Jr1wkbE2dHk87vDDd/M47ZPk65n9envFNbuR5KZr+DjqmHdG1dHjfBD8PtBw64R0xpJl3E3llav6rOArFWzcyQnYeejklERG6enIP/g9CrtJRQr+B1FLiiIdipO+87lcB2HqbQkNhA== 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=VRULXyJ9/p4woM/6OiWNdEgFi2W5iIyYQAPf47z5TZA=; b=BqBVusHTR1/ktFoK15RF51hpAlsuT59WfpeVaVLEG1rsq0VtqhNZDmkjEY4p/XWU76UwVqrUiTGxxwv79XyBs+qXYYwdXJIuwXWR2wwhLNjTND7aiRcEb+aXE5Js+5+s9THx2zAaP4WD5M3uKnQAJoYpQG+UxN2pBJG5x852IncVphKCdxfz8vMRTucQa/mU7fkc6ZWif2ry8Dl+i2UjUL9cBrHs62s8OdeInFHdVWEtXQ+heVXxIws00qhAO5ct3H3KzpwAICtjkN802NrPkFL6E27f5B04mduj/UEivOCM2WUaSdMCcvkYAliUQ9Qj3TNqxVmmNqYzC9aPZjAVrw== 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=VRULXyJ9/p4woM/6OiWNdEgFi2W5iIyYQAPf47z5TZA=; b=bibIehwlEfgbo5EG7hZfazzqhsKM7DgEchzLsLlRjzsu/sfwTE7XGBz/yqiZ96FDfn1u3UcFLlzgkOdnEweU3wuTT7xSotvGlpO0nv8cvqheRPZKrm3Pv3nvGWSboJzM8DwnhIA0AvyP/hWaRfGERSI9mSDfgGhSRxuph8LBMgc= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by SJ5PPFDEBD75B51.namprd10.prod.outlook.com (2603:10b6:a0f:fc02::7d7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9412.13; Mon, 15 Dec 2025 04:49:34 +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.9412.011; Mon, 15 Dec 2025 04:49:34 +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 v8 06/12] asm-generic: barrier: Add smp_cond_load_acquire_timeout() Date: Sun, 14 Dec 2025 20:49:13 -0800 Message-Id: <20251215044919.460086-7-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20251215044919.460086-1-ankur.a.arora@oracle.com> References: <20251215044919.460086-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR03CA0359.namprd03.prod.outlook.com (2603:10b6:303:dc::34) 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_|SJ5PPFDEBD75B51:EE_ X-MS-Office365-Filtering-Correlation-Id: eb249abc-6f7a-4e48-5be2-08de3b9557d5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?akz1xuFiQaKIcvwRQYR6fkGlkhH0+DSeYL36g4m8ndnmK+nC7D+wj8eukUIm?= =?us-ascii?Q?bsYELEO9YylCIIUGAg/7eYaOj+YfAXj4OQ8XA+SAi6tnXhSVVeYBLsJaczML?= =?us-ascii?Q?AiCgEI3QQ8G477f88MpMZvl96SPDr4NEhcqxZzu10qOvQWV6MD5npf2f+1b7?= =?us-ascii?Q?dhkKJoLQx5sTtXbqZ4AO3umKrE0AXUxC9tG7PIAR/pHbLQKFP5ZLFcLggw2M?= =?us-ascii?Q?yjT7TV4DYNBsuH8fvH4PBgVaPWyuVWk7w56nEzED8vd3ySGTH5/tiECY8y/a?= =?us-ascii?Q?QzApb+aVMpbFa9qua40Xi8ozgC3hASo8yUcHYgXI2ucW0MMCBmWx7+wyNJkZ?= =?us-ascii?Q?+DEEyE9MuKk7WylU2S7IVFMzRZi8uana43g+lF+inaq+5QAY12+ppXcKv0Sr?= =?us-ascii?Q?VxvaEn4SQZzxZFAHKPDZe3AJRlBWzR+PbSAh0Ovssah9yUAO3p55TKUPyq5f?= =?us-ascii?Q?oYHy73U4ctINU54DsvdMTmPqeJ0prjB5sCm/0BN/KYVFi//iIUh7DMIE+M6P?= =?us-ascii?Q?bG3D1Wj96gBDaWxdGN9h6BiOH9Xsy7P2kWHvUS4qiMA73yMPH+T1p2FUycW7?= =?us-ascii?Q?FslYxOmm2LzD7StFjnhxULCia0Ii3BjOhTQThU0oqlLaHkCTyImI5FL06Zcb?= =?us-ascii?Q?CTLFIKQTeMp1+o66vze1Tj9LTWlyrE1w9xxNROm2ApiD3suVEcerDgpdf+/X?= =?us-ascii?Q?4V3jkb/us46FQjsF8GVn9p3YY0x/txnzipSRSHdIb4NXRjTm08vzV53MkRq0?= =?us-ascii?Q?EgNYbrqRjd3WxPD0XvZ495J/RYrbYfL1mYS5IZ+mNN3uKbkHyyjtKK1sKh/K?= =?us-ascii?Q?EU2rvL806xqydwUKPvJy4ySA6dtrjkSO0IzR5tXC9dyIuHvbOnrg6P1rk+M9?= =?us-ascii?Q?WKyM7MRADlz+TKZCMqPrpzSNjvKGbGeGeRoUEJCt93JySku7V/qIdD76Q9RA?= =?us-ascii?Q?+yRAJFdnFXZyoVg5o5xu8NJ0dJ1iHBf8/C5pi9F8vurQw3DZJDS0iqVq+LCs?= =?us-ascii?Q?2Xuf64s1l9q2dKvgUSh8XgfwsBS9chKAA+/xw7DbvVoA6mOu7X+qlKHLxWT/?= =?us-ascii?Q?3m139FfErjIchTZ8LS0wxTLdezyFTD3F5MtwRjuKWpITsNlkStMgc2b+n2Gv?= =?us-ascii?Q?8QxvZqLEzzEde20iRTxQGp1dAYaDEw7lRf6sSzb8ZWctFwIvO6LrCYX0cTsq?= =?us-ascii?Q?Wc1xp2QVmdzYzdx8FkTQ23FPCJKQ1BWupdfmKHkyqsZuODQTpOcj/+EvcD9d?= =?us-ascii?Q?6duUb54D0Duv2K7AvgkfB/eH1ts4MrZQhEczQOmJuj8MrCBZSx6FVqECf/7N?= =?us-ascii?Q?L2pu8xR5OUpwyIAFPNoO5olcWSG4V4+UoM8jWFpb/mkpCVCsAAUQQEeNnY7G?= =?us-ascii?Q?zEiqdAnfgXRUjtDR/GA5GH0yIpI6BoTEuHFGgmGSAEyy/j5TR58F4Sm6PgPp?= =?us-ascii?Q?DwQ8EXFVx8M9PbeaPllcjqMkKxbJeN6M?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?osCP25fPre8/r1vvgMHNdHB3zH1+txGwjwLqeR5TUy+GHfiRm/R4pf9sTwNk?= =?us-ascii?Q?RbTZQi6p+E4yR75aKkGAtaOxaaUbPtDuz4pddrTTYJOemsrTBGrVM8HL9Jjf?= =?us-ascii?Q?Dsm7Wv7u5e4yJthKAC1mKszSnaTbAYI5BA9hYODVxe42Nh0kMgww0jBBUpxC?= =?us-ascii?Q?GhHgCH2tF0oNZu3fW+h4+fhrU3WhhWDqLGPVOepHNzOM6/tPZZq/DGyHh0oE?= =?us-ascii?Q?hRlgxqz/7Xjg2zi2AQGQMp06MNJZJj+g+PiSkR4kcVluIyRsGAalU6yON8+s?= =?us-ascii?Q?ByPe6dpaxq8cy06xPYgoLKQk3BkPr0H+/cxVwGOYvFPiJxia0joibF8uuWRA?= =?us-ascii?Q?4MA1J/u3duNw4UT+g9VDusVbm7Xu+PGVpqBwgxtaH78HHAhYTWKINnPe2dBb?= =?us-ascii?Q?wwMeWjgn6aRzqsAoAMF1ZU/XZvaTCEVM81xRVB5svROgnCkVhJZgCSvefYbR?= =?us-ascii?Q?XqmzbyQi9RWI0IYXjDTa5tBbymCF7+/oVa/wIt4z92PwfzuaIdnHhKk3U1qj?= =?us-ascii?Q?hV7ABpzsHTkldUrzVxcPijr6/fJnnbxv+2NGzVAnW1XO8XMjdgyJk203e7sZ?= =?us-ascii?Q?8oGEKUQM67ACqgiK4MjscS/BgC7xXrK576KbYetZdhujQ9G+uD+V/Lr1dRw2?= =?us-ascii?Q?VdlH8am9V9/aqBiYTjAprUPMq1ncyoNpI8iZF9Z5WFceCVHjQAnn/FmQYLsq?= =?us-ascii?Q?pJNftRH1SIHN9C9uiM66TNRaxqZIZL/4jdfsanlpCISr77v1vJE2sh3uvKDs?= =?us-ascii?Q?7O3kBdrEXSPd0uwQWb9xCMw5fn2g70QkukUN7YYFPNv7JqqcCCmI4t9Y9zPo?= =?us-ascii?Q?ZZBXPWrHZkFmW1jlEbLViB3BKNTUmLqrApKBJPKJ8pdSDkgJF6rOUAI8mJXd?= =?us-ascii?Q?UPw/kp81YNui4Sik/Oy38malbVqHuRFfNl24QzSTdcjnu/c83yB5EiLUOv5Z?= =?us-ascii?Q?SoiLzHc/C6PIL+acJ05ype6UT0zX7zqu9CmtUihdI7QDb6JsHZwxMJ0opDzG?= =?us-ascii?Q?KK8hrwLy+6SCVR1FPJbRoAuQnzcge1VNiu3ywMnfF7uunbNxYZx1Ob+jCmM8?= =?us-ascii?Q?TovPKCSwJ0zvA18Vrx0M20StyghpGQbmwR2OWFvf4LngMww09+Tac35f1271?= =?us-ascii?Q?CmtN5d35ayxYWWyP8Sv2OP48ppsZjj/swAxs3HmW5/8+QfphGKMCTvLDSqTO?= =?us-ascii?Q?YnoVPaKsY8D9XucIpU/nwzns+WG0zhd8jbk9QcQ7yPlWUPYOWUlsneaV9hIi?= =?us-ascii?Q?Nkb7RU7A4Zx8BnqEaOXe0vWUuCecb7+hBjS2bW92oVh7zFgbBiOj3It0NGp6?= =?us-ascii?Q?NaEVTobNdQw17S6woYhrI7faf4ITsDIBX31aiZS5SBxK3FQTsEPFE4jjD8mq?= =?us-ascii?Q?jjZYNJnMiuiaOLpIfL9+jKvhYEmO8I3gjOkWojxKP8zrgdV+Ds3YBYhGsrZQ?= =?us-ascii?Q?iD/P93bz2fKVaIwbwZbwJMFQx4NPj02ynwB5BO57W23dnLn2b7dQ0Q3hma3Y?= =?us-ascii?Q?XlhfABnHFHkNlOR6AWEJKo7GoWS+77HbUBvnGaKTzCVd9AapKxb45BeWP76g?= =?us-ascii?Q?eOCGTewHI+ZV1U3EyGA6PwnkIOUiRnf6/SThxO2nayPbCn5eFnZQcIgvXLTj?= =?us-ascii?Q?eA=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: ngJORS7+T70paoLMSHQcvct7QxRTQ9xYY3pOEPJUmtVqTVlobATMQhAHUdugReN49mZ0Q5rpCKfI/qbzx2nYwde56Cut1NOvg9s49k+spHxl84CaNEsvYyfroJth2vMt5gZ/bv0OH9qcK+WkyvZTRdARDOFHfhVv8AVVMyn9ugtdim33gyhfCS97Qot5eKCHnYJwLFNydyHjmu7+dud+x7YD9OCJNYk/Q2OgZvGFk73+iDqftyJy5M1WdLlnaei2m04iHoYgFih9QUhDqE5qBC4umlzGd/wA9V5X3Z9XWKCqwTunbzB3GqUIBHqOr+W7iQUEn8kffk4zeu11bN87gBGktiMuR70/KHtEYujvm4YhovgphtfZXUWW75PxmR4Fcbj2xzjexsfMzUxaq8Uk8fl+nUgYmqxDFP/ezjR+ITq+CSzWUhyrXrW9khJKP6f8O2QUKqMK6o6u0B594SfN/bj5JkIOhnWL6bKCb90Ue6AaS0Owp5FPlkbPO9NqpWdSPEQ7atr/vBscj1t9lsRHouOqanUXhmW2k1G2cV4Dd8h5aCwocus0XflDee75jXw8MFGZMvxIt31wFgPvzb5I/noZLADqrOa3E3LOrDqQmOI= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: eb249abc-6f7a-4e48-5be2-08de3b9557d5 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2025 04:49:34.3869 (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: RCipzBa1YCuR1Yv6dlYVgRCLdI9glxch1SNgoQHcl6KLg/HoTaG3ugBxic/EWv/FfTmSbI7Lhd4tPzBnCAyF/5n2xn715T4GQ11R2brPgAM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ5PPFDEBD75B51 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-14_07,2025-12-15_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 spamscore=0 bulkscore=0 suspectscore=0 malwarescore=0 mlxscore=0 adultscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2510240000 definitions=main-2512150041 X-Proofpoint-ORIG-GUID: hX4GY5ugWzOEGKZeJnMv0g_JL8ja_lvx X-Proofpoint-GUID: hX4GY5ugWzOEGKZeJnMv0g_JL8ja_lvx X-Authority-Analysis: v=2.4 cv=et/SD4pX c=1 sm=1 tr=0 ts=693f9362 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=wP3pNCr1ah4A:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VwQbUJbxAAAA:8 a=7CQSdrXTAAAA:8 a=JfrnYn6hAAAA:8 a=vggBfdFIAAAA:8 a=yPCof4ZbAAAA:8 a=9GcLsRiznYava-zPbe0A:9 a=a-qgeE7W1pNrGK8U0ZQC:22 a=1CNFftbPRP8L7MoqJWF3:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjE1MDA0MSBTYWx0ZWRfX8igSTWLnyzlR VPozkWOdbD3V5Mkor8a+XX278jLqiWozXH71Nkjs7IBDlYBjxII0Ek98TJ1csfLgY1CkwMxXsSF LLeWUTUn/nEgZLavqyiU3GVPtn5JCAgTD85yC3DwjAwAynOSn7rnZaOV4mwrESEkVLoeIjQoeBJ SgCXRa7M2gjGp4MsZdRKVXvoFoA4KRCJTkJ4Mz8JhRpgJ6PX3Elope6YXgd+QxX0REGUCi3x88w ogkq1uG+VzU0pQvxcDuH6HpTiZtKDHzf60nkt6lCyoW0F50E0wGDdzhbMCr8O38752N14ObuuL7 olE1fmeO/vU7tkbpJV/wYhAZGs4yu+9Fq5dCua2gXaf8T8P12cp9sUVTaJSZlAzK0ZGzp+ieBZs F7i61D/yGQ9gMBDM5t2/a3HgBHjR8Q== 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 e25592f9fcbf..d05d34bece0d 100644 --- a/include/asm-generic/barrier.h +++ b/include/asm-generic/barrier.h @@ -331,6 +331,32 @@ __done: \ }) #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 Thu Dec 18 13:40:51 2025 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 84B9D256C9E; Mon, 15 Dec 2025 04:51:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765774316; cv=fail; b=i0cMt9rwjwuoeRNcp2PCIqG1Fqd5R3lcu5v/fXQJI79HTqhDPGUNV4ogt407oji4nT657y4EMvilkxJB7+dn++rDpX48G2TTdwxcZEp6IPDskkUIZ+cslAsTQnxPkD/868SrD8XENhnkCPNfV7qt/iFPPRD/eWvmTsQhPunYQA8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765774316; c=relaxed/simple; bh=xtrvmLkHd0kQRw7q9RGIgpM6sEaKzyWy1n7Y559rj54=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=p5m8oerdrQXejlXbLJVo5fVTDerjRDNXjEjvqEWj6f7NfT+4ExK3ghs9RSGYTslDjP0iS6+lzbhpeh3fZFy06iLOQeiAbEbUskpxDfhgeLi5zY9u/lEdm4BN8fkXIPCiEk8yc2mg61g+QgEywUNFmRI1UO47Zg1xvN/xspt8Fcc= 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=ODJ9GB+P; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=emZISzka; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="ODJ9GB+P"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="emZISzka" Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BF0Z30A950480; Mon, 15 Dec 2025 04:49:39 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=1+n1R9ifYekrBIFbOP1eBPzj4WfHaadZ8WLDJxJ949E=; b= ODJ9GB+PDfhbrwsUadiIfgpGf0J05m9CEuQQ1oplXQdi7MgklQXiioRRuZHXtVmn qrTvPaawPKUdTJ5LxwfNDOLfwzCidaTJp7qpXTw+WJ0jCb3oRJtV/ofq/8U8VJBW 5ck0zcUK1aRinEWqwifr8R8juUaxY/oAPurmduEdhrhNue7nExpRW/1Mk+uNIlEI uwYEIllEiInF1ZCQX1NquA2ONPRBEMS+liSIe3Agl5Hn0taik3myCwFxzgl0CXys r+n0H0Db2LdDFuVtpys+6P9c6ZrzLU9rnb9kc00I2gokVG0rQtzQjeHd09jltMz+ Z8hSoe3KlkebOshJCvUKKw== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4b0xja1b63-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 15 Dec 2025 04:49:39 +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 5BF3De05025232; Mon, 15 Dec 2025 04:49:38 GMT Received: from ch1pr05cu001.outbound.protection.outlook.com (mail-northcentralusazon11010050.outbound.protection.outlook.com [52.101.193.50]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4b0xk8rdf5-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 15 Dec 2025 04:49:38 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=WPXPsBVJDhnl7oD7ESwHVPYGTuHzRUzcHXpFQ5Xh0wYwAk0ZbzkG4Y9FZxHkg5Pf4yJMMkedA+MB+7Rw68gs9ZzKKWNbcy96nZc4Gn4F4YcHK5esSrCB48nJjsMxS1QWVmBKBsfJPridIhZGjDxUbee86J0NTidv6X7uW2Jc4qBX2T2dG8Ca5deoqcM/d2tMEPTKeIHBQZwnj8P4zHyFtK5PsMtjDyb7uIe2weIXBfy7kauD6N9YVgdBbWxRywqtzDrg3jBTMNvr5+c2VgSgoXvY1Fe+hSc2mRMejW5TIGt6pUqsY1iq9UntJ8QiQwgd20jl1uTCxhxpNqaOP0lFUg== 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=1+n1R9ifYekrBIFbOP1eBPzj4WfHaadZ8WLDJxJ949E=; b=wfLM96MRkrmlV96VP3qrWTxWlXFGCrb5RHAYHPbwW5mMKz2Hb1WOGNHmlGwq6qo51rfMuEhMrXb/k6gXSOGGWUJAM6ehD5zYyK9fUkxJb/lC0Mb6n4FskK3w8ktJmbegeOVsi6gW8enWrgfZaz9DCTxho65X9xT24xyxaPtS+vw/1cPrfYwlVW+YPICDzZz2yeuIzs3eJ4njJEUYLjrA/GYenjF3kyISFI5B6dlzLmYrGauy8kzDxt+/Go0csyDXt3NDmff4zvPDLFaizG9/wLO4otbwZ1fcE1aSP6IMmcP1NNbX6k6c+2R5AN48P/NNvio/j2OVrzLKqismYqEh7Q== 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=1+n1R9ifYekrBIFbOP1eBPzj4WfHaadZ8WLDJxJ949E=; b=emZISzkaND9tyB60c0KwhMLGY1KcKaHWQyW6gdkwzIBKXjYMkANE+Dyv6pwCF1bhd9p267/uuqvGIzELpxncnhy/S6kgDFyEAruuk/nuoqylCAYN4h8oW2lU/VPwTD21YSyvEChzQT3s8/PeLPG+c0MxB3Rr94+g/keLbEAKUok= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by SJ5PPFDEBD75B51.namprd10.prod.outlook.com (2603:10b6:a0f:fc02::7d7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9412.13; Mon, 15 Dec 2025 04:49:35 +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.9412.011; Mon, 15 Dec 2025 04:49:35 +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 v8 07/12] atomic: Add atomic_cond_read_*_timeout() Date: Sun, 14 Dec 2025 20:49:14 -0800 Message-Id: <20251215044919.460086-8-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20251215044919.460086-1-ankur.a.arora@oracle.com> References: <20251215044919.460086-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR03CA0051.namprd03.prod.outlook.com (2603:10b6:303:8e::26) 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_|SJ5PPFDEBD75B51:EE_ X-MS-Office365-Filtering-Correlation-Id: 92e33757-a596-494a-f281-08de3b95588e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?eYyDY15t1r0+ya4ikQGpt4RhGM4G+HDu6Cjmxwtnf2GSx+ev+EqUQMcYmCRg?= =?us-ascii?Q?6BXXAq35zjG4PJSykCFW+XqFnIYbhPpEA9Z0BVhMwopJbCHsrhQRrNnvtxuG?= =?us-ascii?Q?4Db8gonIgOCdkjpyCKgOIns2qsXMG4pAa6ENl2/VjUt09rZzmtM027ZaXpAX?= =?us-ascii?Q?xrZSIeLRK3NjJMudQ/atKnPyhBS9Nv/jeATIl9elA8UAJ5FAOFZ/yMbKHfi1?= =?us-ascii?Q?GGVEof3FBcdeWApedCuFL5CfeUtEpOf8id/9wbeiHl1bYsBQraTBdj/97zC4?= =?us-ascii?Q?cdLKipJeFPR6KtX0u71gyI8GIZ5ybKr+7ZOVK7T4+8RTjVmp8rTxFanlSnHm?= =?us-ascii?Q?NoTsfuOcTAvcp9QMpAnXNmjcJyvwHA6+D/QSjfMbQq9HXTpVSkBxybijMh7A?= =?us-ascii?Q?RoyiV01r63b4BHHlwEJPsJCy0erQfWyi6qqjHuwpaWEx+HfvBiFHud8j+uuk?= =?us-ascii?Q?ynEpJQTIJJdOcaSSAElxbnqkVqSjZbrVT9NRltyq5U8MzRkRN63p5bpz5Len?= =?us-ascii?Q?HRnMBtwOLLaOEpabzYC5nOVGkjOROkDFUjvNoQVrwNGwarRawsE+tlf/urUw?= =?us-ascii?Q?jYtzzKQhWDhOjL9y72fcxQXh0RNE80xHFN+e9PYj1BSpiYdueurG5Wola4+f?= =?us-ascii?Q?6a4YisCY43jTnWB3+05faffmPuu2mNSrXwqZWQAenCV3TepwhLRzLXLF3x7n?= =?us-ascii?Q?1cbEqf3He1SkghYSDnhIZi8VXv5uT+noHVyBjToPU/RDyxgFLzCBS7LB7BpX?= =?us-ascii?Q?AyXEMTsPcWa0iWX6Ff38Gqzo6VPdhzLwef9uKn016nq6K9QFsX8/QxZcZy05?= =?us-ascii?Q?RO0pjQrzNpMfa5LStLKC6BOIwCVnVmpID2O7ts5fUuqPYFV8G5uB40keCuBh?= =?us-ascii?Q?g0Alcoc+xYw7Qaqvmk3qsSnr/VwlXNe0N8o+8+KIU5WM75Db7ldpwmX/tjuE?= =?us-ascii?Q?38OuU9SIZAiXbRbw/Oi9jWPbH4429TqVniGCIDLmcEvgA2qn3QT3C2TfY6TZ?= =?us-ascii?Q?auPmo9UYOA7uDhnvU/tQwvWEENoUXZXUgQ1KwzI62IiDoUDadsjIdNJAAznN?= =?us-ascii?Q?zYNQPA2aGATPKnka5Lm68C5p2v+R/Xv2FoXIrHZp0EKE951gv3SGxb3OCQDH?= =?us-ascii?Q?3N7F1x+NpowV5JSLLDJvkj+NbuFJWMw+iG+HPqQ8PqiGwHpdChS5gNk7nqtF?= =?us-ascii?Q?alg2UvyRgDWnrbaICkAnOTGyqVdlrABI6yfL3JQgdt6ZiegQskSKv8fmehiy?= =?us-ascii?Q?m9mKWPysZBURtk8aYhB/6HXLe55ezNxndvxhB3SEcH2IaojAjw4IMFLu4Ekz?= =?us-ascii?Q?OYYpunNPilO9a3IoANgGPCT9TSJ+d4bFozdRoPxxhxhM7DmKwGKbPrMzb+8E?= =?us-ascii?Q?wiqNG8UheBIwqryxxIt8m/ozi77B0X9v8nc+16Q+s+aET/GQT+1RtqmVRISN?= =?us-ascii?Q?WHQllFKvFAJiL25Q9PAD2SgoK3SVDqpt?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?j+swBvg05R9M/8FKrww4eTkEVdgFvpXT47UxlPoPem6IbnH8PLqsud/wbcJk?= =?us-ascii?Q?BlTv/OTPi1J2XOKJOsTDX2ZIBqbeddaVe+h0q+12m748Wq6LklMkgig9GBUP?= =?us-ascii?Q?8WGuDPzBuKyS5UmN1xR+sV6aSOYGRl+HrZWRK+boTYQaB18AJwdm5WKyrQ8V?= =?us-ascii?Q?yNOBeSxC9Rh1fxdYRG/eBBKiRFe6ELRp8H4I1zx0SjxPtFWpOkXdxP/XvpP1?= =?us-ascii?Q?eWnkyVu9+u70PZtdnvl3zIVXxowtjmmTzTPfXlqq8V5QVTLHROCSJdE+ANX3?= =?us-ascii?Q?GDUiOfloWVJub8l7jyaH5OvVU/z5svVKo4S3HLKAc3Y0bLFW9HUvg1uLiNft?= =?us-ascii?Q?LmNVkLzGZcdBk5i2uo+BatPiNLKIjL0TLl1sw4y+6T/L4mxKuFyf3T7ZjgS+?= =?us-ascii?Q?cFbgKCtq+c7jRX8Sy7ATPFepmi/PurmVD86GVS3rj9aOUq6YOfGhfYjtERYJ?= =?us-ascii?Q?2AFTgdSNlWxtNlTUbFykSSJ+Bwm77udoJCpVNRSpo9oKgOZTrA8xCn28TSLx?= =?us-ascii?Q?oFe0F77FN7JsKlSKs9mBkyjsPS1lnRg4ddvpVrJblABqcXMBJLa8NDw0fqnD?= =?us-ascii?Q?tGvmUsuFO+YG9lGBr6pWQqPTTdwdM8mHClsOq72b0dxu5MF3IlR9+mzvqN8f?= =?us-ascii?Q?EIR5GPHFse5sZcVx+0jM2qexyY2cKidDRq7anynl8Vi0WlSixXTRd3lNYBXq?= =?us-ascii?Q?cRvSxmihoSGPmoz8g9Q2cuu8iGYiphGLWmS7JMQ1goORrIIJTgghRncWigp1?= =?us-ascii?Q?eZREddwengBrbaxIUDxEnOaujY77/+xQcapKo9cEMEic4YtDFikmo1fKt328?= =?us-ascii?Q?nAqW4ZhcDkcLX5qBX4bExb7j2VDlcfgMHour6NDSSzuFV/EDZTL9lJFmqyNk?= =?us-ascii?Q?t76a/2JnM8WILVBFP6k/vCikKoqRV6vjLTnEaC6k40UGrISCYiFEENYs8aTr?= =?us-ascii?Q?psOiX/hDEQx3u93L7gRPvZhx2BVZUrKGEHtmb2lLMTuMBpPIKkQij7bwWT0X?= =?us-ascii?Q?lEKfSCIN7AWZHsobWMJp2lx8yOd3JMu6XachwdE2VwvmTzbnx1rP6a6vJOwq?= =?us-ascii?Q?4jB6Nm27VtiYonPXDhkq+XllWvcqHDvH4zSjOBD7KZvmgvQr2dEr208ggxnH?= =?us-ascii?Q?YqeihI3mW/bDi0MVN7SAHBmnRsAyV5DRO3oms+tq1rouGIaQMgio/AZ+iGNG?= =?us-ascii?Q?WZ43+ut/Tm9SgOZCyq+PZ0bzLdhDiDOOgN1Gl9o5S/KchDibEWDwiLHo+tP2?= =?us-ascii?Q?raWieVlNx7Dqxo2XTgZWkiR+SiJ/r6rU+fDKon4QiqN3jiGlPwcp6UdGIjNT?= =?us-ascii?Q?Ou4o+QHr6Q8LQ2Pjej68aAfBFrhtphma3untU6cShRDPRFPOQDUmX27hpAop?= =?us-ascii?Q?zHGhqy6mXPdVI2uev7wSmbDVgrgKLPOrrUj2va+izM/v8VPQO78oS6DBz8Fa?= =?us-ascii?Q?bEIiX5jhgMRoOfWKq7hp+hIRNOjNlJGjREwaCbbh75ZRGhy+6puHNrNP7Wwo?= =?us-ascii?Q?lNpmhX5jLdXPytxvSbNBesr/c+qNQPQkIuM1/1s6apUj4AtjdeVzMT7ARBBB?= =?us-ascii?Q?f8lIagqpptvYX87f5Retoc/tH0ym31T3wIch/lgvt/T/SxXhkfgaeIcNE4df?= =?us-ascii?Q?Mg=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: +twcn2i8e9voMEACKIxwX25V4XLmXba+Ou5ylScgBTX0HNJa13VO8hZ4jQhKR+qfGXdQ6QdN9/P9HAqfQkFN2XJm9sVT5Oxz1QB/6+QUYbtJJaURE5Fm3+LeAoXPgRjlKb8y1pQ5p5gHgdg5Vx88u70Umykn7rcu4n/l4hjWxe7O3n6/MI8TXfoFcOrCoBNR88K9CO6L86fwRbhqpqcCfsk8xIRAOZMCYZxxHL6wN/2YJ/TEhPEATAVsOFar8p2QK3SxpM16L0UvlRPzBtvo91oNmtzG69ghy29jrpdPv9F/DiIqZmmJlITxwPRZrzIxnitvjMFgbd2WZ2oAxEiMjaDSP6Phx4+L/ks9EYAejzApLMr7Mrqzlq+Bl+CzIb8VMQ6NO32sMX7a4TMGg3eBr1GJnAivhuCR70bhuDiOPimcjpDi5AYLcj8fZuOzZD28PMekv1f2u8aRigmW2jo/W9lHeB/b+OxKsg8Z4y4i3WX+7TPu0UilqOXzGVZCj+J2aKta5LkzMGRmgo6/MPAmKnFW4A8zhzeh3+3kaHmNulcm+Z4e29deMuU8VGd17DtoumIDwilN6KQOMoZWTWtJVtG3tD4X/5/Sw1/YNOzJ7JQ= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 92e33757-a596-494a-f281-08de3b95588e X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2025 04:49:35.6334 (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: 3onUFf2+0tQff+BzLaEMeuq3S137kRxeCF346MWwb+mDeYHC7myUpxou0E8oHzwjvxrnLzELwVzD2TdebbiQ3n/rbw7CN07juvenRNhDn8Y= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ5PPFDEBD75B51 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-14_07,2025-12-15_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 spamscore=0 bulkscore=0 suspectscore=0 malwarescore=0 mlxscore=0 adultscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2510240000 definitions=main-2512150041 X-Authority-Analysis: v=2.4 cv=TbWbdBQh c=1 sm=1 tr=0 ts=693f9363 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=wP3pNCr1ah4A:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VwQbUJbxAAAA:8 a=JfrnYn6hAAAA:8 a=pGLkceISAAAA:8 a=yPCof4ZbAAAA:8 a=1qaWZlc5I0uanKkomNYA:9 a=1CNFftbPRP8L7MoqJWF3:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjE1MDA0MSBTYWx0ZWRfX3mNq8tp7gr7X VApXvAi66iLUDehQh4DfKCvNxKT63oFCo01K8k0o816IZZCNyrRFihZtSHSTx21y/yMTjDu1qZK dGxcvXWEk0cn46CUr+pj48A26/0PM2R8EOUeOj33DKPq1QLVmzOsR4c6XMST4tmX6xx0eIvVCuG snOSOMXl27jRRAt9JiWUk/0fZi2mRraXDWkMw3fBIYvKRyqxtsCcRGV/JQ9BxgC67W7T9UMyR9K iDzfaWuXmTWpX4Z3BmYOip0hKBtp9TqPxEnTb6jt15X3bZiZgHQT1ul4ixs5Zp3irJq518GowAx 29bIzK94VQlJDOTCxcCMjh2HiDV3vs7OqOZCoUTLzlyOxoiWgLItuDjQq025nS7Y0ElT5Ih9f4h Xt9o7zaz7O2+RqPsp08N8v1PhMloCg== X-Proofpoint-ORIG-GUID: xg47lN3Z1akIQYXWvZhqUcRYU1bohjL5 X-Proofpoint-GUID: xg47lN3Z1akIQYXWvZhqUcRYU1bohjL5 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. Cc: Will Deacon Cc: Peter Zijlstra Cc: Boqun Feng Signed-off-by: Ankur Arora --- include/linux/atomic.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/include/linux/atomic.h b/include/linux/atomic.h index 8dd57c3a99e9..5bcb86e07784 100644 --- a/include/linux/atomic.h +++ b/include/linux/atomic.h @@ -31,6 +31,16 @@ #define atomic64_cond_read_acquire(v, c) smp_cond_load_acquire(&(v)->count= er, (c)) #define atomic64_cond_read_relaxed(v, c) smp_cond_load_relaxed(&(v)->count= er, (c)) =20 +#define atomic_cond_read_acquire_timeout(v, c, e, t) \ + smp_cond_load_acquire_timeout(&(v)->counter, (c), (e), (t)) +#define atomic_cond_read_relaxed_timeout(v, c, e, t) \ + smp_cond_load_relaxed_timeout(&(v)->counter, (c), (e), (t)) + +#define atomic64_cond_read_acquire_timeout(v, c, e, t) \ + smp_cond_load_acquire_timeout(&(v)->counter, (c), (e), (t)) +#define atomic64_cond_read_relaxed_timeout(v, c, e, t) \ + smp_cond_load_relaxed_timeout(&(v)->counter, (c), (e), (t)) + /* * The idea here is to build acquire/release variants by adding explicit * barriers on top of the relaxed variant. In the case where the relaxed --=20 2.31.1 From nobody Thu Dec 18 13:40:51 2025 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D48FB1E0DD8; Mon, 15 Dec 2025 04:51:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765774272; cv=fail; b=eT0tXEaLhSZCJ7oMU9ZHItf7gNEuECmBfyCB4AzOiuZBBthb6KJMU82KF+TPyxl/8dyFMB1V208g7irAdpkMuoxhjB6cm4QLnxfJnCxD6prxRh0B1VoYv7esWiKxyKvGX6B0ooNvjnNzsZrgUf+F56wLXMjyJNyKrTJ1JEwvpgg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765774272; c=relaxed/simple; bh=kSUCLLCvs184nHLKCu044ZI9rllsTIq+/u9I9Ig+RNM=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=WFzfVGhve0l/3+KH0yOog7C632jCv0yGObtp61wjzM9qZDlAIOChzyZfK4NLhn3bnckXNrv42/vJnx4QABxndGW48QGuzcQRk1aY5O7bXnPbBWsbJSb01/eXax8r2E1l9txD58PLVb6m8GqiP1IOnPXlD/AUvfOSPiIGHZDdxGc= 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=Ol5Ok4oa; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=VXagWdQJ; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="Ol5Ok4oa"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="VXagWdQJ" Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BF0Fx7D982081; Mon, 15 Dec 2025 04:49:40 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= Ol5Ok4oayK0Z1BuNwUoTDxH4F9nNHap4WoB23cPFiD+pqQVDSYUrlBZfjPHqDgxK aVK8B9wK6Aq2VVzDJL02PX/fa7IOBzfyS5sYFegY0jPeUjmlAp20QGV2MtlhvJnj vsWJMwd8TkdiOBJTtaw40AfPG/Z3w8nbKFHh3+uSczpQtpapAIRdziokZCAkQT5i wCBmSxia1x/0AmH3e7n+YnG2JBq/ARRm4ZEDdJiSW91bs3LIT4VTAdkj4RhDpyUe omLPZkGxQciYbHPa/szq+tlT8ehQgHXbkznFW9h+2pufvRfqDGDJ3oW7/5eRVHls wp4j4MAA1PwUFNTTq3sGgg== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4b0yruhaa9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 15 Dec 2025 04:49:39 +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 5BF3De06025232; Mon, 15 Dec 2025 04:49:39 GMT Received: from ch1pr05cu001.outbound.protection.outlook.com (mail-northcentralusazon11010050.outbound.protection.outlook.com [52.101.193.50]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4b0xk8rdf5-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 15 Dec 2025 04:49:39 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mY13hv+9G1LEQrcyb7vxZxkAr2cjJ6JgrEqnXzcozU6OSBGvBM86oU+r3axJDJB1li8nNC/D75um/J5fUHiJ7QKajMvHBc7sLSrZYvGIPZM62I6fDoohXgxtRrceilzao70PdKiEy5KSBNev5rN7TNc0wvNOk6BQdaSL4fbm7C3i1N5qBCMjBPUOP1sbZACJmef/WzmPWoYWPh3avNexA0s9c0WARQFdfANgLKsZGjm4JrMKMxG+HLqxj9mYwilFIAqkOvxG1XGL5R70jvvHqp3TmmCQPGB60ryy5EBPY718ZEUqzAHmxumyoonNiQT8S/8yldLTX+VjjRamba/zjA== 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=WDL8IFfm2iU3Zb72XqRq16/1vSjXgveNNw0BD7TE8sDPUFvbDoVtBKyIJwKEWBvscCyBMu/kAVaSactjUgs1cW52WLgl+TxehH1UJXWzC8MpvLP/D/ionDpQ84d7FR649q5W6yIyIOfCpTI2sTGIfoGvWVH1hikcZYAqiYhcW44dEtFp4VXyUP7fj1OUBspZY6twkvdKv5tiuFiK11K5icHr10vMkaQ7gd8Ty5KOZeqzAgvwMQEkEeIk58YxSvsQn7QlpnwvKm2pNJi6eK6srjIwoYszcBqtDaEWZZJJ6WLHfajqZMyIgsDnTR11ml0JQVriVwoxfnykPqGB16KAAA== 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=VXagWdQJm+p+D/qBMXyMBV2eIofdMjoTRZKEulmZ2iScnWBQ4g5v0baNGEMylgxossRR1JLgwoShw1G8cnbDBVJQd6wXZUQByscNbqf6ki4lwGZ1aMLP2cq4QqbeR5PLYEMjj/l/gAsgzuqeb3aD0IceDohRDiWxT8m4mVYs6NM= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by SJ5PPFDEBD75B51.namprd10.prod.outlook.com (2603:10b6:a0f:fc02::7d7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9412.13; Mon, 15 Dec 2025 04:49:37 +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.9412.011; Mon, 15 Dec 2025 04:49:36 +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 v8 08/12] locking/atomic: scripts: build atomic_long_cond_read_*_timeout() Date: Sun, 14 Dec 2025 20:49:15 -0800 Message-Id: <20251215044919.460086-9-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20251215044919.460086-1-ankur.a.arora@oracle.com> References: <20251215044919.460086-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_|SJ5PPFDEBD75B51:EE_ X-MS-Office365-Filtering-Correlation-Id: a9f474fd-97ba-4061-123d-08de3b95595c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?8ana0yXII2h0aztjmdi7z+DyTtxeKsmBr/YcQUfHYYrD6SeWckUuNgEVt1DK?= =?us-ascii?Q?rMLjdhgrbXPq5WK+wYQpIsXi0fprYjTWZEsDninoOQ3xtZaioooudxeuth6A?= =?us-ascii?Q?2LiqbJE7+vG/P9EraaIS9DCQ08DS5rQLyJ2ed1oPPCj1OJNPfQHhiA25URth?= =?us-ascii?Q?H93F96DmZ2pqvwF+qquFH1xmSTlslRIYRm6S4um8bzLPG4/AfYxqQH9WB2Fy?= =?us-ascii?Q?4+av485y0CANar40LjTjr5lMP3JNQ46B7d3j9yEMuA2lCd/ZPlnbKSe6gt+H?= =?us-ascii?Q?6/rP6kD1RtEGkRL6ca9IsKaQb243kmfuBkDRnFa8zedibr+xBQw3i+g02yo2?= =?us-ascii?Q?7wvWjpE0cWJUcp59wYPzEfc/grorf+HegVGLV2+QxiBl7XEcHPOr7TNM5/kk?= =?us-ascii?Q?FRUjsTqgJkTnYJMzlgboOPYJ1F5LBaKPkpXrID82KZp5tC0PreefzcOHvgIk?= =?us-ascii?Q?On1jl8Uq9vwtG2fp8ED3XmyPfeAdAlwoghZqi0LDLFAhCYi0h6v0IeoBcT8S?= =?us-ascii?Q?le0h8PRdI1uRSe3QqTYH+Z43soY2Om8xEnwI8VusDBpfJ5dakZyF4gXtFnKw?= =?us-ascii?Q?2xez85ROzEXi96HkZTQhSGMG08k9DBJ6eNiKHuolGgg/0PChAKy1VzmsccwY?= =?us-ascii?Q?rSObVIxEFNvXEjH7P8WWk6RbxS6VtDCJfZCThwshq7QuYxtJ1JNwi0BiD9tU?= =?us-ascii?Q?+dwol9UeJYRtCsWSpuPLgUNbjJDGCqRqERANwNyvMd1m7FsNvvcVWevpAvp3?= =?us-ascii?Q?g67Gf8BIBDM5s2kW41aHmDQvE4yWoA+ed0UVQRfNhAxswh0Y7hbIaj7tn0o0?= =?us-ascii?Q?leifHBu8hFD39XRSP9zbImoBGax3C4GJS6U8309mSB37zYVF5yjGztYTC+aE?= =?us-ascii?Q?tRvh/6FSGqjAI3agl7oEA8Vylgg3dU0ZwJKf4yYjl2f4rqO52WkosF9vj0f9?= =?us-ascii?Q?9HsiHKBjlc5qMQihLPO4ctp6746CBIeXDFsKq7uI7k81JajNAMgRsauk9Wuc?= =?us-ascii?Q?7S/rn5TS7C5ebGmyIX5r1C3fiOXObE4FojczujcXdlCrvZs/Q9X/bxST57E6?= =?us-ascii?Q?foEHVbhFpSw7eEeDXdqcfwHRsD1nVAE+zmfM9BsJsChyGuKpoTAS9QOztz2P?= =?us-ascii?Q?7sQz6WdahzaPl8SCFrK7IBhU+q9nct3EcNh5zbthmS1+FKExzMnWc1GHaDE/?= =?us-ascii?Q?+lxfBMmqBP3q/p/LdS0JUuoevYqM2NcMZljhHGa1ZX0V2k/2BouvRkqnjwbr?= =?us-ascii?Q?hrXxfSveCGtaGC1IOeR2F2Hxa7hVSTfLsK0OqVOUTfu5RZ4QUb+NgiTfGGwD?= =?us-ascii?Q?LA+nRElYJdl+Sj5draQ2VcqU6U2X1mijyEydCqJprWh8BjZyuLi0MM00IVjh?= =?us-ascii?Q?ELoZg3I0PdCIgtUIhz0P6eCCsBAoiD1OA7/z1/EAThOnfrIv7EUjVmY1cyrT?= =?us-ascii?Q?D0U2o0f6ctxMVBKDxzfzDinWQQr1ULj6?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?iNWbYJBk5mxufAqWx5Y/kws2byE4hVow4c6lf55XWkMDd3ajgJOuAZ16h6cZ?= =?us-ascii?Q?GMjj9yZpw4c4Gie7lNYzd5RpYC0FPpPw4O0YO/0C3jv0Te33VUbgstA6Vt5j?= =?us-ascii?Q?6qQSk0n0hMCPkpi+WqI3AEC4d0i1ycQEyj9e+fzve8OygxcPvdQkGTOO78TS?= =?us-ascii?Q?04TWUqb3Azrp9Eupgqaps+6BXtEpcqQqH1AJRtmv8oBEtWwC/rEVUvGJW5TL?= =?us-ascii?Q?qzU6MNh0iEtnZi8T85aRbuZgy34yiJcUdJaJS8ksXQWpwoPfjEXsXRZGegyI?= =?us-ascii?Q?9N6Px3NqFmbk3NCu3+y/GONDrvkgiJ+R1EHAioAqluyLBn3yvGzWDjLYkzko?= =?us-ascii?Q?AUcU5G5IG5KrY3TAis3eRRq1kvKKpng3ipqsKu5FB/lHQ/f+jUrY+kb2Tw9y?= =?us-ascii?Q?NQvZlVTciXymu0YPdM8oxRbVTL1CAT/w/8FgJZX4tpouBrlyLrlvJoOtfUJL?= =?us-ascii?Q?cCeLTpOD3auK1ryDqbHTMFlt4UeS3zypk1OjeOlXTGZdRjZmEr0anGX9hRtJ?= =?us-ascii?Q?xl9WhhSZC5W7PrMK2rxQ6yjJH09B4eeGy8JQhQISzrGKWY9CPV2BGoE5qHND?= =?us-ascii?Q?umgdBmMJFTquDG/4SIw6iCo7qIjzx3n7z553kCE5YFSFmTVGNi6zbi5Fw1GK?= =?us-ascii?Q?O+QbjLVSIZXwoUoeb8IPBIfeIuI1DROUvO2wqx9TkwSeUYobT7AYUrzLk64M?= =?us-ascii?Q?O3bZXvUF8ZKcLSmuuUNSJsd8oKilfMmaglDg7r9BUwC60AjPhLjTYRF0Wvbk?= =?us-ascii?Q?qCvg7YiWeAiXC6QVmpHdKvg8J5cZW9stPDIUaF7gm7LXuVXpCPRl3O+hPrcI?= =?us-ascii?Q?182Y9IYPWADzSI78aN9ieNlVlq8rGaUam+1pPn46rMSX6MpmxDmzcXRFplyt?= =?us-ascii?Q?4rGRR6ql8u50TQ6H2Qy4k3HPzwcEfM77dwrs+Tjo06cwOyQ5x1wA7XJbsaVY?= =?us-ascii?Q?TodWiBCQ1UBz6oPTasDtqxfGULlSisaD7vETGiNyHILyjmd29CRLQm0316UR?= =?us-ascii?Q?NtDVjhbmGVha9AL9B4mv5pko//o6G+xozQNuw1NtdBFXCn8Qeix84QynvT5U?= =?us-ascii?Q?VyJsXLFWIR6FfRBfZL0EH4VDC6/ow2MlwW1aA6BUpasLLHuK2PfU9LS0nb93?= =?us-ascii?Q?jqDuoYF3WSt65iZs32h7W8DqXmPhe0XMJCvLc/h4rzo6r5B7hfKsALHBwRdr?= =?us-ascii?Q?vNINWnngapCkjqkOmcd2eKbS3d9Ol/pvVccQf/99sh92uQD1i+60T9mzggpv?= =?us-ascii?Q?nJVL4Z45GN4VvasQwEftcpAHwsFvrxYedveiXqw8DFmsKDZgdb94jZ5YVShe?= =?us-ascii?Q?Du9jYRBJ2TCVT+QU4AetHlCde29+5Mb2EgaJv1UIWPl5a6mSJN4Eq72/A7lJ?= =?us-ascii?Q?gznlleMVuZ5H/zixHr9GgotuIpFAqUdyOjhIM/Tqs8jFSctoDFdxqQ0FXQqY?= =?us-ascii?Q?AGTGwj2GLuAV6YkZKhqxOoDA75YMIyExVq3jpnGB3S94kvsetGHYIYTNvHwZ?= =?us-ascii?Q?rAG+Ab9OR8SoT6QaesVT0OhXdLWbhOws4kNDNl+NqsG4QDj8d2KilXqfCthb?= =?us-ascii?Q?HmkGGcoUrMHPXbrNth9nQWmi9T/Cd9NIeccwKr2lI2WGWOVf4QqhUMJmCmia?= =?us-ascii?Q?ZA=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 5pIhl5I0MrMg7qfoLCXWkuD9wizmQq/4IUflkP0/hl8aJdOLwuutYVuYdoeQAHxSbRQTHdizmWJ9MbpDV5YSxxhzc5jp1TexsmPpiMvffOOcHxIa4nTLKgWuo/biNRgXT6pxvogoVEoUk9t4+NbO4n5B0iGDefb78eANB9MdKfmBnkWatkgtjS5EyN/+m7wKwV9Xag3jHWmwr4aOMUWrV+qHk8ibbiEEo1khr446FADZk92CYiWJGzq8UY0cWx+dF7qtMSs+xdnTrC+I/Lf8Z5Z/lra7rXdBwzLh4T4kNAwVFHqmzp5KMZ+x1OKsOWBeL6EMKoE8lzAsTIcw2IJnv7wsLBtrOES0O2Xpn8Gr0OhYgLunYgXjtW0e/oXugLiyKPuCevM1VDhTFFFVpM95Kebq7UNX5OjCdF143ZPEp2pfJcV/1wL1dHz6n2LUUSr3B5r1H2YIsRG6RvF/oJEIgZVnh/NHSe6eJgazSC3OAVEvAFb6fxcsTEbN7DRf54MJR/i3kFYnvJJHw/PFv4dAvtrbbzLCPeX5Ws1ao6ta5GRAEuapfTGEqR7KkZacpJ9G23aU0l5aOYGfu1wkzhiEIVByNL6mqs4W0Y+3R9OSg8o= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: a9f474fd-97ba-4061-123d-08de3b95595c X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2025 04:49:36.9582 (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: 51pZZOHheXqg7RQac7ENGWAsGWSrcKMMI4fZaYCD4uTBKZgW6KMOFUzdk7PgbOS2aLWmXTZyhHZ5Q695zZgxdInCLaNtcvLJs+Pg3QfNI10= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ5PPFDEBD75B51 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-14_07,2025-12-15_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 spamscore=0 bulkscore=0 suspectscore=0 malwarescore=0 mlxscore=0 adultscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2510240000 definitions=main-2512150041 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjE1MDA0MSBTYWx0ZWRfX9PanJrlKBHC9 eAuNCLdJxHgAGmIwqrwHReGIYL+sqQRqAB0mIdhYuupaBYbBySPPhv/ppJkW93TuBqKhaBGm23x Xuhp+pAOdmqTSLQvaqGEez+vgfI/u5HBAC3p/tyF42kovqSbIVAnchRFzXoPtZaesd5OXiUln10 TSrgMX3SczzRXEdN95acPSBE16VPL7povKOTL3+l1ljIZy0zDzTZrh11KG2xs8Z/ONqKPR4LL1i TSjYS3Z9kzMz2zeM66LxpY/W0+ikHgHlo18S8c7siA3vokg3X80HBLmVc450iM5TmLxhwnp3ttc CrUEQAcb1dm4VWHc2nsOsX+JzTpOtL6b1dCtEhHcJxRQvn6btrO/QI8ac6fpRyFUISGzcg6KnFN DyjMLI+8XblpmkTN7QREzoV+bvIkww== X-Authority-Analysis: v=2.4 cv=TL9Iilla c=1 sm=1 tr=0 ts=693f9364 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=wP3pNCr1ah4A:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VwQbUJbxAAAA:8 a=JfrnYn6hAAAA:8 a=pGLkceISAAAA:8 a=yPCof4ZbAAAA:8 a=LKnZA62imwlViN-40TMA:9 a=1CNFftbPRP8L7MoqJWF3:22 X-Proofpoint-GUID: VgN5-Uvmq1jXdT_eJGjeKgbfrNkK4er7 X-Proofpoint-ORIG-GUID: VgN5-Uvmq1jXdT_eJGjeKgbfrNkK4er7 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 Thu Dec 18 13:40:51 2025 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 5C65D2D543E; Mon, 15 Dec 2025 04:51:41 +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=1765774303; cv=fail; b=mCum21lnHbP9eKioaLl2Fu5IDIvNk4BQeH01XHrVbS0Y4O0rhC71hkzUGWeg4+BQVvvHcP8UmwLDD96ivYwinC2QbStKR3nL7j4a/mIefqm/ocl78AWeE5p4+GQ5lZtn9PgIhoSYsoiBQAuLWecqVkQy9+lbc937RnnMS7opsfk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765774303; c=relaxed/simple; bh=TNAAObdjMCFPh6yReYoInFOlnbkX7tIE47BwA9BpOfI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=NJwpl1CJNXNWSf+Vhvg+OsY5pbyUXpW63sq81om557sC7DpeT+ZqrJehvMEf5iOXZ8JkRUrA770aYp6gkndA5tNkzwZiPpKp8myeOqoQFgV9tLgtHpahwhBpZhsyX4qOlVzLEhBdaLIjlNdIe5tp5piSOjMYszINmEpsGjtxItA= 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=fDrHo+0+; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=JrthEQh9; 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="fDrHo+0+"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="JrthEQh9" 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 5BF0ETod838697; Mon, 15 Dec 2025 04:49:46 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= fDrHo+0+zwUlWEMENtMJcqta2wwICzYcJdactwYVrI5WKpJr69aVX3bEjHsNdQIJ nRifVywuQhg6HhHLqlAVUbtkF08b7hCDkwPLvrB7aVez2sNeaN0wj9Use4i7noXj lg7cwzwpCLWPK8tFoJ/DaJgoeQNiD0rWd98LfdwTnlbWJ8V7sqU0VgdFRFdbPstn eAmvJWsUQtqUYa73NSwDM1Z5L6XBKXnRSWH0Q4352G6V7yeY5GoRXu0f6pFXO/ad K0qYtFklzEVWY9l85XkgrT7LX25lVipzj2nHcx2m6CdD0f8cJDZ0DzSlF7Y1TsQl TSO/6jfRQvXS+eX6gtbnIA== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4b0xqxsc8v-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 15 Dec 2025 04:49:45 +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 5BF2hDbY022454; Mon, 15 Dec 2025 04:49:44 GMT Received: from ph0pr06cu001.outbound.protection.outlook.com (mail-westus3azon11011011.outbound.protection.outlook.com [40.107.208.11]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4b0xkhgnj9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 15 Dec 2025 04:49:44 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=tvKceYflJDpg8b7gN2GBrY4ZrhcBcX62DP1KDUne9aLJ12F5/W/oZ3fwk7u2RFvton5rLvAIAGUnjKN0LNt+01OAKHpRunftz6A94xYe8eJkkAcr/x9+7U3b5M0FAdVtX4ZB+09Arnjf4u0wKYFXH4wRo3KAq1/gKdXzIZOenNzvUF4Xdtzz59rIOSc5vrXpmFaWvnA/kHy9kL9pmZI5X6bbKSJIzmaBinu2c34Iuzly+jSQwzzF4ypU+Aevp4ks8Fk35bgsXlCqI1i3ZiuPtPwxMLdyVUQTSnkNFZUo+pUAjKnG7MnhRkL90U4mM6PyHdWI5VlytYZDBk4V4p/yHg== 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=tZQrt1PtzsGsPRuRLpFep7klpy1T/npU8hMikGLI+aTHw9MzsIhWJzt2r6ULPWHNSfp0N5cBO3IKPSocgWWCxzLURRN4MBiEo9OwLCb2R9RqdE1OjEJpjrMAwh8UtcKXCPlNZPxdOWgeK6bLCHrIiZF+mtoB100qYLU9mvxoTa+7ePMHNKThH/n0eYNcso+CBriVdrLxeAA2xwFJnSpYUM4pvMMe6rDkszsqc6lb3UdKj7Lj4WmwKdKEHvtinonuS/GiFAwsWMYm0CyijINhSR/UanZhgB81XFyiyVn7MitbmGRHYqn2iQ42wwH618VxlCP2+WdRY0c1yu3nO2+0og== 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=JrthEQh9vqeBeK00Wa3A03XvsbAeScX6Z/xybI7X7k1gSqmmkKveZ6Cshtyuedto0bpUbWQVtILI536mLAutmj/bs+cuP5kTEQRkMQyTTNEcvYDNNWbRAe92mi5cB8WtkcHpwnunJHdugkw7HoWEIovBWT5//g3ye8phGJ3MZtY= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by SJ5PPFDEBD75B51.namprd10.prod.outlook.com (2603:10b6:a0f:fc02::7d7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9412.13; Mon, 15 Dec 2025 04:49:41 +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.9412.011; Mon, 15 Dec 2025 04:49:41 +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 v8 09/12] bpf/rqspinlock: switch check_timeout() to a clock interface Date: Sun, 14 Dec 2025 20:49:16 -0800 Message-Id: <20251215044919.460086-10-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20251215044919.460086-1-ankur.a.arora@oracle.com> References: <20251215044919.460086-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR02CA0026.namprd02.prod.outlook.com (2603:10b6:303:16d::25) 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_|SJ5PPFDEBD75B51:EE_ X-MS-Office365-Filtering-Correlation-Id: 6c4595f7-1d06-4d3a-c621-08de3b955c31 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?KTtVsFRn7lXBlgflBEAix2OKCanA1S1tLtIDlwCNmis5y8z0dEuAsT9+sNSJ?= =?us-ascii?Q?MFi1GAhU2/h6H27nlO9E149dDqu8AzCfVUgIx6CIBV07zsuVHQtSyhn6s9+5?= =?us-ascii?Q?zKqeDl+YGJxp96r4Fc/QPilgQ9xCiwi+jZX3iApnrr8exppzOYEIWl81whLY?= =?us-ascii?Q?pKc4kvTq+RurZLyQRoOYpkFiIf4J2EP9Mw9YAgFknplYY8jAC54KsFfpvsL+?= =?us-ascii?Q?huh3ex6cQlewoqKI8Fs6VZivf3TxujNU7v3bx5+U+HP9L4SNo9mwSqf0Q7nd?= =?us-ascii?Q?KTvHalezgqODUxj7KeQlPiepuBVFCqk9aRlqHG5Yw2JOlnxBkE+ekrmZQU0W?= =?us-ascii?Q?A1X+E4koqWxw0yHBmCErHs7xMA1IEqoR2R40f5VzFRfMaBtWdD3/2jClMhjp?= =?us-ascii?Q?hcOUtGJ8Q9b+DTUBEEPmhgzfdFp5s6L2ODFjhEr2purN4RkZSXXO53Wd1pxl?= =?us-ascii?Q?c5p0rIWFen7xcUwooDdHrAQZCvLDTc7Nm3Uby9hsiPgRCYMTc5m0AanoUAPn?= =?us-ascii?Q?HKsqQhG5sqk4/ATE9YBP9WPz0eEB1dF9xX7qHy+1r8OGsxQX28D9y228m3gT?= =?us-ascii?Q?Ze3UTuRfT6bjbbdfcTEr4Q817tFf668G6O4bx3v+G5SFu8rzf0dyIGDoGjxh?= =?us-ascii?Q?lsDgFyIbFC053Xk1PuKOlWrE/h7aVvPDJHyGS04LVzDctlKm74T4W7+DUQoS?= =?us-ascii?Q?EadpH1/byQH9zZbPRU4bD5LT6AQ21CAHpYZ3ypaBuL5O879ljI6KWJTuUvbB?= =?us-ascii?Q?/wCrW3zbvlEwtyCQKPuv05MT+/MC0vF7zEjHYJebxFNUcqbjLn7/qUHn0fK4?= =?us-ascii?Q?Ha/psNjcX65YJ6EVv+vtNMMGBzwWsSn8rS2eTs6hP7R4zeDlc6muS6q2WXhn?= =?us-ascii?Q?pILlU4ppaT6oT5aLY8vb/QoZxLLpkLGLZ5jEB2KSMUOXEYRrqujy+H3uj7dL?= =?us-ascii?Q?PyGembHSaSoYgIzJZTsQP9Vu2gXDhXU6W28hALf75u9pdPi0O5a5V0bOWvU1?= =?us-ascii?Q?Q3OqAQboZW7sWQnlgj6FTT38uSV4196k0JqjoWln05mlQ/WLtU0UFgjVyw+Q?= =?us-ascii?Q?z7OEo82TLl8QWjUhx8ecRgKJJQGODAAXu//cMcbBEdY8deYDgTOXQw3cmW4q?= =?us-ascii?Q?tXD6X4xgj1qqwWPkJxUT/EPtEpkU29ZEToZFmTJ36r/wrLZx2fjm5yOPCojy?= =?us-ascii?Q?kD27YANUqLczhGgO+NYckJJf2486RRroWvYuWq1mT64n2X9v6Iz7wwZtybBX?= =?us-ascii?Q?M4KRB0oapAaHRp7BqOcoozN23cbomEnBZVHs971OXtgjVgeSZ7KELryre6Je?= =?us-ascii?Q?P4N/vL8vjv0H2cShzCUKsf5CBg45+1OfUlaFlEaZ2oboXreoFP5yR0HFQhaD?= =?us-ascii?Q?Pul8CqIbOj7EXDKf8O5vp1WKrbelb4o32dToyAqkI+/rjH+5G/KdFHwGuJDo?= =?us-ascii?Q?02EkIotDtbwoG9f8BZzw9uXyruVc6pCa?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?0DIu74Oavn8mZyjaBwa2Vi1PfvokwqmEY8TjBwT4Z5RsFoVL/OimfOYywdkJ?= =?us-ascii?Q?ikrFX0b6CqvWWCwIl9Wk0emiwLR+VitG8IgxRx7qNn49mZ1/sv5Sy6E4B+ob?= =?us-ascii?Q?baGP/7FG8+eumNh4L7PG5vB5ypCT2ExPChEmpSXE6WHMVbELpEJqJoX+bRqq?= =?us-ascii?Q?akLRFVbc7LPOb4U6zxL9COfGacq3/HgrbyWIaFv8NTrGBzyscP2fFNSynrF9?= =?us-ascii?Q?tqbs7MskvXjetamyS3kahBzGuyf0TDS9txJhxFfIdFWU8tfFgwgX20dHaSLS?= =?us-ascii?Q?nURlDUY73fd5Cr1Asa7SmHEVaNME9w/MVdHf4SfKhC7whzZr8hKVBHaPfaEn?= =?us-ascii?Q?RVza3UV6nuAxWsmqKY+0xL2X9NVP1D1J05k40B7qEYIQNVuTCsVbtnqV9GAJ?= =?us-ascii?Q?z7g4ToZIIlhpRaZ5veXXLbxFr4uMdDxfjhsEmb0/6IyillODFudW02/Jh+/V?= =?us-ascii?Q?Xpvo8NfXDjjD3SGvnY5d4eQ74enHPOwzCXE1KSfax+4WY6gDdz869elYH98/?= =?us-ascii?Q?G9zeUuYLH8j6ADhdJJ32hChhbpC+yQKY4ozgSGs/7YglY2BWCi31oNuiiFws?= =?us-ascii?Q?PKvy5e84IXjNYD9l4ZgjXb9ysYFh/DPpjKDnvVhYOCtU4971SBfzjnCX3XqW?= =?us-ascii?Q?0Fmp2mY+ReyrL+wpOsF+pwl2XbxHGMzDuBYj/uxdaKvsvMuVzmGBJ4PhMQ8/?= =?us-ascii?Q?mHiKhN5cU4x+KnY1RvzeRBv1BSqLe3xLV7oGHQWM+1ApCY2hvP5sJtIt7be7?= =?us-ascii?Q?vOvsLohbROQkNaQ0IIlDDVj21lUggih0BNaYcT2B3Twk+a830mnwkI7kAmE0?= =?us-ascii?Q?tn02e3SEOaEcfH88PkAiBB7i0l8kUGeFBN2seWVZkxkjvwOgnZnZkRHizSt5?= =?us-ascii?Q?QlS5z8jVzhCQrRuHyShQNeCCP/Vy79v5X0WSFx/bMEpxrUbCdg73aKAtQMcg?= =?us-ascii?Q?UfmPVGZqy+Ehkq3GbybaA9GfMzKOPK4jLNZLyqWj2P2UiYG7JPHme1BJVfou?= =?us-ascii?Q?NLLSyaj5jCJJMLgZby38ONnNzePdjT5T7pDgZyusJave5VfJ2ZM7KwTXVrH1?= =?us-ascii?Q?u9mMe80gM+lZ5umMnABUNFwiNecPRF93ZIGifzSDuUNZFB7/tXQ09aVZcHHO?= =?us-ascii?Q?40gXPYeVLaSIZ/JogOhDfhTksdrPI+8Z3rQkP0RqVHktngnpQnrc6NI6wZfl?= =?us-ascii?Q?5sruX9inm4/f/bIKDrLAzUPXNOvWIa4Zd3RgIp85zKSR5KS2dmEnKTAr0GP4?= =?us-ascii?Q?9tp2hl5i6LMFvfzp0yPRhOf9ok1yLnaOc8EMaLAf+jIc8gUoiKI5Qg5rAlO0?= =?us-ascii?Q?F9xFAQel7Ctsuto2OT1kuFtw1TqNX1vvSPivkO385wQHL3yO2qRMm/DVo/mP?= =?us-ascii?Q?jPZSZRbzHNBP5SW2jj/TAyaWWPt1ZlwEq8Jy+Sy9QHgsQ6japb6+dgw8lWFo?= =?us-ascii?Q?CDeqHpzOpWS6yCYcmIiIvOV3Emeuov9bIZF8TgYk+kZO7XhtrOkCGa3ME/LK?= =?us-ascii?Q?HNgNyIvpyv1yjFqyvgmTj6HVgMdbcdJMzIa2Y/aUD+GNtZKY3LlALFwD/8mJ?= =?us-ascii?Q?lyDmRZB78VEvkMAvA6AYQIqNg4nOPAikP4E1mFNGbSN/mOLc0oYIgAMMTSv6?= =?us-ascii?Q?EQ=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: kNcvAEFnTYa+mYqAZyJYEjC7Adp7b5fYUK1ScIYgLXf4zxYO68QZiXNYZnM2ivaEvO6f8ivn3EoNqqOnW6R6tSxFCFsyESDdz2FlcqQkJSsqlnejzDTPUzeyPL56wIPsMKvffp4rqUVzCIDFWDiKrcwv0uW+lh2J44QFkHIFXOghbsMB3DFo9qWb1xSYM0KDfA+tVVnSb5/OqAPhCUT08ZwYIDAgoUbsDPl7scRUSkBH6BEYDpvwbGUsMtYbLDzrhidsKgaOySeyl6+GHCJB/0RDZs3LIe0k5fRje1KR6TUtUVKbmit3O/YAM2RqrvAslq47zZF+Gc45pp8S2NACsrsknorbxSYimzWU62k4c2wPKazPSLaLXh8F8zmGh1+fe4eySknfm9MQ9ZihzIsbh6cSv+8rF6JWJcEpBqcaOsLskOZvnKNC6j/IUI+YPuXSgfospVTCGPS3hgZ5gq/e0nPMEYXAdiS1mS3x3YQm6prL8Z5PGZm0O9gRB8iISr1BNe+3djcrcmZ3dWoVC5FgcI8mOcj2pCqpOdZE729o5ZloiWG+vo8H47CvlcA2l0BtVqIRPJOFl9wMNhhxy3pAyAzzmsjIO2DxKlAEs0IhC9Y= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6c4595f7-1d06-4d3a-c621-08de3b955c31 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2025 04:49:41.7355 (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: 0EI1fpaRRjkhBNQY0s+U7L2kEVrAWI63+I5UFe4N/3pw+QReHICZDOzody9U0jWcVAw73sgdoovwOLw86nX/zjtV/PhiFgqnKlQaywsJe3U= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ5PPFDEBD75B51 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-14_07,2025-12-15_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 adultscore=0 mlxscore=0 malwarescore=0 mlxlogscore=999 phishscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2510240000 definitions=main-2512150041 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjE1MDA0MSBTYWx0ZWRfX3EbIhEOJBCyn j9AwoTX21qsu9550VBI6xggh7TnM6bHaRaK/sKSH5jdah43yt6k35sj94wFptPk+lMC0RdqxMqW ILCPV0giOCy1KByLeZePzVjMdec2tiyw86gGYjar2vs8oMgzsyIoVNsn+E1pFmM3fJIAj8C9ppK OU17sPtG1O9CMh1G/I2Vm5RdQa7Dj/GQb4JQhXERpv+DPj2+n7KpFKnlVhbDRdSRyz0elZgdQ6x Uv2O7EF/sKD+WUciSV4f37lka0kP0y5aF0DsRxqAtcu0VTOZXxJ8h1tqeU7alMu4/TfBbR6geks t7+LAe4m6+O/+2XeGiwJ4gx9d5yzOaVz1oy1JNu6XrGGG1Dh52/AI55CjZ1Q8VRkL3Xf13PEQLB UcZyRKQ97Ktp8kY/wL/ogDddCh0aexfXJMK0kHix+YmpvKdSNlo= X-Proofpoint-GUID: Wbl0mYGKtbPOPT5w_vj98Fuu7aWDbql6 X-Proofpoint-ORIG-GUID: Wbl0mYGKtbPOPT5w_vj98Fuu7aWDbql6 X-Authority-Analysis: v=2.4 cv=BYDVE7t2 c=1 sm=1 tr=0 ts=693f936a 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=wP3pNCr1ah4A:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=pGLkceISAAAA:8 a=VwQbUJbxAAAA:8 a=yPCof4ZbAAAA:8 a=mCH88hr4Ii9tCPgkyJUA:9 cc=ntf awl=host:13654 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 Thu Dec 18 13:40:51 2025 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E390B1FC7FB; Mon, 15 Dec 2025 04:51:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765774298; cv=fail; b=kt/8VNcVBb3ChMo/TPRjsQpl+6jdxWkp8E14QeZ83KAulx1BtX8duwvir3ODod90oeefdpeCIo9LExt9htp6JeD23rjUgJzUFlbz/9zOQWMXvo9bHa5fOkcsiYBbSzzPgDAL+cEMFgS+zE771aZ7rNZUl5FOZMcKgs3oOjjloRI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765774298; c=relaxed/simple; bh=P3pDUL1vQkxLKY5l0z+RTF2f5jov345HsU9Fe7HKko0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=DEWfFVfJ2K1XR+gliNSqe82z9tkK7/xxrk9hAVh5fwX+YB0pfwsoXi/34JLHTKkWdbIG5C+bkx5q33KxaY4MAJzWKmXEnd8rwzSWSc5PkVYLt9ljCDQmYbcTQ24us2Pnfj0lxqIBTNjrHmWSW6ILuXaXwLlvzpJCoRolit+MJUs= 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=Vli7RMsi; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=tScf/vU5; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="Vli7RMsi"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="tScf/vU5" Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BENaRWh854623; Mon, 15 Dec 2025 04:49:47 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=BJ2Rx/wGKMs2vYf/SECHZEboqgW34Qxa5Ds0sC94+BE=; b= Vli7RMsiF7auxfJuL+lst/ACvKhLQDTCywmiP46zaG1SRpnDQMg/dff2XK6f2BSc GF7DBCB+e9sFl0RnzxRxej5guMkHBjPFcg1IVZ+5g8ivMbx8XPbWvIGoVC7yLA+6 0jXFEq2q4LyQ8qjAuoGEQKCGtlmtErDGdM53/XkgrFHawNykWt1VhHd7NYUVx6LF 1kHnvIkYLm1fKCEaLGwxOJK8XxyKfGmWK3ig3Vo2XhpU6Qv7fXxwiGq8lbSOm9Vh ZSwt/eWNRtEjNe4m6HjMXTcx9+WWO4xHiypnddoxP6VtLZ2CPj2/mlvlXP6QzWtu 8RDMg7NM1D/AtUC9wGfYbw== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4b0xja1b65-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 15 Dec 2025 04:49:46 +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 5BF39vXC024791; Mon, 15 Dec 2025 04:49:46 GMT Received: from ph0pr06cu001.outbound.protection.outlook.com (mail-westus3azon11011040.outbound.protection.outlook.com [40.107.208.40]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4b0xk8g0f5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 15 Dec 2025 04:49:46 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=JnzulQ3WOFetPjcFNLBEKpA/tVvtS7Wq4ieCQxXpe4+tf/cbBl4a1FND2VPrOkufi3Dpi9gCsgh7Nl1d4q9NZa0mXMifRbKTdx8ZldlTfHPkInsOUxC95iQO3+devJfDYZHXrRIHsXcbZUDn/gsDWj4MsGjMBVt/dSG8b0ojvBxQb4bwT8Y3vR+4YYFrspdA3OI3oYA7QWyXohHn4yaYPuNPDhMEESfTGa4uRU3vYJJ5QLT+Mns6oq/UfETnnfxWBm2jCv1Ki0LmmqyAX+Ek5w4TYC2PyqKBKUESu7rUok/XWv9a+BMFcYU8Z4XD3AVzjV/eInBcp7ygfqme2/pbSA== 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=BJ2Rx/wGKMs2vYf/SECHZEboqgW34Qxa5Ds0sC94+BE=; b=IGN/Xb9VwrBJw/mJ6RK2Ty80eamyUSZrzM3wmc4sC2XQHJeHlVnMUi24Br8F0yYd3JI311CpnOv/izNCX1XkkV5/b/CpQE14um2dxkzkpAGaKi8d05ilTQ6YeEz7BOO88BA6L1ZYh1I6ByYk65QF2Hy9OU0Z20Dip5AIA/sqbTtYzPD6nlo4HCMfj5o2FgjSBXmOOh++Mt4B00ypqHAhpvphVCAJV892WJ2MWcFfqFOJ4L39w1To7jO+KG3xbxNNyuGh21nW5mIcdog1ITpRTxgOeh2KAXZZqTGayX4D2WODeTUzOBI9tlBeWNpFLZdajcrdwqarpHrudr/+srRCQg== 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=BJ2Rx/wGKMs2vYf/SECHZEboqgW34Qxa5Ds0sC94+BE=; b=tScf/vU5jjvrHwR6yz/fmaH4L7CckWoKRUcwa8E5kNrVeueXNRo4eK/NecntL766B0HOqxTvhYU3+Tb5t1zh6/4UBv7uWPGiFvPn/s6PRLCqfu7mkNA/ojE4+PgWoB40evR2D2XZ0pKsJ4nfnRCFJAj28s3fHs3nw5VJFOxQnPE= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by SJ5PPFDEBD75B51.namprd10.prod.outlook.com (2603:10b6:a0f:fc02::7d7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9412.13; Mon, 15 Dec 2025 04:49:43 +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.9412.011; Mon, 15 Dec 2025 04:49:43 +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 v8 10/12] bpf/rqspinlock: Use smp_cond_load_acquire_timeout() Date: Sun, 14 Dec 2025 20:49:17 -0800 Message-Id: <20251215044919.460086-11-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20251215044919.460086-1-ankur.a.arora@oracle.com> References: <20251215044919.460086-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR02CA0011.namprd02.prod.outlook.com (2603:10b6:303:16d::28) 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_|SJ5PPFDEBD75B51:EE_ X-MS-Office365-Filtering-Correlation-Id: 5eef9341-4141-4737-9de1-08de3b955d60 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?WatjxnJ+T8pGqG4x23HW/xedFuqKimdCDYDrwAepE4/qTw26qnYYw5ONWcjW?= =?us-ascii?Q?CxD4m5AxTSIzxjKhEW8Uc9y0uvElCzM86/xhyufqecspzlNEAQaFzgs+zztp?= =?us-ascii?Q?WrcWDCy7d9OKaMKFra/ZpSEOOhq1SctLc3Dfac1s8r7W8lsfr2OhZGuMLgOu?= =?us-ascii?Q?2fKGKpqzACszHvUR5TOzA/zZgUvrhipT2YKoJUQvm4e3lYKnB/KFWzgsQXZd?= =?us-ascii?Q?D6zmJU0GTmSH1TOOVBUeGKd1QsD0cKP3kcmrmDLbY9kSJIU+U7YuapUIl4xR?= =?us-ascii?Q?8ALSp3lBifr/kg1DxXnIR1WkA7tKRBcvZfueFTkzHcxVx+sIYquhVvWEewQp?= =?us-ascii?Q?b7YUokvA9gov2IVuG0CC7lk28eP0S5RHtnvqf11+IF60P5RZdeWhOPq6FRAg?= =?us-ascii?Q?KUg2nfzpRfnaRbyyox17XgvTwdGrtr2l8pj+Wmy8M3L7vo4XlFlgsw4+MO0M?= =?us-ascii?Q?umu/bigsnPOZmTDLluCWDAV+TPuqFFn9mdqwFKzH+7QJqFHYhBIZ1iZptTrz?= =?us-ascii?Q?9/wf5Nov7bKfp11fHbT2W2EMAapOdcOmNVgmpe2iG5cC6/ZVX6zdr8E8m3BQ?= =?us-ascii?Q?5m91vBixgpIrp/pC65vILQ3m6UTVjgeB3ZSMmRnp7HhhMCA6/eDuFgl7IGqp?= =?us-ascii?Q?9TcBDyAW/5tIBtpfPXql4NIugKxTqPyJB1jlMS+Vw/QYsKT9EbMxNDUwoN4e?= =?us-ascii?Q?HEYPhwoZHJPh6G4FP1H4QTS/miVf/PSyM0s9lbgLtgxttr4H5jGQ+xOSkPXx?= =?us-ascii?Q?Pv4jEpyjuFhwwEhm4X4+Bdr6sDomzhvTD8B3WPZpoXDVeSogBdQZDRGpVaz7?= =?us-ascii?Q?eRW3H1Qbi4P0NX+nGOufgfuWI7Lx7H7m5QhZ/thV803xfIbnWrn+yCw7k9iF?= =?us-ascii?Q?94I/8WroiXtPazmrEOZxkmWdZMgyuEd4KgZlbGtn7mfh+CPBAIvk/FdysiSJ?= =?us-ascii?Q?6m9waAKsf//uW+x2BIQraxgj6Ckoo1p52NnbwctOtRCNTw8izKn+kQ9hs71V?= =?us-ascii?Q?z9yzgAeUuDw7Nuz5YDDkWWaJcOiNTnKZJ7gePuTzS4wjB806/FmLM36cmkLp?= =?us-ascii?Q?INeggyh6OsKMs/SqcSsjsTpCLGtoUNZof9ogFF83u+wXpOEkqA9NrkfUlqlV?= =?us-ascii?Q?Q5OgYd/HdQM98Bu2YPTMQyilF2NJiJOYNVWhECfR/+pSUfsRhfqYQXzK/14g?= =?us-ascii?Q?WlrkGKKIZUGFJoKmvC0H5LgX4KMNnIN99eC42u2tTuJBgjnLDlg8xv+BWI+c?= =?us-ascii?Q?d5OIen5yth6ksWUYIlOvR31VsCPf5CwXJtBqMmMp1H0mKOoFa45DTtk2uSLd?= =?us-ascii?Q?VNXr6/IuVaMa/DMINABDvEST23pgCs4HzZOY4iYayMnRk6q0AxowSBOvw/bt?= =?us-ascii?Q?ibyWrjTnbBls9FZNUNE1k4p1of8IB0B9ftBcvHk7hoVowlgblKQHkPJoICKE?= =?us-ascii?Q?R78aethYcNcKNpdbbfW3/OxjtO73+iwg?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?64Q2wkoNYOHqLnWyBCkNKwMC4F9EoQliuvShktj07FerKT0iOTzliBrsMdTC?= =?us-ascii?Q?Zag7QIkOJ6h2KptMzzjwCP19YKpd7xXBAJQrDlHhbQdY+01slb8unJf/00ls?= =?us-ascii?Q?JaBjdG2v3pqPvB2c/yjfdKd1jtcykN0q2OR7RZ2gRjJyBy/qRRaK11FXlS0I?= =?us-ascii?Q?AmwIPLjcLm1abFxOQbhPo/urOsrqz4PynAd05osu/GOYtaQjsvzPQsvOW4K9?= =?us-ascii?Q?/oTXNUs4B4czldMtnl14+0zZVu0kmUXk2/se94GYhiGL2kqrnsnoSFqEULkX?= =?us-ascii?Q?c16RB+lV6Ve4MJG9cVKc+5q9+rbvzNJdyWy4rLhCnE+kywqB3a4crU+EW7mv?= =?us-ascii?Q?K4ubOHvPu2Nh5YiYMR5GaGtkI1Dr6VvavALdCqp5Am5JaAd7UdCIm8hQPZkJ?= =?us-ascii?Q?uWDK1LYLilXa4B9EMwtDjto+9n70pUsTwY74pvbH6ywLYthiHpfHuo5pWTwB?= =?us-ascii?Q?YUfI41nT6tCjTjv6aZfmQ5ThusxGdqGQSLjX1M4AazprBp7AC5xpU/hvjyoi?= =?us-ascii?Q?KLMLLljRMnHR24ieEmO22cPf7ggKFETJ00MZdinJil/5ywAAtLpZQlL1+KfK?= =?us-ascii?Q?jtQ29XCa/ecMqOAOKdOUIc5AP8hFYKfTt6N8aqHXFq4O+z55dqYEinxmwBJK?= =?us-ascii?Q?RlL2RKoMe7v0X/54KaAiMIZ/EBGiaL6YMnplAQkTM/zIc2jehRsIahhPCh6G?= =?us-ascii?Q?0SsH3LQm5aI5oAstyhwvG3jK5D44M7ImD5qlHidgKUu79FIztvOpy+d+3Q1q?= =?us-ascii?Q?8d6YnRzJHhj/5efcenCxOl6dzEGG/1DqllqjWUzESQVlUVrI46pJhvDgyt4x?= =?us-ascii?Q?/Un6DYkieyas2dd5GqPGMGGiCS0NcaNnjCVFFw90iQXosRWzFhwPjmSvhpn1?= =?us-ascii?Q?b2/71ddbrQWeyH1Zt/a6Jco1r0VtawHfrcpNAPx3kXRPLrs68ZovlNhYR5ub?= =?us-ascii?Q?yWc8ZyoHhvtWTlwOXAPCxED2MwlLt2xbgYIcpn8Q93EXo1mv4DxSzC6Fwsk0?= =?us-ascii?Q?Xwr/ZCz0t2ISqKsWiteCc/FU2ppuku3hrNi2qhrpLHYaKFlVB/vj1MUObdce?= =?us-ascii?Q?/SybIYXl//fibRDAf8u83N87TlOnW8ZthwlP9tA175fm/el3FZ6Cn+VJCTWH?= =?us-ascii?Q?/nJybcDf35CI13XRY9U7WGJAh/ZCy716Z5sLtjSdEzsBF6ZlPTc9w66CQ/4E?= =?us-ascii?Q?L/uJiDC0b4uRWM5Z96+pwKXnBtIapANocmCMfaj8potJg/xSMqzU63zeblaL?= =?us-ascii?Q?KvkuyUMpUybHWnVBdc6AWkCnbHkUV1dgBLBVfagmCTSbZk30nWmEi9vt9yEm?= =?us-ascii?Q?5M/zP0K0k2puwRanvKDvIVLKhOI/C//cWp8gukp1krGqzt+vu27rgUjKUrE5?= =?us-ascii?Q?yTae4yIp/2+LN0u9cuNSXvqYSH/G2ClpysTzaHRSui4/MxcqIMqhTxKQ81ZZ?= =?us-ascii?Q?cDH6/TuRfzhoCabh16gQPKrCRY6tMIiq6iVSkt1YTnSRJzjjvAW+x+AT61Yi?= =?us-ascii?Q?iFf+SjH/DKmfgGevp+0VaSyj/vfoOPC28DfgqYnqyOz2W2mz2uD9g9J5Vt3/?= =?us-ascii?Q?aPmdhC8a0xk9fKOTQzFPXcifxx186vfQ3Q5HGJ28fCYd/bOGBmMWCAQL4Lu8?= =?us-ascii?Q?lQ=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: u7XnicU7Wf/xRSLq30o/JHlFA7MtukcLrjC7AM6PHuKgOWAt1KW+XkqyKisLkMhaR+igM8qmovhXn2q8fw7uSDEYHrGPn0LSLk6xraD0X73aurWJLOEwTuGjLr/uKsh1S6H3nAPCBmBX3fGuXnzoDu0e2X6YEHq+7ZgbmmNBcYUR+t+IYozuUjWmXpqHnkYhXHh9QGe/o0P5AMdyLP6hsWihVKiIJVj16Na5LCQ8vVIZ3aZMELRRRYENtscUCwOS5uiWwyRIpSnlduyqU0+LGdCKup/0PGy6QbAnThReIDdRtLTy6VMWDeWWb5cgrdB4vsaHbkcaGzLmWgbvAZt4anaVQaXNlwfov5BzOMrDxNahp6N0c0zL5iC168d0V2eEbE0MHF8ZxeMcUAmYUSumbo/ThoJrqUo6oneF0Z09bPpbCRH6kRSup0d8ofhHVup6YRUxZ85Weov8Nl8vN5vqag33GUPFs+9mnXU3FmahM/a9h9/KN3Bl/cLV47ESaTHzF4k+LloC1q6rNxM7qTZNjDxij50OwAkg4XMd4xsqyP0w1wfnV9JgkdlO8pH8QJGp4LaAowgQTPRPZy/TseNWwZYqRfQak3z/n9u6X7KJcnI= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5eef9341-4141-4737-9de1-08de3b955d60 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2025 04:49:43.7872 (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: CVDNcSNDI6tyRs+QBWf6O9cV6O+S/t7BsyaLaoUkp3HnEDC+vDnyaqmxH/sk7OhKGpC5dIH32muPqdMmS/qMXbuy/66OXg/+lNn0bxbD+7I= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ5PPFDEBD75B51 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-14_07,2025-12-15_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 mlxscore=0 spamscore=0 bulkscore=0 suspectscore=0 phishscore=0 mlxlogscore=999 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2510240000 definitions=main-2512150041 X-Authority-Analysis: v=2.4 cv=TbWbdBQh c=1 sm=1 tr=0 ts=693f936b 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=wP3pNCr1ah4A:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=pGLkceISAAAA:8 a=VwQbUJbxAAAA:8 a=yPCof4ZbAAAA:8 a=rUJF80uJHZDRKD-Yun0A:9 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjE1MDA0MSBTYWx0ZWRfX91dZ9tMlIcl2 yPbH7za60xxDIkhh5jAxSvZ4nSfC5MavrbLAbwK+OyYhSnsgjsasMl1ESbcNwBVNM3Yd6Ue2oar pIYv5W80NAxtY3e7ipQVrgvUdrkQk8bCV/INcYW+Cc8kFCL+iWzcTjUvERoS8j8btaoNKUKG8L0 cYxxIFxhwIUseyfBn0D+8YXwcffW5XldFHFfewb3yIm0UnTgujerMo9BbPk5XKA1/05u0H5nLRr gsHFm47smbGfasIR+DdJ15GwDjeoQ6fDJmER+JcwF2KYtiPG/s8mgFYSyoxpi1Ye0GnoS4E648E VDE2Kk0JzBs/P8cRARIkvs4JajOZxsR+oGE+Q2CudM/XI04DWO97UuF+zaFs9EMQyxPwuSxg4VJ MWqOz+DTMYKHQAsxyoqgyGZs86wCNg== X-Proofpoint-ORIG-GUID: kyhyQeDTyJ7_5JAcA3EdZQecNTnK2oOU X-Proofpoint-GUID: kyhyQeDTyJ7_5JAcA3EdZQecNTnK2oOU 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 --- Notes: - change the check in clock_deadlock() 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 Thu Dec 18 13:40:51 2025 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 1E1952E7166; Mon, 15 Dec 2025 04:55:18 +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=1765774520; cv=fail; b=LBOnxOZ7onfqMZzFOR3rsHi77BVTDYCdsyJ4qaVb7JkXyoq2J0nEoLeCwyKvU+D8WdqAeNr4NDD9sz8ZIjND5BkUe3lDJWf4kHqxaq+btQKkeagrUYZ1H/Py6gJDsiXpjnihMun2BimiHVk5aNhAuaI/FTM6l45bspN2yXMSETM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765774520; c=relaxed/simple; bh=Z5v1cXfM12yaHHJxBBj7Li7EThXqsUklEm5z7Q6DmmE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=b+LW0sKx8PGk0jt3GD6TJiMc/8geB6qRPgJMZncBv1vP6XdARZRT+gwNjTvmQEbFbvTwHU6+R8VzJeID07WX7XB1Q3GMtxTdL21Limr33qJ6g0nZBuyDn5GV9zqAlwayQDCmwwPsxF0kSr3LcmoKX9YQDhvdNNvTS/mwH53pcak= 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=EJnQ8g3m; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=huzVfBSs; 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="EJnQ8g3m"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="huzVfBSs" 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 5BF1VbFE1121780; Mon, 15 Dec 2025 04:49:48 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=6DKWI4tAFWpRMLScx6cVZ5hXPL9VdmTzo3RUevwkODE=; b= EJnQ8g3mkWW+u4RhknQrIHaEd5hjbxiyZbzA7zRbFki/41LYTj4UTO1v7SVCtmCc Xl7cp06tmSGmdAlcR1Ovg23FX01x2YWLQQnqatboKMygwps/hwifldl47GmHzlGE pcX2UQwCFH+qkeT3rHSO/8DsThnMd2NGPrGQLopfr9t6jvJw2Z2Kfi+fFhwSL4wg A0+SSM5zisreFRGv0JpA6x7geUmGsUwYyInEMbGSwN0gWAEeikOuNa/bEcn9hjXX qEtyXRh9579/LnLRf6/ynxCjvkjYd9nNIdEAG2pFp4/z21zsYZ1/ppknn36DnfSL uZUPq5KRp1p3GzLu1zjrbg== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4b1015san3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 15 Dec 2025 04:49:48 +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 5BF2KF2N025271; Mon, 15 Dec 2025 04:49:47 GMT Received: from ph0pr06cu001.outbound.protection.outlook.com (mail-westus3azon11011053.outbound.protection.outlook.com [40.107.208.53]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4b0xk8rdhe-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 15 Dec 2025 04:49:47 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=I/n9lDELjuKgfMcVwQNdwKEhyBg+dpF08Sq5Dy7y2fccEtrYviMOjwpf+ZgT16B28gVaenB1tYiiJM7KrNPGBVuMD4XNHnN5OYJsukvqCD8rWTV6Mjy9UFduFPPdnTj+E85nHxxsF4i7u2Zove4jL3pfz/ExTNxLGzbUioRd+Ll/Lr792oKUrubpXC9CPKx5Ikkgh3RBRZsSbauu2sgWhMc8tPHK+mM2Lods6ilv6Mt+nGdzQEFbR5jwh/Lcj3F+mv+Bk5SYID4quDUoemx+olxOBP27RitUUw8UKyPQhrM9tiXcGmU2FFZiTSM028WQixbHsDmRzFTnacMxCmDFtw== 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=6DKWI4tAFWpRMLScx6cVZ5hXPL9VdmTzo3RUevwkODE=; b=M/+y5MeRDpWW9yi8KgZuMEl2JS127oiIPw9WtOwpwsgzWSQMDVGuQvdsvcgs2ZmSjuu53UYtUd/ObNziU0xevXTOEyTE30lMeriAE+FjpOhbjZN8/LwMO77oRWsEaQdkB/FydITDzx9rgA8KckyaPirraO6tPPyASrdmvezQERJZ3mV8PuvA/jbn1G1XWThUJtBxjh//Gd1TGcm/VlKEkY2a2B09bt5csmkBexx6hgCs6q+/DYQa7XwxQhIgZz9kIFTKNFzZukOV7iq3+PzmJCpyIixI8yiMvE9F7r+4g3VYw+QePYaZCViQepxPA/A6sofeL/CzaOXJ53LsjjauDA== 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=6DKWI4tAFWpRMLScx6cVZ5hXPL9VdmTzo3RUevwkODE=; b=huzVfBSs/At4znxQ5kvblqnEjoq4beH97RE6U66h0bphaspwcKQDk4tubhbq9qodl569VdCwKIflqXI94gdKaahAF0EWa63wLX2N+8BE7MJJ9LM40UvIOjUYsFsbOiRQXCOV+7Vc6Soeh0RyfLjmIz4gPCB0l+W+Rc0PSZ6AV6g= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by SJ5PPFDEBD75B51.namprd10.prod.outlook.com (2603:10b6:a0f:fc02::7d7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9412.13; Mon, 15 Dec 2025 04:49:45 +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.9412.011; Mon, 15 Dec 2025 04:49:45 +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 v8 11/12] sched: add need-resched timed wait interface Date: Sun, 14 Dec 2025 20:49:18 -0800 Message-Id: <20251215044919.460086-12-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20251215044919.460086-1-ankur.a.arora@oracle.com> References: <20251215044919.460086-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR02CA0029.namprd02.prod.outlook.com (2603:10b6:303:16d::34) 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_|SJ5PPFDEBD75B51:EE_ X-MS-Office365-Filtering-Correlation-Id: dc541c52-cc29-47b8-a852-08de3b955e7c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?7lznSkdqEGc8lfmkT/Qj3Sk9y0TWKrlCzEEQe9oTLbAkWvG+s3ZcGsYLpFPg?= =?us-ascii?Q?YX9Wr+IKRJmp1enXtJkKIuL39JbaVEiCunBejmLPk1M4J4sj5EyE1n0FZskT?= =?us-ascii?Q?pwAdHp7PP+1DkfryCvzRdLHpQKw3X8y4JneYhPpuHgKpFksI6pNWyV0mdyh5?= =?us-ascii?Q?OKbSCv0PS62Hx50mkp0mneiA1xQ+8FkQSJ3AtYXQhKWerAXTE5mrNHiU3VVw?= =?us-ascii?Q?KFgdzoN3JJJ6UMjDOYthFCtT/nQt6ARG/fBYwKAWYPKd37ql2S3BZsKcqcZS?= =?us-ascii?Q?vYDvZ4lsUUJUvpQxtQwZv2dMAkTbqIIBGQ/qXJdQSeELr4darsG6TW3/bazi?= =?us-ascii?Q?tm7krkQnL5qrOV8o2rq3v051aeLeDvX69uhY1Bp7S5EVlXuy8imDPQj0fzUF?= =?us-ascii?Q?zpY1rRTToYcdKyk4+mH92NcJXiSq58e1uZmenrpIclGTrZHHjqVWgZ+zhLUS?= =?us-ascii?Q?EcOPUYQqQ8YdOUDfpJ3ImpndKdyF5Qt5cY93eEA8wsXNaUKggR29BVrtc9If?= =?us-ascii?Q?L/ZRAc+0AfH0MjNxvnDwpnYf378z7oleC5vHN9w8QFgnlShBG9hJPAnmCxjL?= =?us-ascii?Q?Xj+f3BMltl57MU119Enpru713HfLaDRnpNSkMPHuUzRW4uv6GMhnoaTq7Sli?= =?us-ascii?Q?0Bo6905Ui2pTwlbkFhcLqniWwfavdwTFOqWc3am06sD9kELjV888zwSAvfYc?= =?us-ascii?Q?TKAJwXEOzAgL+C+rM6xJjGcZyE1nldC3rhq87u6V1nbh6K99vR4Uv9CwtjXd?= =?us-ascii?Q?sgO9XrPURD7VoU3OQ5K2ytDGYhIaPnM2AUzUiynJ+VYbf/pC78H2LASWyPAV?= =?us-ascii?Q?Pm8BYJAT9BiJiCPPxf8FTgOXJKC1sY1HXaGrRcsuFoYFEB/nJOIld83L6wAj?= =?us-ascii?Q?Wl4/hcKhZWDv76e9ICpk9YRxa3v7aZIS4LSY5gz/Cy2dhESNR3HgE1gw5QVJ?= =?us-ascii?Q?1CS+H/9QqcKliIlDwX7cP22zwteMp4vT6ebBu5iswdqZnpHBCAewLjU7YsKK?= =?us-ascii?Q?eVB+iMpgBHweMqK6fp1XE9Suh4s37QM3b6AKxmt9nb5Lj1fFjyQsZFEoEwU8?= =?us-ascii?Q?8DFCfu16ZTihFNej8he8fNEP/yFxTnLuQG7bpu69A78zKy6d29B/JvEiMNbY?= =?us-ascii?Q?ts0vhrx8uJ0h6eCrHv469W4ais8nG7gj5EKhi9ERk/A8vjVqGW379pDjzbTJ?= =?us-ascii?Q?BmPYdUroK5kdUNVt6hnj9jwIr/6iDJgNTUpipPrTNd81p8KdMCrL8jtM1f6q?= =?us-ascii?Q?8RLzXzM5rtqLkaTd/OkjZ9NoXFetkGfcupXLJa8O1srVdWH9kGMKs5xVKZHN?= =?us-ascii?Q?0GtwLLxO9gn0i0w/AVRV//nf827hXwBoxiEIvFhoIMKBrDBYn71kVQAlE5GF?= =?us-ascii?Q?mBQ4MoQMdOuCCW70SG2HKbwSBko0duixg7dwsxAQAFhALXSNrHI6c5fVazae?= =?us-ascii?Q?KPidq/6NVHSCXpyC+WVg2JCSTzKGbxFi?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?1lqjjQDTrvBdGQxvJLwRoTJG8JpzZ8YZMtklXnKbWyDHKqhHfQ2V1C4HtblZ?= =?us-ascii?Q?kaJ9d3EAI1iYaaO6PQhbQWzInj64OWifjQSrBl09AhgbcgStrhCpAZW0Maro?= =?us-ascii?Q?nFKDzURpKaTTexMPZQO16pL2KzJMZPkUkOMeV6f8VI9t5aSO7e1fDnQXj74L?= =?us-ascii?Q?uMCHiBOSCpcGSPX4l5vA2YBfOiWiJpmH7ClaW7k+C4z6iysf1cG73C5qVJOf?= =?us-ascii?Q?DjRyAZ1iGU9s1ncSvRGqzNP/xNCcgX1z8t0EKBIh3uLl/hR8m8JPpP7h5cJe?= =?us-ascii?Q?UL/ijyyqMJCy/tZdwQ9wMWgDTiQ7mfty3T6imfe9QZPJ9hTtiSn0M0tV+DHS?= =?us-ascii?Q?dr5N8uwdztl4fgNU5jdBDnKD93xysrOliXqPEl6eH+mpU2/0Fz6pblCeBoGx?= =?us-ascii?Q?JRq75a48uRBNfMGYqTCgGwL6H9kYg6kOAlERNQyBEQwJWUPNMXKnWusiENfH?= =?us-ascii?Q?R/H8ZH2Pc8jY0RwPUDAmsjvAKXLhmQL8RopxjOs0Dgx+wdWU+CbHLXX3YlA7?= =?us-ascii?Q?eDcSP9hl949qBy//PQujKw8aMfi2tLXXRbwvK9oi8cJbP2p9sCMW4W4X4e/E?= =?us-ascii?Q?xKhzbr2e/mNkZl8GHYI3MUEOMBKEvjwmp/PVtGRyrxAQ7Zs7o2Zkv/vXvhoF?= =?us-ascii?Q?3kBdZ090piBj38z12ne45tcP/MCRe91QSJ/lG71lNW4MQSJAE/5QLZwzHQMg?= =?us-ascii?Q?557mxI+HUlnk0n5FLjIQKr0foGVUpGN//+IW6Z/MxICH//NxBfdHbCqsbies?= =?us-ascii?Q?Zdm5nQ46cXyyjV2+zTtrMZvib1sQT/rwhZMewvkiKy2tofCcmIEVzsG3iaoC?= =?us-ascii?Q?Ny2a21jxTNzqwM1ZVFlE/165ymLyweUec/4RHbZS6HcxIQQhqWGwa/qO5YK1?= =?us-ascii?Q?sD27dBq8a4x2IEEubaae1DuPf+8Lf3YdSr19FN7Ni/0z2ERGCmZUw+/orL4j?= =?us-ascii?Q?CBhyn2DPQeMEsBLLxPTQphA0rDiYeb3kZ4zvP+hakp5t/qhSJ3m4Lubu7UWT?= =?us-ascii?Q?HBSJYwCd6forNQ9hkxCV5UNZCf+lQQzPA0jVg9Ap0rU0Nt5Cpfexkcpa5jXe?= =?us-ascii?Q?bkWbB2FKQe6pYT/6tvTK1I3teMc44IJC4t7Ah2OloP1W1BFo2Wg1B6mN0N8G?= =?us-ascii?Q?vn2g1vRjFtKlzHnuLnBOAzwixWsyVekaf+UFi0Spbnful8UJHVrnFHUF3w0W?= =?us-ascii?Q?DiQsMuFKfmRgjt9KUW+wdUQl9SInBcA3YL85oFr/qj1ZQKP0NUPVLMO6YVnF?= =?us-ascii?Q?ZNPMFmZ8sFJhBpPC1MwhKdBiGaqpk3UTlek6/TBvEY/ftM4Ob21GbQv3GhAi?= =?us-ascii?Q?NSUvkMHRNiLxz1LPz0SPQfVpkmSuDs686B/vJ8Q7i07BYgiREOlH9OJVLKXj?= =?us-ascii?Q?p1vlvSigsZ0FgAK7+Ni8+bOcchmh93y6b6YNT2tSD3Do7NuR1bmuyQVTwTL/?= =?us-ascii?Q?FeboSCvw+pL7bogB1SxzvwxV9OE6qnQEkJhPbJnxqAxthqTV/PFCyIeBXQqe?= =?us-ascii?Q?y9lGvdlD5fR16qcYPobbANav6s+vPxv1egl2lLO6uNUIMGJFcJJG4djuV4Dm?= =?us-ascii?Q?nzjicL1xkYkpPC1DRzKxo2fqqFdTr9UNNAF6jRu7DNREwaVAnMPGYPWu395H?= =?us-ascii?Q?yw=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: h1ZIQBT+cMGUKgpxw/ch/8OU85acuEn8axK3BUrdWFajyK2W95Y1nWFmstdOdecxvLN+/ISp2ZW0EWGJGuuCJBxik+tiGfmH+hXcfdiaDhr6ckf0FcrqNNA4cvA7KDhMZQFiX+DqWPFpZwbtnPvPZuP93QEOvJxNgqUmrbs0WSAbQWuw2z2OUSqP/nJwgegAZfJe+YdJKhR7wVPzaPsay/zEKze0TKXZoLuyhx5p7sp0+k+5a1qZRhwe2V5vlXTpzavEyTB040WQCSDnyLORhVb5jmn9K/InEgGgLOWGEJ1kOQssZd9GNlPer0t0uiZVQhP+yuKGn69by13ZrIEruxldCIwJKbFoLtdFLU+mGe3JGw6/DxgJmkGdUiin/vJAP/sgELV/Zl5G3BCTs4hJeZYTSjRILNkEHeHCLOtXdvlyzTlmskl8y6OQNKmtmyHQc0uTt4QPXT4g/tCa0yDORA7ooS9OveV72YMjsKsRQ3LNOkht1VTik6/biR1dyfupwzmyHljJJf9cy1AdUdCpRwiApy4qtpzby2ZY5QYs22hT/KC5kbX2WYay3dujYE1ziooUqpbeee2ghcdqucFXydLXwlxg9lvaVr3v0pXS/LE= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: dc541c52-cc29-47b8-a852-08de3b955e7c X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2025 04:49:45.5718 (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: iyRxBphku7NYHrJ5VXIjpKnSnoba2BLiSOHbacOOLoXWDBF+cULY3d8fngqcqg4CgGxQvFWcL2QiHYUhDV3bS0yzw2dq/GMmilCCbCsQiQI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ5PPFDEBD75B51 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-14_07,2025-12-15_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 spamscore=0 bulkscore=0 suspectscore=0 malwarescore=0 mlxscore=0 adultscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2510240000 definitions=main-2512150041 X-Proofpoint-GUID: dSos7e03kg2-KVy84TBnDnrNYI7rMkJN X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjE1MDA0MSBTYWx0ZWRfXzXt7/HaytFbh 7F+bDqbfnZ96VLy9oz7Y5r3vE3aaL3EKaq/iBJD9WFgr6n2mu8s3x0qcmiRb9jlUnrqRIDsEqSs V4yw2fuuAWQIDOJ0tHx3L9rOFXpz6LACuLQsBqjCFbstu2cw1f7vZsQhg7/4tK0VTmyoNCLkztW p4gktm/VMD6W6wo19sNgjUHhWrjj5dbt5s/Eh7QPzzVKKExaEjq4RXtypyNEswLX8K5iq/kma/Z fvTNWs5thfzqvrOOTU+ofZ45BJNkNCMTIRoV0OrbG65DqWrkDbwAwrqgrwNx/+E1NjosXVc2zvK JKks+YPptS589Y5uJ80RDPpaqNT4VrFb5nXPwZPiJNI5onz+qgKCQxdUfym0HAx8qSVo1ZvNWUJ meaQwWKs7k/fBPDuhEjRgM1tWR04sg== X-Authority-Analysis: v=2.4 cv=GbUaXAXL c=1 sm=1 tr=0 ts=693f936c 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=wP3pNCr1ah4A:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VwQbUJbxAAAA:8 a=JfrnYn6hAAAA:8 a=KKAkSRfTAAAA:8 a=yPCof4ZbAAAA:8 a=DC2jtUcBNbVnd9lHvZoA:9 a=1CNFftbPRP8L7MoqJWF3:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: dSos7e03kg2-KVy84TBnDnrNYI7rMkJN 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 --- 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..6780ad760abb 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 inline bool tif_bitset_relaxed_wait(int bit, s64 timeout_ns) +{ + unsigned int flags; + + flags =3D smp_cond_load_relaxed_timeout(¤t_thread_info()->flags, + (VAL & bit), + (s64)local_clock_noinstr(), + timeout_ns); + return flags & bit; +} + +/** + * tif_need_resched_relaxed_wait() - Wait for need-resched being set with + * no ordering guarantees until a timeout expires. + * + * @timeout_ns: timeout value. + */ +static inline bool tif_need_resched_relaxed_wait(s64 timeout_ns) +{ + return tif_bitset_relaxed_wait(TIF_NEED_RESCHED, timeout_ns); +} + #endif /* _LINUX_SCHED_IDLE_H */ --=20 2.31.1 From nobody Thu Dec 18 13:40:51 2025 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 A050921ADB7; Mon, 15 Dec 2025 04:55:34 +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=1765774536; cv=fail; b=k/hq+B9HTXaf3mdS1zhQIIhubc++k/YimP7ztsEf1rY7bLqYt2Ww8xR1HIoPdiEICKOpM9OyJCfxcIBpFc2LmMyI2oMVzddN7jHiy1oDnp9uMK5PDv3/0D2XE9qMgtEIUjuMjfcbX/qlZ9c6oekksKGyhV/Yt1cFEwGI+wRbyIE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765774536; c=relaxed/simple; bh=p25BgTRqqmZIgAhEdiM4weoEG+/iDOh/x9n1tqy47p4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=cpuef7diBX0Y/LnGFdM6qSOY2mbvT2M99FrFUWAtg7cU+M2aec3FnUuebzFz8qgo0ZDNxL4KKveoSSqc2brReR8P0tr1QvC0nI+gE2Vumczadjk3JRwu/hs2GhZ+1Xi0RAmK3RiQiboU6RCRTvfV8MrhEbMJouTbpniJpXURA7I= 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=rCJp6PFf; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=x3ZdQRxM; 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="rCJp6PFf"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="x3ZdQRxM" 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 5BELqWUI684400; Mon, 15 Dec 2025 04:49:54 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=cCqAL2GyeeApNAaUVhmCQvyJ0JcaLx2c4UUacjypvIo=; b= rCJp6PFfuu2tLDoXmWmeFW6acLqeSVGh3nJcDkUQrVLY1Zb5K9ma+Sy3jdCMqAyh ZD4Tn7341ROlNU+oXdIZ6DnNGVs2fHiDXYqUtrK5OtH8DfIEhvzSjYZ9F/cHQjjM dFdDoPT7+GTtEd5t1HS2dFfGQP+l4Vv4Eb8/FhvDJAUPgFy8UpwlE3xy2JXbc+R9 6hIbaIT2kW2dAQ+Gc9QnFB/7vaoUlWQsQLjd0LONCaeO8xtJ1jINu+biGsLn0EJz 6hoBm6IVNWaEmGOQ7Y2B8fxfUA3ibDuqbQi7nfCUJ/kSkt2akdb1899VdlQouG3+ pFJEJrRgDegqbst6Hh74VQ== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4b10prhabw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 15 Dec 2025 04:49:54 +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 5BF2arRv022456; Mon, 15 Dec 2025 04:49:53 GMT Received: from ph8pr06cu001.outbound.protection.outlook.com (mail-westus3azon11012014.outbound.protection.outlook.com [40.107.209.14]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4b0xkhgnkb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 15 Dec 2025 04:49:53 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=sW8v0RQvlCsf7PcKXpPY5WCroIcFoPLMVeYTBq1VvGYu19YKiz1X9Z0/ddYjJmjV9ngllRFLS2Bp8H3eCkjvtoPY5P89Fn8tFdM3qijahU5tNzuzXRarl6vtpbWASB5lt22l9AF5YkqBpvfysKRHzn5V6uabqjBID9l2s+LgKvwRPWm1qjZxNqtUfP1bu7M7iRomotzyM6y+vOzm0M626ee+P9FNSXK7ddNfxXdNf0xEQFDqiTnEMEx34X1jNh3B+BdJgLH3eozD0h8taT4q+D4YDt/xv9Em3Japk+x1xfjBhRxRiVb6eOTNJYqCsjynriNlmuSsOvy/ASuq7Mes/w== 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=cCqAL2GyeeApNAaUVhmCQvyJ0JcaLx2c4UUacjypvIo=; b=lxG1PwwehKbbSLfk+oPBpOPGwYAz+6aYgcfa9JOhJwanzcC8WoqGN8GBty/1m2VyyZAH/Pg8PNXFOj4wbwxHzuVOxdhUFyk06dGCEbEXyGxVdlfFw9wY9wNBvy4JeWmTvYOuRT6KyDLO1PEgCX05gXOCVD2KAoHE17A5Etc4zE/eRAxFboll0DGBH6rwXBhDN+0yiaSDJ7ESXt2aGJ3SUZVtmkGiCL+ZCZ7qZA+Sg1kOQIv4rkantoRKrUcweBlcrqNo2VhTLR3TvG89j57Vif7vvRJ7KA5JdTHf9tpn7dxdZMEcMwZHo3IZVQRzG3409mGpEta91OTSd9nEMTWhdw== 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=cCqAL2GyeeApNAaUVhmCQvyJ0JcaLx2c4UUacjypvIo=; b=x3ZdQRxMD1Dq3I/inpb3H6nZi2a/zgi2YNauVxq79CPwb7ExnBGx/cpkjuA6xYgWmsKvmu69JbVYx/UILbx1AZg7+s2eluU6hj1y4RB1S+DM0sIjO3BBxj/fuFOoDfNGSjF/2OC3cSQVT2pLJswljkaZ2vaOqsjl5mzL7eF9dQA= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by SJ5PPFDEBD75B51.namprd10.prod.outlook.com (2603:10b6:a0f:fc02::7d7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9412.13; Mon, 15 Dec 2025 04:49:50 +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.9412.011; Mon, 15 Dec 2025 04:49:50 +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 v8 12/12] cpuidle/poll_state: Wait for need-resched via tif_need_resched_relaxed_wait() Date: Sun, 14 Dec 2025 20:49:19 -0800 Message-Id: <20251215044919.460086-13-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20251215044919.460086-1-ankur.a.arora@oracle.com> References: <20251215044919.460086-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR03CA0110.namprd03.prod.outlook.com (2603:10b6:303:b7::25) 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_|SJ5PPFDEBD75B51:EE_ X-MS-Office365-Filtering-Correlation-Id: d8d26a71-2111-40c0-e73b-08de3b956141 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?ESJdPrOqItbU1aUqqFhn0IsVngHbpG0Ca1fkfeFNHbduhZtlkFNxGTfJxcvb?= =?us-ascii?Q?yG25s7HrMERpG9JdrjObei9ThvPcM/N4Z6Aaylq/mEXEQEtBO1iWQ1SXwCB8?= =?us-ascii?Q?HcQzkuffoNkBpQedpRBGbrJ5MUW6LAu6pR5c/XpLOEAT5vK0uboYhFL+GKWu?= =?us-ascii?Q?L9MZMqpSQ8RhfWM0ldpQQ0vnsa/au5gnXSNyXPJ8n4jYA4frDQa0k2wQ27rA?= =?us-ascii?Q?zh6guwg8tMFpmzGUy9Ck+hJjfmO0/MhJZ6g0RfcBe1+/ExaXjMyvrNAVmQlv?= =?us-ascii?Q?jhcz2LcE/Ef2jLiZ4xLeWY9nT2Q+2nwogxqQRdjIzqi6G3zzj1Kh5brbYT1R?= =?us-ascii?Q?6S9qlEMopNLsXwSrachdOn+Qa5OIGcmMTcpf6MD83nN9pyH6Cva+DYUpmw8j?= =?us-ascii?Q?kK7K1pd43MPe3N9rv14OPCHOSnWL8Lw3HjysTbgwIHnuY2CBHgog47/SQdM+?= =?us-ascii?Q?L4Uk9QDo1uGdLvceGzskUmhx+ng5BtmI6/fHCYw8QiFsUA2bPasQuUrPD0SX?= =?us-ascii?Q?ughizanEvytymr0hdlBiQ5d7LCANg4xDO8446OdgyT0vz9yZVq+m2JwxVXT/?= =?us-ascii?Q?p+XmVLEb0ZE9AIR4yV7H+3d979d6s0b5C2eUwBXFa5z3B5xpsQoDGg3YQbPp?= =?us-ascii?Q?OK3Lac/S6qcDYnzuyMVHDY1U3eAqQUK/wJx3nHCRmWNw8wqbpWJWaW9gEkev?= =?us-ascii?Q?7569LVFIjMCXjM/n00+5jHHIu7CJU1K0rQzOvSUzegyzc2sCopwpbbnDmUip?= =?us-ascii?Q?DTlQXPS1tM+LjWGnQlu/drVDPMeBg23CqOZjId2/qSNtqeISH1q+k5wm3PzE?= =?us-ascii?Q?zPzK26bnHI5GxLqAcGAt6erfR/jOcCumvKQio3mINqDaoB+bL61MK4lvOaVn?= =?us-ascii?Q?MEZiSFRRGjXPnhZd6TI+/wF0bKu3l6FeciR/VpFBAO/GQF2M6meMT4TRCI0Y?= =?us-ascii?Q?4SJDdhbfETBBhmhgdLUTl/RnvVqy8qhLdbWPjzAhNvSPo6vfXFiOVB0V22AZ?= =?us-ascii?Q?IGi18XtFwjNEl33PfCNtaEAj3D8hNvgrB9zcF/c+5NVKzxLCwebpzD3cbF3e?= =?us-ascii?Q?Rf34ms8bUrbEKjAq6pcKVf/zaLSkp8fKxid/JSv5x8CcJzE6S/wQ6/BFsig2?= =?us-ascii?Q?VJU7X/is2qgs+pe2sO+0+3WCOPq6j3VND6ljv/2Jsf7t87HMg8fu7Iu94/2B?= =?us-ascii?Q?b5qqPsJtu23b14NOqW6VRYg5d9iywbsLpAvhhLJAs9N3vhDDz8tJeOrmVyTZ?= =?us-ascii?Q?ZYz+9luY9GRD88FNsWhDkLZVtOawP5UCPDHlqsSdtoJf1gPPy/+szkwaPY8l?= =?us-ascii?Q?B9pdRJcn/pwaHRuFe2gJRup6BRqnms8ZqLgUd8/D1GG9/OIpA0jecXJ5YqVE?= =?us-ascii?Q?Lqo5eKqSOLAoqrrzKIxUXDOtpDWlj85UHE+fLRRzvfaxz0pmsGqNvJQej55x?= =?us-ascii?Q?VBwPftwSYoNIaRnnLYRyvEy76QGBWYzA?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?HZ8LRLd50ysJImfQ0Qa/Ql8+QBU59AVe8EZTg0GnMVZ+wvcDGkk0I0PlXK8N?= =?us-ascii?Q?QyxuwOqt2q9pLGrbSExwDY05+Y5JLJJ118WNzqhSggWrvwusMe2mGwNZI7C5?= =?us-ascii?Q?byaI9cuKmgP1GqOULY6+nlPrCQcCYDYmMaIqZCLDXo4poKjidNyd5/cBI6Co?= =?us-ascii?Q?ww6ZS+Wl2CoO3PDxhmEDzamOED2HWFG7IAbLcHNePq7yayKqTwJqzH4pLdgb?= =?us-ascii?Q?x/Kl9xw6GKr4Tr+Tl5KxAfz5mtSOhvBF+xLZWtR/TfAAbzlvSShVfYI6BLim?= =?us-ascii?Q?wEdEOOBy92yAj0LHQ6beaMogFA35NCTpkTShceF7Os12l0efMnW23sxxs1Fm?= =?us-ascii?Q?nWbViZL+wYPxVawPqZeTxMhVKsCAQNMby4EFb8gpLj8P4sMQlcc2t4DZiX1f?= =?us-ascii?Q?JhRJlAK+bVGNJByYv31+f+d4V1n41rn3+112FkDUhJc8d26qz8hieo1rVJnt?= =?us-ascii?Q?sNlg1A/3oi8XHo1W6rsRnzksDpQG3VDkOBrAbzvOZ3IYlHjugy41sekGDwCu?= =?us-ascii?Q?B04K9Cu/Oz5HSrhqeLnafvB+8cvp9G2JxTtRnzTbehaf+f3CxjDSYMwNuNG3?= =?us-ascii?Q?J/QPITkpZMI/eMSVZlwLerMvsxrh8tvdgdgBLBVW+D7MqgRFtVD9vRZZitIP?= =?us-ascii?Q?507wG9ME1Es+ImekO7aqfuugFxVbQqmqx8aWjlTEzKHXZGidiWPOyEOw3YeT?= =?us-ascii?Q?FRj54ikjd8l3EEvvsbfm3iURLlgMmQKKzSt/pAVVvfgkIpHcnBsr8HEfUsQ1?= =?us-ascii?Q?vRfqOrnNv6RZZY65nXyqBt7FaBEE8XpbaY1dy5gc9hZacY//pM9QD5Dl4Gyd?= =?us-ascii?Q?8DkACptcnap0MbKtVqAREROqlb/Uw2BoKnqP1CeoBA4ZTW8lm+j5fYLQmk/a?= =?us-ascii?Q?vQ732soojQY+fG4ToCRxZjwu/O31FfV3+G4Hxv+/JumXaT/FFn3imcC1hTXp?= =?us-ascii?Q?ZzCBTu4EWKD5DleNd6BsF1vKMTgw6W2tzfAmQ4P+D/GTAj5BeStv/fRAd/M6?= =?us-ascii?Q?H95Hnu+JO/b5iAOz2UT1JyAY4y8mPtyaP7tGuMfHR6b4AKnWFvex9onKSGn1?= =?us-ascii?Q?xFQqbBVu16B5RxkQDEJt3ki2LbFetdiJXFUyFjYZiW33ENraiqeWimIN9Qt9?= =?us-ascii?Q?5BswH/1wUYnYAW+M770hzR52C1eJgHoZr8Y/zaHAdx46VOfeyGmnuOn0a04A?= =?us-ascii?Q?NSXGUF0suex9sLuuR/EC/Y5FW9jJB0wufNctV18HbrgeTkkwTRZdDlGO1wMH?= =?us-ascii?Q?clFfM040bLaNSaONZH9HY6JE890hWWoLn3l2RfNzzxWQ6GzlC8PUq1PiPZNK?= =?us-ascii?Q?e04jemMdtA7uYfRADhP12fa9wuwwtVfvRKX0HaPWpogmtlzAPmkb5xBPjDEI?= =?us-ascii?Q?rNLTiFQ9M1QRH52Fqeb8tId3epb59knqLX6p6X5DZTbnJHmx/qoBVnfl7lhC?= =?us-ascii?Q?tW3a5Mwkd5cY8TGTkTfuSYH4bMclLdlAZPWpQRt9rzlRXznlyhhrqNGymnrM?= =?us-ascii?Q?aOgIG1JcCha/wW8+y0wLgr8U2D3/0mjVaprtwKuElqo7ruFwbA2gbp1URrxT?= =?us-ascii?Q?SRHfSUuxkB1Dt5e/pAopFKj+tSQ4nyrKzLup8ltsYZtG24mCJw1yTKmlYxyn?= =?us-ascii?Q?1w=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: LxuoJm1RujgMxX1mEIEPiHyL16re0dwjYtBC7aS2fWz0JXP4kvLcVKir65vWkOWADcv7G/2boY6ujn/jh+acXZLdW24E0utvqhbl5DDkf2VK42LAjh3Mma89RCqa71CCP1HP+0zIH/XH5GN7GIV036VqeMNiWRPdyCl3YabVsrH9jh1buKVNfAlEpd1DVsdaHsrEVIKcP/LRqha1oZ+EPRyO+AJkxNZ/KtdUt2cpziyULPwZLGg8kjK6Il2TDeQzmI2zAmsXa0aLALiEO0GWGS92Cex0TSP7gCDXWFw2U9TvmlzZSVs/ifeEM5Oez/zbsVIw+P8+N6syWnlXyWytz8hD6F4CFubrelaRp54tnBjkBdmeZqhzpOxbD7scGVhwM8we+KcFaAZvHx9idjDvaG86BFDbEzFWqHcQIFSuqAWNCA+Qj2fNV8Q9cngkHWSnc2yGssh3ywGOAW//Z/DmGe7o5H43tCBeEzLPDP4waQjD4cb4PZbkiECKgeWyQOB6CdR/5yw46eqRjWwC9cbNAAgXpwm6IpVoaNbpPPblRLLoflMojNF6YD8e3iRYPllbfjCsV+hzJ/2Y7CBLCkl8NxHRpXrYIA5fQXTfWVff3ug= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: d8d26a71-2111-40c0-e73b-08de3b956141 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2025 04:49:50.2270 (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: i8Sl6FLjjhAtYK/X8KpCRKFZGB8kQa5sKduuapyh7RcJWExSOfNp1K0ZNDufRxzTfDO8KfsSXLI+LJiarLl3xCLruEmlmdKPEFBl1wMOFnI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ5PPFDEBD75B51 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-14_07,2025-12-15_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 adultscore=0 mlxscore=0 malwarescore=0 mlxlogscore=999 phishscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2510240000 definitions=main-2512150041 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjE1MDA0MSBTYWx0ZWRfXzHEQyj35VKru zThUXff1Cq1DpGVU5LmUaGv/T9zTtHd+bem37X4k3MIWOGwySAlbSWqvhOdksXULWzWvHWAUk1v 8vLtNVR6dovtZTn/4NiVTsQi/P3km8Ex0byowjpXH8U8Q+bnTeD1uX8hiEowGXjwljrjA11HnQA BSeL5bucRbKG/8IzdIcJfYI78zwJqA4nuLEQkoYKVbnL87SpOpdAwz1aJBQiVrc73qTuYB0eGVF XxEl4xAyIYlT0r5xcIYMpuSqfhCWIx++9LvJEexq4li2qSMWOyJlODH7ogCAXzVQWOCd3OFhuai UsNk0jswelOrtM8vG36Wr+vFRMiZqKX155JVXzzfxI/9YZRMSloWxETrz7/b90ugRavSQacm6cE n1cjRsQEA8J7hczMD9MBqNjnWdONPGzRAoHL6mUlMY6JSn3j8Sg= X-Proofpoint-GUID: mLls0DN2dXGDEtnVqEX3a21iKO2yWhdI X-Proofpoint-ORIG-GUID: mLls0DN2dXGDEtnVqEX3a21iKO2yWhdI X-Authority-Analysis: v=2.4 cv=dParWeZb c=1 sm=1 tr=0 ts=693f9372 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=wP3pNCr1ah4A:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VwQbUJbxAAAA:8 a=KKAkSRfTAAAA:8 a=yPCof4ZbAAAA:8 a=OvgspRp6jwyVCtadSW8A:9 a=cvBusfyB2V15izCimMoJ:22 cc=ntf awl=host:13654 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, given that when running in idle we want to minimize our power consumption, continue 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: - use tif_need_resched_relaxed_wait() instead of smp_cond_load_relaxed_timeout() drivers/cpuidle/poll_state.c | 27 +++++---------------------- 1 file changed, 5 insertions(+), 22 deletions(-) diff --git a/drivers/cpuidle/poll_state.c b/drivers/cpuidle/poll_state.c index c7524e4c522a..20136b3a08c2 100644 --- a/drivers/cpuidle/poll_state.c +++ b/drivers/cpuidle/poll_state.c @@ -6,41 +6,24 @@ #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; + s64 limit; + bool nr_set; =20 - limit =3D cpuidle_poll_time(drv, dev); + limit =3D (s64)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; - } - } + nr_set =3D tif_need_resched_relaxed_wait(limit); + dev->poll_time_limit =3D !nr_set; } raw_local_irq_disable(); =20 --=20 2.31.1