From nobody Wed Oct 8 14:18:29 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 4E7961D5ADE; Fri, 27 Jun 2025 04:49:14 +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=1750999755; cv=fail; b=QFnIQ84EDrz8CK5IwbqkAVPtnUpILr56eSh4paHpM15M38fmbQhviwaxQfmY/UzBwuVOO3TWT/HuVcoVYiXRt8LmVsFtxCdEOHdHkALqwDgbPzONnkTrLe/Uq3FVOXoYmZdw5l9uwSnV8qLbPIhDrZb2lBmVY14QwgP9jNdxWL4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750999755; c=relaxed/simple; bh=pb9cRm/6N8yxWXY2ZELrfAKEXbw/inHKtwZZ33xgzGg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=G8XaIUXgRcajV3V94ewk2m7519bm1lVSWlABBOtv7FmXeHoFr1AUEFF/XEuU6v6+Fsely+i9CpZOlCHkI41VAo/TlQB1fZ32nwJdWAroyPvga+O0UT6m7a/2ofXM6nrTCl4g7GuM20rl2G638xNQJ7W3VpHhcmlLDKKYtCAr5wU= 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=mvJtzdaW; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=BEjoMbmW; 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="mvJtzdaW"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="BEjoMbmW" Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 55R4MgBG021044; Fri, 27 Jun 2025 04:48:22 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=PIpO2pSryzZzsKv/V49Auip2rc2IAs+jLqNbmVHUypM=; b= mvJtzdaWfYZIP0ZLkjQNhDvvgIPsKx7F0vWvylaJNfYJP81q0eumubrbdd8DdpAg uU0DiKCnhXOiQaz2Q/hrIWMsrDXSfYFzfqCXznEwABK1LtN7YsBUjynsf6DLydkO GWHT1QpqR2AGSBm23CpDTooW5va0BLw1hNbPikO+oPURRB2n2EO+MNVOnVamhpfn 8IkNldthgRvMSS9POHMqS45W9/m/bBUHDC9ZfB+ULjHHlcbpo/CQ5XVCRtIGxUDb 3InlOQKgmCWu17YdkpHhokuSHe3YxQYxtqopox0mp3jxOdOU4YmgzyBoKUwnMBVx iOQP0DObF6KTHUGba7tWKw== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 47egumt5th-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 27 Jun 2025 04:48:22 +0000 (GMT) Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 55R3tESd002527; Fri, 27 Jun 2025 04:48:21 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12on2064.outbound.protection.outlook.com [40.107.237.64]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 47h0gvt5dm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 27 Jun 2025 04:48:21 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=glRf14y1YbARRodIeZ+f2YIuu47Bup3IEMGs2bx/GwmxjmU3ZTBUvh+lZamLy4Lix7GPGM+vdb2XdCnuPeF4r8KTPuNlg9d0isOtorDIjYJ1NDemgiKKjFqnAghPRLVBBDgrsWbD7YlGZdHWT2V+v9jUz7heVypr5v/um2DXzN5ZRiKj1xi5e3kDPT2GKjzC/T6pIyqDZuyEPDYElyXXVk+aQUY7DlsLODOO1jyoGeFNB9tA8FzYALNR22UmHwjStH9xD6PMxStqp6JaYiM3PxSgGvbCG2aO9Ub6wKwpz+RN8sGqHNRFxuc6/d6qB4KIOZadkv6qt4AaZ/QgSErI7Q== 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=PIpO2pSryzZzsKv/V49Auip2rc2IAs+jLqNbmVHUypM=; b=oZpHD+DqYZ7OVzPahODLk67e9nxnkHVwMCJ6EMZDQBedH2DiejpJZllz425eVEzevmLY9B18SoV0vum8njTtjF4rhvisNQaF16pQ+6jxYJjokyLTjU1eKHQqaO2J0CG+xEV2+bJsjDPGaqUbHDZhneJOOnbGd/S+D13qkkG9k96kU7PodJNcstuj9NHaSiJlSXJUCJtbhNdRFGdum4dkQ4REsAlh+k/HYnE4A9H6q+1OzkbMx5rpPm8SdJuRf+hHaHE264eRNO3YLWrJ7gAZITVbc+W3gie6Grr+7H06vuciANu2eZ0bqUiy1/JwBh+UyvYuBd7BDxlzyBbIeU0Uxg== 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=PIpO2pSryzZzsKv/V49Auip2rc2IAs+jLqNbmVHUypM=; b=BEjoMbmWiGS75HA+0sD8v2kfh1Tlo7l746KBZrkgBOy1X0xL9/kXNT6wYR1ZhPo1c4ZFQvoToMF+3oHEZzaARp+VWiWjzG5F0L5HPJe8+klhrQWUqtaEfqM78r/5yor4dJioK8WyJMG0ef/4M8DvfSwOcEjQ21VfgS1l5xHd+WE= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by PH7PR10MB6335.namprd10.prod.outlook.com (2603:10b6:510:1b2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8857.23; Fri, 27 Jun 2025 04:48:08 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574%4]) with mapi id 15.20.8880.015; Fri, 27 Jun 2025 04:48:08 +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 v3 1/5] asm-generic: barrier: Add smp_cond_load_relaxed_timewait() Date: Thu, 26 Jun 2025 21:48:01 -0700 Message-Id: <20250627044805.945491-2-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20250627044805.945491-1-ankur.a.arora@oracle.com> References: <20250627044805.945491-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4P222CA0030.NAMP222.PROD.OUTLOOK.COM (2603:10b6:303:114::35) To CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR10MB5409:EE_|PH7PR10MB6335:EE_ X-MS-Office365-Filtering-Correlation-Id: c621102a-4767-4fea-afde-08ddb535cfd6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|7416014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Fq03rPrl9cH+PuBUHSBvzU7Hf3qY6GqPMCowrhtCIJPVGcp3crJw/OBGiWxu?= =?us-ascii?Q?5HPbB5lUJRHqFuGlElQXVSNngJ3/9RazlVZrUaulYbVcfYI6LXokm72UjBam?= =?us-ascii?Q?74lmkzXTdoSQ1LaZ1AJ3v64fkLKiEMVN1+lmWP4oLi9ClTGXDv08Nx0H9qUG?= =?us-ascii?Q?e9J8hQ3oKNL6xpvu0FNEjws0YIxNuFY1t96KALHjQ26G9lRw0/VI3YBDpdGl?= =?us-ascii?Q?v78k4ghVW3CNBpmRalrDX7THAuIQPkrSOqDSwqezv22WebdXb4XokLTqYWhN?= =?us-ascii?Q?1ENhS/wSetg3P1ZjRQmysz6jnTr7lv7kY7EFaN3pA40k4Yu0TI0CsnbmRYgi?= =?us-ascii?Q?4NSjsmNbAaSCcOFhLubhWwSkYr06CaBqjOUSulBl1C6Vf7ezkJgj6qiuZhyd?= =?us-ascii?Q?iXAPZgByLlyFOImsp4g/6qFnSDX5reNWSO+JMBlrrRfeyYVfrbXelw9z55Cd?= =?us-ascii?Q?0Vm9EZo0re/ht6C7Zb9mQE1zZwZ0P1016KAYP+CUEPPaG6ZaZuFVLchbJyvW?= =?us-ascii?Q?v76ysnqRBeHpOUSZzfEHo3371x0lLdw1ATaj5yGIh47CwAK7/YYNGH+yb+lG?= =?us-ascii?Q?JJY5SCuKeqxETbZfMTdlgaq/SzXTH6loTXx1BAb98utTIyNQwixxRumPpca0?= =?us-ascii?Q?RhqHL3oNGwYAojpyExuiwmXU5LY8K0mso7SLMVXWOfqVc+Egj9NbQoB9WSsv?= =?us-ascii?Q?dw9zSmsAzuMv4O64dPPaNDWTX144tD/x8MgWiE6h+XUMPbpJtfCfPUIEwzel?= =?us-ascii?Q?SW/TdgbPFnWP9RGFQwPO+n1RhPoR4+QKfYgGulh2gZkAiR6KZGjFRoZ9Deq4?= =?us-ascii?Q?zOGJVfTGlpsyCP+otm1wKgwb18CuKDg1pYxuwrGPXhQvi5+mHxhCGKlehZbC?= =?us-ascii?Q?GzvOPGJuk6IVbx7Qyh1h5+czC6JV/mzbtwSTxpz3VwxOBndnHsVIIoou3KtJ?= =?us-ascii?Q?skmwY0t/cdv5ogcu+/O//HavQSFSLDn/ylpNuSrv/fW1FKRj9Ma22zy0Ytwy?= =?us-ascii?Q?ogr2vZuWsW6C/LVgQJHGINRN7hdaJ0bUbxIioBrhQGryUC2+0BM6gWj95Qzh?= =?us-ascii?Q?UuDSKVY34JDpuygZHONCXYXVg/RA9Fiz+0BVWXQRq0MPt4pPYYYMeWBndkIC?= =?us-ascii?Q?9N5tXupwo0BQ59ONi9gTVR9L9V+/0OpQ+S+Cq7U2hT+vt9rky18JMN77G5fN?= =?us-ascii?Q?Z79qvT+fOQuggw/G9S6MSOHlw0pAMz5we5bT2QBc9L1YAncATdnFq8rMf1hy?= =?us-ascii?Q?BwasvVAwfpRV/mRrGTfvHor04GYcFtHXlgfmyXbx4EXA+fZhOqOjt31wOHU8?= =?us-ascii?Q?P067MtcG5uCcrTCjEn80NuRvC/wSyuI8DfJSlWN8mA1eSU6483rmZLX3ZAZu?= =?us-ascii?Q?ObgDFzvjAQhsfFCkRG8D7ElstkecMwKJFVqTphmQAKlE+cCX/zBqFEs99+qq?= =?us-ascii?Q?OUC6qP2c26M=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(7416014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?uSPz0TkCzZaVH+ywl/rccjg2222dQBxB6qHyRQMz8AqqK/rWC6l94lMAt93y?= =?us-ascii?Q?o/1tuJzsJ5DhpRVyN0EbrqYw4li9MnAMsafTEaBVIR/dC5puGYV189GahLdv?= =?us-ascii?Q?T3rdZiZQaybC2TCHMtzUN+43TEMV8ch9NiJmDzwquXQoP+LBB8P2UJRL9ZiQ?= =?us-ascii?Q?QISz1vA4IUTWpF4SVfvnGH+S2Kz04XYwsXmybSdCQHbh+e4g0Our28vwzDRR?= =?us-ascii?Q?0JLsS+Q8eEfBbwnp22uN16yOoBm/HcVO4B2zD2jCPyZerosoD+pznts7mtkW?= =?us-ascii?Q?n/kKwQc9o22l0WFo1nv7sOd/OSQ3ZZ+OJboiBOxX5khA2I7j4vTs6VdclAnr?= =?us-ascii?Q?kRI6hPL1k9GbrNfNOd3yWZU3l0PzlejqKZ7aaMdlBMorodXAa1gjlqdt/GR9?= =?us-ascii?Q?m4/M+Pr5bQ2WouHDFr542GeeSLXQxJo/g+/A4uAk2vu7DncU00T3YMAuWCSB?= =?us-ascii?Q?+NnazKPR/3x9MpL4QdKJ5Hi2QpPlz75vYoLF8w8ejEOjHTPHWXwyl0w6JdXI?= =?us-ascii?Q?7wfbLgfL+7XSGu4UQ+qboFA0W9MgsjMdfE0JgIjzZgHj0ksQo/8oZ56isnjk?= =?us-ascii?Q?CRtjTootjgDvUJUYHUcyu8mhkw9tPIqd/RVM7OdWx32sYcuGjsKSJRtNCDLM?= =?us-ascii?Q?/T1qehGvf1rlti8RHlIAWpYElLUlwoFZ94J/yFHA/1CvbXeNJ8b3kRg0huKy?= =?us-ascii?Q?JzPGmmQdRUfeKrv5AAEGR+rOFyQS0H3VnRirWWSU1yq4+sjflvItvystPkBX?= =?us-ascii?Q?kUBSzvLAP6FxMqFgmg2VMwbn3UpP7Lf6ACxvZ1KMkq6i5jrVDJAMIkMTgGSx?= =?us-ascii?Q?kqHM9Kv14a5TgEAE6lufPu0EOpwQ0swB0/l3AkWMdUlH3mZX4DQP3EPhaeW3?= =?us-ascii?Q?VDeEwTqbrxvwrGN7hRRCS7EB2iTKXp9lJmHX6VOeveuQTGOJ2YgTS5NSdxKU?= =?us-ascii?Q?UUpBjONiGGS5qDksahtfJsIzuVMfzfe6Q6rR11VQ5EyUhyBeStW0glppAo/H?= =?us-ascii?Q?2RI3Q5k82Pxqr8zqhVnND9UTQXZcXqAxt+iYFt1XDTERX2+nms6t9sbRcD/S?= =?us-ascii?Q?CMbM77Z/V0/ehRH3aauMAoqjs/PkdP2qgiUyPa0YF/T6jHjD+e3hU87P0XyB?= =?us-ascii?Q?UG6Q+8LGbBUc9AmA0Krv9xZJgj27mKN4x20tLQr87qCsEGwxqLoZZIRGSXBk?= =?us-ascii?Q?CpJebJTIHnnEfZEFoSsgtFlYH+hBeI8jjE65Mb9F8n3kkk6PmfDDGSlS9cFU?= =?us-ascii?Q?CNztng/J3OwdzipV6b6bN8A0pdFH2IhG8f0pRtQAg3cv4XPWq1RS2liH1G+/?= =?us-ascii?Q?ZxGgG+/9tB7uqYDoOsoMFFzUC1jdki8lsYF8UuLT3QgMjq04L0Jp9v5XrIVh?= =?us-ascii?Q?kgrQS46o3F+tBPVvzr/iI1Nm2vg2VhS9KQDzIsgjXVq2rd7khacLlt9UyJNz?= =?us-ascii?Q?FaC9kWMkqgAY3hbtzUKGwJG51A2Dy6lf6dnE3Ok00WyVedb0dKVrEqVl4RQL?= =?us-ascii?Q?uXTLmnHnty9cJyy6zFQbVfVqkFMcY5q/6X2RCrgre6wIEHDRM//aZYbHDglB?= =?us-ascii?Q?x5LS6W6wx59FhFFrnDqvnNXAraa3Y6EvxXqxzUVaiExaiZnFtnJrdU8yp8Py?= =?us-ascii?Q?lA=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: ITYWs9Ymmej4aU4PfLI0gWqc29XrcREgpr7gjoCWZmgyQZaUGEJ+hRCXpbbkmA58DbyIPePSHPVM2EJ7CuIJ6dXO9jRup635vHCq1mQ1+RJkDu6Y1KJ/m/GxxQG1Iw6Z35vtXt8grZQZ7MbcxA+X3RXZmJG4lK5/fkpRRUyCIp5flp9zrhl4Xw9g4hGgewwgOuEXYgG6Ss72hOC26UwlIbo6DH1oIM7XHJGo3UDdEwtWi1eGAeBvOXXcmKEwAJsVs9c3tRdrf+rFC105+7pOszQm7QUO8lyGRMtjeKdP/fMIJKUkYXHWnUdCJ5aHgWkvB2W0QE4aw8WTn/uIgSifNYf49LpRZlgz5LrWwFZOrfYqvChqTpL33jregziNRaqOTsMYCM5eqCIPzl1mTQ7PRTISs3ntYqptUqJj7JdcEH4Z/yAAHZ4VG0AjYCe5tAbJ2UKLKi91xJk8+Cicxuwllxwh9t8tXXSNtgyk5OOn7lE1MIMhTXCdZPRBq+NOlIfvd+P4FFiNhnlQlKNR0sJgCDLAxqKjT6h8wsgrI5STjhi1LikXGAIMuwjhArI8NTQFlwWn/rAmamoDpONBD0ogah8Ez9C92RJnhBmi0WdDCB8= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: c621102a-4767-4fea-afde-08ddb535cfd6 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jun 2025 04:48:08.3561 (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: q9b+Fh1jDSymJZ+sSUL1pxzBSUNujlH/5rvLxHtRW43aB3ZjV4RoWWyt+cOUeBbDnDVIsRBTaP8so66Onz+iBD59lL9mzhDnznwMFq/Hcfw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR10MB6335 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.7,FMLib:17.12.80.40 definitions=2025-06-27_01,2025-06-26_05,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxlogscore=999 suspectscore=0 adultscore=0 mlxscore=0 malwarescore=0 phishscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2506270036 X-Proofpoint-ORIG-GUID: V00hLxSKZySS3p2NZOdCL4qnObNRfrC8 X-Proofpoint-GUID: V00hLxSKZySS3p2NZOdCL4qnObNRfrC8 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjI3MDAzNiBTYWx0ZWRfX5ydrWpwz2jwy WX5qpRLJ+nM6xEFV1sq7vpsrfLVIiQFG+I/ZP8xpzBMOP9Q+15+myebDE7hnurdnSPyXlG7Jev0 IY5lBppDOzbHktRBHXoTOcADGl5LYVTftUuvx47gRbIG/r+v7RCUkPQSleNNvdDY/N9PK9H+Fc0 abTKPvbNk5sqL/NxpB0RkdR17HBP7xs673XdXMvrqOEdBhc45MLRuWH4IpVOavFW78KYdSYVuNj zqY9KZdBlo9maz1+YmDiVIJoMTkmUrkk8W2L2PSVLb4rSSB8SURDKinqq4+EdFSmJTcarwpY0Va oNWrkt2vMavneDatCQgNeDsWUpta2WZZwkYWB4TqJnuCi5z0lXOt0YsVUyICgK8bRHVeuxo3MTq oKzqq6jJtc/U79aDDwTeR8eZv4lD6aXRgxZfc3af//+tG5EgVvhnlQkw+iFc4rfjXXiym+wv X-Authority-Analysis: v=2.4 cv=S5rZwJsP c=1 sm=1 tr=0 ts=685e2296 b=1 cx=c_pps a=WeWmnZmh0fydH62SvGsd2A==:117 a=WeWmnZmh0fydH62SvGsd2A==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=6IFa9wvqVegA:10 a=GoEa3M9JfhUA:10 a=VwQbUJbxAAAA:8 a=7CQSdrXTAAAA:8 a=JfrnYn6hAAAA:8 a=yPCof4ZbAAAA:8 a=u0DmsER8SBkY_eRhmPgA:9 a=a-qgeE7W1pNrGK8U0ZQC:22 a=1CNFftbPRP8L7MoqJWF3:22 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. Additional parameters allow for timeout checks and a measure of how much slack the caller can tolerate in the timeout. The waiting is done via the usual cpu_relax() spin-wait around the condition variable with periodic evaluation of the time-check. And, optionally with architectural primitives that allow for cheaper mechanisms such as waiting on a cacheline with out-of-band timeout. Cc: Arnd Bergmann Cc: Will Deacon Cc: Catalin Marinas Cc: Peter Zijlstra Cc: linux-arch@vger.kernel.org Signed-off-by: Ankur Arora --- include/asm-generic/barrier.h | 95 +++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) diff --git a/include/asm-generic/barrier.h b/include/asm-generic/barrier.h index d4f581c1e21d..d33c2701c9ee 100644 --- a/include/asm-generic/barrier.h +++ b/include/asm-generic/barrier.h @@ -273,6 +273,101 @@ do { \ }) #endif =20 +#ifndef SMP_TIMEWAIT_SPIN_BASE +#define SMP_TIMEWAIT_SPIN_BASE 16 +#endif + +/* + * Policy handler that adjusts the number of times we spin or + * wait for cacheline to change before evaluating the time-expr. + * + * The generic version only supports spinning. + */ +static inline u64 ___smp_cond_spinwait(u64 now, u64 prev, u64 end, + u32 *spin, bool *wait, u64 slack) +{ + if (now >=3D end) + return 0; + + *spin =3D SMP_TIMEWAIT_SPIN_BASE; + *wait =3D false; + return now; +} + +#ifndef __smp_cond_policy +#define __smp_cond_policy ___smp_cond_spinwait +#endif + +/* + * Non-spin primitive that allows waiting for stores to an address, + * with support for a timeout. This works in conjunction with an + * architecturally defined policy. + */ +#ifndef __smp_timewait_store +#define __smp_timewait_store(ptr, val) do { } while (0) +#endif + +#ifndef __smp_cond_load_relaxed_timewait +#define __smp_cond_load_relaxed_timewait(ptr, cond_expr, policy, \ + time_expr, time_end, \ + slack) ({ \ + typeof(ptr) __PTR =3D (ptr); \ + __unqual_scalar_typeof(*ptr) VAL; \ + u32 __n =3D 0, __spin =3D SMP_TIMEWAIT_SPIN_BASE; \ + u64 __prev =3D 0, __end =3D (time_end); \ + u64 __slack =3D slack; \ + bool __wait =3D false; \ + \ + for (;;) { \ + VAL =3D READ_ONCE(*__PTR); \ + if (cond_expr) \ + break; \ + cpu_relax(); \ + if (++__n < __spin) \ + continue; \ + if (!(__prev =3D policy((time_expr), __prev, __end, \ + &__spin, &__wait, __slack))) \ + break; \ + if (__wait) \ + __smp_timewait_store(__PTR, VAL); \ + __n =3D 0; \ + } \ + (typeof(*ptr))VAL; \ +}) +#endif + +#define __check_time_types(type, a, b) \ + (__same_type(typeof(a), type) && \ + __same_type(typeof(b), type)) + +/** + * 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_expr: monotonic expression that evaluates to the current time + * @time_end: end time, compared against time_expr + * @slack: how much timer overshoot can the caller tolerate? + * Useful for when we go into wait states. A value of 0 indicates a high + * tolerance. + * + * Note that all times (time_expr, time_end, and slack) are in microsecond= s, + * with no mandated precision. + * + * Equivalent to using READ_ONCE() on the condition variable. + */ +#define smp_cond_load_relaxed_timewait(ptr, cond_expr, time_expr, \ + time_end, slack) ({ \ + __unqual_scalar_typeof(*ptr) _val; \ + BUILD_BUG_ON_MSG(!__check_time_types(u64, time_expr, time_end), \ + "incompatible time units"); \ + _val =3D __smp_cond_load_relaxed_timewait(ptr, cond_expr, \ + __smp_cond_policy, \ + time_expr, time_end, \ + slack); \ + (typeof(*ptr))_val; \ +}) + /* * pmem_wmb() ensures that all stores for which the modification * are written to persistent storage by preceding instructions have --=20 2.43.5 From nobody Wed Oct 8 14:18:29 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 8D0FA2AF1D; Fri, 27 Jun 2025 04:48:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750999741; cv=fail; b=LhLSBAKA5UA6nGBJ4ayAIegESGYT2Ve6vq32BGrxv9UWJg7z9u15x7mS8WJmb0fcAeWlZwrZc2tGb58SC6Nyvg2KSrH89VfnIX7ServzDe5yFwLDmmV+kmAw+fybDKvwKJDxCF11CIGziAjpYaCIs2ACP1C6ZnoC8MAyq22WmLM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750999741; c=relaxed/simple; bh=T7YbnSeuku5cRnWVQxDwoerdOm1ggLpXDKPvDvTxAm8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=jMJ1dvjH5PLyI9QuLN1wZCZPt6MZADOyTN5SHjIzhZhKrO4C3rdLJdOkBkKvULcbZu9CUXZwpA++tAdPQ0eFpT0jbpNT3iKxf98bOQZ6mkdQw+718GCK6RZYO4pQNEXP3nesS/YYGLiES/ZU+PDF/eI8YVlhTvSq1Z+cQ47haQo= 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=h4SKCba2; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=NPUafBNn; 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="h4SKCba2"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="NPUafBNn" 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 55QFtlRk008344; Fri, 27 Jun 2025 04:48:23 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=4DGaY6BqZWj+zyTfk/h5ijvK4OC8kjnSLoGT/+hEOPU=; b= h4SKCba2ECiaf/PV9Caax9yqaU84h+vqLuhbJNn7CMcnA2I9vz+20JM/VqxKZo7p 5rXC5m+bc4Unlj7YwaIIipnODIFvX0WJyTgIUay+5k+l7iBwmOOLdRYzF3j/8872 i7oyHT8vUVUcSJf6upw8LwU1nTvk8axHwqUI4fXi9l/6GFzbnOPohc0L4PzGSMSz kX6mgfEnLxXDBP253z5Fz6VdC7v+ouj9ULcGCIZQoiUaFZceYyDKK0pBQkbwxdxc uoBoB9eMlW3yhSy0WIymfoeJwWm/pcW34D8jVd6UV23y6WG5DWuwFII0Q5GylYmy QD24S6U8aFgWQ9wYilWjhw== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 47ds8yb6n7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 27 Jun 2025 04:48:22 +0000 (GMT) Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 55R3tESf002527; Fri, 27 Jun 2025 04:48:22 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12on2064.outbound.protection.outlook.com [40.107.237.64]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 47h0gvt5dm-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 27 Jun 2025 04:48:22 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Flu4Zv+JL5z4kjXC7pnbSp4yHXhHYZ2grTlFur1BfEIyLy70CChX6/opKOVbgOGJ9Wkf/rZyrMM5u4EwCFVhXahM/0Q6t18z1LbMWmgIdXbC4cfPaM9UE/8MsS4mjjBZtdVzIlqcGTlBJ4374lW0sm3SQbC1lf8XmK9PH4Jtpo95jBbZYqVtdHHRpW6LnIgDhityXEW6T4ydVffD2DAvNSMSvscCAc8nduyKGtno7OvDmqnUoxf0nj7NVZ65nXq+IEduRnfsnv8u1HqcSEnkPEKJapkIJBTy3tEUDs6/Fnisv0ojuTgGoYXsBH18SrqPB5fL68+HAjrfjB1Tfq6WIA== 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=4DGaY6BqZWj+zyTfk/h5ijvK4OC8kjnSLoGT/+hEOPU=; b=qeHiMIriEfA8R0DbiHdSFcmzYYF4cxOvsRQ6qHF1tknx0McYes8gPIBOYKVdXsRqq1n4tNij9atIYTtVo1KzR9jdpoqdvJJz/72Y5Rgi/ygQBQMbZ47wQddlcflQWPyG5heOdZCkJKCvKJnKE62+1gdulJXorCn/H4+4VGc4jM6ibSqgQ9qBD9RVRR3bWZ8yCYlXQjPVx4h238uU7TlkC1p+HYM0sV0Vzf82/DKLkNAHkCL3cZ8Tfd32vylzd3duVIjRkUPPJistsY6s/Z6N22BQTRebGQaYwKa5t+KBhSXQLTSF+E3s7fqltDZdzZSwhaQrZT5AnbEzb8iwC77eNg== 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=4DGaY6BqZWj+zyTfk/h5ijvK4OC8kjnSLoGT/+hEOPU=; b=NPUafBNn4XDRY6Yu9QTUlWmUT5aYeBKAFyZNWSCy7g/ijZVLGnsaSwh1PsvTSx3RWEmUAqRnMsii9qgkk3FEtnU6X/RoLCowiP310EGRI+G+58mqGX0S7B8kMAyMObV9Ed4c0iBeaODHKgtTZjoSRke1Z9bCmM1seILOBPGOCeU= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by PH7PR10MB6335.namprd10.prod.outlook.com (2603:10b6:510:1b2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8857.23; Fri, 27 Jun 2025 04:48:10 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574%4]) with mapi id 15.20.8880.015; Fri, 27 Jun 2025 04:48:09 +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 v3 2/5] asm-generic: barrier: Handle spin-wait in smp_cond_load_relaxed_timewait() Date: Thu, 26 Jun 2025 21:48:02 -0700 Message-Id: <20250627044805.945491-3-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20250627044805.945491-1-ankur.a.arora@oracle.com> References: <20250627044805.945491-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4P222CA0003.NAMP222.PROD.OUTLOOK.COM (2603:10b6:303:114::8) 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_|PH7PR10MB6335:EE_ X-MS-Office365-Filtering-Correlation-Id: 870b3ce3-8fa5-49ea-fbc1-08ddb535d0cf X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|7416014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?+ncACqmcFgqUtvlFl3icKCBzpOCL4dZRD4R4FaNjKMCdt3DzInXl1gGQfXNH?= =?us-ascii?Q?TWw7L8vS9FjAhkY1yxgSnch9F4mLhEiZjH2dbB4ZiOH2wAUPl4hXtJJTRyoi?= =?us-ascii?Q?TuKLvGCiprEoxh5vIEgHcOVRNktdPLzuNlQ/w/GudYVjFRAu51z6QChxWpPg?= =?us-ascii?Q?dWUIF1EQOFt9WWoNbn/HyWwmdOHsqHkzwAhKO4HDoHUyX3B+Bp7O9QguaKzL?= =?us-ascii?Q?xaIoCILGjagRemNO5rGDJLnegwa4ur+Q8AE3ZmFJG/G1WtQ71X//903kmoi/?= =?us-ascii?Q?f1Rdu+k58Li4l+a6ewHVttlFHYB+omNJbmwzi88zFDVQf4V79J3LpEzwvsiU?= =?us-ascii?Q?3zozRfNG7XQ/c44s6EP2tPrt99PH78OWAstVBt+wRwvmqM53Z0mk7QoHaDv3?= =?us-ascii?Q?Ev9F2eUOYRuJnpS2FDutPr/JiFpkWuFJ7/qyj2Wye+1iTkez3YNFqxvp3Boa?= =?us-ascii?Q?Ljhct/cxTFfnHmAp+mFQVwI/2Ye22BSk5kuvbF0ZNSAOVyNN6AdWBLtTUPLd?= =?us-ascii?Q?eDn7bgmnBXqKiypPmBB7hfxozGER68OB5As//9vJDVOTfGwe4PjCPJ8NP2eh?= =?us-ascii?Q?Cx5vOM0LeiECSiL/wVScliJWe16WHtK4FqNFONmVu1xtUxytSqSXOpea36dr?= =?us-ascii?Q?yRrOAUZ8Y2xWUjnNsudwAbWmYKsrBZCpDAq44aHwW0vJoMaK/I8JoeCEOARD?= =?us-ascii?Q?fgJFDAjEavFLMDwXxOslFAvyft2uxCCliMZMklM3HwJYj/xvo9iYAOHQb29n?= =?us-ascii?Q?KSAQt6uO1zP1f+aYCoxdRkiSOwo2BZ0CGe90tEs7LUMX0bHjbxJtLNpX5Jhh?= =?us-ascii?Q?+HMwkDMmrLTtv51tl+wqynL1ZwCRdrCNAQxbFmtuUTpgbsLEpM99+fvK8ojs?= =?us-ascii?Q?PV8sAcZxHhSzE/RJ4ePjU3YPX5QL9Rajr0JZzGRxCQNP70FV42wkNsEFvqG/?= =?us-ascii?Q?WwpBwLaRq3kZfl9iFKpFxttijTEjh1lTnWtxfs9Rez4XdQDc1axbzNc58iCA?= =?us-ascii?Q?5UaOEBz/rQFhbUj6q7VrubjCTRAGjw8psNh0Wyt+IuCDWuat4Adah2k3tuPY?= =?us-ascii?Q?xVg7QFoTa287djOb5GOOuHYQlQZCmyCjWi4+F78Op6xndsW/ED+VWxMGk7CJ?= =?us-ascii?Q?xwQC0sv5kE6A8AXIadX8vcsa/SvdfoepcE2plJlFMpNBVJn4Cjv2k6dJej6M?= =?us-ascii?Q?jUSIocica9ZC2Vf+2g73XYaLuC6LkY6uOYjgNWQHTIPIqi3a4ShF52iJ1NZx?= =?us-ascii?Q?YXz173+Pi+3gm4gE4qOiTYMj0TCwY5kK7exwSDq+E19MMl4nNOowXcTC8l5x?= =?us-ascii?Q?hJJjOkLYo7jtiNnVpVRV80S3YBiFKDwbaIwtmibYWF4XMUKdMxYGIlBdVk4m?= =?us-ascii?Q?ddFhWFoNpyu/DLXEBpPINp1fP03tcTBHSOoo266UHPP/G+BEvkm4vuJWXsjL?= =?us-ascii?Q?xxMoBKdkWdw=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(7416014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?0xCvstoIH18huL+cKqjFdWFVZBxKzEuE5wXrvTmaa910z6DQvylG9pRrW2W6?= =?us-ascii?Q?qhGt2bDX9/Hg8U7zIQjXjF7Q4yZHEIc+SgCiLLthOQw5dBcJY04qVtY1Dwoj?= =?us-ascii?Q?IvCxouXxuNWfumPHpL+tdlscCHaif+pXLUKpJ5R4n7lwMnS6nFFJmQOcDESA?= =?us-ascii?Q?0GXz6ORK7hobqd3RlaoXG5qRo/UouX+uIz82uMj3krQ3v2IlxIsHCot4/5Gi?= =?us-ascii?Q?QKLKopdUaUzjPigMdeEUruqJ41vnXQQGyJeXUuWDMki2/O4TRsrZU7Cw0FSR?= =?us-ascii?Q?J9vsCA7u8xoM2UX9RTmX4xKRPC84Rf0TvOAGfUHlzbQWGBKWunvwl6m9y+wh?= =?us-ascii?Q?lfphmxnXMGC8C3xMf0Go/H7HDn/50ewa4mSATXwZppcIo/wc8z7t5UI821qT?= =?us-ascii?Q?NTgJPPDLIFoAn63NWw9yBvqgY87XCcj5dpj3g5L93dTmiu4eJx+bCpOgl/a0?= =?us-ascii?Q?ZO3tAFnVvYZXjj9pduOowP9ip/9x4o4UkvGXfpbmSzw7YJyElaN1DF7cmZNQ?= =?us-ascii?Q?mym6LeNRhkn6iJMEQyE8xcRoMdwwo3e/Ty9YvtiUrhqFW+UH4aAABfw0AQDP?= =?us-ascii?Q?AmYYRJIsQ2IHSjkLQi8TzDKoBbKZUF8KEuUmhRvN0nMaOb3YuosrAnpzRkNX?= =?us-ascii?Q?4+d6LZaV50nwPFcqGFJJBI6p3GeI8jXda9NHZv56gRd9oGnCbinRexe1ogKn?= =?us-ascii?Q?Fd5PHe20Lekk6NvuZ3V/b1CWUorj6787FZRz6LNOK1oswkGo5Lrn3t5+ATmw?= =?us-ascii?Q?hJt7eKr8Dlb+/14jE0yzue4jOMFfsaT7l7CRQ2Z1T9DuzcfWubpEDG6RI5lx?= =?us-ascii?Q?mALlQ6Pl83UimiEy4gF4jCJo+GWLieCs4i05i8l2JN/hSHvN8RZS/nx7x9qF?= =?us-ascii?Q?1AdElZLnypeFfxmRpRXvP0afKt5nFjD9/vzPDlKlRMtIlAU9XPIneBB6kSWZ?= =?us-ascii?Q?GeW0qmLB/dfnLAKghpdwXBhDzSk75qvdq2jNKMAeWjTyZ+Xc4xKa2qXwkh/7?= =?us-ascii?Q?/E5SzKc4TZ/ga7aozbthYaVWGHaaCda1s+Rnu1n9dXIFKUPzylroYSW/0KHl?= =?us-ascii?Q?aPPeZUG/fqGwPU16BtufB8ILbSEKLF2KJYwO8a/bj3QMWlEfPZbPagMh0zfS?= =?us-ascii?Q?JIirz0Esi1skFgUrVcmEIGQ3lLYNFvvWJ2C6h/ksDJfRUOD5cBW4kuo3Hh/O?= =?us-ascii?Q?B+2vSXSXQwzJF7d8yuw01EWt9ArFVcGPjOh5EqFYnkQb75kPt/4nQTJARJ1s?= =?us-ascii?Q?LXmo+NXJmMPYa6LwLaxSEOKXfCWCxZ7T4HBLPLNAMiSjW1DYUa4aTZFloWoK?= =?us-ascii?Q?KJOahxh0RiJghp+2xjSH2RukAWqXTgbzXODFXhtR9rIYnIi4tT/ATlYjNadP?= =?us-ascii?Q?F43mMRP0M9fiLTSYxoXDEwP9esT806DeyDE7iyc3nfODBmGuoUXxObfJeF65?= =?us-ascii?Q?dTtJLNOFWoU/vzvKz1v4+GIK2PfT/1QNvWM8rTwfwMTtDTOldC00y5Wlia9G?= =?us-ascii?Q?V8TH6RqH9K8NePuzerpkfp/2bAhvSpSYCdCllsLrQSNxjGg4+cbOdH8T9/6Z?= =?us-ascii?Q?il5QchxvUyrF04oZb3ffWSnlkrdcotFe4JT+7lMdMRmvgRvL3o9oC6CbHhFw?= =?us-ascii?Q?6g=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 9g2g3d26pFJ5noBwedwmoOhPNgT0mO6Tg6Y+xtHfmE+5d4arYXvkKQKQkXV4u1YRUoSFUTQ0WPCyHTc3ioweTdWcC11+Tv5gEzIGdzfseSU+A8265m8TORXEzjH6gLmbiT3AjUnBq9qu/djGGk0hTEKAUr4Q0qx/Fzb9iFYMH6lfBODSFUEvJLXNA+NzZa2pLLkuNaBxu4OBygCElyoKjuCC5G9tuhbWEzkrwUKZZCm10AeknWbfuZn+PwWcvLfYQzlH2mwocOBINZL0ICrd5JqPVfCug7l9DKQWoKS0mk8ZYc4LH+i18JcXUBwjUQNFsnqkumr87AxOtucfWUIkgxLMQeOmTqzJNAclpotX1ok4X+ncaeJayEYtc7sLypbu/VnbNJRIJi0dh/fiL8+/MHy4ndOUZWr66nGq4liMPkjIu+Om57ZT53xfVsNWQdoY1yuKLJMsArndg2pesmVgZTqV1Z7UgnivL+ro4SgxcBoHEas8+vZl8eRfoynOcxiJJIKAfNCcNhd0YneEEjGlFQHHIKc2U2iev00q6k839yILRburHVg+cXFuVVI9turNgZz+7NnMXt0oeHqGT2BJ4WYyUB+Q8pgmawtBsdzceAY= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 870b3ce3-8fa5-49ea-fbc1-08ddb535d0cf X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jun 2025 04:48:09.9271 (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: ueJpcMJ4sd3g4bhVwnoLilAnkSpDtlctnk3nMKcaEncziyzNBG3Dth3bq/llOiljRB/gdcfyvw/Dq/CSCgOXCsaXAY91ia4FmOj7E1uOdK0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR10MB6335 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.7,FMLib:17.12.80.40 definitions=2025-06-27_01,2025-06-26_05,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxlogscore=999 suspectscore=0 adultscore=0 mlxscore=0 malwarescore=0 phishscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2506270036 X-Proofpoint-ORIG-GUID: 0IirCiD357wiYJ-tn8jv7cVSDllYm49v X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjI3MDAzNiBTYWx0ZWRfX1feogJmyjs/d BU9RJ108NcjPPsrAgPcNc3RUdRSLSvON0c0jwmldcnD0SrhwbADRWThc27e/odpX6yixAVSdeWz PL0u4d/DlMpuMz5459aK2HB+/xU8p5oLnqD2CFdEKB69yuuqJhd/XETxLatzr8Wxn6jjcvM+Q9o TZbfs8w1Bn34mvsvl8E7U7MXR2Pgs4uAby6VlnMBcNUOwHrOnnYj+/TncCCZfStcX+ne7Usi7A+ acWrd3nZmgYcldkksTJHWa8gE8Q4WAHLZAYNhjvZstunu9cGqPIJ5OZ2QWglK8lYis725EWtkUY RVS67EzLfzDqMH1gZ+GCKTDyHX70pSC6H4ZNYKfRE47G/uk+B7usVuooroYBSUAoM4WdSHIHtBy 9+Ru7PgCU/JcZjLhkBMIr8OvzCHPh5HYhoJjQwRP9aNDogExBNZ3DSOqtRpmDKcbTj6jAbmR X-Proofpoint-GUID: 0IirCiD357wiYJ-tn8jv7cVSDllYm49v X-Authority-Analysis: v=2.4 cv=PqSTbxM3 c=1 sm=1 tr=0 ts=685e2297 b=1 cx=c_pps a=WeWmnZmh0fydH62SvGsd2A==:117 a=WeWmnZmh0fydH62SvGsd2A==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=6IFa9wvqVegA:10 a=GoEa3M9JfhUA:10 a=VwQbUJbxAAAA:8 a=7CQSdrXTAAAA:8 a=JfrnYn6hAAAA:8 a=yPCof4ZbAAAA:8 a=luRVYIaq7LDw4LXNCHgA:9 a=a-qgeE7W1pNrGK8U0ZQC:22 a=1CNFftbPRP8L7MoqJWF3:22 Content-Type: text/plain; charset="utf-8" smp_cond_load_relaxed_timewait() waits on a conditional variable, while watching the clock. The generic code presents the simple case where the waiting is done via a cpu_relax() spin-wait loop. To keep the pipeline as idle as possible, we want to do the relatively expensive time check only intermittently. Add ___smp_cond_spinwait() which handles adjustments to the spin-count based on the deadline. Cc: Arnd Bergmann Cc: Will Deacon Cc: Catalin Marinas Cc: Peter Zijlstra Cc: linux-arch@vger.kernel.org Signed-off-by: Ankur Arora --- include/asm-generic/barrier.h | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/include/asm-generic/barrier.h b/include/asm-generic/barrier.h index d33c2701c9ee..8299c57d1110 100644 --- a/include/asm-generic/barrier.h +++ b/include/asm-generic/barrier.h @@ -15,6 +15,7 @@ =20 #include #include +#include #include =20 #ifndef nop @@ -286,11 +287,30 @@ do { \ static inline u64 ___smp_cond_spinwait(u64 now, u64 prev, u64 end, u32 *spin, bool *wait, u64 slack) { + u64 time_check; + u64 remaining =3D end - now; + if (now >=3D end) return 0; - - *spin =3D SMP_TIMEWAIT_SPIN_BASE; + /* + * Use a floor spin-count as it might be artificially low if we are + * transitioning from wait to spin, or because we got interrupted. + */ + *spin =3D min(*spin, SMP_TIMEWAIT_SPIN_BASE); *wait =3D false; + + /* + * We will map the time_check interval to the spin-count by scaling + * based on the previous time-check interval. This is imprecise, so + * use a safety margin. + */ + time_check =3D min(remaining/4, 1UL); + + if ((now - prev) < time_check) + *spin <<=3D 1; + else + *spin =3D ((*spin >> 1) + (*spin >> 2)); + return now; } =20 --=20 2.43.5 From nobody Wed Oct 8 14:18:29 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 3E5942AF1D; Fri, 27 Jun 2025 04:48:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750999733; cv=fail; b=tFieT1dGdSN9Eyv3iQXGR1VNJ5OgmUPdFOy9qFgDwevrv07+/z4P6i6ZLmLSPwvypgpCtfAlkhI8Jc1vRgn/Wui20p/peY6GGBNXcYZPBFCSWF9CQq5BB1/qq+3Lg3TRgQlqQq3RVAtvwDnD7LhSZExeENDEtuaVbIKURYxZzb4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750999733; c=relaxed/simple; bh=gU9yN9aMMSM1xmF6YCuvAWXeTidtQ1ObTWI5zAcH1Xg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=arUFd3HKipkb+ULCz6wKLK5Qczc60lEumIxrMYkuGcrKBdYzqJ8/jf671l7u3qR3Cv9sgGbq1LMNiDgYQTsbZvdk1rR9eK0pV1US0FT/EoAEUMqoiYE0+1r0P43bHUaPgEuaiWPj/y1CW58f5iMsBYo0FkzJ6+qf0Idy3tuxEx8= 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=CkgS/y5k; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=ElwJ2YdZ; 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="CkgS/y5k"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="ElwJ2YdZ" Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 55R44QuJ013196; Fri, 27 Jun 2025 04:48:24 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=r5LwwBxu4QNcnhtNQjgY/aq8vELxRvGTGF34G/ESV8s=; b= CkgS/y5k8fUNGCowXL5Kp+NIYesmDOrpDX5nL9X4/doX2QrSzv454A7tlvOzOEG6 pVBqr8fIaQTl6Q4B5QHti/6e1ZFIUPfNtPOAo55eREueTABATXptqau9GKY4llle lrlUGipTV1gFX1liUWGm5meh1ZoQ5od4Cgm949Oxr/5sAQiE/KXN6StUmJ/8lgnD +j4hP5Pz5gjkzrUHZziqz6XiPC2cYzpAQ3pmc+CaH1Zv4rY++j7gwlR112Wg5UHV ATo8wsSXDXY9kwt0m2bp4lOC5RIr/dPenL7/zt5Xb4gMNYWwR0TKKSyJYEGB6IPz 7D6BIXBoXNqmOt/LM837aQ== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 47egt5t3fq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 27 Jun 2025 04:48:23 +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 55R3mtnS002627; Fri, 27 Jun 2025 04:48:22 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12on2089.outbound.protection.outlook.com [40.107.243.89]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 47h0gvt59j-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 27 Jun 2025 04:48:22 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KUVBKaRoLMGM5Mxk/QVxTwUI6kQWsTMt7n/Ljuy7qXmQ1rUIJoLGjnBFi8d1x6H+GdfuuoWzkhXExZ6IYmsJYq5MrBW27gsBpTzz2rQBJwjLO0GCNUowizMZz21WurCYUMgBd+VqZRYT/cT/crbBBnaMTiYH1Xc5g9Gk4f1B7gNp92IFcMd7t0Vls3Vg3wMGnBEoyDuk/EMphyAlVUrlkQbhwh/ntoZBiVx+qhs4x03F5AwZ1YbyfJeFn976mofXhfsalhR+G9QgrKSFXd8U1HB7jxiAXHsNEweYNrnf9tpIkLhFHvnHqUuTdXySJn1nra6Bg0SnkAL/UyIiGsDb8A== 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=r5LwwBxu4QNcnhtNQjgY/aq8vELxRvGTGF34G/ESV8s=; b=sGjV8oPGeYpHkkkTJK+frVft17AVK/szSawoh4z7pkUR8q8FCI+5Ad12SQUIgmcA7COUmz0g9LhTp8tmmsfE7EQoPYk9foSZNF2hXpMF0eHCPPSTEvqe+QNLIFF0eAtSeyUQbKPgDYQ5lSQxoPvRaUu+rttwo7a79eVFOcg8XV62p3iPHP0GXyv75LsD3FLQSNO0mXawtoUC61/6lDjUB7Nl2D+yMigwJCfgYl77ePlcjGV1RHiUr6Aw2bEAhYv2kG0fy9f6h7baJ2L5iWupt6BP+1caAtD3GT6o4n17YzMALD+t4DG32Hejx29YCYaqoJQVkZSZhQ4KAFi0liW5ew== 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=r5LwwBxu4QNcnhtNQjgY/aq8vELxRvGTGF34G/ESV8s=; b=ElwJ2YdZnBF3qaR7fKEP9GeD9EEzGvGTK92kbpX7vuGpkHjdFcnmagaCkeRewAUZvCKEvFefIbcbvJLEkScz0lo3bfqcWKnwIivNBIRq2DjIu55IVIsTVkQI3rdd6AupDuIw6ebDDcFhSsBIMEZll5H6tJ+SqmorH3qXrWuTN78= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by PH7PR10MB6335.namprd10.prod.outlook.com (2603:10b6:510:1b2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8857.23; Fri, 27 Jun 2025 04:48:14 +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.8880.015; Fri, 27 Jun 2025 04:48:14 +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 v3 3/5] asm-generic: barrier: Add smp_cond_load_acquire_timewait() Date: Thu, 26 Jun 2025 21:48:03 -0700 Message-Id: <20250627044805.945491-4-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20250627044805.945491-1-ankur.a.arora@oracle.com> References: <20250627044805.945491-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4P222CA0029.NAMP222.PROD.OUTLOOK.COM (2603:10b6:303:114::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_|PH7PR10MB6335:EE_ X-MS-Office365-Filtering-Correlation-Id: a69b411c-dbf2-45b3-ca30-08ddb535d36f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|7416014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?ZEUUsK0ckb3WvgQHnNwQb/Ql+5awZGXM8Ax7e1JgxgS9h8XEMgGvqL/FXpvI?= =?us-ascii?Q?a2r7s+Tp4NvqGmdDc53w47sSNqIE4tFnhXM3Y0xA/ga0DM5G76Vo1JHCZo+S?= =?us-ascii?Q?AgGgc+ShvcyFImX9HzLexqAVgMieZxuvz5eFWkLOXMlDO424XixdusH42F92?= =?us-ascii?Q?Yt7wl9/VIqTek7NYv6Y8lPmqiNgxD/1SuBsmTiQAtzVw6NBT+GE4RiyDz5I2?= =?us-ascii?Q?q3BpD7HEvnN4izQm2mg2b1kkkr0sMSai2sY3PKvdBGIKZtml+4/jLPqe3lP2?= =?us-ascii?Q?LCRjWQJ5V5heoHALZnd5MyYp9llXOqenyoSf2tvh4+Uz822agdRjVaQ+13Pv?= =?us-ascii?Q?q+yTJowLYk1FeIMIDt+z2z8E/XRki8OiDhyhuOOou2DxnPUjrVhIWB59s9sz?= =?us-ascii?Q?mxghpWgbQC/7JzKKEnl1xXC8/A7UX/vgZzacTbm/dSrVutfFkr18bjNU0j3J?= =?us-ascii?Q?zvR0Sv2AIHSbusRKny509nWI5M6escZ52L7D/klQZIWSaDrJT+ldV5zqL1jq?= =?us-ascii?Q?uytNx6UGQJ7kOF9UgGUPdE13oe0iC3hPmQ2DMG6F1w+qdrJpwF04mXip0Y1J?= =?us-ascii?Q?IOJoGSvoGr2tKeGJBSxJIrAynMw/zoZWTaokjutgsi9AVlkiNvF/SabJRQwR?= =?us-ascii?Q?IqQZcpFYeZJQCbqkVGyqEjAaj/ZTBMs3KBXT4pPQn5cQA9O0VPb0I/zY+PF2?= =?us-ascii?Q?DWOcEaAExJ/XldEFjoP4RJdMKWEUmoy+f705+d/4cWKqI4cNLSyEccgVYKGH?= =?us-ascii?Q?Y0gHpmWG2AmAf344GWX/nLD+yVzmmkJsrJL2/ociZ0dZqhzteWfst4USFhgF?= =?us-ascii?Q?jpYww4BZRQB6+3SW5+TzIvLF2xVkXexbg2+fUQDKVWRG5iCDsHLtzHP3Z5bc?= =?us-ascii?Q?Rp9Bwn/Yto7z3w4XFHY9PIbULxMpK9lVVBNdubsKQdhPHF/pz6hpQfpvk8hy?= =?us-ascii?Q?uwv2w1tucM5yhwET4XqrUT5HD0+hCiYF8rmpp906HCwk+Jw4oHyzeX6BsnbF?= =?us-ascii?Q?JvB+Yo9ZUpHK32EFoLl85ZnzAHjujb/gMFZgBcQ4QbmmfnXnHAiDN6KqsUrQ?= =?us-ascii?Q?L9/Peb9gFMMrmk6nrW3QK2a/UmQx/MevCK9Ar2AhW+K5sOb/bMUZMWXLRLXF?= =?us-ascii?Q?X1yyO/xi8+XXjO1axo7tj+FR+leXtfcLtfqzdmgtI8VIehslkkS9nSBa6p3U?= =?us-ascii?Q?wjTVTUYuYRhXqFbsRSVYjK8CHGLVGE2GBt5A7Fdwwj8zgw/tcaUx+lYzY5qi?= =?us-ascii?Q?XGiCsxSVg3q6dbA1G2At6X2MMiVZcaqF5ALn4NkwSTN42qNbuoN0W01MZ2xa?= =?us-ascii?Q?b9FNLeJpXsq4F59IFCMR1QxoMtp3+3GvCMGDIBNJY2RwOZR6toqwzTw8yW6l?= =?us-ascii?Q?9UvCLF79QLWUr36eCbct6F9AA8MujPqS+LuSo8gP8Zp7HHd6dRNOXcb+3CqX?= =?us-ascii?Q?RJwJNGu9DK8=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(7416014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?knr5p0Q3i+uofCxMrXHL5w2vxGGPTqnGAmDVHvWZCRn8xZbAPx/ddyPWsLu4?= =?us-ascii?Q?QROKr0QTEXzzhWHGD8halua2R21w9GgTf0+toqkYqJG0XZkDTeBAhACx0RLS?= =?us-ascii?Q?2/PFYozylHkC2AaS+/FaUxFIM93vjZwmDnY6KtKeVTPXqbTtF7OeqPZm+hAj?= =?us-ascii?Q?9KVQ+9ovQZ6EIiAlt2XRufjHByOiRPpDppawZxXmJX+GWMCi7xeRJHTnHi0j?= =?us-ascii?Q?Cr7lEHtDPeRW66h3pEWUS3f9h0GuFMTtdF6iMDsWh0Jvsxt5TMk1OyGk67cW?= =?us-ascii?Q?te4SQ4R3RBmwa8xV+MLS9EmqIh6a0N5Uq+HR/L8F0+eFpTssfXIL7WM3iqtc?= =?us-ascii?Q?6Li11xjtl/ARUwWG5AirGdkUr7yGc0xmKZux8SeZySGWtc8rJLYBv2ocMfeb?= =?us-ascii?Q?S8oh3ppMoMApEB6SBKn7reTEAWYEzanXfKs1ZjPZA366ySFLjIsZNDrGS+He?= =?us-ascii?Q?r0Tacgp2Br+TtMMpLeyVvvnAJoQM0bdP6IGVABxEvPFkIh+IhKSqYNwxzPkH?= =?us-ascii?Q?xjT27nhb2n5SAUPuzcvFBo01DAm2iY46e1DuIeE6D2RG0myHawFNJywO+5kJ?= =?us-ascii?Q?D17W9AtafgkLkh5oRdTKXf+GGAMz3iiDsJ0352X0G1r6by1ycQhQlh4f24qI?= =?us-ascii?Q?4G3mJ7D2gUQsXACX0edFFRLHS4/Lk90H2gjFUIVPgonWErhrdYjJvs0GNB1V?= =?us-ascii?Q?ECVQnwFG7cmQFTRQ5b8RSypd0sZ2WPBOpJFbX/mWd4qDHj89/jpF/pBcCO4z?= =?us-ascii?Q?sPGOt54A2posxLupb1Yk414/PzV6qI6AZa5dS0CELpAAwDK78fQGD3jVor21?= =?us-ascii?Q?USDmZ5yPQjB1roSfbW6MPueOCjl6xL/qCOyFT3JDskM7uKwabAMySZJctCrY?= =?us-ascii?Q?S4mYFI9hAn4ahk1admM+1/7Y0HOzF7/3poug//LLxdBks03FTHVJY7eRQWIq?= =?us-ascii?Q?Bq8KWX5I0qBKBzs6m2Tw+OlMG7gLWDEWod92blrOfQA6FDHQoIIIlhmzGZLc?= =?us-ascii?Q?bCMp0uJVTf9sQSaW7RZ0pONE91FPOpT+73d8FXkatVxh70ZU6Cs5hjA3Uak3?= =?us-ascii?Q?LIGMT7Qp71tJVyn5y21mEMewFhw86kVctuXc5RIEHbecJ60Pf9TTMmmWVwCT?= =?us-ascii?Q?eD6cBsBcCxmQR+yIm84saR3boLkR+52+UBOl+PZtshFdTHoEm861+OguddaG?= =?us-ascii?Q?GZeYd1OxPKn8+fJfLVXHiQwZ5uu64jOZ9pvXYoiYJlnF/Wv1i7GHNIucYdGD?= =?us-ascii?Q?O4vcJee8k3ypq5NPB0HTWa3piYK9n702/FReI2Dc38sXgeKeoiuRxrd7c0G1?= =?us-ascii?Q?+Ohlz0b8odw2YDifSEPchKsF3QMr1mwDWNl+bQpqSElmrA+jnKME72K4FTyY?= =?us-ascii?Q?WPn+62ePeW7KWK1ZO69JRDxgetaCgEskqE/8rrrInDKqW9Uco5VqNDIYuB8b?= =?us-ascii?Q?iCaLwItyl/SiJcsDRRioUF/JEUnKv1inORsnKfZ7Ox+lDRrZW4QGALPIVHSD?= =?us-ascii?Q?9+l4d4BNCmMTFY2bpO73CtFKYq0nV1vBPIJBU5NcGdrKOY86m7JnEvDZLTX1?= =?us-ascii?Q?//XaTVcClGuaqh/6/luhetsl5D/TIjQSKe6P6hSHUqE0/FVW6JuESLalCdpa?= =?us-ascii?Q?Og=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: irzYsI07cljKTHwhanGrs2K6AApr8cL9ABBeP5quzIwg3TAVkkvQUMS9ukHABritRCQMYzEZMo8ntNvHhA8b24Um8uK7v656qw4rFPzJ44A759MXJrwvSSl3w+3s7GqdmW9JZUR5CZ7CudwtzTGpQVd4kGrbs8g5ZEIkgmb6R6zOGBxQVUBbsF+i05bKbCAIuQL3GJ72dbWqNxYrejJPHNMBhMu+DD6gVDAMuCoxPui8Az5iFql1wdBldF7Z+nCDPbwaTZUfrcgziYjhgmr/QqRfl1VtxkwYPMO566SZbtucZajmstm7OABn62HJzTt0wVhjuYtJMFJrzUNo+uov2rmvFwOgKL0HR6R5/GS3NGWyBsrUg49ciGrByV5K+M7JJ07tBEzrmIt9pnIiKJT3vL6uLyMs/6qNbKKyHHesNPHXyIgzvc6zT+gWojvoSox4JAoL6eEFFqubCDPHdTuf5gbrADzElC8Qb9psARrv2wnwp3mF6aYPGk9yTSxJR4Zznyq+BCu2ogRLLrFjmC2uBi1fp9Qg6XBJp+l2MOIhpZwY1A/j0xx/6TIdViGendA/IomxYAQjzUH+r0xDUmtZT/G7+1g4xdbmreSu+qTFg+I= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: a69b411c-dbf2-45b3-ca30-08ddb535d36f X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jun 2025 04:48:14.3252 (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: UNuZoHNb8C1Mxb2767W5oOF4P9Yq2e0AYFjVbDK++H89xZNO7vLCwmXUsPbV5Xu0u80ZnOBs27j9F1KmEQAj3TfgeZzo5Dh+U+Lhz2XU9kI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR10MB6335 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.7,FMLib:17.12.80.40 definitions=2025-06-27_01,2025-06-26_05,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxlogscore=999 suspectscore=0 adultscore=0 mlxscore=0 malwarescore=0 phishscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2506270036 X-Proofpoint-GUID: ZkUl0FzhFpmh2uUjWN-uGLGMeN97DH6t X-Authority-Analysis: v=2.4 cv=PMYP+eqC c=1 sm=1 tr=0 ts=685e2297 b=1 cx=c_pps a=WeWmnZmh0fydH62SvGsd2A==:117 a=WeWmnZmh0fydH62SvGsd2A==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=6IFa9wvqVegA:10 a=GoEa3M9JfhUA:10 a=VwQbUJbxAAAA:8 a=7CQSdrXTAAAA:8 a=JfrnYn6hAAAA:8 a=yPCof4ZbAAAA:8 a=9Hjk7SY-VBZdzCxDJJEA:9 a=a-qgeE7W1pNrGK8U0ZQC:22 a=1CNFftbPRP8L7MoqJWF3:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjI3MDAzNiBTYWx0ZWRfX6hROOojYJfq5 mnonTWe6tNuxp+9Z7AuKb06uxaFvXEVAKbkXdytU23FR/HuT2KbCqgZgrUThCnzdwxQxJ630z0n AldsGOAXXfNhC8GD5G6I9W+qk2ulpK2q3vdb7VWviPelXLQotcAAl+pMKgNS13oznj9hVvGtzHB BJ+GNAeo5t+q3KVFefHsxFGJwnP4UkJNgVmsU2lnql94yGXt81Tr9pkyFbIxwUrE9RBPtYTgVz+ hmjyjz32/vJ0ALnb3rAd6+p0msn8L0yo+FTLntsDh0+mBn8DWag3mdo6teaXi3q7/8ZBrDF9h6c KXXF1E4hgOSjv2jD5ap/RFP2uZkY8PDJbSt842HMdQz7LJTO43dkE7C69igTcptClrzhsXy0h4l 4fhAljg1VpNevL3ZhTuRVjALQ8VuiMcJW52rA5bodk8vW08F0DkFAefthMyXe1ppyLKo0gcQ X-Proofpoint-ORIG-GUID: ZkUl0FzhFpmh2uUjWN-uGLGMeN97DH6t 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 via smp_acquire__after_ctrl_dep(). Also, the rqspinlock implementation has a locally cached copy of this interface. Fixup the parameters used there. Cc: Arnd Bergmann Cc: Will Deacon Cc: Catalin Marinas Cc: Peter Zijlstra Cc: linux-arch@vger.kernel.org Signed-off-by: Ankur Arora --- arch/arm64/include/asm/rqspinlock.h | 2 +- include/asm-generic/barrier.h | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/arch/arm64/include/asm/rqspinlock.h b/arch/arm64/include/asm/r= qspinlock.h index 9ea0a74e5892..f1b6a428013e 100644 --- a/arch/arm64/include/asm/rqspinlock.h +++ b/arch/arm64/include/asm/rqspinlock.h @@ -86,7 +86,7 @@ =20 #endif =20 -#define res_smp_cond_load_acquire(v, c) smp_cond_load_acquire_timewait(v, = c, 0, 1) +#define res_smp_cond_load_acquire(v, c) smp_cond_load_acquire_timewait(v, = c, 0ULL, 1ULL, 0) =20 #include =20 diff --git a/include/asm-generic/barrier.h b/include/asm-generic/barrier.h index 8299c57d1110..dd7c9ca2dff3 100644 --- a/include/asm-generic/barrier.h +++ b/include/asm-generic/barrier.h @@ -388,6 +388,28 @@ static inline u64 ___smp_cond_spinwait(u64 now, u64 pr= ev, u64 end, (typeof(*ptr))_val; \ }) =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_expr, time_end, \ + slack) ({ \ + __unqual_scalar_typeof(*ptr) _val; \ + _val =3D smp_cond_load_relaxed_timewait(ptr, cond_expr, \ + time_expr, time_end, \ + slack); \ + /* 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.43.5 From nobody Wed Oct 8 14:18:29 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 666871EE7B9; Fri, 27 Jun 2025 04:49:21 +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=1750999762; cv=fail; b=KwGEqvHasHNROxLoptjPDJruZm9p/JLA/u24RthVblmawgcbnA5HfGz4E5VArIOhaau5TXsXrH4Ul3hJE8hQtrjnCb6ssD+wmOatQFwdKCgs9xYAoLayewPKue4HDZUaxVeCXdkZuYGH1QR/RFUo+jM/pxPlpbpwLlAZVklf3Sg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750999762; c=relaxed/simple; bh=EXTSBoxTovHgeH+GspZVZ8UrLEtJzQN2HawCO/baHfg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=lW/OiPumaaPCmmxGPOeHLooOnuEmQfouGEZ2/8QyPgln2DztpO4JFbTdB9YOgDMmrBiW7xJN5Pq17vsQ/sk1PUIgd79gxi0sQQzq4O2Hs1h2zqdcDlMirMSqbhNSBimS6pbRFWEPXdCoyuPWc1njqI+DwbihNIpBkgvHBRcjCDw= 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=KZ880NYE; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=qxjbecM5; 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="KZ880NYE"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="qxjbecM5" Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 55R44QuK013196; Fri, 27 Jun 2025 04:48:24 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=TWUqxXSdo+tue9QnA7O8nAot6JEIB39cNd7N+f8UknM=; b= KZ880NYEnNAR6xAmXg/hTTSaT/KdgzrsVJXzkEQ71/oGnmlTD3MJYggXDgkZdHFU ckxTh2kuE/csYqMZhqVxzYB/4mj22FgA11qzzFsKfGroZb9P18/xV3rAIoyvHU67 npJEQCkELMcmtgKUT9G1+S/kftOYbbMWx3xeC8xPK2vLZJ4PV8Od7qj2L4yKqmfi b/scC3eRgEqq/JRzgN3bHABDJm8miETTyYsqC9LwNpzmECBw152kFEyW7K5RFPET Av0mdSnPGCSX+WGFL4XFQbKzPrOfJN8N0xRn6cD3OKwvqXeQxK4WDvY7mc9F4Bbi gYS05/FkPsYhMrbaxxFa1A== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 47egt5t3fs-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 27 Jun 2025 04:48:24 +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 55R3tESg002527; Fri, 27 Jun 2025 04:48:23 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12on2064.outbound.protection.outlook.com [40.107.237.64]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 47h0gvt5dm-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 27 Jun 2025 04:48:22 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Xcngi4ZanHw5KKd00kRo/0oqU4BjdUBwtlrnlY4rQKdOGqcP8DiSiGVqnk2K61GieB73DpuCe3TFNv1jivAhgCLMmNLIGRB43A3uE8yNYlesqxs8cGVSLWS6P7y7jVXusr5ct1eS1ASqUfJngGIt1/azdQi2Worvtz8eDk9zfqjL4934CZCwV0vDz7ByBQgpdypdd0qXRN71/yBR5884hx2Zsm5wyQhm4JvTsxD775RqoU30JsUQQzNN1Lu8Aqvykse97CSALBUSV8kvoZVeC6PW14OTrsK9fEp3VjcWb67jbDphlNPk8lcBoijH1DPnP3cTGG5uZ5p3nD1sWbicgQ== 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=TWUqxXSdo+tue9QnA7O8nAot6JEIB39cNd7N+f8UknM=; b=uZ4uWywg/9AkDUVm2x/dZWVZCN4PSuGlt720y91q108VagKvUkayII0okXG6SScDb+hrmTOg/uWDJDjUCyN8O3KW5vb78Wcz8rPW1mWZdh6E0O8ARTw0PAIyf70m+a4VlhXYacmzp8E2QXmGNrXJVupVQLY4j5NrYM3GqIPRvvzEs7nYPqAluP4MTzewknU4DDPhiUY5UiugrMwDZODssjZH5xkW8u6JvZLlpQwDxnBunFehQCehWoh7p9lq81rGssHVX1oTQ9U5NoV9jAUrFVhPsL3uHlkhOF8giUOQqFzrEw8HnzgCEigt7ZaNr3ciFBplf0LhCPaz3YZIwDeRhg== 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=TWUqxXSdo+tue9QnA7O8nAot6JEIB39cNd7N+f8UknM=; b=qxjbecM5B3mKE/slyQKd1DXewBdp/3BEIDN7AeCVlqMkV99+jVP2XQF/mcW+2JBpk6x4T+fG+jISR70tq9MpPep37JACvuatjvDDtsSxZJdhHW1GDYSzi5TrWn8fPFT4VsRC0vfffDC6P41vDRnru8gs0RT9FCWim7kANxCpnIY= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by PH7PR10MB6335.namprd10.prod.outlook.com (2603:10b6:510:1b2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8857.23; Fri, 27 Jun 2025 04:48:16 +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.8880.015; Fri, 27 Jun 2025 04:48:15 +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 v3 4/5] arm64: barrier: Support waiting in smp_cond_load_relaxed_timewait() Date: Thu, 26 Jun 2025 21:48:04 -0700 Message-Id: <20250627044805.945491-5-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20250627044805.945491-1-ankur.a.arora@oracle.com> References: <20250627044805.945491-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR03CA0345.namprd03.prod.outlook.com (2603:10b6:303:dc::20) To CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR10MB5409:EE_|PH7PR10MB6335:EE_ X-MS-Office365-Filtering-Correlation-Id: f9691659-f029-4bad-6670-08ddb535d45a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|7416014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?umEu6HRzJUmeBF5yHtLLj/Qp7DD+E48RbACf+oUPR78sfY90wDYKMLaiWPJ0?= =?us-ascii?Q?r/IRnsmUxdXuSSaRMt51MGCH+2TS6zSkk96nlBT8yDhCF95xqNlg0jQ0K+SU?= =?us-ascii?Q?7KJq1aLNCjWEE1d3nt+DfZfao6wOe4F4CVUL+b+iDOhsJgoKr3S80QXaGflu?= =?us-ascii?Q?Gwh0+cVlFbF5uTUUBxDJCxveohwLD8aWyEGYvutmasN1zQTJHjENLYftiXvs?= =?us-ascii?Q?cRyD9WWFbHmJqik7HZTDef7SIS8S+jnyxwJ95XSMGwtRhqHWLMhOUPFzPI0X?= =?us-ascii?Q?SyRl24P6l9JsUfnmKP4sC/idEMj0cP/vURV3rEqCuhPdFWipSK0og+7PSLxN?= =?us-ascii?Q?MWQZGDq3KIjl3SrDwbsgb8/2Z0iKoH2jtO/CDObxUdvRgGYdhEgLldIsOnEo?= =?us-ascii?Q?ORCuzDEUsEDNJaTjrGAmIKs5Xh4THg/wmLjAQog+38pXF71IXrlrZ2PrMyxR?= =?us-ascii?Q?KNtXz0lCoRbidZfb27LjDEAsIj2bPTeDWHKGgBeb7li5uqcYhN5edB2Fr/JS?= =?us-ascii?Q?8bRa6RSscnJ7W184zHfIftYOje6lwhFcwZfqGCMKv4NtTwuNTf64dCdacngh?= =?us-ascii?Q?oAwzJjHPAMJb0Thn+07ZMJ1EeBwqzIvjKYPKr67QqhAyOUXfj6p6G+w/yYkG?= =?us-ascii?Q?px9Bc0Byu4l15A5bG3XBUqpZYsZqsHr73Zcx7r9IIbV0SucBFQEWB8Jhx8LL?= =?us-ascii?Q?O13lxFM3/y/CHezzbcepAHS8LVWmUIX66hob3BJ/Rlu8Lt4GIZy3nYrrkCby?= =?us-ascii?Q?l9t8Rk/SqwBp0uBM8cxFq1o2Myph/4F2I0A3ZJtMk6VnTCv1jBqZPKAwWbVz?= =?us-ascii?Q?1g+Sw83mQekAHl7Mmu3kdi+XSglaKyvo0IwCZ/LT2yH4dvpqyxmPp0w/A8cA?= =?us-ascii?Q?zLN5bEvWavKFwe/9L7lI3e4vqQVYufVwsCRHHoG3dNPEjNW2Q5/aOkA7nRbh?= =?us-ascii?Q?ht4NErswGzDTP//AYxOd0aJsVcn+EWAmwqPNIUbwfRBqFee6+iQ7x0aO8DiG?= =?us-ascii?Q?XZOOQV24g3tP5WDqg1NTxIVaj3QSlBACwy3BVt2LM1L+7ZcqE8V+M+/CxpoF?= =?us-ascii?Q?AtxzX802/xl+auw6YaDlzepBNa8j7KqX5Jeg3uIhkhybubItC3nAPljUaBKU?= =?us-ascii?Q?KlPVBrtrSTFm3z+L7topVbbb0kIsF/r0HBf8Isj6+UaGmHIjhO34d5TnOjCU?= =?us-ascii?Q?QgPCmDgqpqBRhAycF0FtAvvF/bgPIFg/jluDVhM7X9v1+d93EVbJg8Qqy2Cd?= =?us-ascii?Q?T2R2QuGnheX0AQtnwbyFxVqjALvhM1MdPglgThHawdYo0kl2jPhxKZOXKYcI?= =?us-ascii?Q?LV6WclUz0QZ5meoC5/Rr4DMR4cgjdpvfzt8MsN5CfKKzF2TIUZjY5TQFVqNR?= =?us-ascii?Q?AAUvHDoSjyzVn5r2dvyBsqCO3lM5RNrx1O2sGHguhzfCiBYWD7ObQKWejeuc?= =?us-ascii?Q?l9cu4WdjnkU=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(7416014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?S5MuGHk8EaIAEn6N3kRbriY3LGb3zfkNl87V6gFFlugVPYcLzvl+EvWR3QCo?= =?us-ascii?Q?9ofvPSilNenps+7uquNY2W3UsjSakxqN+sx+sinPgIpht/gPhrPKqtQlTDgt?= =?us-ascii?Q?076gx1pFReXPtgDpMmDaQGmukLQnojTWHwF7uwVlhDzVHAQpc/uqLPvZzkzV?= =?us-ascii?Q?elQq0T9ThrQu7JpCg90X+D02goFUiyMUdrWy+ILB8/xb1gFsKB+o8Z5KR8i8?= =?us-ascii?Q?a6eWwHPvEvxUqvgBos3uSGAE+p/c7rnVIxn3uwWgqCGuJhPFzeA5ri5um7KU?= =?us-ascii?Q?SsfyuLRr31Pr036YOnPsX1ZMLElp8O9i9pTU7uwHCgUOwXWK2h8DS/LFIeyv?= =?us-ascii?Q?mEQeWVXAju25oCkWLOvCFwhjgsu/acKBpLSg3/EBSsY+EcfP/bmVoY2I4lOG?= =?us-ascii?Q?KtpgE4Z39njUybPcxdK/S0YqZTXmzt5SW0OLPeHUKbWpfeaBEaPgWTYuHC/A?= =?us-ascii?Q?+yiE8GDak26lu9NqgwHXWfqiWgydXU4BJg/+u90GPiRpW9qwua7QSDPH3st+?= =?us-ascii?Q?RIFuL+Y/3h6LDbXv2AYYt8xaD8bxlnNBdVyTeaZERhhKMv9R94XMsiFI+fiM?= =?us-ascii?Q?0gxzQUGANRItnZdYyDrB7bYrfMFlzdr0e3g/J9VcO5Y0cU1JGDx+yxMWTVO0?= =?us-ascii?Q?ohBVyKsCKoKwP4MFLOQW0AQaNZNETgwOfP9Go3KUVHb+p75/1rR8JTSrX7iH?= =?us-ascii?Q?Cyv2ec1JG51dlc9Zf9r13BVMmAZidl2Dh9j3GNxvDrLqZSg9n4zwkC5+FMwf?= =?us-ascii?Q?Rk18Hb6ncJO7U/rC/nTadRfj1daZorgmGDvLk2fj9neZ0fsV39mphei2VaAz?= =?us-ascii?Q?tJQ4+FKMhC64gmwb8nKL4AwSbH26iCRQf69AWlhdex16VmMjVsQnzYztRmYf?= =?us-ascii?Q?IHQrpZRIHpcQozBVSTj3yK6/dOrrE+AaJCb8OkxwC3VDZiylXZz19pG8pFqe?= =?us-ascii?Q?H1gNhVEJwvdpnqEk0sl9IEvIQgfiXeLqrm+ONeIce8H2uxdHyFIbcbrAEeu7?= =?us-ascii?Q?AyJnnBqlFKe91x03tBVh+0cXFeAjVzyQ40Wzv0NzYtRJm8/fRRYDKMLEploh?= =?us-ascii?Q?CoZoTeFxeKuhccStzVDuZyZKau+OocYyetiHYR2iaAYzBzsOwhhe/m16v48n?= =?us-ascii?Q?+YUCDLAultpm6XkdSPOhS7i0MteWSXzSDhNfawxLMZTaEMM+ru6tXNpQ5XTM?= =?us-ascii?Q?DP7Sx/PzhTSuGe02yY8xarFN/X5si1i9sGjgnhvru8UAS7NoJqgsDChiclWJ?= =?us-ascii?Q?YvaF3C76SVuSIE8hl718uxH/JAAh4Hh9FE7Z1qMEY76N9R8tp/S5z+vplPCz?= =?us-ascii?Q?jvEr/2cxyH+achQYMsmIEiJgvFz4oquNu/p/UEwyEEhtaU8bTa4nc603wl98?= =?us-ascii?Q?Ticy3FXh7URtC21iwmNBeAkGCI2fKrm+KcM9bmvMcLbiaGNklrzydvQdRdR7?= =?us-ascii?Q?LopXS8/hpVXoLV5Vjacp+I+qQdalHcii8SuED8T6IXDKAm0LsEQtINfSpd9Q?= =?us-ascii?Q?Hxa3a6CWi+KD6QEw37ibfSlbhUBJbC2RY17IC7PqpDVQ3lVhv6wPTYXlxrhc?= =?us-ascii?Q?rRI3qzjfA2KNljjnIs9s7A0v36ZsDBbxwPgkW2H1FHghI+U1mVQbx7hv4eOH?= =?us-ascii?Q?mw=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: DWeXMokc73d0Pzyq9qQeygRfigTXs/VKOKzEKe0LHJT09D2p2Zkow5o0oaz07snw2qQQyjosJEXuymkp2tiB/Avv+BoZgbR6aJI2/XNYbZr24aAKsCKpIxli3tXUsgo5xUGWpIwOF10ldAfSV4I+zoXIFOYIsIY4OZsx9zs8a9YvgGUF+N2pC3z2lCj+XLz/WyHAdvyIw7ivRUTZburljgSKvyioGCSAzSsIxLN8z+YK2HEIVcDhTo+gQS06HQxnN985FQ9rb8mzhT2v4FR2wg4kJdyEFY/iY+CCVEDgbKsJ8ptF8RI5RvNkklNfvss585gkl7X2PjLkR2Qc9ZZwpjTecYlNUk87coah8QrAAZIIKaKBBYFDmlrumdz24OFDoHPiwEEd4aQh0akBVDaD/mPChSpFxbgTwc/rlbYl9uoxUfev0Oz1Tp/bCim9FIC9AE2WuifQqh5WQdlwP51p8jUb9sMXukDo0dZv4rosfq4XDeQFpCTbx1LHLn0ORVgP2InGTKgpwKADnp2BE/XY0i98q0bRYq6Pw2/xweWEGDdkSIeaucnYeweHkaleSSB/6bTrehqw12PxndluhjqoHFp4CilV2XuyRMdH1Ep+hSY= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: f9691659-f029-4bad-6670-08ddb535d45a X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jun 2025 04:48:15.9362 (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: jCIRadkjTbQsrhruwn/jvGo+uvR5yz4ka0ojFlVUZ77w3DxV92z0/QFRD1bgpyIqv3VjDSx9cjWZHA6rZT9TMC2WV+9ymZckc5aumN5d+1A= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR10MB6335 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.7,FMLib:17.12.80.40 definitions=2025-06-27_01,2025-06-26_05,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxlogscore=999 suspectscore=0 adultscore=0 mlxscore=0 malwarescore=0 phishscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2506270036 X-Proofpoint-GUID: 8S9qpXIyPymiaM9tNY-cQTjK7saQYtu6 X-Authority-Analysis: v=2.4 cv=PMYP+eqC c=1 sm=1 tr=0 ts=685e2298 b=1 cx=c_pps a=WeWmnZmh0fydH62SvGsd2A==:117 a=WeWmnZmh0fydH62SvGsd2A==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=6IFa9wvqVegA:10 a=GoEa3M9JfhUA:10 a=VwQbUJbxAAAA:8 a=7CQSdrXTAAAA:8 a=PuvxfXWCAAAA:8 a=vggBfdFIAAAA:8 a=yPCof4ZbAAAA:8 a=OlGO_YRW4t7pIV2n7igA:9 a=a-qgeE7W1pNrGK8U0ZQC:22 a=uAr15Ul7AJ1q7o2wzYQp:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjI3MDAzNiBTYWx0ZWRfXwAufbPlJrQ/x S/0FPh98QvSlYecBxV20ezKGaHMB1unGTI4MrEDYOPXnRahwcbfxzvAaVSM9+gyicsi0/sgQJKm k2S49BLdZevMCPQjPleh1yqpFlihkFu53u7YgGUiIMLN6g9xdgOXVf6vtcQ3Mu9y18eGWUBZ2Qp 2DPKNMuIoRxJzvDvYxFmp3BadYBTJoFGUTv0d+3gAyDdQX8AnK/SZaY/FxYr2k8fW/AIJdQnLZF BfA5G+kFNbX4uvs74SMfE5DjOpVceha73i2Dskk7Mv+CTsmEWT6q8gf6h0W73FHQLdnWLCb9nxb db+MPTGITjPntHdCgxlnUfATwOkR/X2MHKl/TIm454Cu/7zWDXZ+xU04EioK4NjgVGLCSMm7q8V oIQQvonnW3oYEaRsDP+WqIMOUNW0cRIW7Uqhe0vvTS43ZxKgEu3ojVCkd80nWT/ZHjno93fg X-Proofpoint-ORIG-GUID: 8S9qpXIyPymiaM9tNY-cQTjK7saQYtu6 Content-Type: text/plain; charset="utf-8" Define __smp_timewait_store() to support waiting for a condition variable via __cmpwait_relaxed(). Used from smp_cond_load_{relaxed,acquire}_timewait(). Cc: Will Deacon Cc: Catalin Marinas Reviewed-by: Christoph Lameter (Ampere) Reviewed-by: Haris Okanovic Signed-off-by: Ankur Arora --- arch/arm64/include/asm/barrier.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/arch/arm64/include/asm/barrier.h b/arch/arm64/include/asm/barr= ier.h index 1ca947d5c939..7c56e2621c7d 100644 --- a/arch/arm64/include/asm/barrier.h +++ b/arch/arm64/include/asm/barrier.h @@ -216,6 +216,12 @@ do { \ (typeof(*ptr))VAL; \ }) =20 +/* + * Support waiting in smp_cond_load_{relaxed,acquire}_timewait(). + */ +#define __smp_timewait_store(ptr, val) \ + __cmpwait_relaxed(ptr, val) + #include =20 #endif /* __ASSEMBLY__ */ --=20 2.43.5 From nobody Wed Oct 8 14:18:29 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 8836A1B4F0A; Fri, 27 Jun 2025 04:49:00 +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=1750999742; cv=fail; b=TYSY3Fxe70F29AzjK65u7RrOv5VGTQtU9bDQH/MlvvPidWQTbF5b8KA6ZfXBgEKjIh2MTE3Emr57rQfwkKwmPA+2DQPDv/kWwJu4sXembk6aeBJv+AJWRI8njRBx5krndcQNW19oy1ZnySkcdR/sPM6xb3+11b3ZoHknra6aUfQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750999742; c=relaxed/simple; bh=b0vk87qeS/NSwSlrsfu+aNEeRXFJZCS/IFc2JLCUAhw=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=ISrc7b2WMlK9U2Mx3HWBTPe1ak3y8STYVtwZkFzYUsC+8c/U/iou6YWjQGJ6/9VSyvIrmeKJrSCQKkptK+uctQxDRY0/6wKMMwobxiWsVCVvbp6Frr/jgcBIA4k2div485ZQs/35Fc/URZK01m6aYlTzRob4gRaKgabbS09t5n0= 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=ph06clFc; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=ViL0E+9f; 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="ph06clFc"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="ViL0E+9f" Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 55R4aX3P002069; Fri, 27 Jun 2025 04:48:24 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=m78ypFD2WEH+65K3u5c8P1VM/AZ98VsQWjYqCNYEJ6o=; b= ph06clFcRd1bA8Sgp86fi/x6WMm4ZdwbYlRsvRISCspAsPcdWkhXveRKAIHMUkQx vNhmI7zbc8C8zKAPoXo54jwxMsMuBAbfBnjOPcW0PkaxTXB7Zk7rdLgLdaBlnDzd Md0Q9Xb5K1RXDeM6DQCQst5InRHcvs1arNljD7FjHHu63piuZhYkJdRoWTQrcQKO /kD9DJa7qQQU6bZVvFPqcshSgLyhey5AP0wJjaijgP/AYAggzwRYbAMx9wg4hYy5 OLMeSAhrVvsCNkawwjdSvpHYfNwcQMWKIcK/x435wj3Qif382LwabFT+277j/ZFW cvVjNJoUixcqMy10ygXqwA== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 47ds8836v4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 27 Jun 2025 04:48:24 +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 55R3mtnU002627; Fri, 27 Jun 2025 04:48:23 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12on2089.outbound.protection.outlook.com [40.107.243.89]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 47h0gvt59j-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 27 Jun 2025 04:48:23 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=cPbrucBZy4Leh9xu6wHGUinOY9+oKTJc9T+GybyUWHyzRbki2/mmSTT7LzscGyLjNCVzjRG3Ji6RxYU0vnQdSkn7Po0H9OGCQFsenr2m4e62KHBl2Woe7aDoBc4ijMw8Vir3f3GoziH9PtgWgg1OXP1tlabAj0OXSedS18cyd6uWRUVG16AQY1AeYr2NdpecQYJY+PBbkiZjNw0f2nb8f4ip874xyr8jwpHuO0mB+PjSmyZdPJ0xUK/knzXJKZdAR3O30S6H+LK9v1OyGNJIuFONTQz+X3OWBiY36HyrwwDDLimMgnc2W0D+EBwGflDC3+7fnJcr/VT2hAsdPWCvZQ== 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=m78ypFD2WEH+65K3u5c8P1VM/AZ98VsQWjYqCNYEJ6o=; b=amqDffjpmYGj47Ap1YPXHRIzC7oqZrVnIWTk0rcxWKTJbgURNhZsU2ntV4WqCq5M/m9MFHSQo21/Kv1BlQJwM0IPdkmgSX5AuCx1vUlhVrzMvFL7DdHEQhbGYSarL551OqsbXv49lWmKFFLGHfrtXfv6bVN5C1nj5jg1GfiPCbu1A83qN8u+a5nC2qur9J0TJSMrnpY2lc9xHgnOxwaMQk6CaDGOkiTDJkMaeawwb9Npiuww9J5eGp2RW353hZYsy9ehKjpPUPjeWnWx5U+runyHBf9FLZM+Tv4xzrc1POeJjoHf53TbiEMqQYIa2DS8/0aDYGPB7dt5F8Hyr+spWw== 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=m78ypFD2WEH+65K3u5c8P1VM/AZ98VsQWjYqCNYEJ6o=; b=ViL0E+9f97d5uwc2+NzU7o5oPeDsCAQIGGixs4ibrgDiLhqXvzR4fy64GvxEAcJ+TOK8rqggaytzre9NzpPZ5yw/mW6PVT3Vtz9O/GZsziwFLhfEclBwDHBCV2x8qUMH8He0/euvrj3SbxBJtxVbU8qzyk1/zAyx1bl+29O5H9A= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by PH7PR10MB6335.namprd10.prod.outlook.com (2603:10b6:510:1b2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8857.23; Fri, 27 Jun 2025 04:48:17 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574%4]) with mapi id 15.20.8880.015; Fri, 27 Jun 2025 04:48:17 +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 v3 5/5] arm64: barrier: Handle waiting in smp_cond_load_relaxed_timewait() Date: Thu, 26 Jun 2025 21:48:05 -0700 Message-Id: <20250627044805.945491-6-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20250627044805.945491-1-ankur.a.arora@oracle.com> References: <20250627044805.945491-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR03CA0206.namprd03.prod.outlook.com (2603:10b6:303:b8::31) 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_|PH7PR10MB6335:EE_ X-MS-Office365-Filtering-Correlation-Id: 74059172-cb48-4526-bb4b-08ddb535d564 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|7416014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?63PfzKZMwc1QpveMPwrH0CB0w492OlxV2DsPVQXvB0OCS2SYhd8Hye6nHtgC?= =?us-ascii?Q?xHlteYFuYedw7mVGKTLYvPMK5G9SyeTktXouPVdQq3vJIcXyJAnt9VxQxqK1?= =?us-ascii?Q?D3G3Ve449dRc8ypiSsVQAb3qKac4R01BCYYcIe7eH6Zsm45+N/qx3jSsQ0eG?= =?us-ascii?Q?fYOwVtAJyP3hUH249/gJcu8k12go9X6FCoz7jPcREyjKNGabYysyDzVS3u7g?= =?us-ascii?Q?an/fgk5r1jLXwBCvmzc5wDvOkIUatmEnRwnUS8DWBzzjHLXnatiIEMMNqQID?= =?us-ascii?Q?TaphIKEw2/FJ24sjDxuwcv0Y5hGVwWAPYnaX7CDpIaRndHzP4FFUjy/VM4nU?= =?us-ascii?Q?VRRKxA5MREpnzvy1/XNyjCkMUvt+GhJrqDfPXFJBzWGHQE4gYJfdL3O+1Znk?= =?us-ascii?Q?9yPrqvHNdBfpSWfHGiQAIQcaI6+Q976OEo8nD0fLT2SgxKFZYgV1DvvC43Py?= =?us-ascii?Q?PkBY6W16nzwJEpVkEQ1JHFERJlegzv9SHYYGkgrKnLKN2NBLuNl3I12aRZb/?= =?us-ascii?Q?7OYQHf/AY3nvnG9ZArJbP7d8uondQW76UAvGg47Gnym9iY2LJFoEvOXcuCxf?= =?us-ascii?Q?Hl8En5b+TFJLe6gJB/EADurENZLkjAl0ZZkWtMFrZE/XILRSP0uZYEYoBxSR?= =?us-ascii?Q?4Fcf0oSt+NyDU504zlclno37hiIYriOU3GBwH+/S3sBrdvqjujNfdShM4f5G?= =?us-ascii?Q?68FiCGsSE/9EGKHXjHXmYU1O7H/6IzSCBuWy23bqRl9A1jSDgWVc3ewqwXvb?= =?us-ascii?Q?JJdyjd+BZrLrssDWxH0otN3OsimpBhu+Um3xz8wyBZt7s6XHFO0phdwZu/N2?= =?us-ascii?Q?RtL3mmMo3OgrFnyGamT3MJAgjiBzXAmBObftQpCKBAACg96yzyyDBFXSQAjV?= =?us-ascii?Q?JDmezVVG4DQX1VXNbfg2ZoMNvPVJxKnWQw/E8rxLIiGgR0Wcgv6/bVmsuUVI?= =?us-ascii?Q?DT7o57smtxFHtI+JoL93ejtMB3xrvtyIxYWBBxyPV5CMc+Pn0Bx+Cr+2zUsD?= =?us-ascii?Q?0lgB35eT+0rH9yy+QIwioOeKvyu+wM7CL42MYpr618ZJgti9CnjyH01Gm7w1?= =?us-ascii?Q?dX8PgObuA5BBq7yQElxlhP2PmwvNqHHfq10MW9QKrZoNdokh6W6p+F+X2Q4G?= =?us-ascii?Q?4/2cHq22qcQ2nxtAm65lww2UObLWv5fMFcmNhjiIQv9GKtcdmQe+9nKYMm10?= =?us-ascii?Q?/0A6UJA0DQlD2Na4pIser0lEKeX8mxC2cxzDbWjnJrePQhXzxpOmhzRW3hsN?= =?us-ascii?Q?XWfMqOK6bSt7Y7f6CN1YJBg4nYpj+WrWyeD3ASI8AvWTErYoX+OYwesSLuR9?= =?us-ascii?Q?O2fwbbc2WxuOobFDzjsrEs05PpjSicDtLh7PdnZXA+ifT/Pa/HaR+gcbUErr?= =?us-ascii?Q?NkCjRTZL7f6NKwzo4hL9DhtCM8TxVEYnDrO8/MlLVU9ljU/u7Q=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(7416014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?74wWF/YmVGeiArKcNfGmX2H2hhIMtzjcyIxV/nIocYWwqjgd1XC92XPqfJhh?= =?us-ascii?Q?ViOVl8yVXR9v4bl8CyJ2+Q1z8GDdmSU76r/7E6LNXkQAyV8cG8fweU/Aya0b?= =?us-ascii?Q?Y7nF26hgWItSo6H66s+mvzoIELS/S/UcxebXGiCOHLsNl60HFdm5/BHLUw3u?= =?us-ascii?Q?CJCvFJ5KhuFc0yCp3rlA+97ksE4V/NSj/Y93XkGOxHT8xZVj3ywVI7Pr4Ck5?= =?us-ascii?Q?M5E2/iXbbyCDZRcEIfl40YrXmkCSnpmw9L/STuCrpnW/7iU92lmjF2Cbdc9T?= =?us-ascii?Q?6oojbGd709TcIff50aoBWCXGwqY6aW0hydR/JefP09Nn6b3EUMhPqgbfnA9z?= =?us-ascii?Q?RpjgkZy70llZGiV/CyyisPIB26+RNdTZPpdFLOZsLpwu786Ugy1b5rwBhBs6?= =?us-ascii?Q?2jVEOteuuaym/41gBMnPRa+luye8Nb/X8RZgVGnSraL4PDsn8fXV5Gqbe7cT?= =?us-ascii?Q?dUL3X7PiLzq4C6dQTtZe6H3a2nb5hF4jnQVCduQ1otHaoO63sA+44ytbjNF5?= =?us-ascii?Q?skpnYiZJW78NXltvrIYfp7MRAOVxX+xr+cMcym7NR1q0bZdGKPMbm8k4Gc5x?= =?us-ascii?Q?6BHVeN8WYa+K8sREodzx7yZe+yMMT8kK7FeK8Qy5GR3eaJHkR6JnW4rV6SCi?= =?us-ascii?Q?9+KvaWFWKWqza1fJ922lOJp9gJ5Ah5NcbpxQTMz3rN7T/6Ee2gEBkBn4zkCs?= =?us-ascii?Q?Xj0hHwpRepW8PqjnyMR4wz/b9Sotru6H3ExCZ2Zfy0PaBJk7g7iS3x4b1XHj?= =?us-ascii?Q?yLYRpXcPM2PhlXbNw7TDyoc5L75YrVO6oSFlLTnmT3qcp3hyWyYP3gFjoMgZ?= =?us-ascii?Q?cxEaLj0LukHBgSo5MffhH+HYIZrm2qRJvGC7pFdF5kpmIzwv8mC2nJUM7PWh?= =?us-ascii?Q?2l0qrnfnrQB0MVlOq36QYI3MaedHS6GbTQi2tiUzwe0j+BRbRVX47+zEvZkU?= =?us-ascii?Q?VEZG/SyKB813EXiP1XyZ9uBuaRjyV9HPHxLVPiMCZyA0/WgWIHaQDjOG3Wgr?= =?us-ascii?Q?k/tfSdk6iIR5twhQQ3NulsH3FtomCVvD3hdECoCNiU898mevsgHR5Z0xg9PF?= =?us-ascii?Q?uNLHZZvc2cg9mByv1wLgErYWEVpqdPEujSPPtixZzDLe7Fd79XMxRf4sO24D?= =?us-ascii?Q?Go6A4iBTCJiHMniu3CVZphvFFzkZ1tktCx8ALQeHZbTn/+yTShGkTAubd5gR?= =?us-ascii?Q?ELRfE8FdkOODAsy9B4Uw19UAQfnGElZnes4xg4cOP22pgSgRZNdwJTUzXTZl?= =?us-ascii?Q?3XgU3I9JRmR3xoGkbLulzkqjMCQPofjNphQ7U0h1jJT+yFrvf/O8wZ4p5Vta?= =?us-ascii?Q?Mhom74SVAqJhwYSOp5lwrqUVAs1NHHXx2evZ8WzTEaNzZ5oNBWZnpQ5exiQH?= =?us-ascii?Q?pKNxXBcH9fLjSqNI2wf4dNhc+pLBmbDXurunA9z+tWdYrGk3YjCnm3XpSmyQ?= =?us-ascii?Q?gkYH5+vzFZhY5nKRg4/Cp8i4wNtrsY+ugMJuLQbUclg4abyqqMkEBJ9gXbcv?= =?us-ascii?Q?NgZi5jPTDHmIXxKqaizojx7Mciy0zukmbickUIW3KDvSqh8zIY+9r4yvBD+C?= =?us-ascii?Q?or0Z9EYmRa8fdWzIEqMz1I0iBKh5kfOPvgUj1+JAsxcX8+3jB8baeIbtUtuR?= =?us-ascii?Q?cg=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: izD3IfAOsPbOC8GjrOMgrkiqGQ/pC801Vkp7FX3zUcwsDuOHuYGJ8PfL9xBTZhB2XRTaMzl695RQGvo98OihudrBYnYru/bbDnb/8KJmyV0NuYl7R+OrkV0nUjiq9dCi/8lNdMgfDdO8mdx1gLMhysmI6F6SEIZBeZMe66Lg/uOvQCtCwfvJ+ZD5pcGDEV62/JkPAXQMY5KxBOLcrjXoxgwg78d4s6SLMXBsRX1SuSC5/zVtwgI2+l3FDo0AMZx37hpRdf+8FzM/VU6I5YO+B+trk/8L0msoxtwMBupRkPBQTRh+urEWTUNF7VrsBq6FhPMuXBcvJzLh86qFccPVXcG1uIN4XZzwWkOgUlwH/nET8syHFbZuYItbj4jNCidowSZ641j0cajNSklXna7cWDnbCjcgvZOpqIEXshoCk7Uu496QbFd6joIJkdvINckhlBdEUFmb0if8yVebn3XuoEGzeOlky1aky489S30BGjIvnFk4Rp8t7ZpV21fl+zNpUxL7Rtua1UuyIDg9AOcPmK1bvm4LHop1us9vTNifhckGhn4hYMq6up+ZpZ27JA0PMep9dEqLTSIgxOWiptY6zB6BDzicEzgd9X3zxnNvnHs= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 74059172-cb48-4526-bb4b-08ddb535d564 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jun 2025 04:48:17.5900 (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: q+gMmiRRhb/Y/NcAOCFWtv/NcPApXIqV15+cHvtysNGTJrkKtU/RVeLjT3qfIGxL90rMEQuja38jOYdbJj+Vc1vT/qrDIXnfw9MyaarPUwQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR10MB6335 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.7,FMLib:17.12.80.40 definitions=2025-06-27_01,2025-06-26_05,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxlogscore=999 suspectscore=0 adultscore=0 mlxscore=0 malwarescore=0 phishscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2506270036 X-Authority-Analysis: v=2.4 cv=a8gw9VSF c=1 sm=1 tr=0 ts=685e2298 b=1 cx=c_pps a=WeWmnZmh0fydH62SvGsd2A==:117 a=WeWmnZmh0fydH62SvGsd2A==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=6IFa9wvqVegA:10 a=GoEa3M9JfhUA:10 a=VwQbUJbxAAAA:8 a=7CQSdrXTAAAA:8 a=yPCof4ZbAAAA:8 a=ZZK_dPAAUNCPne2FAV8A:9 a=a-qgeE7W1pNrGK8U0ZQC:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjI3MDAzNiBTYWx0ZWRfXy+Z8OGeP2z94 uYaavYoKw63kStIVmWRy3HiDfQFrHWSeD1yHOro4DFUYFjbL963eR6oiDWEgENvUP9aJaBg/YQe aZ/X30+vrD1OKgehtUwXmuiyNl83shINnOGISP90SCgNlPz+EF55GD4R8sdEYdaKLO1mCETp/+/ vBN6HP7/AacB/r87grLvqg/EiSAMh/ee8H5K8ET3O6za1KmaHexnITVP/0PH755MtCQwjmPuF4/ /czSqbO21gm9tOpedccbN+bkQSANS60XU4wEfqoSuTC6sr3t0yagZHiTqVS+ikokfk1fVVcvpYG fc7AWVEfuzpnirDbiwMZJaIzMlPwcgHXfwUbcVJLx2EyX1H42jmL1e8XfMX1TMNLZsfaha2GrUR 5SHK+xFUPuqPLQJ5dJd/LlRcf/DuMqJzzTv1kC1QqdftOmsi+DCES49NJN3KQqhhEMhzyH/4 X-Proofpoint-GUID: ZF9uy2NbcQX-Pt8qEimPERr6NXW79R2y X-Proofpoint-ORIG-GUID: ZF9uy2NbcQX-Pt8qEimPERr6NXW79R2y Content-Type: text/plain; charset="utf-8" smp_cond_load_{relaxed,acquire}_timewait() wait on a condition variable until a timeout expires. This waiting is some mix of spinning while dereferencing an address, and waiting in a WFE for a store event or periodic events from the event-stream. Handle the waiting part of the policy in ___smp_cond_timewait() while offloading the spinning to the generic ___smp_cond_spinwait(). To minimize time spent spinning when the user can tolerate a large overshoot, choose SMP_TIMEWAIT_DEFAULT_US to be the event-stream period. This would result in a worst case delay of ARCH_TIMER_EVT_STREAM_PERIOD_US. Cc: Will Deacon Cc: Catalin Marinas Signed-off-by: Ankur Arora --- arch/arm64/include/asm/barrier.h | 48 ++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/arch/arm64/include/asm/barrier.h b/arch/arm64/include/asm/barr= ier.h index 7c56e2621c7d..a1367f2901f0 100644 --- a/arch/arm64/include/asm/barrier.h +++ b/arch/arm64/include/asm/barrier.h @@ -10,6 +10,7 @@ #ifndef __ASSEMBLY__ =20 #include +#include =20 #include =20 @@ -222,6 +223,53 @@ do { \ #define __smp_timewait_store(ptr, val) \ __cmpwait_relaxed(ptr, val) =20 +/* + * Redefine ARCH_TIMER_EVT_STREAM_PERIOD_US locally to avoid include hell. + */ +#define __ARCH_TIMER_EVT_STREAM_PERIOD_US 100UL +extern bool arch_timer_evtstrm_available(void); + +static inline u64 ___smp_cond_spinwait(u64 now, u64 prev, u64 end, + u32 *spin, bool *wait, u64 slack); +/* + * To minimize time spent spinning, we want to allow a large overshoot. + * So, choose a default slack value of the event-stream period. + */ +#define SMP_TIMEWAIT_DEFAULT_US __ARCH_TIMER_EVT_STREAM_PERIOD_US + +static inline u64 ___smp_cond_timewait(u64 now, u64 prev, u64 end, + u32 *spin, bool *wait, u64 slack) +{ + bool wfet =3D alternative_has_cap_unlikely(ARM64_HAS_WFXT); + bool wfe, ev =3D arch_timer_evtstrm_available(); + u64 evt_period =3D __ARCH_TIMER_EVT_STREAM_PERIOD_US; + u64 remaining =3D end - now; + + if (now >=3D end) + return 0; + /* + * Use WFE if there's enough slack to get an event-stream wakeup even + * if we don't come out of the WFE due to natural causes. + */ + wfe =3D ev && ((remaining + slack) > evt_period); + + if (wfe || wfet) { + *wait =3D true; + *spin =3D 0; + return now; + } + + /* + * The time remaining is shorter than our wait granularity. Let + * the generic spinwait policy determine how to spin. + */ + return ___smp_cond_spinwait(now, prev, end, spin, wait, slack); +} + +#ifndef __smp_cond_policy +#define __smp_cond_policy ___smp_cond_timewait +#endif + #include =20 #endif /* __ASSEMBLY__ */ --=20 2.43.5