From nobody Fri Oct 3 14:29:34 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 58D7B2874FF; Fri, 29 Aug 2025 08:08:11 +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=1756454892; cv=fail; b=hf5XW1ACDc9lqsLRe9UG6lj4Ds8bHKGR6H9rmsnMhWz3vURerJDxCUWhzUej1h8Lh2QrfV0RPAxALdqcVUuYTgM8o2zpRjOE9e075CQDErLAZxdUhZTjQsjN8aXREJvpJDG0Fy+PTYwIoa97VDA82m+vpGt3Q9kGeTh9+qDGVsg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756454892; c=relaxed/simple; bh=AZFsDRG7V1xzJKjRtLVPX1ywxUwfxQfktEpHuvB5UyE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=g9GHCJgknUlXZrWbfwprayFHZq9ZgtixOFrkAL9EjhOjdof2dqzDX5b+hQxMhu6G0GPemh0bpDBPP0HWbVkPtDsERt10fYc2fHPQCtakuB0zZzS5smhjzPFSCbWIBxxOq2RBZhYMR+/Q4ghpilt9x4MHTj0uh0C3d8n1E8pKvZA= 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=j1HovHtC; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=HcARSC3c; 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="j1HovHtC"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="HcARSC3c" Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 57T846Bm009459; Fri, 29 Aug 2025 08:07:43 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=SkGdnV6zlhpMPfG0NF5qY/tSveGG9dns4peuxFUGnJo=; b= j1HovHtCD3LgIdPybb8JRz+wQrqo9A69KBGPFbzFlChPoSxH+ywU0drX9YZdEwYE ffRHTAcKFq+MLrqkr1Lzhbyn82LG2eajCLCRXiJe8L3lMakUA2E8jrbGb/EhDJgE uiOHrnPatOi41+jRI+ZLGikiymLi4uF4Xl2SSk5ADHBunYfhnp67mm7pS55eR7jk caz1UmaHBXgRwclHMktyB9B65Wo5U4wHWvnD3dY+8bkk6I+NUX5OPSl+8aRuty5v EYNiDINfYbayuG3GhJ2D1gnGEhq9Hm4ctEMyLZDZP7AKcZUNAaxlaXcr530Ic/Vo cy01kG/cDLXCsZY0NlRhzw== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 48r8twgqjy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 29 Aug 2025 08:07:43 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 57T7rp6u012160; Fri, 29 Aug 2025 08:07:42 GMT Received: from nam04-dm6-obe.outbound.protection.outlook.com (mail-dm6nam04on2085.outbound.protection.outlook.com [40.107.102.85]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 48q43cuham-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 29 Aug 2025 08:07:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Cg5Nuw3OGzsHR7TySDTvLTS7SVA6CpUJ1msf0yDQkFoS8/X0cHaPYYVl6nQLSyXspPResmeY3Fu2Yv6OfIvfXgD7DhqqaMaOlAELefQENNJiPKSUUX8WJM8ZaWfEk1cOaxoeEZhE5g1gq17KWCzenWBPNk9yaXKNTtueWwt/38qbbEw0k5Hs+lVbY+l9WMb0/aqp5b6M10k7u5V0sGmScrgqatJOUPf6byJh+gr3ftD/G5LY4V11gXNDLDwX6JfUWznTphrAVzkQc/UgZ/nq2P0SBsNZ9ZFkRr/yqRPlmCgQOSZcXz3LtnXJQhEDtQyUrK1SSHBb1qSno046Ju6seg== 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=SkGdnV6zlhpMPfG0NF5qY/tSveGG9dns4peuxFUGnJo=; b=Yj5OoR6G8p5SlgJKlsLHmXgODJe15Rf5OQWe5POOW5ICPSgU9lOoW0SJCQswRwb2aYa3jmnl9ZR0NK3fIsfVPHlMcsLq604Oc42yqb8YlEZKeN0kSEpUorkkpVNfKwK9+JT2qVcj8Dw3ClxiDRhww76FlRdCUz3SfFMl9HnqZ1Jw7CrrO1NKdKbCAGd61rvzq9tA3AuwF2U0BBpmFSCNHvbLElk3hDpVHbQGoLpLHU2dwDIUwr/ecgvxqDkaPAUq0cbjsGIir0BL+VCfntgcLQ/f6veFCRA99+JrDsM8j6qvAsA3zWIXOdThDH1ELYUY0QTzXVSaxaV0MXNj/aod1A== 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=SkGdnV6zlhpMPfG0NF5qY/tSveGG9dns4peuxFUGnJo=; b=HcARSC3cGqf50zWlXZ9Oy1xpJmwrUoMMAHr2B4DPX7KifyLlsN/f0HPewfcmCPByUyh3uvcfOzmXVbDWGykcsibgEwSKOOlF/cL9VyAo/nPfrKNUX/AEZ1oLDz1aZpvm+ZXgq+x/NTp7Mi7FgLvoRowPWui7Z5mlUrI4QEoIzmg= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by MN0PR10MB6008.namprd10.prod.outlook.com (2603:10b6:208:3c8::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9052.21; Fri, 29 Aug 2025 08:07:39 +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.9052.013; Fri, 29 Aug 2025 08:07:38 +0000 From: Ankur Arora To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.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, memxor@gmail.com, zhenglifeng1@huawei.com, xueshuai@linux.alibaba.com, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com Subject: [PATCH v4 1/5] asm-generic: barrier: Add smp_cond_load_relaxed_timewait() Date: Fri, 29 Aug 2025 01:07:31 -0700 Message-Id: <20250829080735.3598416-2-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20250829080735.3598416-1-ankur.a.arora@oracle.com> References: <20250829080735.3598416-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR04CA0125.namprd04.prod.outlook.com (2603:10b6:303:84::10) 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_|MN0PR10MB6008:EE_ X-MS-Office365-Filtering-Correlation-Id: ac53c087-88b9-4401-5c31-08dde6d31ea6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024|7416014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?/3y3ERdJ0bUiDk9A4ukTCRO3SUih1STQTOKgJRnLSbXNtcCD0T+jBp7NDwgB?= =?us-ascii?Q?WNVbVSX/Ov/Gw3g7Im7agdzCu2YHh86mtg/r8CfwIfy2eFkwCiDGO1v6afZ6?= =?us-ascii?Q?5ru+YYg7sDykA0BYWBRiepSMvRYIUQ9P54kGGemFIdBMOz4Vo1JBcbquLSUb?= =?us-ascii?Q?YiANcdL1Y2DrqdbiTS4E8XvwOUra/uieaHphn642NlnPonHdNI4ttAv1G1zr?= =?us-ascii?Q?5tlV0rYPO8vSmez0wHskSggsuOhVg/hKGjPOC76s1/RLOHx90KLui9uMaw0v?= =?us-ascii?Q?th2ABxwOZTJnFJWL0tY8mXLwLL2jOD4MgKLIptCTMxMx38oJwRrszAsPakof?= =?us-ascii?Q?c0FCQ6SSsDBnn+FtvIEjcP+Z4wUpPHdUA7D1drnvDgPDE3XREdW5wH9C+Jm6?= =?us-ascii?Q?caB7IyamWjXwTXp0X+Kj/HlNgp/zP8mIvUnPEEB1/3bFk4DTk+CSdJ2XLfOe?= =?us-ascii?Q?5gHOQaYPcqpVO7Xd6+Gx/xYBkEt6dOQdTiiJbEElsH/vxB7055gtj33xVeVv?= =?us-ascii?Q?JPhPpqMFYFGbNvAnLokv9y8qjxVy9Mcweil1HCaH2prEaYT5/wE4uSWXAbtm?= =?us-ascii?Q?4/ijqQdLIGj754UHvykmSh3PqNrJDjBNxgQOl1cUrB7NIby+Y6m9qJAZ5PHL?= =?us-ascii?Q?w6NrLzLVqstm20dQi9iBkrMT4geQpv8j+x+1+xMY2noe5TzFyJBD9rdWRNxz?= =?us-ascii?Q?lMrQvjpPa8PyYJ8IUcvrKY+OUZhOnapLzyHz5+wMf2RfjPjNLe0b8qClH4tA?= =?us-ascii?Q?RVmrodz68tyZlP489b/NOryBdDCAA+/x0Ovvk9+6AD82CPQeNAPKtCwYns5m?= =?us-ascii?Q?L0IUX8JjiWL/KHMMHm7kJAbTJnLxFC8l4wmsK222aErBtRiudzNv8HvsMLy8?= =?us-ascii?Q?22CHYzDptiZL5lptGLdDcQmHBTH0RVk1q++tpiSM9+KSJ07PatXsl7+Kvyz+?= =?us-ascii?Q?1Gf0UV36eTkpk5uEewb2yfEc2d6fFPYuP87uI2bZk72RqqTbJCL1vnql7Wj2?= =?us-ascii?Q?tgZSx7J+0u1RT1t6h+Y+vIyf+ZwwKFGlBb1f92tptSerbV/xY2/7Twt+ng4Y?= =?us-ascii?Q?o/5oBDZur96tcR4bXd52tlPAHTgVb2RKxPVyG6CYbaLgxpGRe65A1bArAvFI?= =?us-ascii?Q?U9Gr1budk3gjiBEXMCov+hsH+pRhhYY6q8X0q6FNLZaZLhP1O9HzSWO8tkL0?= =?us-ascii?Q?qehNqXio1bSjPxLFaapD6GlAPzS9IOwD83v3IlGSSJEPHFfeUb1JxPC4y25I?= =?us-ascii?Q?ZJrSyVz1uOxgtotQgpOd+AwUU21P5mF8yCSeCE58KXtoXlqCic7MEMzQppDO?= =?us-ascii?Q?Zr0qqGIFhzBe/MtshW4tPkcVZ1jKcKilCXes6GEcQ9N7C6rD9KvT2oA4zc3G?= =?us-ascii?Q?mzeQ1Kt444Mggp55HgVmR7hJhuCohOJnz9izb4S4FDK6rQRAUri0KZVpmvHv?= =?us-ascii?Q?jDEz4fitWD4=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(7416014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?zDh8a39vKrgFdzJzunv0eCQlGfz6nIWABdk+le5gyvOSa8G3nM0/g/FSytX2?= =?us-ascii?Q?vub5Mxxhn4xbvqTy1Mag3czO1GsRIZncC31X9HSTdOmEynFgoXoYPJbcEO40?= =?us-ascii?Q?iaEFfXl1bDVBX7Yn7gxRH2ysjdSu15ADxQShSTTKusSOfmYhffPNI9JRAQUD?= =?us-ascii?Q?XhfDHwtP3WBhnRA0xhSP2b5OTNVNq9JRYJSmi/9t6ovbjdP99LPk07cFhJHO?= =?us-ascii?Q?46UMiP1x42yPaKGbkBWdWkXxPIxGfO8+FZE7ks8yQ2xT/9Nfj8l42rVA+7a1?= =?us-ascii?Q?HB7sDn2kuQJmQEa3B8ZB5+GdDlkcPDqDWa6RxHMKouHtvDO6eANGUGslP+3Y?= =?us-ascii?Q?TYykid+WZF4N0rgCWKNxam9oeKexLPb61+v3+PR/w/k2bloIoa7o1f9pCB2B?= =?us-ascii?Q?FW+TIabfdVJCsxjW+fTYcNbd6OsK6NAsAD74hzU1T+huNWmPoLlQZuNgBmSE?= =?us-ascii?Q?2XY4/SpALBDjw2Z8QCMQyvDzjneaoNXuqBH1z8+4QcD6ta5vIxgLmkayYuMj?= =?us-ascii?Q?cXYY1cg151ImACkF//kLp6iLvzfYwfpd4gw8ftZHfhL4PBOToqX7Yd/9AW0A?= =?us-ascii?Q?LWroZO2uzy4bRdRqymJ8DpNgDCAEAcVU6wJltP4VIUhU8vfECHibj/Xfqv54?= =?us-ascii?Q?4bF9usEGvPnabotQ8y3KjJr0EsTZa8CmhqQOqYlMb77FaFe15Ftl2ZYE0qJ4?= =?us-ascii?Q?M5DZreXQT8OnAQ2xvOY4b6wF47QijpGmKnkp3BWUG1866IuQiU6JMdgTOB88?= =?us-ascii?Q?o4i0VWG3pB2mmL1fv3xCaYGhr9JQAE126wg/MV4ObsRqC+1Y/Fm3XCWl7xKe?= =?us-ascii?Q?UIotqA8yrg0lSLaaEY3oumYYlTVFFJwZELCwVuDtHtGVwlL+ucLJyIt56ezE?= =?us-ascii?Q?tsOo/HMgVF2Bu3sMUpEbrAFcZWjfNSaKaruk5D+xwKbdI5O+U72LyPA7a2aW?= =?us-ascii?Q?GlMMpcw/+Ux+i2n0SulFctnyQWgZNem1L9cz3p9vKY6Df520VbrbFXStK9Gb?= =?us-ascii?Q?GtT1BQ+wY0yhEZH+JsWXCuyBAc9PM4yGMLB4n0GUhTSGqOb7JHyMEBsahxxr?= =?us-ascii?Q?TOFVx92I0wfCUTiny8G00nLnf0H4OkS6HWckTIcVhAFDY3WI1JmbdFZe7yUh?= =?us-ascii?Q?w1c//mWOmh0n2iBjdpWWCJMlO3URnOZJQ9TBeK8u/W+WxHGIt4l6bnK+iST+?= =?us-ascii?Q?30qEfRCntR2ymvY4amFMrCTlQPMNcRHs85LjbKMR6BG06d3oWtgZO3RorJcH?= =?us-ascii?Q?rgv4rMXkCpEIpeaeq1qoHF2sOeCq6uzM7MmFpWjGCFd+ReQS5sXTJs7lUdXm?= =?us-ascii?Q?if4ZSyB+sLU9JzoB5lGRujtM8IsvmFOSuZQWtxVeA0zU8YSXzNZXXraaHrmz?= =?us-ascii?Q?0o08x836cBEb9soseli9/jN/FJI4qMTzaJi5uYYjGK97om8StuFg20dXMLij?= =?us-ascii?Q?CpqWuWe6+M1kE9XOu6LRz6J1UDIPj/IlHjg1Zc0/kiRZxy123HnTP/+xF7yM?= =?us-ascii?Q?SI+tZvD6un3wJjm6MAT3N/s895ga8iuJGnnAtLmKj048I4mRGzZrbbFFA40c?= =?us-ascii?Q?D2xfYll5+qwCoxe4mFpqTtnaiAJMHq4N6AOqEKZLfNflgFuXKR6v4a+xPf7S?= =?us-ascii?Q?Tg=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: q75Ok7V5n7GFysIV36+IN3SB9WgNSa143CPsY0jMyvd0Q3/pY5XPwWUNiBMLqIxE5zOVdLAEhT3j/e3ZyXxKkWW7z8AQhFa5lf10yXRZldxOTZsPlTUbDOz5JftIXDSt0D+wwjuuVNp1lcubb+fArjkDtsOIV5f15wGqs/ZEDB/5zforwE6XUloro0vTL6SRl513HHHudKfdaUrQYhhv9tRA5RXaqDp/MucHjfGO9W64+L9ETcd0CIZuwTnbhvqHjv9uET1KTld3Kc9ZRR//ZSSMTa1yyJHOGLbDApfdrxHurFT30zVK57q/J9GJKjPFZwW2xXK5iD5azNTHhvuNtA9YjtQYSYjFdByCXLl1Uk4gpK8yhd3wr7o3HKGHgzVpof6HU+9u9t6pB0HOcx7gXjQclRRq10PgQ3Qr9pohM9zMjBNGYz6m6O7sbbOJod+kFJbVetWOUQ3LazFBw7cYp1DOKpKzUVG55ERYDrEfk4M7OXZiHwLnYkT9PeZCHQhJi2SmChQJKS6SmIi0KT6uTnqzp/ECqRAR+A+3XBA3TMkvCJgtdmR0UIKRwjHhA5Gn0nwpIoP/T94ZK0o7AGIFz1Mx2sErFXpvrr6BItHfJw4= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: ac53c087-88b9-4401-5c31-08dde6d31ea6 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2025 08:07:38.6014 (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: zZ29ggwHTnjKBdCHqgsvsvyrG5tik7oKvq0G7X1hlsV3C9LqSbTk5pH1IwjVWAGerHjyUbDY30Avy4hVO2i65BBeGB4Ah2Ud7pd3dgu8Oos= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR10MB6008 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-29_02,2025-08-28_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 malwarescore=0 bulkscore=0 adultscore=0 mlxlogscore=999 spamscore=0 phishscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2508110000 definitions=main-2508290066 X-Proofpoint-ORIG-GUID: gRIDYCJCCzMxUuBRXPYrpaXSBA_-L0Re X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODI0MDE4NCBTYWx0ZWRfXw/2Dvz0Wicuu 1BezwNjDzgtE/j7FI1/2OgemTnRfy1j1Hz9CrhWY+213TedH7BDftjkyyu7vowVgPpi/RE0WnJU DVMxtscfQ3DJSx5C1bJ+NVXABiGC19PO7KxOMalTZ1mHjhODitOYNoqWZw+6cgQSzRabgdb7YbG 8RVfDiNYjm8hd/i7fxWWiCtdYgLNB3Y4zbicQ0VQp3eSvoUWLWo3tz4PbWOGWgG+Pxfo77TjKYO BvRE98pyJarDF2tHf672WK9+U54/wSNTPyioWJ4ui62ueMjTQq4FFffChtvB7/yuTGSb2FiAo4B MPDuCD93oMZf950MSMo2PjnFaMPXlSNlGT4g269mAB6SXC1/a2iV7kDO7GYa9Y6cj1GexDOUKQQ qbY9l0TXa8XavPhJPhloGmxEtU0KCg== X-Proofpoint-GUID: gRIDYCJCCzMxUuBRXPYrpaXSBA_-L0Re X-Authority-Analysis: v=2.4 cv=IciHWXqa c=1 sm=1 tr=0 ts=68b15fcf b=1 cx=c_pps a=qoll8+KPOyaMroiJ2sR5sw==:117 a=qoll8+KPOyaMroiJ2sR5sw==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=2OwXVqhp2XgA:10 a=GoEa3M9JfhUA:10 a=VwQbUJbxAAAA:8 a=7CQSdrXTAAAA:8 a=JfrnYn6hAAAA:8 a=yPCof4ZbAAAA:8 a=5P5m-dSjHkuG9PJidxEA:9 a=a-qgeE7W1pNrGK8U0ZQC:22 a=1CNFftbPRP8L7MoqJWF3:22 cc=ntf awl=host:12069 Content-Type: text/plain; charset="utf-8" Add smp_cond_load_relaxed_timewait(), which extends smp_cond_load_relaxed() to allow waiting for a finite duration. The additional parameter allows for the timeout check. The waiting is done via the usual cpu_relax() spin-wait around the condition variable with periodic evaluation of the time-check. The number of times we spin is defined by SMP_TIMEWAIT_SPIN_COUNT (chosen to be 200 by default) which, assuming each cpu_relax() iteration takes around 20-30 cycles (measured on a variety of x86 platforms), amounts to around 4000-6000 cycles. Cc: Arnd Bergmann Cc: Will Deacon Cc: Catalin Marinas Cc: Peter Zijlstra Cc: linux-arch@vger.kernel.org Signed-off-by: Ankur Arora Reviewed-by: Catalin Marinas Reviewed-by: Haris Okanovic Tested-by: Haris Okanovic --- include/asm-generic/barrier.h | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/include/asm-generic/barrier.h b/include/asm-generic/barrier.h index d4f581c1e21d..c87d6fd8746f 100644 --- a/include/asm-generic/barrier.h +++ b/include/asm-generic/barrier.h @@ -273,6 +273,41 @@ do { \ }) #endif =20 +#ifndef SMP_TIMEWAIT_SPIN_COUNT +#define SMP_TIMEWAIT_SPIN_COUNT 200 +#endif + +/** + * smp_cond_load_relaxed_timewait() - (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_check_expr: expression to decide when to bail out + * + * Equivalent to using READ_ONCE() on the condition variable. + */ +#ifndef smp_cond_load_relaxed_timewait +#define smp_cond_load_relaxed_timewait(ptr, cond_expr, time_check_expr) \ +({ \ + typeof(ptr) __PTR =3D (ptr); \ + __unqual_scalar_typeof(*ptr) VAL; \ + u32 __n =3D 0, __spin =3D SMP_TIMEWAIT_SPIN_COUNT; \ + \ + for (;;) { \ + VAL =3D READ_ONCE(*__PTR); \ + if (cond_expr) \ + break; \ + cpu_relax(); \ + if (++__n < __spin) \ + continue; \ + if (time_check_expr) \ + break; \ + __n =3D 0; \ + } \ + (typeof(*ptr))VAL; \ +}) +#endif + /* * pmem_wmb() ensures that all stores for which the modification * are written to persistent storage by preceding instructions have --=20 2.31.1 From nobody Fri Oct 3 14:29:34 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 A366F1E3769; Fri, 29 Aug 2025 08:08:10 +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=1756454892; cv=fail; b=pv3l4jZ4P9pENyPllWhVXmTWdiZswEzuUndGMVCBFwpOuAXbPvJJr1Y6lmfHXniz2hEhoO6xJmfwBF53/MrVhyZ5+7UQ1RWikLloIDIr3PlYIM3HadDxt34SjA7cEmlopqVwcYQ4JDxrvsWt+Rqt9wr9qvOmaBdST/R/Kc/8jd0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756454892; c=relaxed/simple; bh=74mjcexkDT75xTCy65+n+7cjeLs+NdthQu1yN5skRhI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=b2IW+0DNiPICyQzkJ24gNGxYaEnL+QTSWTI+4S/wf8PDVbW0VHLq1QNRz8hhnky97PKVubCmvD/LEKbi6JqKPAgGfoJZ6JTpv4i+PE1VsOvI/OvbA0WM3HrjcywltF+0vkDZIq3AdWmadBpaoOaDx7ULzvP65O2gDby5fuE08g4= 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=SH1LJSYO; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=Q8ab4UNX; 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="SH1LJSYO"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="Q8ab4UNX" Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 57T849MA020485; Fri, 29 Aug 2025 08:07: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=gJWd13X60oQhQxVNoySzZj+jiy/53hYqUs08u45wvuI=; b= SH1LJSYOPfeeFJA0FycBUMxoPcm9xn/N6QDPil5ByledzZN0DknD9zuKd0iGlrkx SPpAO8t8n23RNtLhNcyOfcHfACxAMxBuaUpy+X9CDg2ynfuTwdRPYrRoYw76/+aW s4JnC+cSkw9/lmEGCsbJ7Mhhh+vrOPEFvj+nj14oTWmnhXsg/of2LZOz9V9epucF +yp/y8O7+m/2XYCJXJliMy7og+NnEWf744okA7ybTbgDDMUa61fqoYlIJmf4iSEC U5X2YSWr+/zkVM/sLPULZ9z6z7/nXmA4+EdLsmv5eHjGBZTKoM0ensdiryF4Ct9u xhtKQeDAYYsDR3ga9ty+ZA== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 48q679215y-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 29 Aug 2025 08:07:46 +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 57T81eRB027290; Fri, 29 Aug 2025 08:07:45 GMT Received: from nam04-dm6-obe.outbound.protection.outlook.com (mail-dm6nam04on2063.outbound.protection.outlook.com [40.107.102.63]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 48q43cqnxa-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 29 Aug 2025 08:07:45 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KpvU8G5e2HokZmbRXsJJqRiIITavdk6NTBzDz1nsByhQa5oQH5ZFaDwNIV3h9YhK/Vz4V3bpBlYW/OTytgqTx7af6d8HSj/Rtnv+y8NwRG6tV8juISjOzPsVrseS42AgqwcesJjz3bKAYx7+Bamfrb33Wps/tXX8aMZt58+nwawUU4SVI0qpUoHs5kju3Sw3sdEzGfzURvNVO9PcN8hoK9kFf6zExv3ER5KPHslYP7lPwfz3SJNOf2qAps1eHd0x2e3zFx4AfiP6ZCDd3i2Wm7SnlmvJrklzgXHqL2O9UTovr5foh0+r/wFK8m+QRPSdb1VNtC/k40cprIB2KQzPOg== 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=gJWd13X60oQhQxVNoySzZj+jiy/53hYqUs08u45wvuI=; b=tTlpkssxE/x5F0mbrzDYx5ElyFV5JTXAVGZJCy0IblWlkfuRNdb2ueDIgd3464BoL0EUpRNufQklpL1trXHCr/nDfvkAeId3zBbOgsSTrETJQrbDTHGFWdS93JqBTGY95OyUxgFMBDluDJd6RhlBvwl0pyOx7fhVJTaqyBsIpH9Zms3/SFXei9v0lhJZzCJnSTRDanRCDadJgQ8jBSTi7RuGNrUP53mpCQ9UnQSl23SAIE4DTDiHmJYIM5oJUP+gzJ5rfnhsInXbIlgeL8LX48YHOhoELUFO0hVXH8QSQ3kAqrTJO1uzeTWtnVPM6Z4v5UHIhvzfgu4zQdcfXuLlKQ== 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=gJWd13X60oQhQxVNoySzZj+jiy/53hYqUs08u45wvuI=; b=Q8ab4UNXe3X8zJg4GSelJkmy6+cu6UPsKiFrYIq4ZaoV8ObtNUX/QRJt0jUU/LJJvfgTsAL0Jn71v9pKK1nEpLDhSPkSP4MnR3KiBF491H4qZsB2OXCOzzItJM6dZp1qWZ4t5mZ26NmljINKuDn6VvJduouL1UxbsUKntHncBQU= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by MN0PR10MB6008.namprd10.prod.outlook.com (2603:10b6:208:3c8::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9052.21; Fri, 29 Aug 2025 08:07:40 +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.9052.013; Fri, 29 Aug 2025 08:07:40 +0000 From: Ankur Arora To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.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, memxor@gmail.com, zhenglifeng1@huawei.com, xueshuai@linux.alibaba.com, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com Subject: [PATCH v4 2/5] arm64: barrier: Add smp_cond_load_relaxed_timewait() Date: Fri, 29 Aug 2025 01:07:32 -0700 Message-Id: <20250829080735.3598416-3-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20250829080735.3598416-1-ankur.a.arora@oracle.com> References: <20250829080735.3598416-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR04CA0129.namprd04.prod.outlook.com (2603:10b6:303:84::14) To CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR10MB5409:EE_|MN0PR10MB6008:EE_ X-MS-Office365-Filtering-Correlation-Id: cedf065e-edef-4bd7-7fa4-08dde6d31f9f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024|7416014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?0qDfoBBLjLnqYrhsfXdV7CP8/yroDijKw862Yliu2yW6OP9oJ2hTonYcrbSk?= =?us-ascii?Q?STKJ8Y8bqbdueqykHtKxsNc0F/JtI+1LomqSvZsXR8GE5U/dO6V1xe5O5jyp?= =?us-ascii?Q?VKSqMbvgc6QorGm11GvjA1xV1GlIevh4OB/tJWJFvoHLn4PCpYHs4mAQgUGk?= =?us-ascii?Q?2yoCVZsP9mcQF7yisEbCz9CGvmAYollgcYtuK+D9/kmneau1peaLQ7zbe1sv?= =?us-ascii?Q?OuLMXOfWVyrsKCgyNZNZ22QrmfM1miyarVy78gDUiqKY4NLLRBXmGIFE1K+y?= =?us-ascii?Q?LozrUqWRmmj9/W/CVGR9btuWvyXVyDdHHAzELEh9b9HPcWrkerTyWJPtjri1?= =?us-ascii?Q?f0flqC6JZJYWmpemsxl8hiI/wBbhgCJ+0fByewZn5S3FOeOx//wsob4jxXqc?= =?us-ascii?Q?Qy1vp3jK2D5Qq5vmtX44Ro9Zsj8xWbhA1OryCQfDB+1xpyVWohOgHIqPzgsL?= =?us-ascii?Q?O4kV37hLvqoYpSaYIsHaBOzn5NYnVAUSSk58s/xGBu6OhkLvk/cMji/j3094?= =?us-ascii?Q?sq4c/xrv4jA4XMYvcPeRy9Zd1U+fQ9nR6+jLDtlgdlOe130EG9wu5Y8WPOra?= =?us-ascii?Q?bUyA6mF2W3Jgn03lk0XOl8NFNqrrXc03jq9fYPkUQkjgzUD0x1P8DeZeMGvo?= =?us-ascii?Q?xnhIKrfbI3Bfs7HaA4nRKOOIyacRxoKQ3L97oZsuLohR89Tw1+XxnZgla9lv?= =?us-ascii?Q?JMRHU78dYUoJUiAiLJqWcy9Wy1g9N0t7YlykobhJ3VWZx0+dwSMXCH78kuqD?= =?us-ascii?Q?h+3ydMxkwR2TRTfzXH34U9zoPgvfMnUnWTyyjvhd43Edhl+zqG2P4pYAE3Sm?= =?us-ascii?Q?YvhHJNCCnXKD0oISl/2+XxTk0wtXnRknYbImOGekDUNsFC/BKW906/VObXsn?= =?us-ascii?Q?ZkSwHNB60NAVLFtvHVKnkJjHqAtwFJdE7KYbcEQErpkRTBg57lBzlrr+RAkm?= =?us-ascii?Q?bhks2cEbAAuuQGPH67hcuVBL1Inwu1dqYA6ackXlUla6YjxXXwHBfwsy5nZC?= =?us-ascii?Q?q8wyMk5rR0ooVmraTElnUn3JndlLf2uvfXywT53oyO8PKY5xkwx7uN6YILZ8?= =?us-ascii?Q?2y0NJ/VSwZ7vXv4twn4Xrvg3fHIe3PeAJ5WkPpJ9uyt3cyCJIdcNuBYrvsBQ?= =?us-ascii?Q?6MST+AN28hIyh1t5lin+2rI5mFJ96ZlSUi+iWBlg66Uh0NrK7U6C+oHPPwPz?= =?us-ascii?Q?y19HAoIAbVp3T/CH7l8afpvmevAYfll7WmigaaUcS8Ot3CDebIupIj+Spjfp?= =?us-ascii?Q?n68yIPbAQWVGpCMrAaS5gdtT4rvXsSZSXkzqMTCSRsVhADNHIzLc8GGf1MJn?= =?us-ascii?Q?pus0xwIeTNEfjs3d1wudKar0cZNn9LXh35znW2paDKe80kgrNMkzljyUdBwR?= =?us-ascii?Q?xKHnh6xq1W16xt86I8Hv9UIQHmhvtKJtcJGgqcPAlkv7q09N8EKWg+baPpBp?= =?us-ascii?Q?QEuoynUKoi4=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(7416014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?qz3re6HK/sPfLOVw+0G8tI6hyGtFX9oltuxTLVaBpj7KES3wkBenjaxquWJc?= =?us-ascii?Q?t446yEXBm82esrFADgz9/9Jsg8ve3qhMoIar1pUFQ9iEt+nJeJlDBwNZ+cFd?= =?us-ascii?Q?MF/NlbDPEitq7+lu+0n6FBRjiDdtCQsxcEa9Z/6UVSfLKrxSiPQbSqg+aCYT?= =?us-ascii?Q?tpxPCfziWMewbHXXjNFh1t4hewZmGLYOVKgjBXHcCSqYicdhb94QbSiH0G7/?= =?us-ascii?Q?zlLCrPjYprA0orx8cyksFLCb6qI6GD9an65meU4PLXzeca9sRgGxI9DhA8D/?= =?us-ascii?Q?eLrHZQcZkMTBpbV2I7TxjEmuufFYGCfdIkvZMf47XRZgej/QQdMOr8U4KpPJ?= =?us-ascii?Q?/3uKjreq0xkdmij8zpwQ4LMuM60MA/QDktx9hLWj8w4tdWFsmRZH1Akfujrx?= =?us-ascii?Q?Gh7Xk5tb+5uUOpUERTejQDzEyUFLTqc51LEPsY0AGq7PPwZEI3T6MrqVmiM0?= =?us-ascii?Q?jnILIBaGpBLSsVDI+7fRj/H4M5T4VTpj2/ON2/0f7WTHjpEY18t4mbrXnRed?= =?us-ascii?Q?8E+vzac5Dr6E3tKpXnOl7mtRwW8FQOVj2kdXp+hxIHduSmaqOr/xaviZH+kX?= =?us-ascii?Q?oEU42yyfcFFoVq1TkS5MpEqo9JXJIfagBt1AVfNkvKtPdCEmXa1t/we9dF7b?= =?us-ascii?Q?eSgyonQvSH0yG82XDU/OUn+IIq07vdVcI8QoiWL1HTQOE8J2XyRKEFid8709?= =?us-ascii?Q?F+pZo35Sx/7ioHWgZfdCzn7oEudbQRdGT7nzKN4ZLnMDaUhL4aZM81ugoWCx?= =?us-ascii?Q?xwIbk1lUR6rvNeC281rzBvE1K6dVOC5RPZqWxLYkVjQLygbREdvFV/Aud1wI?= =?us-ascii?Q?GQJpUFmYUoGRYIR0Vv1xf1V9WO3+diWin+UgNf30FzD8+QFWfSxUtxd5v+Ip?= =?us-ascii?Q?l63MezVjkQ6t+6/OZqGmMs1KjbISskj3yNqCuVW2zVqjXwunyJUPvEHqxx+6?= =?us-ascii?Q?bRlAWycI556CY9MwcAS4Ti/RsOg3fpQYTXRrVQ8CvpjUjgeXGC6kfhvpPjVN?= =?us-ascii?Q?dZbirK2ACKU3/3TyjihHpzPeezDLkOxbJ0DOfYAwuJSHolgqJtqtPzM3HHXE?= =?us-ascii?Q?PVydL+5TLtLXjSI/Q5lKWv6mcYztzVeeqZHrnyhkb0yGwWrfzJSxWBTNwzYV?= =?us-ascii?Q?nn9GSgHdw6d0W75Jc3VBwE6vNjVCAMw+b1XIUYsZrYiV8wfURA7HNl1rqUw7?= =?us-ascii?Q?6p/zTsRqxiS6CdnNlZKoVlP4uK47d1eoo3CFiiPincVMVXXkZ+8zUklqnDS0?= =?us-ascii?Q?XhJ7ViXrOqgpXCnJ9p0z6PEgtBSOQ+iWeQyxUtrSzyKRUihm8cbQUJTyusDM?= =?us-ascii?Q?esDU+AQobVJRo6w1MKnwqTBS5fznNlcQ5tcLTJnmLR06HLAOjoGQ+vpy8rCr?= =?us-ascii?Q?Q/u/lPX82C8cv4o2NiRF+MdIxLTJfuwKtjLj6VYPAL2Gm7BDpmPHSnjeSH5z?= =?us-ascii?Q?OynSUNVjHiRZxt9QuxVp9bkmpSVZZk149HyM2t4eN0yqeTcXHEEFeLFtIldb?= =?us-ascii?Q?AhgkGczD2YHGpLzRZFPLd1jC/arZUoTcdCudkpEbtAV5bQ2Fz+CeD2r0kNiC?= =?us-ascii?Q?Rg3f86hzcI2OgzNVvCLCv54Q9P1zcIC5ChYuta1VpKMlY4lJXDQ1QL4yc908?= =?us-ascii?Q?5g=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: k21SpPZWEXUutiuagb1eRFPN4k5P2oVS9w5gpgHBzh+ibp0XkG44ion8bfE3dpYFNGjR0hmQ9QjaFuL2IT7VM13OiwTp1Ph7XdspeCHEpnBMmSUjeuoIxST+1SoGgQQTxgQlNggbQcayYR9VAu99SW+aSOJO7jusVTDpUrIwZOyOXlMlM6drJrGwrNF5RMNrzTMLZMrkZGSatdifGtwNLgEBINzfP0anjU4jTbDR72UT7NEy6J1qac5W0y1gPfScRbesyg/EHKbTx2UsHie9Q517LaK+ZR/qCsVM4HlHWQoux6WrCldPJgf2Pfiu16Izhf5wwdGBLXJLrvLaSlpmMoZy5DDQzwwxSbhM8Oynk6zodGq/eO536LuADx0fwImqHVJEgsmrxBZkTVnx4Kvx+iP2eb9ZrPt7H8tBiLbAuBhcG5manHO773jxydzQQ4K78gY9xHjTJOBg26LZ86nX8asF2GEyk6zhLmdUka8qekS1jij8QO8/Wk12JyXtO+oO7yarezHABnV4MYCPkSz4RFwFQvgsBDvL+1a3bioIhYUUbsg6xUQX3/k58AlBZksXE7BT526bJ4GMoSN0dP0nRp3Tkop05K/kueWN21xZPuc= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: cedf065e-edef-4bd7-7fa4-08dde6d31f9f X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2025 08:07:40.0928 (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: vfW8ki6IHdsmOYIUbWXEdmBIAiiITB7e3kYp36sTIPLvtm8x+d937LjBaor8HwmayZMi+ATVhgdgiF/HvgehoQ7dBcwpHup7Ia4hkY0VkR8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR10MB6008 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-29_02,2025-08-28_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 bulkscore=0 malwarescore=0 adultscore=0 phishscore=0 suspectscore=0 mlxlogscore=999 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2508110000 definitions=main-2508290066 X-Proofpoint-GUID: rdmgMuTMKVSPQNmtMQi1U9a4gPiPUxCH X-Proofpoint-ORIG-GUID: rdmgMuTMKVSPQNmtMQi1U9a4gPiPUxCH X-Authority-Analysis: v=2.4 cv=NrLRc9dJ c=1 sm=1 tr=0 ts=68b15fd2 cx=c_pps a=OOZaFjgC48PWsiFpTAqLcw==:117 a=OOZaFjgC48PWsiFpTAqLcw==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=2OwXVqhp2XgA:10 a=GoEa3M9JfhUA:10 a=VwQbUJbxAAAA:8 a=JfrnYn6hAAAA:8 a=7CQSdrXTAAAA:8 a=yPCof4ZbAAAA:8 a=rPp4lnVFDGyTbJpFzw4A:9 a=1CNFftbPRP8L7MoqJWF3:22 a=a-qgeE7W1pNrGK8U0ZQC:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODIzMDAzNSBTYWx0ZWRfXxoBLkJMP4ujL GinV4KMoVo6NB/+7g2F9kFkPL38V07zd/spr7CL6LYw9slQoe3o/4aW9pupvn5GRn22n7c4kfTH Vj1UIxxEalBN2rp8sK/GGjp1hPX2t/ILfmcLZ+2sP9lAkvI2M5uMfkOaePdYx71i37EB0aKr6JA hUNXkucyshCQFjMvwE0XxV7mjWBmRkWK4grHMSig0TUa7xHjutjJ+aPeV1bheRNxq+JnUOscvuM mSfOQQNnI8szZQscQYDyGHL0L2NCD6uWjIH5O4A/gV7NUe81qLcC7pFEoHkP4I1B7Pv/ORIXJDN 54m+aCjGqxU2zMVS0FcY4RK9ldRWNut5Bddt8bCGvnEZcYVvuEzD115e3BEGi8q4FzzkmE4F7LH ep7gwnU5 Content-Type: text/plain; charset="utf-8" Add smp_cond_load_relaxed_timewait(), a timed variant of smp_cond_load_relaxed(). This uses __cmpwait_relaxed() to do the actual waiting, with the event-stream guaranteeing that we wake up from WFE periodically and not block forever in case there are no stores to the cacheline. For cases when the event-stream is unavailable, fallback to spin-waiting. Cc: Will Deacon Cc: linux-arm-kernel@lists.infradead.org Suggested-by: Catalin Marinas Signed-off-by: Ankur Arora Reviewed-by: Catalin Marinas Reviewed-by: Haris Okanovic Tested-by: Haris Okanovic --- arch/arm64/include/asm/barrier.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/arch/arm64/include/asm/barrier.h b/arch/arm64/include/asm/barr= ier.h index f5801b0ba9e9..9b29abc212db 100644 --- a/arch/arm64/include/asm/barrier.h +++ b/arch/arm64/include/asm/barrier.h @@ -219,6 +219,28 @@ do { \ (typeof(*ptr))VAL; \ }) =20 +extern bool arch_timer_evtstrm_available(void); + +#define smp_cond_load_relaxed_timewait(ptr, cond_expr, time_check_expr) \ +({ \ + typeof(ptr) __PTR =3D (ptr); \ + __unqual_scalar_typeof(*ptr) VAL; \ + bool __wfe =3D arch_timer_evtstrm_available(); \ + \ + for (;;) { \ + VAL =3D READ_ONCE(*__PTR); \ + if (cond_expr) \ + break; \ + if (time_check_expr) \ + break; \ + if (likely(__wfe)) \ + __cmpwait_relaxed(__PTR, VAL); \ + else \ + cpu_relax(); \ + } \ + (typeof(*ptr)) VAL; \ +}) + #include =20 #endif /* __ASSEMBLY__ */ --=20 2.31.1 From nobody Fri Oct 3 14:29:34 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 F2261296BB3; Fri, 29 Aug 2025 08:08:12 +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=1756454894; cv=fail; b=nQkJgiR2bZsAyFlr/sYLf/rZHjq1aJZEneJXYWeQz2E2kt4ozf8QCGdQbbdWHaU7pNjQekZbxEwpm3D3UCMIpK/ETFCY5tPpVfuilLQ3wR3OhQUPgcZ599dkJ2KWDCtksukK7CS63D3U1HilXm8jBjuGcu71MdlsQJjpvEcwpqQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756454894; c=relaxed/simple; bh=M+7UxqfePaj88F4bea6nfIHsRNFXUTovbUOM32ArhAo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=gL60IB6FOr+CaULBVyJCAo4KX1Xh113nkvszwTkFdrCXu56twLN0yGSQ1FOyEkXXwIveV+P6LLCN9+xuTmH8tlJ6BsnGZQi4pJPGLtbjDwYxagnjwRSZKdyHqJIsata9WitdW+zx9KYWI+Puxm2YJUHkkhyfpFFRheZYkMQFf0g= 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=na6Eql09; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=vvNYZHzX; 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="na6Eql09"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="vvNYZHzX" Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 57T846ax009457; Fri, 29 Aug 2025 08:07:52 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=RrwYTCMj6ocpF4FW2OoeU/4/CqzwCJFpaFBTchbimhI=; b= na6Eql09rdxLWopkO5wmdoqHsZwLWrX7YMxQaSO5c7DsdFz2ywP9z0NkJhEXLzPI X9jfSK5p76D4w7M1BfnU5vJIPBzEbqNjX8j3Y01ufuUsOV42xfpCA4R5PsfEdb9F P1VqggLpwM3QhXvqJ2cs5e8Wqu5h+/S6Q04Dl4e6Ff64uhQr7yPW6CBGU0PlidZ5 mLhcbfiuTDbx372yP7SpeD1OUWJCSwAL5XCjqGOrxUEMIHwygdu8lpSthcdKI3S8 AlY1k+ghA5IFmbQk50VWRpn2r0MCVsPfR3aolRNG3kw7kG46QSrdMzyMkbjQBrRA GcwQ567hQkviuej5hHrg8g== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 48r8twgqk8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 29 Aug 2025 08:07:52 +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 57T853Is026712; Fri, 29 Aug 2025 08:07:51 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10on2050.outbound.protection.outlook.com [40.107.94.50]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 48q43cqp0b-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 29 Aug 2025 08:07:51 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=f+ubBgEfWZxOlZTgViIAdzc/T71eBipnxn9UEID2JXWx5OzPMB3kJX2YpFR9aYMHbRkJqRMN6K4KY0nIcpOU52LO2r5Co9qvcncULmScx+J4qeR58LaVjjNuQXZ/EMQgaLTiAqwsFEGewn89AHbl/0QMXe29LZe1rhDlrYsQdE5prrenaLSaCa+uC9WR7X0L8dsnWUp1Vv5dyV3XaehemfqwuaipM4Imqttv9JuxIAs0v420IH8bdqD50hb7ZToLZ/1sxfy33NdtKEOma7nNu3OrPYWpxUalo3d1ieeXIL/somyzE/0G9YxYNLlKMZYOtPqQF3ANpnLL8ip42OacnQ== 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=RrwYTCMj6ocpF4FW2OoeU/4/CqzwCJFpaFBTchbimhI=; b=XzSK6dClP53HTiFu5GxWcKDKE9R/AVWRz44PQk1743EbXADbYD85U09yXl5+Qe6BI7MUqgtmtulifNDfU3l+XqEC8K+++4kiGd3+rEOyZ0OSK34ptEK5PpZI8jm0SgpWfVwzsFOFayHnPbMs2+K6hY1FNfJdBoFVRRghZAEJLVMY9j0BUkic7IcsfyXnAgeCtCIMKFhsiBdKXfCKEsq0rr3kud7waQnNMd0dXN1qNbDip+9U/wUjTjA+nPXIDidjai2vnDnMmK8iIIktvCOHJoW0ioNbta8X9fcxXu3gP8ZEDIgBIRrQvSjJaPVFfeW5cNGH9ZHUTdzB+AIZIY3lFA== 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=RrwYTCMj6ocpF4FW2OoeU/4/CqzwCJFpaFBTchbimhI=; b=vvNYZHzX4UxICiePqMC6EJiqBOPQyZOcLQ/IZDtavom3Lejz0AHsd4pJjnoQRsHuNHEWCfUuu4QON9uSYc4iOPMKDzmbPwM04Q9HYLjnxRXiAJrP4+m4/hH8imKMBPdMBZIrXE9hUaSz0Gs7C5lLwUXCmoE35MZa+xVvzNIk6TI= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by MN6PR10MB7490.namprd10.prod.outlook.com (2603:10b6:208:47d::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9052.21; Fri, 29 Aug 2025 08:07:44 +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.9052.013; Fri, 29 Aug 2025 08:07:44 +0000 From: Ankur Arora To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.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, memxor@gmail.com, zhenglifeng1@huawei.com, xueshuai@linux.alibaba.com, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com Subject: [PATCH v4 3/5] arm64: rqspinlock: Remove private copy of smp_cond_load_acquire_timewait Date: Fri, 29 Aug 2025 01:07:33 -0700 Message-Id: <20250829080735.3598416-4-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20250829080735.3598416-1-ankur.a.arora@oracle.com> References: <20250829080735.3598416-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR04CA0291.namprd04.prod.outlook.com (2603:10b6:303:89::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_|MN6PR10MB7490:EE_ X-MS-Office365-Filtering-Correlation-Id: 8d1a5a69-70cd-410f-0fb0-08dde6d32251 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|7416014|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?OYpbrh2W4kQRzpyRCRbGbP7Qxt0gbZ5nbwn70+mm6iMgVnV0ywvzKKxgfIYM?= =?us-ascii?Q?A16ywPPZNpD+k7YYkayCnhyRYIPH1tBO03Ig5/RX4K/aQaP1Yu5rjr6looCl?= =?us-ascii?Q?cfQkqjZXGMqTMFWBfLacfGHL7Wxg5YEWCZO4ExX7DSkRjCjlXuJ4yXK/RhtQ?= =?us-ascii?Q?9W+CxZWl6e7RUHsxazPx/ig29RJY0d6ufem1Lcq1qPxyr23U7CySDiurhcig?= =?us-ascii?Q?sGFg1sQ8HfWY5hzHrt+9hEHsYTg5CWxQUrA4EZPchxi/1k6PNGoPKGgwiK+W?= =?us-ascii?Q?NO8n5EB80nUaphNenGUtX3H8UR7x9L1zaybgug2wPW98VmVviCu4dLZYo+48?= =?us-ascii?Q?5QfZ7/XchTQMZTxgf7h6Kt8xhw5GFwI34MWQs2lymaxIHyR4yO1FfP+3B5tj?= =?us-ascii?Q?k4aWOOwpLDsHh/DPvsr4W8PkqacK0wctGNdvBfZK8JsYG6IlC8w+9mdGz8l4?= =?us-ascii?Q?vsHQH8vMoJSWA6729fCBjM1iOuKEtQlIipUcjwiO2FfyxWue8+JmFwDbmmIE?= =?us-ascii?Q?Md8ijeIFyjugD/HpDInZn7/0KfQmJ4fxhQX+nNiwvbgoPE5eHnjqfam6V3xv?= =?us-ascii?Q?6fsoo6fm50ciqRXF1HfVjpyWna/lb3kCgNZnz3pAfxcpMvLYPta9qSrbq0wL?= =?us-ascii?Q?CibaISp/WlRyrs2fh6hx45nrGBtkHEGQGRp/9QVwcp4OAgUvSofT9rHzaOJy?= =?us-ascii?Q?z6XEhR8rK5qbytrSm/jqK6O7e1x7aiIJFCqFbfNmlzVLJyP0svDibgXfDuW2?= =?us-ascii?Q?/hqH+AYWxTL4MN58k2IeRyegQ1822wdHpJFxu7DtoDNFANviPDy5TxhnsvC9?= =?us-ascii?Q?fiqD11Ra3KR+si09/Hq61ow/j8hEnRHRo+DUJSqj+rGU4A9PoLcmL607RsXn?= =?us-ascii?Q?Vd4pwdIKuClj4HyYAyQArl5DggswF5eNfouk3LDY/ePWHV8Ky/HTF2uaYima?= =?us-ascii?Q?Q132SgwbAwqB0rjqrHuVgGtyCTFVqvLRhhFz80luzkmlGZpPqks8DNG+i3ig?= =?us-ascii?Q?2ZD/BbaLXUHlslXx623oqsQ2KbpHt9aYDJ1rTmdGH5QIkRrUoXXUfOYApzjZ?= =?us-ascii?Q?8MccLPKwugbWHDxO1PT20yl16NS6H5TymnN92IFSO0kx2AwN5aq9hrHSx8XS?= =?us-ascii?Q?DLAMNZWQoJyPwILo4HXxc5G/p9T2uKtJ3k2Csu5YZbUpgCGrhKauHRoNCbOC?= =?us-ascii?Q?DhEpOlPKs6ypHTN04sNjgMReVS+zppAUOhq408w8uE/XNsF+F5cD1Ue5Xhzb?= =?us-ascii?Q?8iGk7Uul45w/Tsd/GuWs/jSHrNq/36u1jp0lsSvMkFWUuG9Kh+aRNRnNh/Fd?= =?us-ascii?Q?/Iud9x1p19mCE+XblVV4CbqEalCe8X6wtSjCCiOmKUCyRt4hAwMfDoFFmKuB?= =?us-ascii?Q?WdA5jCXpDVI4NlVTaAsaNAyhDkbHP82GVhRjAmPiJXoFiwhO8rasMwhONBq8?= =?us-ascii?Q?ZdlrYhH6xJg=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?A+oLzhKb3oOtg2dOOwZNABT3adb7qZD4g55s36YoOzSX1SzafEpQhrNQavrU?= =?us-ascii?Q?dDCyrTpgAqUNZtBEfEp8IKonLYoQcBTy90Px+hzZdJs65kU/H/UidBCdJcCX?= =?us-ascii?Q?KLEE6l3SWL0Pt4N9VImTMXHicB0L6uAub9xyP7OA7n+6UBQ5S+hUJnCg9GZQ?= =?us-ascii?Q?iZ1CZm0qB0e7u0QUR1gNByvvweqCnf/i5WRhI2rbFtbsgy/zkQBz+PBjlyNA?= =?us-ascii?Q?k39U3pBVmkyszwNTpnN6HJddNSJXsHv4VdmN7p7zYqdbQiQTaShVoqIh5Smv?= =?us-ascii?Q?YV54GG4YRcOIIldoprM3AJjac6zrsO3Q+TgEg/kDiEJmNfNZDeHcg6d9iTw+?= =?us-ascii?Q?Y0R7Z9/Wa6YOS7HptKdCJ6yYlHKvjFa0bZtnj0881XncC3RK4HhMhCmw6q1J?= =?us-ascii?Q?/5P0myVhd7UgyxN8gyMWNNzilW6nx3DpcQsAftmbHtJCeYV8Qr0YnghxY4N1?= =?us-ascii?Q?iEuDmZPgiET+IBL42fhuI8dkeSFugPXJlf/2ZHlaILtrA/bQWRMixI/tMI7S?= =?us-ascii?Q?kpDt9oy2aOc79nt1PA1ROAKqR1qJQPrNgJH7C45pquSPMMeFPYpDsuHZVUq6?= =?us-ascii?Q?y2BmtnU618Mdm4bhjWJRyCWxejlrxYkSXRoUWHOazlVTdO7/0RrWjF5eLt9k?= =?us-ascii?Q?G/m3lLRl1VkGWDyzKp6GXFrWZQ8VvTlJ2ac6yrHH+mibcdQVP5Q7f7XM7XWM?= =?us-ascii?Q?wdCGgFZ3NQQJ5RohAzyQTmi4pxxLDnZE52hIOINGLDRIoRlvoYnKLMG+KeVF?= =?us-ascii?Q?XXP1qReCMjvlUUhynjxGsHyMYjQ+gzRMXuDKD+DdrE6BfWotobPH3zhWfLOi?= =?us-ascii?Q?HOSzoZXoEdqOwhVNc9umw8xO56kh0/NVAZ95TbRGPiQLDYoaD5LJsaPrqfBC?= =?us-ascii?Q?rwGnPOibTRV2+yziU+O0tGNkOudTTyAXghyU1pm1yQiCbVhuEpXtA70ZpXfz?= =?us-ascii?Q?KYNvnwJFcgcwFQf+J2ueUzKNXSpdCZft4XoJslI8f4cghT2IWakE53MOSuyn?= =?us-ascii?Q?m1xewnJphmvS5Ik51wz4Tm1L8A95qb2D5wJ14xGe1WyDmhFwgK5p/ojpkaaD?= =?us-ascii?Q?q63+jAy7hf9it7FWucqsFG4xtZMicTa2HcLj0VY1kos70xrQlYa4/69wa03t?= =?us-ascii?Q?KDWoHcSlhwsncse+Hl6YKlPV7FHxwRPp8G4u4/mRa+htxKaLIHK/qkzjHFQo?= =?us-ascii?Q?8AeD9PC3HvwsPGcW9jLmh3J5hB4KP1oTUzjsQ1sur/bJUnS0zT3yamPkqxcl?= =?us-ascii?Q?YG7msyEeptngtyKF8agQWXe/qMh6qLMJNUvB03obfIduyj8kPciqm/rOFlAO?= =?us-ascii?Q?EHTon1xvsgoZ4W36rSovksfo6hQ40EPue+ytOemMmU1jNDGU/2y6kKzNWWDc?= =?us-ascii?Q?rSxSujlXdZD9A+kQ19KidxP5ST53WUgeqqDL9oCh2+wmMMyPQl60rKUgLBr6?= =?us-ascii?Q?dvYCrgrTnhWkSYsIFQTWdJaCiLZknh3LruQAy5gBJTByMU+8p54syBNr7Zh3?= =?us-ascii?Q?g5W7jhScrzQsGkYk5g1StqFYbpozk3cW7TCE70I4HnSLe7ubq+AiKZ02Nq/U?= =?us-ascii?Q?Wwjh/xsAQQyfbu9KFGCNZ6eBF5sW+lZl6xK+jahbVcjLXc9e8wwoLEKJWO1F?= =?us-ascii?Q?9Q=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: DZmMh0fih2TrXVgiJ1csvZfMUhUer/Lz9HQlnMwshLpPw7fwxWOjsH32IaAJzgfchwu7wDiSuIUva5m3VVOlcSOx3C9uiOHQfk4ayFt3C8fwhNFjYZujYyXj7mCaI8ac+z16zQlnO5z2AXw/6zTdoVuTyIRbEsP4O8ucm40yUjJ0UaY1Oju3g0uQpUzXe6ruwZDYRbg0TGQt96mgLvn7MfxB2QLrUuhEe8e6za3FDGYps0P6Z+wg4bMs0ZreOTg2DvEgTJU3q7gtfxtM7aRIkTQvxyHrNgmfTYetSOHNx+dM+noEZ8qRAcGYSEbNH2md+p4vqDrCotvq7k4vRSWJhcNn2clVQeZEMpBhyPpaqJPg1ynvBOtVtAPA1fLQqUuWiHBBBXQxKkjQUwfMti2KffhH8NfWEU0boKTFL05Nob6EXcrFl+4dSCfRXzixEldjQWJQTo1FcFAbZr69udyBtbqoyMyiSsfoUsJl/Y/l6fFJiSwsesHIm6z+xojGQqaJ05t0sJQhf0t2bOYBi+6jGHvOSUH66NpQxSZZR0p8SsYd4Nl5UnSbOVHscgJJLqPzayBY9nphOTPhGxXzGlosIQOiJdibRE4y8+Wq7c+4uyg= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8d1a5a69-70cd-410f-0fb0-08dde6d32251 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2025 08:07:44.6260 (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: ubTbg4gAum3xbM+cEThRQUJVXzOqCaPdBfHqtMZ1jdCa6VWkqfxC+sWzvL3EBAOrJEod0lsIpIW9a4cYzFnU4O2Uq7uVz/+vF441fNrLx00= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN6PR10MB7490 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-29_02,2025-08-28_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 bulkscore=0 malwarescore=0 adultscore=0 phishscore=0 suspectscore=0 mlxlogscore=999 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2508110000 definitions=main-2508290066 X-Proofpoint-ORIG-GUID: jEb8GBqY21UEzQrzAh6y8uPVlaZKjeWH X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODI0MDE4NCBTYWx0ZWRfXyZmMqxmlRqIn WQKrkX8nY3yXAaI675aPYBdpV5zvIdBQNez+WsLzxwH4GWCccH45TtDTCFXCJTbgBXLuiYAWUfg PCywbj21uTVxijdEiZBX9tWJutTiNaT9hpQmqOv0mRLJRTA5LIKisJA1WZDb8fNw8twtY75LKT7 JXdHDAu4vdmvVvbc1KASifYUN84fTpnGbAB0+r1LywJzFGTt7N1/tzdmwNmLUAJ7/Ei3OUI2oF1 ABM95iQJOFWv607ts4/10d6BVCbjs4dgJWYwNlsaFWjfrgAITdNyGiParf1gftMuVwfIHjvXyxc B0S3/tnP8hhTC7S0v/wohxEXe/5lwjeJvbcZiIywZimiLb7iwA4gx4FbqTBZo0I5Nek5R1jBVSv tgR5zM1n X-Proofpoint-GUID: jEb8GBqY21UEzQrzAh6y8uPVlaZKjeWH X-Authority-Analysis: v=2.4 cv=IciHWXqa c=1 sm=1 tr=0 ts=68b15fd8 cx=c_pps a=OOZaFjgC48PWsiFpTAqLcw==:117 a=OOZaFjgC48PWsiFpTAqLcw==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=2OwXVqhp2XgA:10 a=GoEa3M9JfhUA:10 a=VwQbUJbxAAAA:8 a=yPCof4ZbAAAA:8 a=pGLkceISAAAA:8 a=pMBjG9WjWPNDpSeUJj0A:9 Content-Type: text/plain; charset="utf-8" In preparation for defining smp_cond_load_acquire_timewait(), remove the private copy. Lacking this, the rqspinlock code falls back to using smp_cond_load_acquire(). Cc: Kumar Kartikeya Dwivedi Cc: Alexei Starovoitov Signed-off-by: Ankur Arora Reviewed-by: Catalin Marinas Reviewed-by: Haris Okanovic Tested-by: Haris Okanovic --- 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 Fri Oct 3 14:29:34 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 ACD1128AB16; Fri, 29 Aug 2025 08:13:16 +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=1756455198; cv=fail; b=rpnuAMgRS5Jp7VLzv8P6WL474auG2lwr5fb2ka6bcAPwSoMU/i03yai4sVfxmAfphoDbdFQCLuxl4Y9mxbg0CtyjLbb3XbgN8LTR+Ah1kTs/nV90y9oaXi16v4uhonoSw4TKi4+x67RstNqztBgePmFaULo5tsnrkOOnPGT8Aog= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756455198; c=relaxed/simple; bh=lY7h91zI+h4Tb10mYsaxkkN0TR2qL3zh5CmfgdO7d10=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=I+qjwkeH7qCmgbCpXVPyd2GKW96mdTvcM2dNbNq3ZGdxf97O/DWaoo9hv3s5mXitI/wvK4hMBqbYpXWHhFGNXECHr3FEmrUJfwj3SuWA8wO5BKzqaaqhCeHRFHEDxhvv/QWLQQfsEb+hAlY8KkfK50OXFFOi3aNCPDNzP8B6c0U= 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=YFbnOEGE; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=Nn47keV+; 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="YFbnOEGE"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="Nn47keV+" Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 57T8469Y009484; Fri, 29 Aug 2025 08:07: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=nrGLxqdv1Kv9bpzRL/VUYCiz5QIRxusPb3VYRtQxtG4=; b= YFbnOEGEvfWnJZg34KpHj+R9QLdYvW+JwuKtjkYs5arhPvxkCo8MjQYgn3Krwv8Z KZdKpXmoVW1QQ+UvtqGE2kpsGSaPCl4+LxwFSWL9luEAv8tPa5K1w0hpNa0AZhZB 5mEWSc/IPlPUQaAbluJXDOqVD5P2IS9wZmzAmqU3FkaRkZXnPQL3CyHaFAEFjzrH xX6s/vTrGc6tTyOwdg4KZjctdF8CTgJebquUOWKp8Xa8wsDe+ad+VRO8Lr/2/EEZ oyw6c8fdCk4k9+B7sVI0/avasbI65x3DKKRw/Zm0HJPYBndZFvgOOLvY+czSxr02 DlxZYpw8PIQmVMbyK+xBjg== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 48r8twgqkb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 29 Aug 2025 08:07: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 57T7j8LN014642; Fri, 29 Aug 2025 08:07:52 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12on2088.outbound.protection.outlook.com [40.107.244.88]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 48q43cv9d3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 29 Aug 2025 08:07:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=TRWNW95gQiNSFDm2og5blse/QlYrBh+FF1SB2IK0voauExxcZfSkunR+CCBwR5x2Ndjs5ODo4Jd0OfQMsX8MfwxII8ZZKZRwzFqePH9ICsX4ayCB0hAH4LvEnphVx64uMLenNkk05GPeE0ju8ZRFd4YVGsSmN6B1SD78Ic5HOSuwCP5Zh0gNoG0Nu5WaBMATHE8CMelyBINzoCz77otVhR9y/qjFhENzJUmpn2YMWSg2i/mb2MRRuvBmLX8O6l11FUM6bg322MyMGb2OTCm2zlQBCgihZcgKoTA82h/1j2ZAzEJA6IcubJQW2TWEmNQpgigwGxEK6iRHadm/ppqTwA== 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=nrGLxqdv1Kv9bpzRL/VUYCiz5QIRxusPb3VYRtQxtG4=; b=fy2Vo6FLMB7fYV93m0LxN2FIAlCLqfFADvU0hdn7alX3f7pzxX3jqfBacBuZbu3V28vhjdYEhzgTlrkO2EQw6GoJF7PftuZ1DHV3HFi+kmeO2297WmJCM1n3T0MBxqAUUFViXm1gASDxMpWKHeFYYnDylgH/zXTB6z/alkBjT1wXM2MFtEceGFblvSLkoLtEBpmtAjdxAUuuocmJgDs0z6qFROfAyE//PsUccCVTmyISZMAzypw2vYHc+kSJFJfSITHT2IXlQVcn/jmeo00jWz19dR63ThvQ1jv9yHc3p/PTja1dZJR7v36KgRrpz8/T0XVJqKA58SqDL/h4vnb1lQ== 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=nrGLxqdv1Kv9bpzRL/VUYCiz5QIRxusPb3VYRtQxtG4=; b=Nn47keV+e5ymwifJ+/EV0f5v1nf0FSmgTdFKZ9BKTEgM4uua9y8sOXQq4r0icNW3dRQxL1bhlWXgdH15WtBVICJ9rVoCC+/mJobbwmq7Jq5sQII3daYr7BLQfpSJmngn8guUO+fzyv4MoQmcqCPVgGZWSphHnL0ZqbkmCuCzOyI= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by MN0PR10MB6008.namprd10.prod.outlook.com (2603:10b6:208:3c8::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9052.21; Fri, 29 Aug 2025 08:07:47 +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.9052.013; Fri, 29 Aug 2025 08:07:46 +0000 From: Ankur Arora To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.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, memxor@gmail.com, zhenglifeng1@huawei.com, xueshuai@linux.alibaba.com, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com Subject: [PATCH v4 4/5] asm-generic: barrier: Add smp_cond_load_acquire_timewait() Date: Fri, 29 Aug 2025 01:07:34 -0700 Message-Id: <20250829080735.3598416-5-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20250829080735.3598416-1-ankur.a.arora@oracle.com> References: <20250829080735.3598416-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR03CA0179.namprd03.prod.outlook.com (2603:10b6:303:8d::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_|MN0PR10MB6008:EE_ X-MS-Office365-Filtering-Correlation-Id: c18e9481-e838-40ea-6bed-08dde6d3231a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024|7416014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?TlUhuZZlICyKcq5zoJJlZcCkpF5JmQZCnuV4qCbK6/Aquw38O7bZSo+d/8oy?= =?us-ascii?Q?YLL0uFuc25HevHV13F8m0t+6uYjFclEo7Ih7Y6aQGDXkZaIBsFhX2ouC4iBp?= =?us-ascii?Q?caQqUf+9fAzvnMNCY2SAYJcmgxfCBWX6L2t0IUxva25mleTc8yvL2PASgvrj?= =?us-ascii?Q?JnThSNWkRHb4ZTGsAxFeWxtaokoTQpC6DnxS/vHc9O6cK/8nUAdZ0Ejln8Fl?= =?us-ascii?Q?PN6tmOCrzC+rLp4vxLlXAJutCXainrULXtuwKzsagIh2eHCk5dQaPiRr9agr?= =?us-ascii?Q?6sB6cBjQRUJObnXqZipeRdobLdn7d4CjXPCj39v43b7NuPpVtrVWNNJ+NxVT?= =?us-ascii?Q?dT1biDQJtHDF0dmfKnpJJWpqdjFI3AD7GRHD/B1bM+KPcHC2tn8ih1kAZ1D+?= =?us-ascii?Q?8j1eBar2QQ7OQKVdeL0dy47goxwraFxOGR/SOr+2pqKyye1eU+tzuSD8dlX5?= =?us-ascii?Q?bwPqhpZ5W2o1/dVlvDipBJG+sDnWAtflWjL0wUZJZk8/0A8Y4YZYmc3WRSA6?= =?us-ascii?Q?a6mRP6l5xEBSrJBzzZlNzqFHUvFlA09QwLkzfBmnKMBSWnAQKC2viix6/yYE?= =?us-ascii?Q?1qmN0UW1YRbXIpg0+ZJbpNETOBzTM+ck7y5K1V/Mb+ejLQnOH166/H2nuDKD?= =?us-ascii?Q?fVrrrFRpg+NYh9ANMm4t5p3fJIwYyC6t0tYH2Ou91dGWK8734/EiM9V6QCRK?= =?us-ascii?Q?+eJx9kQdTbhhYJDKlAoKXUxS9GnLHKaCEdFkVi4tn3SCKgBri6kwC/lSgwsL?= =?us-ascii?Q?TGOCt9WrPAf+sBJg95Cggj5do4WReGmMSyvDDZQwp+Zm0tza/tqjfgfGD9jg?= =?us-ascii?Q?2sDmykZbnVsUO72vRbxFJ/cKlCgJDdaAySXjRu0rM/MPmJZMbXLoezDV9xpo?= =?us-ascii?Q?M0irbZ6WL6w+02OOaNAbZLf7Lvt6oVbx5OkIcUnmWJTxymWgmhLU/F11XMw7?= =?us-ascii?Q?HrN2vrYTZZ+zvrr7IU/UKOTRICYlhzBv0Khj1Uef/bI8ewNUIlnS9CCuSO3v?= =?us-ascii?Q?jtMlQ5KFs4f+saIlc2uwFKA7GzTcOek/Gi5Rq+GLtS9EkOxHrM5V2hTIUkM1?= =?us-ascii?Q?e9Inyco8hO5NEBgIOldXUZM8KEi+SDKtfCIy00Ehu4NsBtVN0olMfVvEH+kU?= =?us-ascii?Q?wHA0i7P9KCpXilDGPFFR/hIDzETMPuuFJFi5cALQS/4jk3XoDgSGkoWXW7JC?= =?us-ascii?Q?2mERGF7cNAh5dB2BA0D/mn4wPexZ6I7TIss1FPxHRcT4Snn2W8LYJsketiXo?= =?us-ascii?Q?147h+B9/igdLkjax4j5vJFimCkt2UbyPfeKa1ZVBqn3wsmWUci4aY4eDvt0c?= =?us-ascii?Q?wiSnctm22Jf5TA1568HIa30o1dNEYkqTNAI1l2b3YuABH3KHugxfnHy50Fp6?= =?us-ascii?Q?xcumlfJEa9mdv6waNV+vf8rXxDoMGAb3xFW74j1VgMr8AJNzU2z/h3dNt5+s?= =?us-ascii?Q?Hes+9+DQjww=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(7416014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?YzKbzHePNAVkvIeWp2/PieeUl9W+SsGxrYCBAoTOActRga8N8X8Bm/wMAbUo?= =?us-ascii?Q?8jWgvCEuKVfsiFIlJGwtUiT/Osa18LA+vrrEE4LTLPTsmFUkcK0GMP1JxnlQ?= =?us-ascii?Q?9/LKM9dxVWYN1c10BH1jb2ROoFsgrKqq3plTbTVZSPKb/hZn3rRHzF4rV9bJ?= =?us-ascii?Q?kNi1nOEkdJtTHhxljhT43GkTZil+GMAhuE9oQOaRUogUYRLZA3S3Kv07rp8X?= =?us-ascii?Q?S18DfK5850Rn2mPaBk8wRmA9qvkQQTy7qOpFrS1QwYU+Oangy5h2+UyFQ90o?= =?us-ascii?Q?IjO20+njpjJ3PfDhF6atu26ZEvbvAudJ5qrQpB/ecXCb8Go02R0W2f7sg7SN?= =?us-ascii?Q?2VwXsXvvLVBTGvDXuOhTu0oIj4jpXp50b5GmllDd8KgKs7FbC57tKuqanUJn?= =?us-ascii?Q?GqOvnH7i9+OjJkPUvHiDY9BZSUOBgIZ2ORTbR08aXAdP57DlQKz9YsQUdXdN?= =?us-ascii?Q?Dm6oinppfKmcgrA0bUljHuCzAX2bAFlnvXvOk97rxH86DzyHk95aln0pnOoC?= =?us-ascii?Q?rAu3vpu7v2477qfoh/jbNjjF8+ScATbIQ+CyeOQ9wh8d/Azy1xDMKGgNYfT1?= =?us-ascii?Q?PlVj7K7kUeBnCG0I8P+4DM5g6LZ4/0iOGfaWlI4JrpuljQvxJ5B8Arr6ZXJN?= =?us-ascii?Q?NBCXEki5a95JUcjhYVE/4+SHYkduHuuVbJImHcBSKaNT9110M3MlR3cHY5BN?= =?us-ascii?Q?UffaLCbC91oaqPiZpLVyORTCzRebVrcwJQWAazjKURaa0gSbphslABQkeHvn?= =?us-ascii?Q?ZDi0j+z//LMnUHVr7aYZissuTf8DRH7tKYFQ/OsNRFnQQIHmUy8pVX2XG6A1?= =?us-ascii?Q?QyCLkomWf7PDeTd3kZTdDW2te0/vIV58vNhM6kMd2E4zXmIv55G9Wad+SeI2?= =?us-ascii?Q?BYX/sf1yOmf+8/x7w0DrdelPauqwRbqCeJd4KSGPvzwMs+ZXgMLfKVgVrcyJ?= =?us-ascii?Q?ywkBfV8x1tys13wlv4ENciGUW8rxCSszA8Fn396Vfj7Tn1Vyx1uK2iPJ1ln+?= =?us-ascii?Q?vSZmHJJV1mSei9l6yJtGqyK5DnnMLpQVKmNL/0Ks7prVkHI2uUsYYRqBoVv/?= =?us-ascii?Q?cVQvMMLMAHKvoU4OVnSEb/h+Vu3IDQwWQ758SQCTpXA8Tvfo30pmcghsPzm2?= =?us-ascii?Q?c3IetVRxEKmZfdKmWU99Njl2+YMdAFPrRpMeMKvLqw0s6LqgLw4219ozfkOr?= =?us-ascii?Q?V/HbUSbqgyfw1NrM3sj4WKcU6bjSGjEr2YEJO6IqrnxHYPlHeODKJp79hneT?= =?us-ascii?Q?FNDC7ZQmIVeYnyOshB4s4QIBl9xTu6R7QQ1VU0UyMafZC7NbCBRxvWVWNaYJ?= =?us-ascii?Q?xcsB0nOX/NmRD7XtdAHMXKIftMkZhcG3mOi6IQO6cWuux1bgqZsqxg4wfcZL?= =?us-ascii?Q?WzrhPYEpEJ89vVJvEtrFPlk1napM1JBS87Fnh0EfS45rO6nLwsRhnA1D5XqH?= =?us-ascii?Q?1c0KlsJJF70Lv4zaO1PZjBJ0655opNwnO3M2m+r2SKyJ/2hv1GscK/lf2csY?= =?us-ascii?Q?tyPsudHwpQ246RhLIRVUQMAYrE4tF5oCfRjXbnPcBeezw7MnKYqI+5a1InU5?= =?us-ascii?Q?mgcah0DSAd8GYgBoQVsVcI7dGgqBfV+egxsDFNp6zcsszlmA92UpfzM/T8c9?= =?us-ascii?Q?dw=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Y3MxKmT/HoKu19jikUnZr8HFbKUbE5zLDyzDtLxn7pkim8SRaYd3ErInvEXrSbxqDOG6jXPvzBhC4yrGMK9CQR6hWkSMRVvoB+aQYxIDuxs4Ykc+eRNgsG+pC2jyAn14wYM7tctK3I+ZYXeVoP5r0GARFNPv3OUlzvCmnik/RbP2Xw7yNOHykZjxzTiqug3G2V02w42sCLvxjMumjRFKI4PEIOimvwRtrmMrMZd86vYzJZQN0IJPTEFggRtk7ablGPQx61ZE+lpP572INVn/QgubKoLAieF1ErnLKbgoxGV8GDcxqnVhlHELWyMTfT5XCPRNbKUGPw0nxpWlirnIxC1Hb3QciJBibO8Z0kvfZDGxSyidGMkQ6VR9fqwEuA2uCIK4x4uIZIcqvtZ7GldEzyxhSK+i/qnFEWUfaM8/ep/UhV8R97tdsp2IY6myhC5D4qbJ5B9XtktKVJqG5pBcjcbiPfq3fdoUl5N9amcrRotbfUQDccfrRneIDapznlP8KX852inDA1WKcy6MlvHFEbFnXSeFnuGAN3HxFbYyKaakglhrjECxy3BOrY+XEpO7ymUzlQyZ395l3QvqCB455oB6Q6g72BlTdX8sHaBbTAQ= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: c18e9481-e838-40ea-6bed-08dde6d3231a X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2025 08:07:46.8990 (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: /M3kU0ouFoA1jwGsDWqMberUWAeLdRzWIiCWIBPX6ZdCdVUR/7g11W8MMT0YagPfZVXNDJMczvF9BshKLg0ResXOZE5aiU/p/BSqJIbohXY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR10MB6008 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-29_02,2025-08-28_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 mlxlogscore=999 mlxscore=0 bulkscore=0 phishscore=0 adultscore=0 spamscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2508110000 definitions=main-2508290066 X-Proofpoint-ORIG-GUID: VnjpFRP9dYhLdhUuJAb3mwJuZgruhBFt X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODI0MDE4NCBTYWx0ZWRfX135wFIO+JC2p dyvWmMv19iE64hcQ5RZUNrfIuEVm/q2Q39DtP/bmIDwPTMSgdNpGzfQnogv9zxXbz6LOmu8dIxX sU7Rd10wYsHrroc8qx/mbonKrsWvpaNoa4+S9f5Unejj7253K6/TnzkfCd+kgvEgjsBIzKD1dwB oaOVCnirIG1I1Qv1ltWCabRe6TlyPxRosuCh5DVTqDmRj4js8MhuhjkgQPTb3p/CKn5eKF7xqyc Yjx+nwhkkk53EEx36cWceOfWbqi0A2g59qI09CQmCO0faq/UeQGZgvT4k6bU7J6XEFK4hTF0kbZ XyWgoPHW8JfgK0h+rLyHpLr6z7ZAiHnJ5mCJ/nNLK2bBh69WYQ8bnKNW33spEqi0tJfQNacJj5H Vex1PFT+OOno3fPra9oN67MKP1v3bA== X-Proofpoint-GUID: VnjpFRP9dYhLdhUuJAb3mwJuZgruhBFt X-Authority-Analysis: v=2.4 cv=IciHWXqa c=1 sm=1 tr=0 ts=68b15fda b=1 cx=c_pps a=e1sVV491RgrpLwSTMOnk8w==:117 a=e1sVV491RgrpLwSTMOnk8w==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=2OwXVqhp2XgA:10 a=GoEa3M9JfhUA:10 a=VwQbUJbxAAAA:8 a=7CQSdrXTAAAA:8 a=JfrnYn6hAAAA:8 a=yPCof4ZbAAAA:8 a=MLEp7nxARRIokO7p85AA:9 a=a-qgeE7W1pNrGK8U0ZQC:22 a=1CNFftbPRP8L7MoqJWF3:22 cc=ntf awl=host:13602 Content-Type: text/plain; charset="utf-8" Add the acquire variant of smp_cond_load_relaxed_timewait(). This reuses the relaxed variant, with an additional LOAD->LOAD ordering. Cc: Arnd Bergmann Cc: Will Deacon Cc: Catalin Marinas Cc: Peter Zijlstra Cc: linux-arch@vger.kernel.org Signed-off-by: Ankur Arora Reviewed-by: Catalin Marinas Reviewed-by: Haris Okanovic Tested-by: Haris Okanovic --- include/asm-generic/barrier.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/include/asm-generic/barrier.h b/include/asm-generic/barrier.h index c87d6fd8746f..58e510e37b87 100644 --- a/include/asm-generic/barrier.h +++ b/include/asm-generic/barrier.h @@ -308,6 +308,28 @@ do { \ }) #endif =20 +/** + * smp_cond_load_acquire_timewait() - (Spin) wait for cond with ACQUIRE or= dering + * until a timeout expires. + * + * Arguments: same as smp_cond_load_relaxed_timeout(). + * + * Equivalent to using smp_cond_load_acquire() on the condition variable w= ith + * a timeout. + */ +#ifndef smp_cond_load_acquire_timewait +#define smp_cond_load_acquire_timewait(ptr, cond_expr, time_check_expr) \ +({ \ + __unqual_scalar_typeof(*ptr) _val; \ + _val =3D smp_cond_load_relaxed_timewait(ptr, cond_expr, \ + time_check_expr); \ + \ + /* Depends on the control dependency of the wait above. */ \ + 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 Fri Oct 3 14:29:34 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 126342C11C2; Fri, 29 Aug 2025 08:08:16 +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=1756454898; cv=fail; b=ua1fXrXwzawoB17G2DNw0/bj0UJ34e39ctcKYSljdU88BQnXmj2g6rW/l3kWbTovN+19lYxogKB3OnPWVwcQB1BzRWSGGVkQyvLkpRqW3HOoApjtRHJ/gIso0YemCZDfmgL9Ysax/EY1r996QmKKdxrcZ/AXUWZ1XpooFJFTDsk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756454898; c=relaxed/simple; bh=aeZh+93f0Ti1YfoaHb85RUSzq6SCNqBka7uKTwXbGvI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=lQZe8ZhqN9iCha8g5jphTG9yT3T2FKod9ftA9YioMW77PRMMSzZOf8oh8lp0FIM9uMk667xD0FKqGQKE+6hjTCf+e0mdN0M1OMNlfUCIQcC3+YYiaaDNHhblzyWBXerEHSE6qtuQ5N8p0V9XFqsIR9HXKmG3FluKR/6boGq9Z3Y= 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=CiRaqbRM; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=u4e99xt+; 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="CiRaqbRM"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="u4e99xt+" Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 57T84A6D020546; Fri, 29 Aug 2025 08:07:55 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=1YZzq0T70Q0JCakVZFpXKs5q1o7B10ojh7vzt/WaCik=; b= CiRaqbRMj0cZ+sivSkPGHLrdiQy87EdGOTXb44r2BO0iapb9iD/UZLra8ujI9NPD 4MWNSX3gkCdDPpjoAyHr8qbsYtAyf9SLYHKZlSORXnuz9aJXds4faCnDIJjc47cu R98LL+iE8R83d/dFwAmNRZKIVYo7CW/Qcg4a/yVsewTUQQA5TyIpmh+NsGaAquyj pwYnw3pdkoQ/4kZ9RCDLczvyG+9eHL2L90SQ6eI24//USH8STQAucmc5Q7GVWC7h ZryQO54fR6zk+VI0azeUtoOM05uXI0CouVtuItdh3Pc35cZDgt6ADkgQ0jbLdJbZ 0V51L7L/1CNHzejEIBNXBw== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 48q6792169-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 29 Aug 2025 08:07: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 57T7j8LO014642; Fri, 29 Aug 2025 08:07:53 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12on2088.outbound.protection.outlook.com [40.107.244.88]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 48q43cv9d3-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 29 Aug 2025 08:07:53 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MnE4tznhhWaHkAfACdy/P3mieCrBhQBvY42uDA/HZ2CAgWDWySC416rZZ976+vn+6ZA5+RDkf8ZdGyuRvlC2J6Wy3VlTDuKmITmkJoNCYKV1ieuKtM2WcrY6jtto9eDYvM4FmE44IY/Pk9iC9JpDcIyKSrnIuHi3BWBfSGh1fQyM95VlTYBoOCCpemc6FFu4Hb+lZlua0Xxmf3HFfZQBakytjg16DqFcRM9dDAzIXNF4oW7sZN9rblRC12A334w2Z+QUqKFihm1PfFSBj5f+G9Q7x6luuwbcYZIcIJrJ+lDpR94QddbXKCTCfxpgfHWFTSYiyzCQ8uda5xLzj5FA0A== 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=1YZzq0T70Q0JCakVZFpXKs5q1o7B10ojh7vzt/WaCik=; b=pG/5B8PVaKHGticuTYHkBS6b9MfIsdxCJ7Vfilxg5VyC7Cdno4EKIbZ5V9bjEAjW7zgbor7NBwYvjq+Txz131Byx0OBEidfiwEhPQSOrdXX7lTXPG9Wt1b1g8Mrt6WerKNgwZFQct4zx3KEdSRAokZqal5d6EQ7qYPyvUFTdjWFpdtE6fVtYdxVwZNKnbeqBMorKVEPqN0qRB6SAxqqFs2oFOjzmjC9sE2kYPuKfKKnxWUlVQZFXx7kyLgM+/iJOQ5NW6EHV1OBfPVVjE03j9tPtiYEwE2Ja+qLTsuP9cDWpdlc0QC6Aaao3JrfSavwQtepnjLJOl027WuYAQg8f6w== 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=1YZzq0T70Q0JCakVZFpXKs5q1o7B10ojh7vzt/WaCik=; b=u4e99xt+TftFDTi4e7tFe+Cbdr/puOsriRelNvpRaKHlr1XgX/RiTKMjsvLYDvxaQl4Noab57ug1/gvNI7wrjhazHKnUvh9mV+F+WLRWOcCggsxrjza3+kf+MQKWMD5qPeHodEkLMkkNxXNEkvP4nvJ/9Sf9VGwgNZDXaos9LvQ= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by MN0PR10MB6008.namprd10.prod.outlook.com (2603:10b6:208:3c8::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9052.21; Fri, 29 Aug 2025 08:07:48 +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.9052.013; Fri, 29 Aug 2025 08:07:48 +0000 From: Ankur Arora To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.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, memxor@gmail.com, zhenglifeng1@huawei.com, xueshuai@linux.alibaba.com, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com Subject: [PATCH v4 5/5] rqspinlock: use smp_cond_load_acquire_timewait() Date: Fri, 29 Aug 2025 01:07:35 -0700 Message-Id: <20250829080735.3598416-6-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20250829080735.3598416-1-ankur.a.arora@oracle.com> References: <20250829080735.3598416-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR03CA0164.namprd03.prod.outlook.com (2603:10b6:303:8d::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_|MN0PR10MB6008:EE_ X-MS-Office365-Filtering-Correlation-Id: 258883de-af4b-4199-0371-08dde6d324b0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024|7416014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?QcztW1ZOZNrX57R1v7eGnPv8lYtasrVXhOetMNpevCrxeipnsZ2O7av1yVP2?= =?us-ascii?Q?8Rr71kxLyuuC1nongQlEzz41AxZ4yOOyJYPyu84ugBjpm99AGdy3F2fJHU6U?= =?us-ascii?Q?ueA8Q2DpDQzJTZ5V8M26L3p69QYHOQuvTMzBxdSl/PMBzb5C8yOvzqt1bdN4?= =?us-ascii?Q?k4u2S357U7URfr0qNFohzlac7LWtvu+aRK3BdN5gukf+sq/Xlx/cWnknXz56?= =?us-ascii?Q?S3rPGm2v6KsdrXoR6PFkZO9vDk8gJW305r6I+gn7GE0H6UElYfKZyYrvNwit?= =?us-ascii?Q?tHIs+2ViWGaTpnEpwbInFupc0vEdQXyECMXPoCLdeVpjYrbKjgIH6FTKxmou?= =?us-ascii?Q?DQlOaSbledKyJQmaEkfnydkH4yLFMftzkip8Wueo2KvcPeR6OCfNku2QJVfq?= =?us-ascii?Q?0r+dKbKuZf3sK6ls9fNXUAJucmdMEIle73aHbbc3mttdCV+eMgpsnfzyMPpb?= =?us-ascii?Q?NLc/M99bfC3eGErMg/sRG5NXZSlI4n/d63jNqjQssMBYUODBkJgYIlDzNezS?= =?us-ascii?Q?4LH/D0oMPj23Rkj5VLs9/l4RzVLcrk8j6O9Af+Rtmjwqtt5GHMrD4TeuRMX4?= =?us-ascii?Q?IPA0LBFPAbFyyxxmpiFaj1rr1Ypqvo3fF9zx8SmjBX6lDBR1WrU/0rnWnoXB?= =?us-ascii?Q?6QqeXpwpd/OpVhEj38aAC9e+cVGQbXOlzFpy3slCfJTGtbntEf7U5Qa2hAc8?= =?us-ascii?Q?Sj8Rxh9z7QMn1kVkq7RLpXYD7vzMAWqpCGXAxC00OuulwynGnTVIMq83ttwY?= =?us-ascii?Q?sSqT60Mp+DDNKL5U8l4JlDDZ3/3kPAK+CnQ45cmbnpBPa1zew9BejSOOr3+O?= =?us-ascii?Q?YUVKK69Ft/ZxWt5IUhplq6MNTvNkvTz1rb7gIQPWegqt0FWNrTv0gxBLefFR?= =?us-ascii?Q?o0GIDKT2ibT7H1zsyAQP5nStHHip+w/1J49nYNunopYbu/UxyizOxAqdWmj4?= =?us-ascii?Q?0ThFYo5se4FzzsTBJTUUsDArj6QjvqHzM+/FLs4S3nG7K44i14RO0i4B+tEj?= =?us-ascii?Q?n4VH75kusbX774uYM7/NxkVSL+TCSKwBX3pXLdS0x6qTcGFYOx82A5WHlU8g?= =?us-ascii?Q?y2XQzdxMThbhfmxJOgh+W+Eh002xwVrm8l6VoR8kqVRADj90fTNsfEg8yyqV?= =?us-ascii?Q?UD7e4dTqVuZxw2AzVse2RIv2ZT04zaRglyD/gnTMDzepmPK0j/x9Xeyto6vY?= =?us-ascii?Q?2agWbBje1hJOxS4jSa0ZwijeACb1WFaFIvRT0VEOQQrm+DRQPcH93gyjD8Up?= =?us-ascii?Q?cy/GI+8u49v5eGHzTg0/vcZHMzOVaEaSicjwweesVHO6CPR7QVtSCfSxO5SL?= =?us-ascii?Q?qjuvlP6ni7RVYpaRyHuqUOnhAzC7CCpfQvTSJSGMliHsWqpxERt5icszRjIE?= =?us-ascii?Q?S3jojB+2hNoA2M+jyyOfgxxgE70INqIGwBIrfjl9ixRf4F8NCTBGpiM/15Hp?= =?us-ascii?Q?yK60/WRJAuo=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(7416014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?GwUrBvGNJUdbEkr/GEt5EZjmr0Njl9XcFTNst9/kWCrFe8nVo9U/1/xYVUay?= =?us-ascii?Q?BcUTER9RsZHxOUwpVTcybQWAYfCWOVBcTA99KjdMUNKckC4q9i9vrndOvmCB?= =?us-ascii?Q?WVkXtQ0tGHLNHIEfuTcgowIGLHUX0xs5ucrqsfahY7jfAA/gNT1pU/uR4rPm?= =?us-ascii?Q?FK61GLiMtpUTB946MeYM3MVG/QIjAagja/VfxN7XYsSBRxOJiRphxZ3ToxOh?= =?us-ascii?Q?11sZLDMRWRA+J/SkmOvzN+tk6P6i0pcCkdcLiM9jOlamJroIVAWy8kOiRE1k?= =?us-ascii?Q?mWxF3ugvKxlu4/R5+T+fUOl6b/MSKwI7l65n01/LQ7gDVOMXvE5WVuoL2x36?= =?us-ascii?Q?Z+AV+ZZfKOXPS00J2Tdo14Z3Db9ibTWIwsgsazGu3wriIyE/pLN7Us66jN/S?= =?us-ascii?Q?RIXef2RA5Qtn11qqeSohLzCy1/34UPox515nd/hWUMSiyzBQQNfVfot9oJME?= =?us-ascii?Q?zUJMUNnl5wsl5RuQRZ2bQRUmMOFgI6NCBnO7iBplYZ4rigT6RLZuUSRdwTeS?= =?us-ascii?Q?CTCsIOCWJCRVuY+HA5hCeqPz1Dof3oau6iaNhs+VCbPcD8y87lZmxZbcna8y?= =?us-ascii?Q?hsOPPsWHXYYnNim1QP7QmM/zyTuZcN3nSp7+xSO7WpETaFQ3pEV+B3Kx8N4E?= =?us-ascii?Q?Ae4nSMuQF7YoZsmkwxaEq2+GgHZP+vppUuHmKiq7b+fskxNltaFgQNOjwpAd?= =?us-ascii?Q?845ZXk2eGKKBc/dpvQxf5E+/PM14ma0+45lGfFZOXHTONO0CrQNCuqC3zIcU?= =?us-ascii?Q?wjpKRYrGR5SldETyAUBT3aGPiQBgoRCuqy/yepV8d9hSxuf8lI2aEooM4izo?= =?us-ascii?Q?92zSNruTmW3waZnpV7UybQVbq+T8nbvPr8LsQnmweYVZ6mVKso1vcDApXO7x?= =?us-ascii?Q?chLPst6eydO5r/74gVwyqdFIJZU0kmsq8DEm4kFUBLToUt3mTNxauQGMLyyv?= =?us-ascii?Q?aez06cvUDsuHZolV+aspq4wTfGwN/KvXPW3ewwE5+UCfdXAMaaHhi5ED22Bw?= =?us-ascii?Q?tjW0qCBxpCMvkaBYBIE/FjH6F0fJh7SH3ZmH/7UwBNllkTEDzx5mws+5O3Ns?= =?us-ascii?Q?U3Hfv8Ypn54dgbRNYkds/VmKW9XWFItQD/Z3XDAZX7R0y42cxUxiHqWFG7FT?= =?us-ascii?Q?whKa80qXZ4jz+0LjUCbhlv6TEL2i1HS8TFK5LtI4aOpSbHFvPXOrq1jml3sz?= =?us-ascii?Q?wLV7Gv+feMpp/n+O2RA6A/Zdvl2kjUq5GUniZIsiW5AY6onXI2q6Cec7CMeU?= =?us-ascii?Q?srYTmbOyOg1lGkisWFlKYUeL5kXveGz5cnXXfzk2eB+JFcvdkBY8FuBTHZfV?= =?us-ascii?Q?XyrN+GOTCVtMU7v1ayhJSYPO9QhTw64HjG7SGTy8O0WrZZMVp2fuWwI32y5Y?= =?us-ascii?Q?ipKpTjeplbOXNlLtentTY76IWgyeMk+pY6jLGgAeOqXoEP9/p8HcMtVndko5?= =?us-ascii?Q?yeN/GFu/oWRcWlYk4wY5Fnd/UaYcyjdZBSTX8o7xQxMmPd9DsBD/fBBwnYrg?= =?us-ascii?Q?sUZ5sCwKgFMKfxGhuPPAgDdF8rNnyJRNrQKf/WoZLVxNI/OqecsFgxlOgDLx?= =?us-ascii?Q?bgUff8QSbC6yn0qgDr04QFDG/X3+T1ANjo15QQKYgoKxeJ7NqxySgWMfdArt?= =?us-ascii?Q?4w=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: yXCmaWTzqNnYNAipmghF1ZxycOredDRLTy8AV6Y4KwZWnkwFxCsrpIOir+biihKrWw8r845wgMdAMwwuo9wWUA206l8rDdgCQLLcRox4uXYIYEBlTPKuLg/jTAV/3D07BCe3b7yyL8odew3aGuWZCibWRtyptzMwAXdgIaJLQoUbKj6jJ1PLaqQMaZEN0oL7A2oSziKYwi1whsC006gdBvCw5jklHzTXK+XMObnIPMnvIUc0LWeYp/7Felz6/CcyaZu5K/S7Z6NQoterh6X3ARNdJ70KgnE+Etf698lA6OpT3LLlUVCAArfmQb8VpzI1GxlgI7m7Uu0b0qCDcB/qXLlYlHIrYyE+DJ73YJFOXf4Ophnw0HjqTYIRnOOqsmEJlIzNc5Uy/nNSS/W/vLN91lXxnmulJ1ZIHF7Le8UfiS+taf+0R4JY7JpcOQxyRkUmxSAWybf54vDH89mPfuR8fSwNTJEfKDhylbYuaOa5Dviz1QOTKBDLBsjlaMb0Wjo2vz8+ZpQinmdTO6zPHxYKhM3QLqYyhHTp+MVio18fuA6osS+AUrPSXLd+6LOXu7AZ1Lnq9OHWO+mP2O1IX/O5DiWVgjoyKvZaaKr3pdNCODU= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 258883de-af4b-4199-0371-08dde6d324b0 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2025 08:07:48.6561 (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: yXB+zd5Z3O1EwxTwLMmcFYwZpjYTAMJ5GsNCANJJq/gk3mtwZCyyOG7ngxL5SfXyMZYGyaUbwWDXfEy54Sz10OLkDe2iK/SQ4u1QSmc36bM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR10MB6008 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-29_02,2025-08-28_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 mlxlogscore=999 mlxscore=0 bulkscore=0 phishscore=0 adultscore=0 spamscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2508110000 definitions=main-2508290066 X-Proofpoint-GUID: Qtd_DNLNdjQS-2vVJa6AxcKVu8cFt8He X-Proofpoint-ORIG-GUID: Qtd_DNLNdjQS-2vVJa6AxcKVu8cFt8He X-Authority-Analysis: v=2.4 cv=NrLRc9dJ c=1 sm=1 tr=0 ts=68b15fda b=1 cx=c_pps a=e1sVV491RgrpLwSTMOnk8w==:117 a=e1sVV491RgrpLwSTMOnk8w==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=2OwXVqhp2XgA:10 a=GoEa3M9JfhUA:10 a=pGLkceISAAAA:8 a=VwQbUJbxAAAA:8 a=yPCof4ZbAAAA:8 a=QE5vJokERNvXUz0tDGsA:9 cc=ntf awl=host:13602 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODIzMDAzNSBTYWx0ZWRfXzxPFH+FWp9d3 zH8B8nWwC2GzP+wqES2YCxH0ip4hLKqRPJpxfZPKyxlCe2abQNGaBmbFBnl6eKTp8ZYymPo0S44 xTGJkgorbq8oyUjkCRsLlxLdhtJYVXVcdPyR70JlnrTGQ5zDzwJsbOQs0RowLM0MF/qRojjG9MW V7MWakKhifXxYDdn7ArEFki3h9LZuLATdXq873bHo1tZioSz9vS4wqWl72vtxcaV3NKsFsaf1pv t0rf40/5mINiJp+VzhyWDv3dpT5V3l1wf64Q2OAcLCk+li3E8e3u3Y5twINNOxVTBupMPUMu+fu 7tEYQyMjK99Vx2i3WzZesHMdT7DMSW0vc5/AtiR8Guz4JGuyJgCTxxcJrBrJvTcBO6oqzusSraj K1vBCfKlpARfuuj428V9VUoBpQdK7g== Content-Type: text/plain; charset="utf-8" Use smp_cond_load_acquire_timewait() to define res_atomic_cond_read_acquire() and res_smp_cond_load_acquire_timewait(). The timeout check for both is done via RES_CHECK_TIMEOUT(). Define res_smp_cond_load_acquire_waiting() to allow it to amortize the check for spin-wait implementations. Cc: Kumar Kartikeya Dwivedi Cc: Alexei Starovoitov Signed-off-by: Ankur Arora Reviewed-by: Haris Okanovic Tested-by: Haris Okanovic --- arch/arm64/include/asm/rqspinlock.h | 3 +++ include/asm-generic/rqspinlock.h | 4 ++++ kernel/bpf/rqspinlock.c | 25 +++++++++---------------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/arch/arm64/include/asm/rqspinlock.h b/arch/arm64/include/asm/r= qspinlock.h index a385603436e9..ce8feadeb9a9 100644 --- a/arch/arm64/include/asm/rqspinlock.h +++ b/arch/arm64/include/asm/rqspinlock.h @@ -3,6 +3,9 @@ #define _ASM_RQSPINLOCK_H =20 #include + +#define res_smp_cond_load_acquire_waiting() arch_timer_evtstrm_available() + #include =20 #endif /* _ASM_RQSPINLOCK_H */ diff --git a/include/asm-generic/rqspinlock.h b/include/asm-generic/rqspinl= ock.h index 6d4244d643df..4b49c0ddf89a 100644 --- a/include/asm-generic/rqspinlock.h +++ b/include/asm-generic/rqspinlock.h @@ -247,4 +247,8 @@ static __always_inline void res_spin_unlock(rqspinlock_= t *lock) =20 #define raw_res_spin_unlock_irqrestore(lock, flags) ({ raw_res_spin_unlock= (lock); local_irq_restore(flags); }) =20 +#ifndef res_smp_cond_load_acquire_waiting +#define res_smp_cond_load_acquire_waiting() 0 +#endif + #endif /* __ASM_GENERIC_RQSPINLOCK_H */ diff --git a/kernel/bpf/rqspinlock.c b/kernel/bpf/rqspinlock.c index 5ab354d55d82..8de1395422e8 100644 --- a/kernel/bpf/rqspinlock.c +++ b/kernel/bpf/rqspinlock.c @@ -82,6 +82,7 @@ struct rqspinlock_timeout { u64 duration; u64 cur; u16 spin; + u8 wait; }; =20 #define RES_TIMEOUT_VAL 2 @@ -241,26 +242,20 @@ static noinline int check_timeout(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. + * Only amortize with spins when we don't have a waiting implementation. */ -#ifndef res_smp_cond_load_acquire #define RES_CHECK_TIMEOUT(ts, ret, mask) \ ({ \ - if (!(ts).spin++) \ + if ((ts).wait || !(ts).spin++) \ (ret) =3D check_timeout((lock), (mask), &(ts)); \ (ret); \ }) -#else -#define RES_CHECK_TIMEOUT(ts, ret, mask) \ - ({ (ret) =3D check_timeout((lock), (mask), &(ts)); }) -#endif =20 /* * Initialize the 'spin' member. * Set spin member to 0 to trigger AA/ABBA checks immediately. */ -#define RES_INIT_TIMEOUT(ts) ({ (ts).spin =3D 0; }) +#define RES_INIT_TIMEOUT(ts) ({ (ts).spin =3D 0; (ts).wait =3D res_smp_con= d_load_acquire_waiting(); }) =20 /* * We only need to reset 'timeout_end', 'spin' will just wrap around as ne= cessary. @@ -313,11 +308,8 @@ 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)) +#define res_atomic_cond_read_acquire(v, c, t) smp_cond_load_acquire_timew= ait(&(v)->counter, (c), (t)) +#define res_smp_cond_load_acquire_timewait(v, c, t) smp_cond_load_acquire_= timewait(v, (c), (t)) =20 /** * resilient_queued_spin_lock_slowpath - acquire the queued spinlock @@ -418,7 +410,8 @@ int __lockfunc resilient_queued_spin_lock_slowpath(rqsp= inlock_t *lock, u32 val) */ if (val & _Q_LOCKED_MASK) { RES_RESET_TIMEOUT(ts, RES_DEF_TIMEOUT); - res_smp_cond_load_acquire(&lock->locked, !VAL || RES_CHECK_TIMEOUT(ts, r= et, _Q_LOCKED_MASK)); + res_smp_cond_load_acquire_timewait(&lock->locked, !VAL, + RES_CHECK_TIMEOUT(ts, ret, _Q_LOCKED_MASK)); } =20 if (ret) { @@ -572,7 +565,7 @@ 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) || + val =3D res_atomic_cond_read_acquire(&lock->val, !(VAL & _Q_LOCKED_PENDIN= G_MASK), RES_CHECK_TIMEOUT(ts, ret, _Q_LOCKED_PENDING_MASK)); =20 waitq_timeout: --=20 2.31.1