From nobody Sat Feb 7 08:53:46 2026 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 00C7622CBFD; Fri, 2 May 2025 08:52:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746175982; cv=fail; b=UkAL+3NL6IOHMdBupTf626C1+Lhgx7Kbk1wAoTdRfKdLBEHWHkO/22W6fNEWdL1xYFgCnQqLa4S0XV9UCi/sxeKeU5Q9LPV/RsND6BBopcmmiH5oLXtTNpgsgfxnk3ub13DJCcULvfv9pVYeRfzyEmsCK2Vlv1VI6NEVDuckQZk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746175982; c=relaxed/simple; bh=G3wmbQYT4A9mysxqESJUfURIXRSS26hi+ST4+SIpFv0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=r6npwhV0dfZu4kk8xumxxZ3HT/nGiOnc+rQjbp2OqhwjUexpdKtZ4OPo8YkAQy0fbvhopYaFYUPLSKUvhlxE4wxjBCyGaifgwHdOy6qh1wPnpEmuCGX219YkpODYBVcxjxu154WbmM2CitTZxhOEXyIMik5SA9R5/CirWtf0ybg= 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=NjTr/Duj; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=bYAo4hYH; 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="NjTr/Duj"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="bYAo4hYH" 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 5425Wmfa016338; Fri, 2 May 2025 08:52:29 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=OW95qXAEp2kQRvuK0BAR5LcJn8sgwCnFprJecTCjhtg=; b= NjTr/DujvuhdTjvFp2AN5PWGiwDUBCqpSCn2JixH4ifukkw4N0iwyX0GKJ+r1seV PCcvycn3fyRMcevubzifbHhT6LyFpJLNiDEdIf960LP2mvtPMQKR4sT7JSIlThpZ 5KbiEyh+kbEkbus1Q7FsDzwx3z3hgHcww5mhWSQc/iIVxk1YYncZ4Q94P+rrNcW2 QNSMc8YbZCUzsU7lK4xjt8mHT2WiAAqlYTD2SlgrtQgHCo/DIOLfKgoxHLN5ArST yutXJnw6lpbjrTWJu260fW71ZqrLZJZuQ6EYhlz0EhWWqUlRUGiorT/lifjc/UWt iXTse3WCTHI/RrSfIplBBw== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 46b6usmvp1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 02 May 2025 08:52:29 +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 5426aZSG033464; Fri, 2 May 2025 08:52:28 GMT Received: from bn1pr04cu002.outbound.protection.outlook.com (mail-eastus2azlp17010018.outbound.protection.outlook.com [40.93.12.18]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 468nxdj4pu-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 02 May 2025 08:52:28 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YIYZMLOjxF7x+WsRgiSQQFqfYbTYBrG57D0BgZ5NlVK2smMXXIQc4pmDw5pEP/UeLKmmpsJJNOpViSqvYI+mP4IQGwN+w3z7u4A5T8vrLR7f4CA50oCrrh7Ah9pf+QNOxXC51+noII9tuqaXLQJ0IaXDRkF5VvGzGSeOLVFn1zlP+TWa5YxWzKOVBjGOXBhW+fSp6K/4IOoo/+x/KngxKaXz7MuCXiQY1YpevaeHgkoDh3FO+V0cId+oi58KtGWtpEhGLU27dmEArIvwG2U9fIpbCUiAI58rvChyxqESGI10XIwxfBomiyg3aywhnQz2ei4XpFneu7Ul+BH3km+fDA== 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=OW95qXAEp2kQRvuK0BAR5LcJn8sgwCnFprJecTCjhtg=; b=g8tI45gWGs7xaSmZFG+LOxKoIHqMiEAQsr2TJGTkS/vhQGaCt7MOc9GQ+dJ7WACurZaqqZ0rS1fYXo7unqRiG+oXlvAdTLe/gcX5TJolbxR97QkGXlKCnFmHf/fOhNzi8ANGhKNiSd7yh+0aENwAwxTU3hA/cIwQq5HTGS66yAT2S+gp/c4ThT1ZeCXoZLN+6XRwDmSLH6wb3MQxYbk7AJgdh8awL/eGtjniaxd7gj5wG6bveNjneiWDlayy+8Jetk+QIPW9z6WIGE1gE+7ORsTeZG7jbML/kLnKJVOzYy+zQDcv24ju8Zl8k1WA/YbSF9wVa3St1yfKylp7Zpky2A== 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=OW95qXAEp2kQRvuK0BAR5LcJn8sgwCnFprJecTCjhtg=; b=bYAo4hYH/XjorARjKLdaX/0c0uq023qgMSo/DxQOPn5fpRlvv//OLEzwP/24jyl/9nz9zD3718AfYbqn8iIHenQGuAWN9oilfbRHNh2KFVmXD5p9sX/95zuO4daIWJrHaewVTyB5B60NeMrRhe2hKO3noVVdG7Ajf+RM90WMMX4= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by IA1PR10MB7167.namprd10.prod.outlook.com (2603:10b6:208:3f1::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8699.22; Fri, 2 May 2025 08:52:25 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::25a9:32c2:a7b0:de9e]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::25a9:32c2:a7b0:de9e%6]) with mapi id 15.20.8678.028; Fri, 2 May 2025 08:52:25 +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 v2 1/7] asm-generic: barrier: add smp_cond_load_relaxed_timewait() Date: Fri, 2 May 2025 01:52:17 -0700 Message-Id: <20250502085223.1316925-2-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20250502085223.1316925-1-ankur.a.arora@oracle.com> References: <20250502085223.1316925-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR03CA0003.namprd03.prod.outlook.com (2603:10b6:303:8f::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_|IA1PR10MB7167:EE_ X-MS-Office365-Filtering-Correlation-Id: fc596c54-c373-4a1e-06b4-08dd8956a928 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|7416014|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?oJzDwm6O0tvAVdi/FKI0ajLbYs4opSBhsqqtVFNWrJ9g4afjFZVkpJDngNm8?= =?us-ascii?Q?I//zNW1PQG4VCMqaWABaTypfnilRV4wAjCPeF7jMQAQ/SRw3Zma8xtFpizoZ?= =?us-ascii?Q?rrruVmvKF3TiY0NmS9kp3o7fQRcb3ifwQv1L6iQfntpZ/li3z6Uk2Ojg3FM8?= =?us-ascii?Q?1/sCoN2Cb0pMQpJ/+WfGN8JBQeyKxb49aGFgT1aqBiPeCW2o5cGM31umWcmR?= =?us-ascii?Q?lrq5C0/oLulX1s0f0LWbTnrkCLAPYnKsqKTM9osyn02LGX2tFMIdQd+Foegc?= =?us-ascii?Q?pA9sDpWH+o+AoFr8ClqZtkify3r9s0e9yN2Gv0EtaEW1+iSzfyPgKuo5Brm0?= =?us-ascii?Q?wu7rYvH2cQo2IWIeMXlYckk6pECWCti57BeejvEKlKx4Nvoly750yvEozyJ3?= =?us-ascii?Q?FyyyBnGrIUvBVyf5wGbL8W3xVtdWr7qkTnvvuTygFtIKK/qpbewx8gDbETh1?= =?us-ascii?Q?TDRRr9dRfxmg1KnOQnDGyY/lAaxdo75MuBDtyhU9Pa7037p5arEXKOzo0uNM?= =?us-ascii?Q?5vvHYmRjmovmCwOBRhqj/oeACGIunMKiBNzlynqvcbXTzJ0GZ410jhMBwNgu?= =?us-ascii?Q?ikTnqt3RsJbaW/Jm922wiw4YXio/+esTqPyzkIzKhjaO8gTwH71G1nuJ9d3O?= =?us-ascii?Q?OUw90efjaTEcw6M6kfKzjUAWH4EYUIFRIGHfgCICf5Yu/nIZPF8mTBIRvxDt?= =?us-ascii?Q?y4FVbojd5HmWgp6gwze2FzRUOnXZ5Nsxcclj4CLnv2X0/KiYaD2HUdGPyRiB?= =?us-ascii?Q?9QjW/aAa7YAHNlvdvW7Vw8hUsYy6WZzeIrNgVMRcUZIvvs0KIFfLAyxAJic1?= =?us-ascii?Q?zdxP+fMclshjCQh7o9Esx9zBWjmzq+n9KzYXOTUrkrzwjc7VqVVkbGm2OBvx?= =?us-ascii?Q?1nr1a4BzMrW0u3s3YAYPf1HJclE+8tp0rjdGlwXTCFPjbwqtPQTWAfuk1qmi?= =?us-ascii?Q?UGG0bxEGWV8npnWZXWqr+t90D9dvFGZj4zvh+xax1/IDye05B9Hk3Z/BsKig?= =?us-ascii?Q?fMwBcC7Q13E5wn15/AMpP4FFacGSEs3WH5bcWBm8wMXW8FWuq6kDqrN3tBYH?= =?us-ascii?Q?35hTzwwV+rfhHv4OmIsoUQnf26XFY192oPBwajkuBY9YXoYDG+A/efC6qXQo?= =?us-ascii?Q?JvNDaS39+HUpCb//XkZrXD4fKTwd9Wy6rTHfasUcP+kV50x4tOgCaf26MrzD?= =?us-ascii?Q?WXCMnGfNR4rZi+/U/ksET9rR2Fq1RKQ6nrlrv8XN/CqFhoWg419A5YJWyw6B?= =?us-ascii?Q?W2P6hovpMeHjWAtZT0Cc0sOkyDbHWThkRidYWGmMANKFU1JcpfTQI3ZhUmyC?= =?us-ascii?Q?B5jDLF2+/Zi5q2Mld0iOFj+OtypKSxGefqBNYyCLgFoNuCGsMYvdJbNGDu6d?= =?us-ascii?Q?dbplioZcawb7QuAK8pO5pKKVJw0Vj71SI5D51uDKmH4SwcN1OPrGalHvQdoC?= =?us-ascii?Q?wqdxjnw+i3Q=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(7416014)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ykqVs3vgYati1x5d++ko5uGmBxWBn+oq5Cn3HJmkoFE2kxrkmxyZgzhqj88J?= =?us-ascii?Q?LqAZ5S+H9hrdonadWWEEFVHPvH7dmX+p90fsEW2EYwFmguvTNjsuReHPQgZr?= =?us-ascii?Q?iLnR9VwB1zADQiz3eF0FIbkbxY3ov83PnmoUczvkHsh3KAgK3WDy6mOizHJl?= =?us-ascii?Q?AiWEafMBSFNpMB2BCmCXr2FOcLiL0B6EXLu1l0eOxwHzA9LnqLkT7fZRbEjL?= =?us-ascii?Q?mQRKqJP2IsxZnOdUj4v6Qc2zj7qMOgVRQKcG3J/x7SJhITdb0sxAui/IWBjD?= =?us-ascii?Q?dXJq3mlRjlNHBdHEKng7WH6MxMPncuyUfUw9dVE9eBM3YVspYcZYYk9u3KDr?= =?us-ascii?Q?sqWVWgEpPMfFOZtuGuHJGYsvRsshqe1h/rXDYeVFZQkHgyDnnzp4ZYCNMUL6?= =?us-ascii?Q?qmc7rpyzeyECGrpWDcr9DDImsakg3L5X47L68kUelU8uxjBvnLcyZmek20p3?= =?us-ascii?Q?yhlW8mrR8XwS/KOHXvBWnJeO3JvpZBSgN1RCjKRTSwUF1M2xWQ8mvv7C/AQV?= =?us-ascii?Q?K+tP8842TKlNIP63H5XfEFX7MUpfPvPvZTKslxujITIxriSZHa1yndMJ1nws?= =?us-ascii?Q?hpwrYtZUtX33J9N3/cu8UHwkW8bsEmKRxaHeqgSrT+kzYuHw3dqOkFZsmh4V?= =?us-ascii?Q?fSqRWWPwtbniE8j4SJPC5c2owpq8S+YybYjIzEduhLVY8iVKvCSygHTVV2EB?= =?us-ascii?Q?wz8ytl0EAq9xaPOF7535TGPloTKAjti5oUI6Q7yKftv9Qf+X/2VSZJfyQluL?= =?us-ascii?Q?p7WtnUScK3YJlBcPuw+13Dp7OaLD6S6s6ySVcUJmKWTelwl0p90rmqK9Dsw/?= =?us-ascii?Q?mvpEZaMPtYITdtKDpSoDwynOf4M6xjiT8RM1DpLB25OFPEz4hSapC44s1CIl?= =?us-ascii?Q?C7vSe/VkBhsKT3l+qzvFHFvpdC1y1ZYv2Ts6/gWUHFtHv0bSwbfFa9YbaIHH?= =?us-ascii?Q?4avzUte3b3lYUyd6SOHYdQkqTjpeKtY93+tAE2f3pTHtVkHBMmB574xWkpzR?= =?us-ascii?Q?AymBlN4sKrghjOp0OUVV3oOGkzoPMzgE7t8/kIqWR/l6QThWmErietiqkKrc?= =?us-ascii?Q?P3gp+BFZ6XDEI/aH8ryyU4FgYiUMm+RO0QW6JiLW8MQGqDt2xLCBRNcy24Pu?= =?us-ascii?Q?HRuWh0oSwSNpU8xOC8vWPCFyyidG6rjMdr+Px1XNqNXn6sTPn9FGzEQfSjy1?= =?us-ascii?Q?4eU52PehuiUD8Yh6bbMjiwi5Vf9Cv4s1DXGJrIWlsReSwFBmXHwqaObnf7lA?= =?us-ascii?Q?B2lFXNh/2ykUaTiEJGPJS333OL4KZplEnlhNgorhpOO1qsdxEnLUoS+B4eUx?= =?us-ascii?Q?PS7t/sntyYm/mzdiKevdzfyVewHGIuRVaogFWMx+emQWcV942ywG5XN4oryS?= =?us-ascii?Q?FwU+BaHpH7Bq7gIpXDuy+IO/PxH9aXzEOGSdalry+pf2vyKhAMWN5lhaQ6Mv?= =?us-ascii?Q?W2A5AMAj1a7fWDm8+nai/01rYjg/LyAKm1CX7H/0a4onEjZnMdQHRh6PBp3v?= =?us-ascii?Q?4Fdr6f3jvPSbSM7FfHkpuMpMqiDDkOHPU9g5zBdP62AbYrAJN9towTFIqDnN?= =?us-ascii?Q?IENTm2XI5S1UIQlccEXxcyH0z2aT78R1KftkOMf44YuHa9E4T43OV5GF3lhX?= =?us-ascii?Q?aQ=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 9pSOSYZPHpgTrtALasUCSaCm4pZsJSNLcjFAN2ledHBv3e206+5zPSgg+riKLgrAFhMqoPDm7DbbKew6BN65WmgKXfDT1E0Q/XGiugLBTBhpbRST7vOeeHCWA1AUkzB+4FUuaAHbqphu6WUnsKUVQfe4XcK5PLnKtot9JRwDxtEYLzBHjCXVSoAN3PrfumPBYYV0zDBJ0lc2tgdyVpICrRlE2Na8CO1cl2JPLmPzZyDmMSgORT90nEDlozG0NX4PV8nhgR2aJYzh4OwlbKJfYx9nEmqKmhmsaXK14eS3dWyT8a19zJ03zy9ANfh/xnyffoExeAZ7z1N7nkhSZAuOIKbwl+59YscVUEfJwUwxyEeYEoECwM/xs4lusJstdrFB5g8Pyi3hxfQkZuspA2AUGFhhbecRalFVbwCZZxdYY5iAzYOjOy6oxlLlsVLserdYxMVaeWWx9kbq0c5ME8WX4UiG48qkP0GMjxG0eY+6G75FBv7nXuWlaswboeumOqOhD9e1PzBoEaZEuLM2jmQtftwU6kk6FYMb0xefQuaEYfXY3WSmxP/d/+V64LrEBtHjWJJ+9dg+itm7kjGYux2o8Bkqxs6QLY/YT/JOsdyZpI8= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: fc596c54-c373-4a1e-06b4-08dd8956a928 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 May 2025 08:52:25.5596 (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: kXS0uHhOJoEMzwhTnz6KRA0nrZn4P55raOILe2OhduF4wYi72FMEoGgOwrFj0Y5vsguV0ExvEVSEAg9qDLNp3Vy8KQ4tYm2f3wfakR7FTCQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB7167 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-01_06,2025-04-30_01,2025-02-21_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 adultscore=0 malwarescore=0 mlxscore=0 bulkscore=0 phishscore=0 spamscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2504070000 definitions=main-2505020068 X-Proofpoint-ORIG-GUID: RESEHvGh1btDMjgktzW0R-VE2XVKBmfV X-Proofpoint-GUID: RESEHvGh1btDMjgktzW0R-VE2XVKBmfV X-Authority-Analysis: v=2.4 cv=Hd0UTjE8 c=1 sm=1 tr=0 ts=681487cd cx=c_pps a=OOZaFjgC48PWsiFpTAqLcw==:117 a=OOZaFjgC48PWsiFpTAqLcw==:17 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=dt9VzEwgFbYA:10 a=GoEa3M9JfhUA:10 a=VwQbUJbxAAAA:8 a=7CQSdrXTAAAA:8 a=JfrnYn6hAAAA:8 a=pGLkceISAAAA:8 a=yPCof4ZbAAAA:8 a=9k9S6fgFhvPwn2OUN1sA:9 a=a-qgeE7W1pNrGK8U0ZQC:22 a=1CNFftbPRP8L7MoqJWF3:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTAyMDA2OSBTYWx0ZWRfX6ZZ7EZBJCzd1 dO+VyedqJoy4c6Z1LySPEnpPBbNW6E1/NuFO9Sv7WUKzTY1gci6Bs9lsT6nkAsqa7JYo0g/fwX2 cD9ProYeXpKq+PzEOoio3k3DpgVWNqkCRlnr2ZZrxFLrjGAYizNDKCrxAh2WBgRKHvs65TASiod 5AL+YbnwVJ9OUVFWgY1c4faZ4V4GNDxZI9Jg4K8a2YB6xdzIJN7yRgkJaiMJGq6fj/K6acnsH+h vu+AL0x80A+1VqXjHQQTw/oUod7fvlNPMgA/nE4/hCBU638QjCGiFYqXK0eJ3nDwAqW3u+BFDGm kdLCk9wZLgFlUyaiKYyTGbghjKFqXncu4bAEhjegt5j+051+N3PNhx3JfiGls7MGwLP3TOSqNpw 7PjfMYQ69RYVMsacR1PS9hiqJH3uTmTlQejTLnaMxTUzmMPeE0BbGulp9Z8y5hM7De6Nc008 Content-Type: text/plain; charset="utf-8" Add smp_cond_load_relaxed_timewait(), which extends the non-timeout variant for cases where we don't want to wait indefinitely. The interface adds parameters to allow timeout checks and a policy that decides how exactly to wait for the condition to change. The waiting is done via the usual cpu_relax() spin-wait around the conditional variable with periodic evaluation of the time-check expression, and optionally by architectural primitives that allow for cheaper mechanisms such as waiting on stores to a memory address with an out-of-band timeout mechanism. Cc: Arnd Bergmann Cc: Will Deacon Cc: Catalin Marinas Cc: Peter Zijlstra Cc: Kumar Kartikeya Dwivedi Cc: Alexei Starovoitov Cc: linux-arch@vger.kernel.org Signed-off-by: Ankur Arora Reviewed-by: Christoph Lameter (Ampere) Reviewed-by: Haris Okanovic Tested-by: Haris Okanovic --- include/asm-generic/barrier.h | 58 +++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/include/asm-generic/barrier.h b/include/asm-generic/barrier.h index d4f581c1e21d..a7be98e906f4 100644 --- a/include/asm-generic/barrier.h +++ b/include/asm-generic/barrier.h @@ -273,6 +273,64 @@ do { \ }) #endif =20 +/* + * Non-spin primitive that allows waiting for stores to an address, + * with support for a timeout. This works in conjunction with an + * architecturally defined wait_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, wait_policy, \ + time_expr, time_end) ({ \ + typeof(ptr) __PTR =3D (ptr); \ + __unqual_scalar_typeof(*ptr) VAL; \ + u32 __n =3D 0, __spin =3D 0; \ + u64 __prev =3D 0, __end =3D (time_end); \ + bool __wait =3D false; \ + \ + for (;;) { \ + VAL =3D READ_ONCE(*__PTR); \ + if (cond_expr) \ + break; \ + cpu_relax(); \ + if (++__n < __spin) \ + continue; \ + if (!(__prev =3D wait_policy((time_expr), __prev, __end, \ + &__spin, &__wait))) \ + break; \ + if (__wait) \ + __smp_timewait_store(__PTR, VAL); \ + __n =3D 0; \ + } \ + (typeof(*ptr))VAL; \ +}) +#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 + * @wait_policy: policy handler that adjusts the number of times we spin or + * wait for cacheline to change (depends on architecture, not supported in + * generic code.) before evaluating the time-expr. + * @time_expr: monotonic expression that evaluates to the current time + * @time_end: compared against time_expr + * + * Equivalent to using READ_ONCE() on the condition variable. + */ +#define smp_cond_load_relaxed_timewait(ptr, cond_expr, wait_policy, \ + time_expr, time_end) ({ \ + __unqual_scalar_typeof(*ptr) _val;; \ + _val =3D __smp_cond_load_relaxed_timewait(ptr, cond_expr, \ + wait_policy, time_expr, \ + time_end); \ + (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 Sat Feb 7 08:53:46 2026 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B3F2E22D791; Fri, 2 May 2025 08:52:57 +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=1746175981; cv=fail; b=cgMWqcPf8Gcry0yZexGJQMV5hDYpUAxykpR/MMykRZh4NIz/YIdK+8aKizIIN28f1nEBFO/LrxenAGS9a8H+HU+6Y7OTyaC21LTWbSv5qic77Nra+B34Vc5NYZuumE+G/12hDSU/OfLNlfheQDBJxrewyS7pMdfG24FQQKMD4I4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746175981; c=relaxed/simple; bh=b/3Eci+3vi8YUjfVbk9rCTMdvR/jVmbiCGRoCByII7M=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=Kj66tWw5H/HlcdULl5XSHj8CCT4D6jmlPhWLvZTc/HtG09wwj/vhxmg5RCl+HwgNM5cX17zR/96JZoiAjWLt7cKcYkOBafM1blXuLxBYJbqGgZsAOeUh8oHCU9nE0Q5pRjzVnt+OHIcGNT9Tt+23dZ3VIJwKD/wFZNSKUvTj2HE= 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=sQy5+orf; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=RtyAoRfL; 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="sQy5+orf"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="RtyAoRfL" Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5425WCU9015439; Fri, 2 May 2025 08:52:30 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=KGops30G7DIE+snIR3gITEmmz/wKLoERlSlPKIC6Nqo=; b= sQy5+orfK+5srdDRCNbDJBap5tvxl+u/9aKqmDDuulKsLJUHYF9Ic554zlyCS1rp 5SXXEaNWgboJMTXOw+LlQbG+Omd8HONf94FiKPCme3J4qnTXf4dOd/zfz+5g75qW /GV+WYA9o2m8v0B1Kc9qClBNqbLmnemz0Lrp34viDiI7/PtR5vyvKumzblyMrmxV bQBLkP2mNW1pqa/9RPyut5I7Kdz7uXiU4SkKYzwn3tj5TwX9h4NWvGMXIp25hNAf w2qIu2SIN5exdYNtgJy+xgl6syxuFySUjInIKA8drHKSHCnEUm4/ZGDOMdFMWvj9 RXX7LkAcH03WT7BthWKY3Q== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 46b6ukmxgc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 02 May 2025 08:52:30 +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 5426aZSH033464; Fri, 2 May 2025 08:52:29 GMT Received: from bn1pr04cu002.outbound.protection.outlook.com (mail-eastus2azlp17010018.outbound.protection.outlook.com [40.93.12.18]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 468nxdj4pu-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 02 May 2025 08:52:29 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZZT/eCNsib5lLcR511Np/KI35mXDjDvopH4qWIaTle5DuuEKba3RQOBSzgREU4XXHtnJPbBOIWOTPZuQhUJhXCX7dE+1ciQ9tB6TcsvhFM2JnJjTo0Ylyi6wqvXLTSzLbxOghES85M4nL48w8N6p94uadqNVA0rMv0Luh0PrVmiFr4h8f5vUxHXAWvDuaDHEhLgIKr0yJaMU57bwAVbaXf3WI5zOTfbYFAzfxsK5Y+Ud6SP5bOHv89vwmkY0NJAFzykFDmM8lqLR6Xc9TS692u61Zbo4hXvXx58QvwjEsqKKIWqyep2ieSuEdaN/AcGQOKOrySIrjR/vZSApozD97w== 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=KGops30G7DIE+snIR3gITEmmz/wKLoERlSlPKIC6Nqo=; b=sNJHnsQg3EsfRgJHN4fTtMqGAeQWPqYQhPgsCTVmmW01Zmo921p1IZcjgIyv0FLbhZM98QNMKpBheXjPsD5Og5Zw5MkjIKSQnJPDYHNVuUVKRzLTFUkISbvj80/tNXfAXW4UnAcZktLB417SGFVFYW4dLC8yEHuBOGulcYyHmMCykGUfTtZoX2X/ns4rkInxg5foBUA/7Il9wme/Tu93dHCLs7G6xkj3dIIMHzAPpTMOZ2RL0DaYLram84bgpVR3ZcJWYFUeuZDj3yZR19MYU+Or7eVD36F68jhdX0y0Btw5GJTY6/yo/LALFts4IDtjcmeAFI0lbMsNNPz8YnKUUg== 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=KGops30G7DIE+snIR3gITEmmz/wKLoERlSlPKIC6Nqo=; b=RtyAoRfLR754PGBqOoZg2KvTVD+RMerTgN77qHl1sE/uDbUkeFqBNqVaKquOGKv+PC3dQhz2EEr08jdGBnDeVyyNfCE8/rCHRtFVegXolR4Wh3VRs30zyLRMRwH/aVMp92q+MT8SHgNaJh/tlA09AZPH41eCymvffBKJTNuc32k= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by IA1PR10MB7167.namprd10.prod.outlook.com (2603:10b6:208:3f1::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8699.22; Fri, 2 May 2025 08:52:26 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::25a9:32c2:a7b0:de9e]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::25a9:32c2:a7b0:de9e%6]) with mapi id 15.20.8678.028; Fri, 2 May 2025 08:52:26 +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 v2 2/7] asm-generic: barrier: add wait_policy handlers Date: Fri, 2 May 2025 01:52:18 -0700 Message-Id: <20250502085223.1316925-3-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20250502085223.1316925-1-ankur.a.arora@oracle.com> References: <20250502085223.1316925-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR03CA0010.namprd03.prod.outlook.com (2603:10b6:303:8f::15) 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_|IA1PR10MB7167:EE_ X-MS-Office365-Filtering-Correlation-Id: 5b58db7b-23c6-4383-7faa-08dd8956a9e0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|7416014|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?UXKojoYzz50isEWa0V0w4WJULESkkto7D4reyayafGK1B5PFYhBCAQbmUNr1?= =?us-ascii?Q?CsPqrXlRsUMqcxJ9eqKohaNNW0StMfp0chDUkMmNVgp2FprcD8Yb9znsSCFy?= =?us-ascii?Q?oRWwsoEGpRRX8gCmMa4hFXncDZ9bZCgqaOP1TwQpD0HlaWzWfIyodLwFpxWq?= =?us-ascii?Q?BB02rmAobu4DRtJIyX9HNm6AQeR+pNRvcQyponnPEeMfj7edmhe9wjW5BjfP?= =?us-ascii?Q?20ERbWS89rJfFGYm4l5cF2A1PL/InP7IrNXthfswwfF0U23+7BkWZl3G/383?= =?us-ascii?Q?2yuqhw3/Bu6305qzHtQ/tHqCROG0DZBXH7VtJCYa2OvlU/xwRdMzdUQmy4VD?= =?us-ascii?Q?G6Vqvc5v3P8tVFMRrRtyLHP8SkE9Z++ZGs7/EzA5+1xAx9cbcxv2xt/dWquJ?= =?us-ascii?Q?plTb5Dsm9DGNebU6iENApjRj4ZBMtv+z8WBfSpbgCFra5OTL9UWEPOqIiQhh?= =?us-ascii?Q?2csfuzwVVEqCZNOdY+J9tr/UhcrNkCb8/LfnYLlP60dRhh1/W2UmyMVKPWln?= =?us-ascii?Q?dlJgD1ojRo7zrYbDeaeLtlJHJQ/RMyn3UGVdtxLKzXJ3L/UsP861rgH6gvCA?= =?us-ascii?Q?tjro56Z3MKn11/2My87vh5c7/m6M++Y5lt6iZFMhV/1ZpeKONoefKH8Q4KCa?= =?us-ascii?Q?iL/Zd25hcTmtAgC66/J9JGUdOsbY5xJ/ZGHJLLaGejjwrj6Se+MAXADPp9GD?= =?us-ascii?Q?fmDA8rMklN7bxCOrLECuqtMDiczaSR/eqXYBZSg1lZf3MV+Ji8fIZp0+4rA2?= =?us-ascii?Q?NCUgHXCK0VEIONuQhVJPd2KGa7rueT/gqruUNaZqsKrFbzzdJBE5GewvZUEA?= =?us-ascii?Q?W3GKKP70q3E/6y1nWQxIHCEWJ/Q+2NMFWOrUsREjZLJjPvB0/kStyDafENhw?= =?us-ascii?Q?5WRxK68UFxp9rou71JH5hQ7GHSe5C7d1+VYyEuohF0JByhP4P9lbZdKtXO87?= =?us-ascii?Q?aFO9DGo1p6pif8G8JOPJcxFa119Aat+XltIKWK2TncW5hfVsswNZUnJi1TLG?= =?us-ascii?Q?lq2EOXmQzwa4KNGYc9kmqzYSJKYccH6KrsjcHERw+28r0fD7Ktg1mDO7FM/Y?= =?us-ascii?Q?My0njcoqZQ7xP5p7vVDV2v11i3b9x3PnCprdi5KQwkbA/p90Cd0fjRvcSKF1?= =?us-ascii?Q?S+S+z5pQLddt9aCJgO/6DqxaHCz1/Ao03NTqnQsshLx5MhA9euCvCLM7FoLD?= =?us-ascii?Q?eajzmwobjSscHDpNjYYjJlJLCEDKafnUiirxps2TYPei8kfh/QfaYx+yb68v?= =?us-ascii?Q?6M8vUO3BxgoHglsyoScqCqGPMcnWQG90CB7zMnZya56Rt+iibc4LkBKjTi0h?= =?us-ascii?Q?Pw+oPvgUrEUcdXDWDN1RQV9rH49d30aFPB1dGTT3Eaev8GrxW+5o2UbVHXZ0?= =?us-ascii?Q?wYK0ONhiurUwgstQuE62wbVjo+Zikd2u2V3Mnwu032yVIsQlys2UNSzlWQ4G?= =?us-ascii?Q?H14gKkeq8xQ=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(7416014)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?76kQFqVprxlBZpjVMKxrkthO/kyypXNZ8pwflGFR5ydowcdIDp8wh5reHd9y?= =?us-ascii?Q?ZOloWSj19yqUPlfvFgxPzJz59XxYN6v8LAQNL0tsLLVNltn2/vzMCGgI64Oj?= =?us-ascii?Q?EbRjDInEAiTZ4Y3mQzO16csWuDjyEIeh1g0schCSSVKQYDG7a32SVTuVcuPi?= =?us-ascii?Q?F/vwp1kkvbfI9RRAiK/7XCaCMFxB7VSW7I+TjZ5daBDkB76BIRuxMD4UoGMp?= =?us-ascii?Q?pzMharAc56MVTzXpxcaielFeiNgFgUk3Tt4uKgZCL68J2/+XT01DkSK2esZ7?= =?us-ascii?Q?1xV46nMKf/0AueVkVm3S/ogwKmAY6HDuhhTA5upDlOH2pDkarSQeTTkbdowp?= =?us-ascii?Q?p5X3FbeCcI6Lzuhp7QxMD5kYSK0IG+FvdXqFTtoOTL+8sVpmULlUf71nFiDz?= =?us-ascii?Q?8WSYGoUoXkyOf1uoY7+U1JjPAOpi1hVSKADBcCBLpFDoWQRiZlh246saMmSz?= =?us-ascii?Q?Mk2xwvXZbtmOWxH4j/1FEVJQ5FFmKDV2VnO+nShCTNye5nGetGKaAuQLh6Hk?= =?us-ascii?Q?R84+LTe0TTBY7olw+eAu2x/ftdX31rdK+0lCb2S8EzErvwp6x9G2iLJDDn3k?= =?us-ascii?Q?1+DbwWva2LzC0pOjaOJxpZXXcIYGn4PdyP9S+i18rECzjt/Up3EyIlxjEC7g?= =?us-ascii?Q?VOTXmKMJ3EVcuf68p79IfkiEAwccJQ/8bq3aopCVTj2v8jnZnr4c755RYUU4?= =?us-ascii?Q?yNggQP7ZF36SHTkjqNkMHcg3Wxmqjh48gcA0ZemnDN646TcEAs4nt7Gm7+mZ?= =?us-ascii?Q?f6lw2lDDHPDSfvoYllVI0VIoRSS5Iu3/ujXgFUV2d/Vpv4YPjrYV83TFs/iA?= =?us-ascii?Q?Xa3mGczy+wjeYmtRhB9bLHdXUOBFLj2pcPT4+h+2VydGOHBIzAwj6foBsWf+?= =?us-ascii?Q?dv5BozGW9MBHJc5Qa+oNmKvPB6IlJ9P5gF2GhTUEOQtsgMwtEpUzPerqpV6L?= =?us-ascii?Q?vcmTc1j/rGbFlh9LWcTJ+wyq9GwgsaUgeUzsNKVrRVbzEo3YNSqjWJlVoFaE?= =?us-ascii?Q?xXtMxINRxezZ/tb7RQ1v2r5orF8xvkRn/RJblVqsN8tXtHt7H1DNXTBF2e3U?= =?us-ascii?Q?L7Y8esJ4Q87BoONbhF7Qqk2aJPXfombr3+fdQbT6XRkdQgrOmDKTd3+jkVob?= =?us-ascii?Q?9BC4geIB096z9cG4mjSzPyGZavnYjmOwclQa2aiGkRBJUz4mp30GJHXcKTWm?= =?us-ascii?Q?J8Kkj1YAFH+XpavFUpGJlRFhlqYn2yIypWQU6u+X3bVDhTIbAX7uVSeCcu6M?= =?us-ascii?Q?s+0DFsq1yho+Z0R8Dw/RIbsTEC//9t9Y1C7N1adQg8nLcbkcbGbp0C3VdZxw?= =?us-ascii?Q?JH/WOq61NT+OlgA6CBRwY41WD+k84U3gJTAwbP5ac4C9LNugmgHvIc3+Ynf+?= =?us-ascii?Q?izchnEXyT5bSnbRjIsajEEwWPSqFT7PYB+xdKWaX7jWKhmuydhqdTF9heiQR?= =?us-ascii?Q?m51mr3aFl+v6mc0fbgRYPrAuZJmcY+pYuiAYeWR6EfsFr8M8SiVGYKI30ayB?= =?us-ascii?Q?X25blBIgB8QVHqzVk4lsofhzvzWtVpJYt5rWlYXNsKk/yFIqO8tYX5KAwsGI?= =?us-ascii?Q?wbvAZFd8KtSCp8OpHlEOlhpumvXYrERO5KPQ73kcEd3YTKru9lLV8B+1XKEB?= =?us-ascii?Q?1Q=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: vd2LpBHbZ3r2qn8IDLXL8GXucIWHP/0esWTcJWcCNCR3DpMUaEGQDC/0ENEhEXlTci5oIQDwofewTIj632BdgI/5rQDvJRySDfZQb1BAF7adf5G7l/QtfKgxh8aiq2xyaMhIEllGfmhsY3OnFcH7yY5OePo0JepehPZ95emyijwanTd97HV/iK3sSq/TEWEcBqA0+CZB/moPYOFUZsN4e0gCE7awUB8bG+1Z1R03yFSFqEHiyhal9uH93FT0bo6LL60Jl0vy1BxTc3cEty40qwfFSIdBlE2iq5I6AfW3h+AuP8qYH4+Pt5/eYmqveb13k/biWm9dqlnostHP8HiROD0GQGvYHYlnloCb0mSakphbeiPa72zE1k3zYVc4a64LhsbLuvOABiMAUc7aUEOpsd5dtUPnOOTePtPUIsGCy9sP228reH86oLyA2xKZDRsnVPayIXsmsqKyBaPJ7p+Uu07sLvSEnbcUNWqgD1VQv/Ckw+N/djjW9/b375H39uSaJic8d2TmJscxO6FZVXG1WkborzSsJZAeO8yfvAu6az4U0aaqgR8c/ALiAOyMDxqjHXwGJuVVRlkEfJ4RjXZrWkMNc8vno1aU0QfjdW4J2vo= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5b58db7b-23c6-4383-7faa-08dd8956a9e0 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 May 2025 08:52:26.8266 (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: /M6SKpTfmKNF39ifjEA899i2F5x1KPpEZd4L4FVwTqxgHtSgEis9Fd5s9NQerbQRD5lRkZNs46d75McCVyceolesfgCEqvD2X8PCLzZUrzk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB7167 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-01_06,2025-04-30_01,2025-02-21_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 adultscore=0 malwarescore=0 mlxscore=0 bulkscore=0 phishscore=0 spamscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2504070000 definitions=main-2505020068 X-Authority-Analysis: v=2.4 cv=MIZgmNZl c=1 sm=1 tr=0 ts=681487ce cx=c_pps a=OOZaFjgC48PWsiFpTAqLcw==:117 a=OOZaFjgC48PWsiFpTAqLcw==:17 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=dt9VzEwgFbYA:10 a=GoEa3M9JfhUA:10 a=VwQbUJbxAAAA:8 a=7CQSdrXTAAAA:8 a=JfrnYn6hAAAA:8 a=pGLkceISAAAA:8 a=yPCof4ZbAAAA:8 a=Pz8WANXY-D7B5XMkspMA:9 a=a-qgeE7W1pNrGK8U0ZQC:22 a=1CNFftbPRP8L7MoqJWF3:22 X-Proofpoint-GUID: 0pqCMfrGPuKQoPY22PHQe_O2MqQZ_4Gg X-Proofpoint-ORIG-GUID: 0pqCMfrGPuKQoPY22PHQe_O2MqQZ_4Gg X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTAyMDA2OSBTYWx0ZWRfX8znhhjX0FMNn jq9YmqSN05nnOihD2gljG6u2RDOCL0LLckjDcvJZAmRT1DfNJhmjUFsl3+SZPi9HF4GUSBPmhic mwC1jhUGR1iedLuHhAWgMKQXCcs+qTvw0j5ONbwHoRiGos7/3H64td+wYDu0SpuWM6C+VlkvKp3 i1TmBd/6PNkjQ5IaynZOxEO2jaIzPEP6juPGD3iDmQYeCXnDhVdlByGK8CzpcY3dc9wFOLt7239 GzYYBaYZi/xqSvhj6k1Vbtb/y7zmJIWSY+q1x5UKrnrdtmB+Q/O0cP8Wn1LdRsz8+YRLjNszBuX k0DhKrZFb5yQ3XplAhC7KzgbVxmc6u7rDq7XV7GzYikcau9MGmyZASniUy63Nju0brm9VFILQyN wBtP44t2HlcVpV3bXo8FW8iZsWZEVVqQdzjjN5p6Kx9sFwjqN0KL1bOWZt5dUS5Q7cvWhdJK Content-Type: text/plain; charset="utf-8" smp_cond_load_relaxed_timewait() waits on a conditional variable while either spinning or via some architectural primitive, while also watching the clock. The generic code presents the simple case where the waiting is done exclusively via a cpu_relax() spin-wait loop. To keep the pipeline as idle as possible, we want to do the time-check only intermittently. How often the time-check is done -- which also determines how much we overshoot the timeout by, is configured via the __smp_cond_timewait_coarse() and __smp_cond_timewait_fine() wait policies. Cc: Arnd Bergmann Cc: Will Deacon Cc: Catalin Marinas Cc: Peter Zijlstra Cc: Kumar Kartikeya Dwivedi Cc: Alexei Starovoitov Cc: linux-arch@vger.kernel.org Signed-off-by: Ankur Arora Reviewed-by: Christoph Lameter (Ampere) Reviewed-by: Haris Okanovic Tested-by: Haris Okanovic --- include/asm-generic/barrier.h | 66 +++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/include/asm-generic/barrier.h b/include/asm-generic/barrier.h index a7be98e906f4..76124683be4b 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 @@ -273,6 +274,64 @@ do { \ }) #endif =20 +#ifndef SMP_TIMEWAIT_SPIN_BASE +#define SMP_TIMEWAIT_SPIN_BASE 16 +#endif + +static inline u64 ___cond_spinwait(u64 now, u64 prev, u64 end, + u32 *spin, bool *wait, u64 slack) +{ + if (now >=3D end) + return 0; + + *wait =3D false; + + /* + * Scale the spin-count up or down so we evaluate the time-expr every + * slack unit of time or so. + */ + if ((now - prev) < slack) + *spin <<=3D 1; + else + /* + * Ensure the spin-count is at least SMP_TIMEWAIT_SPIN_BASE + * when scaling down to guard against artificially low values + * due to interrupts etc. Clamping down also handles the case + * of the first iteration (*spin =3D=3D 0). + */ + *spin =3D max((*spin >> 1) + (*spin >> 2), SMP_TIMEWAIT_SPIN_BASE); + + return now; +} + +#ifndef SMP_TIMEWAIT_SLACK_FINE_US +#define SMP_TIMEWAIT_SLACK_FINE_US 2UL +#endif + +#ifndef SMP_TIMEWAIT_SLACK_COARSE_US +#define SMP_TIMEWAIT_SLACK_COARSE_US 5UL +#endif + +/* + * wait_policy: to minimize how often we do the (typically) expensive + * time-check, expect a slack duration which would vary based on + * architecture. + * + * For the generic variant, the fine and coarse variants have a slack + * duration of SMP_TIMEWAIT_SLACK_FINE_US and SMP_TIMEWAIT_SLACK_COARSE_US. + */ +#ifndef __smp_cond_timewait_fine +#define __smp_cond_timewait_fine(now, prev, end, spin, wait) \ + ___cond_spinwait(now, prev, end, spin, wait, \ + SMP_TIMEWAIT_SLACK_FINE_US) +#endif + +#ifndef __smp_cond_timewait_coarse +#define __smp_cond_timewait_coarse(now, prev, end, spin, wait) \ + ___cond_spinwait(now, prev, end, spin, wait, \ + SMP_TIMEWAIT_SLACK_COARSE_US) +#endif + /* * Non-spin primitive that allows waiting for stores to an address, * with support for a timeout. This works in conjunction with an @@ -320,11 +379,18 @@ do { \ * @time_expr: monotonic expression that evaluates to the current time * @time_end: compared against time_expr * + * The default policies (__smp_cond_timewait_coarse, __smp_cond_timewait_f= ine) + * assume that time_expr and time_end evaluate to time in us (both with a = user + * specified precision.) + * With a user specified policy, any units and precision can be used. + * * Equivalent to using READ_ONCE() on the condition variable. */ #define smp_cond_load_relaxed_timewait(ptr, cond_expr, wait_policy, \ time_expr, time_end) ({ \ __unqual_scalar_typeof(*ptr) _val;; \ + BUILD_BUG_ON_MSG(!__same_type(typeof(time_expr), u64), \ + "incompatible time units"); \ _val =3D __smp_cond_load_relaxed_timewait(ptr, cond_expr, \ wait_policy, time_expr, \ time_end); \ --=20 2.43.5 From nobody Sat Feb 7 08:53:46 2026 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4FFD7231847; Fri, 2 May 2025 08:53: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=1746175985; cv=fail; b=BFtOS9mm3+tqB0qvbNHTm7cVwD/PT6lgggHfNJ6/vAfZrhCSNXYfeXMbgNZWpEaGAUDx2D1WrbnQStc+ogP9mwx/cDToy3yltZHCI0rwNtxk6iKrtGyDhXuZlbJ3RV7cRkc3S3VFuRejZdA1h48amaGjjwuyDNqkqZp0Wum+cGs= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746175985; c=relaxed/simple; bh=P0Q2Co/KNwIR69xO0bLnZ51CursThvmxBIno7qLKxCE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=pnH2NYCbNgYefWJq9YtKATu+dcdxuwlEqhv6ayhjlwljlrph87PqVMhIv7BYw3cjPb8AfjPJMjw1yRFYDBd6EkQZ2YXua3GDgWATDk9sos7qZPp/NLzTh4fT1/teYvbi5UGoDkvcek4/EwU13wKjRVeIF95x2LLsdQe/w5hQRmE= 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=Eeea5SKh; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=qTBSmDmH; 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="Eeea5SKh"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="qTBSmDmH" 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 5425WwMj013912; Fri, 2 May 2025 08:52:35 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=Da64/pvyw8SJTaSF77VNKCSJ2o6Nfdnw/U0B0TRA7fg=; b= Eeea5SKhqsKYOwk5zg48nxdpKQX6/SoeIy3u7F8wTGnBvW0D3UPMH69/CchI+YhR hI0TKzezWv2NG9vm0VdUlaJpN9Rn7gvywPbKg2Y089k8nK3KlUqEFGpikiv38YXa 7dKLuCF8/44ocpf9AKA1CtNOBbSyoXH3WSAAwHqS+v4PLItSC+V15lUziZLje1ud w7khrW0ypurvgjm9DPl+CxP0/JalFi3uS6duFZh0DcM3OF93LsOc/DlWxKN6UO4c OcqLnLaepYE3BiihQ8TPnWR1Z3+PzxXBD6vF3dBkK8q4BNnpO7M4/Hzq03uTlfzE LmmuWnN4ksMEq4zhqlcx4w== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 46b6utcu9s-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 02 May 2025 08:52:35 +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 5427Cp9X013794; Fri, 2 May 2025 08:52:34 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2048.outbound.protection.outlook.com [104.47.66.48]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 468nxdjncc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 02 May 2025 08:52:34 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=DX3iMlGNIEjGsHLTV0jZl3XP1gbw+zx1GBd1tpxHWov0ba47SlZbOi9yb/Itld25I8abgKvOuRpF2zFWJIU7qpMYEr1njrsIVd61BJrb8h91b6HMr6TLDcxDUtF6JLnRcgMp8d+wEZM02I3Bp1YBXFOE7zkj6Y0u9X4yKolVOQTDHn17RRCSXoUvFY3f4x322ascHJvTXVTGnP4p3sIwYKqUuEjYmwAZmhdasZZ2Ocyeu/Rdu4uoo9UDL5W5BcehLMwetdTxR2gqzEO/QjfS+H/9d1mGDF7yWST14HvlxU2hvW4QkcNaQffw46XiK5JOVfBgBOaO+7DY2uZ3KKgRuQ== 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=Da64/pvyw8SJTaSF77VNKCSJ2o6Nfdnw/U0B0TRA7fg=; b=bnnYTJxTYokfYX0lYwReHB+NhlfpBwuqn7gJgooDXKFwgOU41PUmzgW/rxCSMFQzSx4s/R7QFBY1aBidSZmYMGIEXu7goRDq5flNItuvtqwZpEtIcqWubDAFIvM4NUqc8dK9lGfN6wVZYR2dPBAhzFSciEB9y2GlZVuHjf7Ek4yFLOlN5K96eL+tzIE4qWQB1fqIW1BXbNcxX/6b7uIRYlUV/SCOXJEce4zY55nmu83WPULf3Gs8P7PLPfY2oy9MiDy2UdMH3r+0nxF7QyTXFRwL895gbVVdDiW/Zw3OWsec8Eb0ZbNSP1Dqgucd5mJ23F6FCtf5PHefaxkBwCc1ag== 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=Da64/pvyw8SJTaSF77VNKCSJ2o6Nfdnw/U0B0TRA7fg=; b=qTBSmDmH46mltaubhoWmZVlTQzjEQQafkOaBdLOUcmdIfXOH1sE0kx63mTs/L4FH+n5SNvattxQN9tWF6TYf8ooCVCA/gdGMjlZrfbommH8rmaoyXdXvR1LYqgK1QXEiMF2qlvj56vJ3taNTwoAx0qvrQfbV+ftLC9xycPODQiQ= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by LV8PR10MB7726.namprd10.prod.outlook.com (2603:10b6:408:1e8::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8699.23; Fri, 2 May 2025 08:52:32 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::25a9:32c2:a7b0:de9e]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::25a9:32c2:a7b0:de9e%6]) with mapi id 15.20.8678.028; Fri, 2 May 2025 08:52:31 +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 v2 3/7] arm64: barrier: enable waiting in smp_cond_load_relaxed_timewait() Date: Fri, 2 May 2025 01:52:19 -0700 Message-Id: <20250502085223.1316925-4-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20250502085223.1316925-1-ankur.a.arora@oracle.com> References: <20250502085223.1316925-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR03CA0009.namprd03.prod.outlook.com (2603:10b6:303:8f::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_|LV8PR10MB7726:EE_ X-MS-Office365-Filtering-Correlation-Id: 68a3d522-604f-478f-45df-08dd8956ac73 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|7416014|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?MkALKR2kER8jx2WWHFKdygFXBUP63lrqTlpMaFy8ZVEnX8KZP+b2A/tDUxhD?= =?us-ascii?Q?UG4X4nv5lqhRrUIy0c4cEFAI6DneOQd5EBnp7q360irr+e5XqL7Mk0St3wlr?= =?us-ascii?Q?ZR0lE8OOwEZdKzCq/960QLeC67s28TYL13RHo3SUKPH0NQeMDG2sWSTCqCuv?= =?us-ascii?Q?YNudFhjtcCy8Y/NLJjNZhBM0xBwkpUgNC396hx8GluvawuaF58QD24e+amO6?= =?us-ascii?Q?m3ChNcB+ZFM8J6lz8jhfANDGwRZIjgKaOE4HCfzSw9GjboLBtNr/+eYMXgwT?= =?us-ascii?Q?m8zpWKz12btmc99pN/TKpimaE1luNs7rDfLTGNlQA82dEBBiOxklVX7jLJXw?= =?us-ascii?Q?NzvawZUrzj00uIw4tD1XREWUKCAfzD96UEL74ow9Cia++YMJgbkRRuT5FlQ3?= =?us-ascii?Q?cD4byHcU2L3Pltke2xfMAG+N9X+AHBMiecB2X1Ooyw5rj0Sp+Q+glAoULYEs?= =?us-ascii?Q?VDBbfjXg0HmlbHnGUbTyZmZuWGTOIi5GlC5CStpiWopS3bZUW1jq5U7w329C?= =?us-ascii?Q?VlRp/ol52TJvE7Mmzz5wXDCl7miruRS3XpW/hv06/wWPsNs6D7flaWmSClIN?= =?us-ascii?Q?+jEA2n+m9gfRfgjkC+JdtNPAmgSBupHUlMJomIEJOTcmrbJZGDcIt8p15LAO?= =?us-ascii?Q?gkja68tmnkjUKYxz4kYJdABXE/f83UjVmi+ufC91q/8T15lMY15tgq1+hPMs?= =?us-ascii?Q?kfXiiMHhYnMyEjAZORJO3a5oOmRwLvlN37YMAn7W0ugIzehpgsZ+pkIkI1hA?= =?us-ascii?Q?QFCvV+Hg9Nz2JgdY+bq/OvE1sLFhu+ZEEw9F5IVXlG5hFuO2kgKlvbcAgzR2?= =?us-ascii?Q?1JFMgJuDnXrJWVPjU7B7uwmuwq3eShwCEbQm6kx01JR8wzpEKY5xIzELzkQl?= =?us-ascii?Q?OFhkett7g60YPuzIfmIY1Rk8s8QIPjRRpXbyguxqU8Zr3tt7p/LvEA14zt6k?= =?us-ascii?Q?OacCTh3pvhpGvKoJ6HSv6vgaO01U6KqdNjE/DYfWillhwtIXu+0h/3123hCg?= =?us-ascii?Q?ECB6CskOVk60vi5AM6mgbhJITY7ILRB9FodvhQqEs1yfY7h6E1ADAlyftZ1C?= =?us-ascii?Q?Oi7JcyoOTF+WktqRDRl1xYiHIUNC18ynDJAymMT0KVq+KsKDX7vhLmZBSapE?= =?us-ascii?Q?yM8Pk4yiLT8g/B7rPxa8mAwQHeAtMcjlUGdkRuHEr11ytMDE8//l3EjesqEK?= =?us-ascii?Q?/L+IQFjSSbAW3xDBxyXUjDJ4uw+/9N/34pDipHQZeo6A3Yl7K+uwqBM5zcTa?= =?us-ascii?Q?bafLGlCdPC904+qLOTGsmTxv/ijD6YuI0mg8UoopRrgnoDK3qKLZ6W43nsn8?= =?us-ascii?Q?YAk81amFmw9f3T8/6yHWrB+huiA4TZAFPQaKlQD5oqZaEgR/KGGSYSMp8xHY?= =?us-ascii?Q?RigGpof11EPZS0kI2Jc9QBeYgzpWP1Zqm7LEYEGDu03xm6sWDhpLMM6Bb2fb?= =?us-ascii?Q?PfNPF3LeJzs=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(7416014)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?T5iXHVd9Uto0JOpQQB3Dlnm2+Ob/za8qW5e4Ey1SHMrbGqhxF+XwmSkM00g4?= =?us-ascii?Q?WSlFfMFsX0BxGl/61Q5oqb/WTjwlSo9i5UQTr93Qera1Y9N1VcOBJbPW+8Vf?= =?us-ascii?Q?HcaLdn96JTVVavudTpMORY7+T5PU+qLqtBLB5yPjJPT7654OoKKPJ1Q0yxqr?= =?us-ascii?Q?dkFb2i7kuOA20T6DXOCRSLUWmO2udUoO73l+DAIQEAeHjsdpzbDA/zHbflDc?= =?us-ascii?Q?pjeyvGV8dqDe2y9AltYF5BLTi7/O2+RWrrJqCnVvhzVqGjX0jrSdBpVdKGiX?= =?us-ascii?Q?dDxx36vSKipzZjDWgE3ROulo11ITxKWfVELGkiWZESxwfwZ+S9Qpdo8mrFmZ?= =?us-ascii?Q?rw/ALLa+cL5EH4PdD5EvHuhSCkQiZA5sOQfzia/V/G4rxRezW/Yqgby6P0Be?= =?us-ascii?Q?gt63/DOFmJV51mwu9XiNYbihT5GvJRmwA3P8l7cUI6HC6sG/fruLHkJZxaQ8?= =?us-ascii?Q?XH1OvVUi2VUXkI9+IDtyGWViuW0qNYj/PQ27GtECc7MrfJgkSPJBPVb5hV0K?= =?us-ascii?Q?WoO3uWDGP3hJnwamCuiYoZxE67jOKk1iFC/uxCY43KD5fYLCSj2ACZ6QdCeQ?= =?us-ascii?Q?CO1BpQd9UvqodIW/Rs9oxzSUiK7mOAdl+ZfTBEvRuKoSEKxUOk7209ljYCVG?= =?us-ascii?Q?m3PaGuA6ooW7dPJIjknOqDSAlXp3oTBacsUzGl7118cf157TIgVWgEk/qzso?= =?us-ascii?Q?nKu0zc3a3DCMgIGlX5+u8Anib5+FHjCnaUisHrlklFMLpkoav4Rx6hJf8ubb?= =?us-ascii?Q?NMeiQYnElDKZJYHqsRmVYcyHnpRqvUFcaczhcka+p8s+13h9F1cgJQ/psxq+?= =?us-ascii?Q?p/tq+HGtI3azuU0tBFi59wyAeFNz9WfGVMd9MmpYIyBCQWBc4iFB7FdkaLQu?= =?us-ascii?Q?1emeHQYYD1izeGZFGCLLFrxvgUXGcM3p2dZ5m1XMBnZ83gmL21tmOW2pEhEa?= =?us-ascii?Q?NEiyapC59n2pOT+h/yyGVGkV84q/4TJyZ3FGzSAh0wC4IMZCoLmXugMGLM7z?= =?us-ascii?Q?HLL//wpvvAdeA0q5M0MfoqotI+nIdlBiatneruUp8vNhu67iQd6x0kRIbq3S?= =?us-ascii?Q?+tExUmLhdlZi5VYtphjIli3o+6z4SC5xBA/a1sybFfRYIDX9XxYwRRlHSzKD?= =?us-ascii?Q?edusdyiuBg8mHISZmWg/ybXjLeruAtgCVbVLGGn1HQrIFoEOXwCl2MB94lj+?= =?us-ascii?Q?IqVRUmFQA/1LbFmkq9/MVA3+KVtMx8Wge0YgeJzn126Nca2mgq0FwusbClal?= =?us-ascii?Q?jj28pvgLhGl1z9HlkIfkYbsmezcLNc750VE+8iHpCJOLO70QGmmpBxcVgP/+?= =?us-ascii?Q?2NaZP9wmPljW8YiAUfPrCFBguGCeTbn2LTkLqdMJYd826XTmh696iUpxcmI7?= =?us-ascii?Q?TREjrRyuzTtCs024XzjKURMwua0SmGZi47rhB1q0ylzedFsCZHOo+K5uInRP?= =?us-ascii?Q?7TDv+ULPY58cfeo0hmaC//Y0QizOlKujsVljoyK++9VMJOC90odbytWj0KVm?= =?us-ascii?Q?HS9n2foUIAo/8wczK/ffx6GazHEsedLqf5XPUe2kuVipB6Qzb4k+aHmOCSFz?= =?us-ascii?Q?5qn2p8DY+Ywk2U1X6Xl8NlpmAnLEr/hsZ2F4yJ0eCdiguq+zYt1Lb17Ulhhd?= =?us-ascii?Q?hA=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 6GHpGTRLURppfX5rE+/cFDhIJbS1KSMEyvtUacXXgJcSAaIbtMMzClI46g/lF/ShlQQ7qk+TYapBGAzNnBRstmXwCrFwi9xcSq4OzI1e8DECyfkPhEZXadl8AQ3EQJYQIWwROs5wnPudZ5m6TKogtT5A/MDIlKHT4tRCYbQgteXZd337FIF3k5u+g+qlsSK6biCBRiwgTQiaktmio++lKVKPLa4dI8IopiPa4qILl9qOWlO1LzEJyK5vLExUD0MDCWVmAOm4pRpiNhkws/mk11EUYH1jbkksrIKiQmtmSAnL8d0qMcyMAvrXEdxbTYA64lzUBOL/rv2CG5rjgTL5jIr+wuGOtUjkA7D7RBcTVpTPNG+GlpvU3UteMB+xRIrHFuTRaOrD5GdAVI15wJKfjthqnPH7DtUwkWEIM6+i2ODRorKN4UJ/PNvQlzUwHoCIiDhecRuS6gdC0NvVA5bqc7fLjiCahSd2sOJ5LN4sg+ipF0/j5YfRwNiy/VCAHrA4W22xSIZjBZXrb4LkBPIt8KNLHln6EFNKg3gccKJRyTd/gxO8i8FxLtXeGPPNgInS7G5I1lQvKzTZKclRlEVexH/IkOysib/AFr8T8v28arE= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 68a3d522-604f-478f-45df-08dd8956ac73 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 May 2025 08:52:31.1359 (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: tgs1NUGPSxZl3qZhsyMTKDq+r4QMsPX9fJZjEheZlJc8DuzUhZVPXbjMgejNtxROZueUbrfj3+ZXH55hvkQI3f1ghGn9/n3Gxvuh0uH4hek= X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR10MB7726 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-01_06,2025-04-30_01,2025-02-21_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 adultscore=0 phishscore=0 bulkscore=0 mlxlogscore=999 suspectscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2504070000 definitions=main-2505020068 X-Proofpoint-GUID: v6isgWx0WooJG_evGhAec67fN5XMMtXY X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTAyMDA2OSBTYWx0ZWRfX+SUGZ8bdQ1ZZ /hNGJLncarNvA9Wbqj4QoIkx0/vpnISIRfvq0xkFLKiufFwCJTWv8OY2y3QjoV8L7WlvdrqEqmQ cmEy6A6IpM7Cv+IA+yWS8ve9KF8eSUSZ4s013y7lBRjvRbBz2cN6PZX5wMA/Zo+DtI29E/s7AWy L7oxI8aSScVhVWCKeCcE4lFX+o53uFUxSHeIu371XGqE4+pb0Xvjg0Lj/iTAvH8A//VLNkGQAzC V8NPloKGSBwmUUeKR9iRufG0RnrslGuBJQVu6N3ieSMP5jNavwZaJIHXpLYPGpqoTJ6BKvtU6mP t7ZAlLd93R1ofmFjd/xSX/LRsgmvWJSNzzWRwtr1II6T2+DkRnqADGekiflb73wl2CqVRSjijX0 qOiuX9pp4uQ0w1zOk/Rz44TGrhOYrSte7Z+uVr0AELkxNyzGraUVjW6kXYohBYdMMfsNqVfl X-Authority-Analysis: v=2.4 cv=ZuHtK87G c=1 sm=1 tr=0 ts=681487d3 b=1 cx=c_pps a=WeWmnZmh0fydH62SvGsd2A==:117 a=WeWmnZmh0fydH62SvGsd2A==:17 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=dt9VzEwgFbYA:10 a=GoEa3M9JfhUA:10 a=VwQbUJbxAAAA:8 a=7CQSdrXTAAAA:8 a=pGLkceISAAAA:8 a=yPCof4ZbAAAA:8 a=HJ_Fa5qwEEjzTwSpTccA:9 a=a-qgeE7W1pNrGK8U0ZQC:22 X-Proofpoint-ORIG-GUID: v6isgWx0WooJG_evGhAec67fN5XMMtXY Content-Type: text/plain; charset="utf-8" Define __smp_timewait_store() to support waiting in smp_cond_load_relaxed_timewait(). This uses __cmpwait_relaxed() to wait in WFE for stores to the target address, with the event-stream periodically ensuring that we don't wait forever in the failure case. In the unlikely case the event-stream is unavailable, the wait_policy is expected to just fallback to the generic spin-wait implementation. Cc: Will Deacon Cc: Catalin Marinas Cc: Kumar Kartikeya Dwivedi Cc: Alexei Starovoitov Signed-off-by: Ankur Arora Reviewed-by: Christoph Lameter (Ampere) Reviewed-by: Haris Okanovic Tested-by: Haris Okanovic --- arch/arm64/include/asm/barrier.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/arm64/include/asm/barrier.h b/arch/arm64/include/asm/barr= ier.h index 1ca947d5c939..eaeb78dd48c0 100644 --- a/arch/arm64/include/asm/barrier.h +++ b/arch/arm64/include/asm/barrier.h @@ -216,6 +216,9 @@ do { \ (typeof(*ptr))VAL; \ }) =20 +#define __smp_timewait_store(ptr, val) \ + __cmpwait_relaxed(ptr, val) + #include =20 #endif /* __ASSEMBLY__ */ --=20 2.43.5 From nobody Sat Feb 7 08:53:46 2026 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E22D822C35C; Fri, 2 May 2025 08:52:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746175980; cv=fail; b=DkOOnhIwlemVUhprsPCnc5GhAC5irmovkeD11yjKcfjc1YqXVMJ/t4UH8GmB448YN5dHNIaiS1+4mMW/+/hi587auTZ3YuyaL19/H1iEJMUwtFqcj01bFWkOuBh3eNY6E8WNC92GlMG3lwW3j0F9Tvnc5IcsTVF1+xgSUoSV/OA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746175980; c=relaxed/simple; bh=N6YShK1Og2WcA3wl/GsOg4yP5QpmbnOAlNiVIL6IC9U=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=oEi381HMKrifVmTI7XL9YGfVRkISnvu+rxGHfUBdEMYghdeHxtHblbxiq1ucATkJB3e2xPrDbbolTES6KsaQEBDKSllUfit2bLEHsxAvXZbvLqFK6RPqqbIKCo5WuJ4mbyM62GekDHKTlPlp7UcwwHF2tUyNo5KAElIQkZ88zfM= 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=Cx7Vq6oF; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=NE6fUzty; 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="Cx7Vq6oF"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="NE6fUzty" Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5425WAG5015417; Fri, 2 May 2025 08:52:36 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=z9vkpqrTvVhUdBjros3lphzh/Pl8aizkj0hcMws3MaU=; b= Cx7Vq6oFqcwfvpz1SBrR+vqdRhdlbny0YMDtlkN+6XnWymHCiT21hmu0BlLZROOR CfOWgrU16BVNwLfA38qydoCPPM5efO4fN77B11pK3CQJAj6pL68KhjbTpK09aBSG nLLK9dGSgFfjKoGIiv9ZMN54ZAe3hyZZs/gV4BH2wUvRezilICsIAf5C2AiN+FUv 8SPa24C7E6leJ6eWCz0eHIgrQr/VCQi3d98jhnVOSxNTrkXIb07Hj6z0HBHXOVDu NEolpV/AA63wdnZkecsvd6m0qDuXjmGHPa8lcaRQ5s6D6jxL0lgQm/fa8X/FG594 D1pYnRZ4OtFH1HHQIPUK2A== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 46b6ukmxgh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 02 May 2025 08:52:36 +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 5427Cp9Y013794; Fri, 2 May 2025 08:52:35 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2048.outbound.protection.outlook.com [104.47.66.48]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 468nxdjncc-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 02 May 2025 08:52:35 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=VMDC3qYEKy+urEz2Bg7h21Um3Gmv0cjXOR6oRoGVO/nzaYRcA1w6U9PZ5q16T0bZjkx2XNB1aACvzlaDAQTjizxZbVRLl0WMeWjm+SMGYiSmjtEtey08mizI7Cj3+/IyFNtn0HpCxgCKUWXOev43lHdWqnIBpA+/ksc7vUMejoK7rZp9a0bm0ai9TYh3kcee0j7KBEZnotAzILf+EDmdQV4iRJbFWF1zUSAOU/RZ9vRiNg0I1Y1BYH9c60Uv+i2oUg0t7USHVbcjF8DEyxfTyoxpJgsC8yqTUZE2nZbPxeFL82tGkyG4NCU2fE4Sfextpwsj5TCw/mMMLkPJm0OfGQ== 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=z9vkpqrTvVhUdBjros3lphzh/Pl8aizkj0hcMws3MaU=; b=vDRy4lgniUTkgoZtfmDCQS1sao9wp0oDg4s8I3BESHQUPmL88vRA24duiQuxxVwE0R4uqlRZZ+Bw6Mu+O/WsHyr4EZ0DRebNR9uCbZy0csG4rRCQrji7my6A44zdZZKID1JkgFXpVypOShJtmi0N3UuHFZJgiJEPu9YhjTqptrQN+KbnxkT/59t3HxDYdMZohjRufw1MIUzTtgKWQO1ECRVrkCcPec1VkUbXpn/FIusfPcP5GdPxJ/S2hVkaO+aHw3t+i/m6aQdFsLCzaDEbuCu9c3D5USxJUcKq3rEDWbhEGsARfGKW7AU1IZMBmwNNh0S2K3fPZ63AD7oZ4GInTw== 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=z9vkpqrTvVhUdBjros3lphzh/Pl8aizkj0hcMws3MaU=; b=NE6fUzty2d42H5P5caiYUwJdR9EMnMIEjNegozAqEaKhKiTAiJ6Z4kVrqyFT2VYijwj4hYaKyhqoKKiZuJGvzFm2yLL6WsHkMn9YKYgYCXmY1k0fjHhA4R9lpjY213SZ8mNQD3rM0rFmVrx+4RiSxmE6JBoZyWyI8U8dqwQ7yP0= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by LV8PR10MB7726.namprd10.prod.outlook.com (2603:10b6:408:1e8::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8699.23; Fri, 2 May 2025 08:52:33 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::25a9:32c2:a7b0:de9e]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::25a9:32c2:a7b0:de9e%6]) with mapi id 15.20.8678.028; Fri, 2 May 2025 08:52:33 +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 v2 4/7] arm64: barrier: add coarse wait for smp_cond_load_relaxed_timewait() Date: Fri, 2 May 2025 01:52:20 -0700 Message-Id: <20250502085223.1316925-5-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20250502085223.1316925-1-ankur.a.arora@oracle.com> References: <20250502085223.1316925-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR03CA0038.namprd03.prod.outlook.com (2603:10b6:303:8e::13) To CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR10MB5409:EE_|LV8PR10MB7726:EE_ X-MS-Office365-Filtering-Correlation-Id: 2de0ec27-4e58-4d50-5105-08dd8956ad4d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|7416014|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?fiFPKgncQ/7ZDVFdwHp43RJubiCOVJrEnEvk2aNAVrfYPGzlUm5JptA3UChk?= =?us-ascii?Q?27EPvzoDAE+Vkol0kYg/UJL1veL7zK2EBSmoNl+TuLD110f3OL3DwHywoNsq?= =?us-ascii?Q?/0uU4Z+9RzOKtfGGapZeIYJH/CrqVZQ7V+4/1G/DNp6mzJrsFHokhFNmu0xl?= =?us-ascii?Q?5vxqE3kfZSfudSEQoRzStWP7atVlpDBSE/35bsRqkxfWgyDPsJXiqKG0/p7g?= =?us-ascii?Q?ESd6s1BCpUTrqLF1LxhSz0k5cAdlXlTywTRiqUa5El8NEvVDR5aDmeYMhMFD?= =?us-ascii?Q?Tr+5ypHPYMWH837BifuG3fFWxg4NZ69kK1JAwqNG4xsMSKA+ffLsXmcjpx+F?= =?us-ascii?Q?eHQRJ9grIV5v3QQCEyASxw9nATi3ld146Vaw4tf0NwL+EdZHnbzwBfClrse5?= =?us-ascii?Q?HE7AB8jeohIDxwURMmEqP2Gxovy0YosLZR44G9/KdqWceHHZt6VVBgWvf+wQ?= =?us-ascii?Q?+NameZ+rQOfXj1GL1tzADbxsWM+Tfnd+1P+WAmoll6AsiXVMOzcv/aUFWQ3D?= =?us-ascii?Q?LT85lTxK1MYGA2OG1G+D4hor+2yaonx4Xvkh1fEnL/OAMMm78tTQBpY19IMk?= =?us-ascii?Q?IZh5mz3BZKjnJriQ4zXzQH1lcpPAA8YRMCk9qya229zWuecvHvcACy21Z64/?= =?us-ascii?Q?3h7CZer3dHyPRcAdq+LQ23FvTBbE4BPz5/B/NUTeipPyRXm4TdVAeUVJ0jMF?= =?us-ascii?Q?5xuXkIbOMkAKyIe4MYlVKXsn0N2vPEO2h5KpaB4Nh3Ep0RiLn0Clh8CSkCzW?= =?us-ascii?Q?pKB3zFpfRNZOk/MBquDRFa84MXyD3GRcrsdUMzrv5+wpRfOakmGW5uro1gTn?= =?us-ascii?Q?1kcc3pAZNnBdCN2s7WDwvmsVDRjCbPBQOHOAmH+HhcXgJ361QHCwxYiT20jf?= =?us-ascii?Q?EifQKpLbQsK3EXAtuVku9hUSWWewb4QeQMdYZi8DoVqybDWO1Wq+GyhycStX?= =?us-ascii?Q?9z5dUxpDOaaDKczAoPt3sttsmMqR7Etl10qigBm2s5P4dmMDJWLHWkGyF/SR?= =?us-ascii?Q?8ec/TG6/groFkkzMAs5/OTsgsNs2VW/9k4veOL92DtO6DuhdjmvoBUuqQXh/?= =?us-ascii?Q?Bjl2nKdJGKdcFog/ftXLUbcY4SMvgmo4WWVFNum20vUb8K8JwWdr0aJSa6M5?= =?us-ascii?Q?gOpOoDxBTHxR94YI/O88fDkw+fyO3eiRP+SWyVAowISCydU4OEEIBUwxdSAW?= =?us-ascii?Q?mtgd8gkMYZxCW4EEGqltUkngu4S1J/gb3bRMUAJkQsQGrAwv45NUREx/woPh?= =?us-ascii?Q?Ty3nhFdzcb15+A8TOaaKuMLaPVMhZtMfuzPuglEhAULsNqpKDlZpi70iZ4Ql?= =?us-ascii?Q?qWN0g56cq/a/nttRhY9vdzZzDsXZdYizsOg3H3ZZP+2FEh16gIrrfyzUF1BB?= =?us-ascii?Q?LiGgUlSKyPSCwKDIGOTE6vJgag0gvvjMY0F8kzP5V4mMslE+5UqT/mdwHlNK?= =?us-ascii?Q?IIWDvErOY0s=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(7416014)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?8U5jSeIC130o7pVjP5a5NjsCeFocq6wXZyXew7SbhvngmoRhosJ8b9YLvnvt?= =?us-ascii?Q?w/6aAV6dA7e/aNC9Mg+p9PnGY4OLpY/8N0mJA9770Mrg1bW0AaT0/d0ks25u?= =?us-ascii?Q?elZRFF3b2Vk/RphZyXUCwWwWV+rv13V/fQsjygHkVg7jhQZM5It38nFG7w6+?= =?us-ascii?Q?gkojdiGexL+U0huxLTGyCuplOScGnQE7wRUGhPQJKitMgILN5auR7BCDMWcn?= =?us-ascii?Q?tFgpjBonX2/YsTyzmO/Gp3+wzf8PdqgbdIKRIheqfwG07o9lCqOB8yzFME1T?= =?us-ascii?Q?XUUDTXNu/UVywazJ8r90RpX4fqjwz9LF+HiAe7TpcRRU1w9NZx8PaAoc4OtI?= =?us-ascii?Q?reM6ZKWCDDjczu5d3FLbDbHK2n3aEQBfnCBzQvgZY7g85Apxy0KGcH3p3bNn?= =?us-ascii?Q?x4j7wAhD0G+l2V2g02iDNZ8mKV+qQBq+wD7QjZXEkIJ+3WD1CY2i8qIIDZvK?= =?us-ascii?Q?rc/AywdvroPK10s79gVgm+7BPm8MZWWwjQgd13sqXLaYoMFjgukyIzEb1Dbd?= =?us-ascii?Q?/bYqWqMjRzwt++pPTufiTvWT6GKOow6JfUocAhsU4fTciXyAsua+z3NDLrcR?= =?us-ascii?Q?Y58IUdPdTAluh2QqPnbYj/o4/0muFIGWmdTI7bO2xaoi9wp2giWAOAr55toZ?= =?us-ascii?Q?079lgdUeqM6zo0iUiZsCmzamWtHvUOqpx70+rWQZqHJCU73LZQUfanydEf6h?= =?us-ascii?Q?11eawA+EMALmyV28pEIFUMQavXCRuokx5WW0GchcI6koexN+r4MmtYwg3AKf?= =?us-ascii?Q?YSdtUaTvmQAsww+NjdddMu4yoBJBKlh69ZIdIQrgXiOecLdJMY7rqoiiSbv9?= =?us-ascii?Q?soscP3TYgioY+WtVxhDqEUsiuh4dlKubc06NgCuoDlOdt4ukWJa8fgGgUzlq?= =?us-ascii?Q?qcTlRGz0t+/SWMv5iYlu5/DLWXOkJue4BUxpxKMFGezrJ7tEdK5DucB2p59Z?= =?us-ascii?Q?cqYetnl48VitChyNqqKJTuu7AzNV/TKh6rKEOcDDgTRzBh3RUzK/C2eROJJZ?= =?us-ascii?Q?dC3lLq7p8svJJZRS+MoaQ1bAvaYuF+LIR62QpPpkQhbYE8yP8AJzw/OSycs/?= =?us-ascii?Q?WaisWsQkCjj+bDqkvn8isFjj8c3qD5LCrJp70f2IY3yf1TNtZGFzJuRd6QL7?= =?us-ascii?Q?QvFwnD4ZU+jHTfLtF+E1W0QiPMtGPuqF+Gw+VitPQdTVUYOkziX00haQ7hFu?= =?us-ascii?Q?+OT8ZIQqp5/RyT8L/v36opB/n/l5RlwWa/AhVfh5Fhgg2Gjm6HDbozQfG0A3?= =?us-ascii?Q?4N9s4FkW7+0JkLNz/0PXlz9V+8WWZSTu3uGkR5ssC+W3KkKRXozIQhpVqZfB?= =?us-ascii?Q?nNcSdyVZj8Q5KyesrupzOG9IDG4mMTBbLWCl6C55nBU4nQ0HAHSmdM+fQAP6?= =?us-ascii?Q?5VCanYcvhaf1AHrGtqtvRQOnKwPGlH9k3DeYDVXAHH5OjJyEc9hBzqyhzKXG?= =?us-ascii?Q?iNQkd4FXMGLo4ao8ssc+sf471dEUgbOhZP1SDi/pDVbli8aCwqZ+JQuOH+cS?= =?us-ascii?Q?Dqpl0yx34YDXj0TD/mAtIwWrTS9/+UoIBo7jzZ9XMiLFQBfCR6E5/dpOzk/D?= =?us-ascii?Q?+k18HXt1vRYLgu8hns26GVRG/9P3Thss4EYyR6Hn/XBp9SV3MMamXbOQdKbY?= =?us-ascii?Q?Dg=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: dDZlNXyOs3kFgCZ962tTyCSgWBfdZcIsf+QFUGTsIjLmWF2C2gibPmiLJX1HXiEQxalGVdoJ29MdFV/LTGxDzDwrVCm1yZgvBqOrNTtvs1zZSDIpYHqfPrPlDdlr75mkxIm0qPtPFNaSOb5Oq/aE9bdN6ZEsFE08cu30stMybt8HP0C/IqQbamNP99rZmJyF9VlrvEtIBy9LtujkkFdrZ0jQXaErTgJC1VAkZFWXTeB9tLqVi/RMYxS8qyUMQhoFL9Qoc6CkG1EgriqWnMRVd2aEvUZK57LxDhuYefTikdICzWALVa1b/WnGUq2ndleGd62uABhQowT9s5zlSDekbdECSBPGeZzPOFYC53VIkHKD/RLAMB4Ih0D7vv0kHymhmmDaSFYHXiM3t/65nVVTii1lWuDoDLEAmcu15ErXRgNKfSxDA0PPrKB5o/BXSfQzStm3PtvL1LOGufl1Yi/rStIyki8sbrs31OQ6mw64gsr++UccSXhuEFwbCs8JweUJXeDlIyyh5ISN3HPWwoqAZICFHDOztaJp0FxM2m+TkrHlR20Itj/HDoktTBcjikUdJkeqOr9LWC7U8e6fBuZu8fUgoV0E6hhzZFVnCzOB6x0= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2de0ec27-4e58-4d50-5105-08dd8956ad4d X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 May 2025 08:52:33.1496 (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: EEUUuXF4SeI7xPBqSiCP4dAcHBxHKogjbCzCkKDlWaXM6DK07YD4N84/w9Dp75pxpLOSs4oYtaxO5yN6M7f6l6hudN+L9kzOYaoghq4baY0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR10MB7726 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-01_06,2025-04-30_01,2025-02-21_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 adultscore=0 phishscore=0 bulkscore=0 mlxlogscore=999 suspectscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2504070000 definitions=main-2505020068 X-Authority-Analysis: v=2.4 cv=MIZgmNZl c=1 sm=1 tr=0 ts=681487d4 b=1 cx=c_pps a=WeWmnZmh0fydH62SvGsd2A==:117 a=WeWmnZmh0fydH62SvGsd2A==:17 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=dt9VzEwgFbYA:10 a=GoEa3M9JfhUA:10 a=VwQbUJbxAAAA:8 a=7CQSdrXTAAAA:8 a=pGLkceISAAAA:8 a=yPCof4ZbAAAA:8 a=-n7TEV3Rdn1l6z5psJwA:9 a=a-qgeE7W1pNrGK8U0ZQC:22 X-Proofpoint-GUID: p7GWg20cI4PhcWyxQkVC2r-exxPl_ba4 X-Proofpoint-ORIG-GUID: p7GWg20cI4PhcWyxQkVC2r-exxPl_ba4 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTAyMDA2OSBTYWx0ZWRfXwdkKxiCMF8+1 gi1SQ4JQmzJW2fRAeUdhRRAEXfcmtk7XJlANI9SLxN9GieZtpwvmMONwf/r/G3DaOkY6SI3lMDP yz+tq7XZYLE5og9L183MvJhFb5vE9dPQ+GnsCOZfchk0zvyMqDV1/flUdnzhWVEcJQNuaWJnFW9 A/i+P07dspgfNXA1Qz7Lvhv2XEf4PJDOiTsMzvfKDDmNyNpnuFI9k85B0Qihoib37qMWg3D0yrc KP3SAklKoIHY1X0I3Azw1cLBtDuJTjtqkJqUQXVg2OP5NnZfefeac+4a7SDII0aJuWa3sJw06sz o1CoN8HULNeelTwW5/YnphyGxrzY68XkurI1eSr8RSvYr9FA0P1EOdcjm6Na074TfX5//ALYFNP I78n5UwyADpm2uZzNhCny+bm9unST/0J12nxqQBBENN/e/a7/MmuQPxw5Rq3X6P2H3LOfXsi Content-Type: text/plain; charset="utf-8" smp_cond_load_relaxed_timewait() waits on a conditional variable until a timeout expires. This waiting is via some mix of looping around, dereferencing an address, or waiting in a WFE until the CPU gets an event due to a store to the address, or because of periodic events from the event-stream. Define __smp_cond_timewait_coarse() for usecases where the caller can tolerate a relatively large overshoot. This allows us to minimize the time spent spinning at the cost of spending extra time in the WFE state. This would result in a worst case delay of ARCH_TIMER_EVT_STREAM_PERIOD_US and a spin period of no more than SMP_TIMEWAIT_CHECK_US. Cc: Will Deacon Cc: Catalin Marinas Cc: Kumar Kartikeya Dwivedi Cc: Alexei Starovoitov Signed-off-by: Ankur Arora Reviewed-by: Christoph Lameter (Ampere) Reviewed-by: Haris Okanovic Tested-by: Haris Okanovic --- arch/arm64/include/asm/barrier.h | 66 ++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/arch/arm64/include/asm/barrier.h b/arch/arm64/include/asm/barr= ier.h index eaeb78dd48c0..f4a184a96933 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 @@ -219,6 +220,71 @@ 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); + +/* + * For coarse grained waits, allow overshoot by the event-stream period. + * Defined without reference to ARCH_TIMER_EVT_STREAM_PERIOD_US to avoid + * include hell. + */ +#define SMP_TIMEWAIT_SLACK_COARSE_US __ARCH_TIMER_EVT_STREAM_PERIOD_US + +#define SMP_TIMEWAIT_SPIN_BASE 16 +#define SMP_TIMEWAIT_CHECK_US 2UL + +static inline u64 ___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; + } + + /* + * Our wait period is shorter than our best granularity. Spin. + * + * A time-check is expensive but not too expensive. Scale the + * spin-count so we stay close to the fine-grained slack period. + */ + *wait =3D false; + if ((now - prev) < SMP_TIMEWAIT_CHECK_US) + *spin <<=3D 1; + else + *spin =3D max((*spin >> 1) + (*spin >> 2), SMP_TIMEWAIT_SPIN_BASE); + return now; +} + +/* + * Coarse wait_policy: minimizes the duration spent spinning at the cost of + * potentially spending the available slack in a WFE wait state. + * + * The resultant worst case timeout delay is SMP_TIMEWAIT_SLACK_COARSE_US + * (same as ARCH_TIMER_EVT_STREAM_PERIOD_US) and a spin period of no more + * than SMP_TIMEWAIT_CHECK_US. + */ +#define __smp_cond_timewait_coarse(now, prev, end, spin, wait) \ + ___cond_timewait(now, prev, end, spin, wait, \ + SMP_TIMEWAIT_SLACK_COARSE_US) + #include =20 #endif /* __ASSEMBLY__ */ --=20 2.43.5 From nobody Sat Feb 7 08:53:46 2026 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B8A75235044; Fri, 2 May 2025 08:53: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=1746175982; cv=fail; b=tlqRIqyHU3UU380OxvN7JJcaBBt8GY80Uwe+u+R7OZIzRV5tU7Txv79HQxXu0iEHhe133Je58ppmGkob99ss94jdcvO6IChH0Zfu3PuUP8Waqg39FmK1miRiyojqdEKluF1HGNYsrmtklQVHyE2x+1y3Hb5qeKdAwOsv+lXdG3Q= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746175982; c=relaxed/simple; bh=OcAZ7KEXYpRTaczow2kWQSgSJwTJ3e7igy1K9yPKh6o=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=odxHgpe/Ry7XNYjC+HdN7Yd/NGw9wyGzwtFPrGr6JDmqNzfOXwSLHYnhdW/vADDsKCe+giy3EUr742bq8HqjKW7b89bH+epWLjPg3uwnVgjk7UM6lda4ydR95xFFTkP6UiiM1lznMiT5QEJX/WAJD5W9PUT9kYeCDHx16EzCE+8= 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=mbutWGZA; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=d8HWsNoL; 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="mbutWGZA"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="d8HWsNoL" 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 5425WmZD016319; Fri, 2 May 2025 08:52:39 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=pXB7sIO03dLVOlVL2RZP+4UmenH0jCjQrABQO6Jrv7A=; b= mbutWGZAL12+Gl5B4gep8UYdntcSN1TxXHTlDrRQVs9b31ppMszN+zArLLZGWcdJ AGDyCI4JCrssN7XbCDutTFj94wxUJ0k7Mf/TEOOttcBS1iMRv67/7PYgipQOsuM7 4rMLrhsNubd2/9IF/VA5u+RUnryM4/lZ/wCa3Py2+8pwk6Jtki5zCjy0TE9AWk01 eUvp57JHViGgoh84hhFbr/rC8MSTDUJY6AfaABZ9oHiARJ66eeXME/CDdwUnrcgX 7aB7YRusKBClDfVHGUEuIWyQXSHgRg1lOoxxfiVkE/K7EVGOQuqIByjdgI1VRSsm 2j8u5Ur+AVIYj70l0x6Gyw== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 46b6usmvp9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 02 May 2025 08:52:38 +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 5427bAcm035257; Fri, 2 May 2025 08:52:37 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2041.outbound.protection.outlook.com [104.47.66.41]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 468nxdb232-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 02 May 2025 08:52:37 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=yPXnN6YP3Bi9FG+VTidzsR1asSPw1iLzTclIEiG2iaGrBr1lmTfrPWywmdlgbV9KEccLA3M8gOjcJOH/j798tOtxxSOCuo6V5uMw6O5cORiuam8AFvGg69gDtrLHos0ESYeEKZijYyz4HFjubBYbXHNjbjo/r7rE08LIZSS6nMAS6mcZLAg54FXVpcEYZGl6dWyEzOp76G5JFB2JKaUII1ix8s/ty6cuef8V717P8z2q4n1j8B7zIXKZnrxkcrwADE0LSxivDfdK+3jpNlBZhYW8Bd08li9vfGlRSONtGTAXWlB57ISuLPRDdfVyrQwEYon3FLow6TrZa8eDT9K9DA== 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=pXB7sIO03dLVOlVL2RZP+4UmenH0jCjQrABQO6Jrv7A=; b=TB6OJE2rd1d9wwFLoO+Zg/cROG4jSgiA4wua27VHpSnq4JiSQtMtPch1cGX64+QKkOuqzVn7JiYuCqTOYJ9B/afG6IwTtebRLILcbf9feMSQBvRD6caon/0unUY4tTq8vSCw9+Gd2qwAPPI61aX5o0poGImFgzmK+HddMCXoHq0b/sUJvhZiErCgnpYBISI7LxgMvnRqxxKQ1VNLUc88gdCRTt2CSpVqSb5+Qoxpjg+keXUmeJiL/etQPjTNvk3EqKp2iCKR/XJQqg61S+aeKv88uIgKxYW0U7c7DT0dLdTMcjQjVBUyyhZ0QbnJ75niYkiV40eGWGItAcGL6NUVEg== 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=pXB7sIO03dLVOlVL2RZP+4UmenH0jCjQrABQO6Jrv7A=; b=d8HWsNoL7XFahfpZp/+D41eTLmE8xWmVcf1+Mwf6rtDUlPyYOtKd/ob6YiFMLghPNuHd6uwAkmcH6Ck9UYQD6B7BAnK3zRIeP1+HwF2e6k6tkWOptIVySJGSrq76e0h1d67j/ZWVClXu52DVjIEtlgYjAgPje+a/ZKlKDYizNOM= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by LV8PR10MB7726.namprd10.prod.outlook.com (2603:10b6:408:1e8::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8699.23; Fri, 2 May 2025 08:52:34 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::25a9:32c2:a7b0:de9e]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::25a9:32c2:a7b0:de9e%6]) with mapi id 15.20.8678.028; Fri, 2 May 2025 08:52:34 +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 v2 5/7] arm64: barrier: add fine wait for smp_cond_load_relaxed_timewait() Date: Fri, 2 May 2025 01:52:21 -0700 Message-Id: <20250502085223.1316925-6-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20250502085223.1316925-1-ankur.a.arora@oracle.com> References: <20250502085223.1316925-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW3PR05CA0028.namprd05.prod.outlook.com (2603:10b6:303:2b::33) To CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR10MB5409:EE_|LV8PR10MB7726:EE_ X-MS-Office365-Filtering-Correlation-Id: 9a6f60eb-1c31-4774-1f7e-08dd8956ae77 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|7416014|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?qvW9kTXzFby5zNGI3i7JKWKScT8t1SK4dEqMrfFonCwnGYUce/wVLArqCF1C?= =?us-ascii?Q?UqGxBqoU3d6FRhaQiO1nqegpSbJiplvbized4CKKubo1gVcX6yFxI4JkprvE?= =?us-ascii?Q?Y3C55i8IN1qe/pnOGB6yLTyPnriRzXW4fg0NezsfswKBa8nyDUBD5X9wLq54?= =?us-ascii?Q?cMy+54/+eqQky7N4RN2iYgruKmxKHmzNWDXTT3B4nR+dOaZO03Mw8cxPbJuz?= =?us-ascii?Q?FUeX+4tNSZfA1Kyns4FpRPN3xc+W/EB1gSV+0QTrO8qhg0yr26EMmT9Dy7Yn?= =?us-ascii?Q?LP6oKNKdIYRAgLwcYJRHjduXYXX++09CvvoJ+sEOOazrJF7MNK/csPSTX8MX?= =?us-ascii?Q?O6Urn1sbrIyr3spIovSSXvGSVIjfeLpP5gxWWzlOeOVMyWeluj0a7ARlYKmP?= =?us-ascii?Q?7ITgpwfSp3RWBJi9i9Aswtk2eQMI/yMcmcEvpt9Q8+XBdYRZlqpNA+fw8Ni3?= =?us-ascii?Q?upyedKrCk0bQ54uDrdAm+dlzHANv7uvUgGSsWSMQZnduD8FXw5vO9jGnK40U?= =?us-ascii?Q?aG4S+2KlMm6WMUfvbKPiSZpdGkk+FeRSEf9VR9E54apCRvipZ5/SMsZtfapt?= =?us-ascii?Q?ozZWzcLyTbrt1D7wV8HgFYmYzoG6dBsLXvqTgwGtIZye+XnhDkknrLtCMM3u?= =?us-ascii?Q?eY0Au2WgJd4wV3HVSit5TW5QMlUk00iZLJx81DqqLpQnpESjvZ2/gQ0jkOr6?= =?us-ascii?Q?fYDSwhM8t29IiROWNBIV3ebUCFQ/Q034RTz1yF214fc/FWvHbwHCNqafGd4Q?= =?us-ascii?Q?P13nBfwp/9ryoTKJdch0tk5SZcktnkMK2tU0dMX6Mx0eFpziZLccc3C7fk4r?= =?us-ascii?Q?ntxxWF720Zh3k+n+hYwSS3GT0hfihHq44ZoxKM7JGzjYTYa/CCPRqL4jSK/L?= =?us-ascii?Q?Ay04s92quEUc4W3uv13mnBvwMDfgGUkGZdbmQDucQ3+cE2EWDOaoIGIbmA0G?= =?us-ascii?Q?mZwoprdJYXDO7jmxdwPiGC3ZWPd1pDPCmJgZOyKRqB1MmFNdPkCtgTNqUmMB?= =?us-ascii?Q?XaMtthIHEhJVARi2YQ84LirIDTYgsDIMKCu7Yd7wSHs9ApMmhTFgAdgP5QaG?= =?us-ascii?Q?kDm4mpl/2xyP6KgVXtUUE3l6Y9/4ztXIJd95MHo+YAPUXkTVnX1zxnpcbqqR?= =?us-ascii?Q?Ju23bg+dJ1zXBVpn14+i+VfBjAvvT5wYB5XTsP4yZEIDxJqLzWtg8A/CWRI4?= =?us-ascii?Q?hC+fXgt3L+wqde8/8Tr0gyxodhM+06OJOhsIyJ4yj19fbNo8PPNR3bSGuPPe?= =?us-ascii?Q?PcunDxkyrC7LHrLmsUlwQUjdxH30IzT988Bp0n0Saq22h24zGTMldIldSHXk?= =?us-ascii?Q?TKSD0OXCQVndneero1tseIUOgXGxVFx2NW+HsgvkiUYfNQdwWrLk9hFlRm0/?= =?us-ascii?Q?CpXninxPnMb/U7KXyl6X68w789W7p27aJxdY8uRRrQ7uXnFEclWKgICbpY3b?= =?us-ascii?Q?MDiw2C1BPU8=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(7416014)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?KfRWVQ/zRrROENIuHdeg0jI6oChL+Z1if9rz8Vrz8kNdp6vEaBbHWJQRBfCz?= =?us-ascii?Q?j6wreMP4DkBWLUCeFzZ3kUum6wUDWYXUHUs52DgbpBA4tZT3iFIl5/MbXD35?= =?us-ascii?Q?zyyuspHXMOFzudgI2+Gv2MzFiiLlX57Uh2WfPG6wpW9e+4vZ4GXsNCfyU2AB?= =?us-ascii?Q?svfGkmBKECpvTCuKLHF2TL+9q2CXtTpVOjKzr4nsC292TNOp4kUgFu9RG8OZ?= =?us-ascii?Q?LyiwYymEuazdFomlQJ/+rYwVLc3sbxMKIwHiXpqGuVJmxyt0Ea9InIj3cdWh?= =?us-ascii?Q?eFHzMHrKJrDIFfOMInS1t3+Vm1WPstoQfdlHWmy3PVCacgOjMnxcFWxukHxd?= =?us-ascii?Q?goxDlEiIR9WgSOZC7ElInPhDD2O0sUFM5jcO0JzQw6LQh8uJv1IUFkg1N8+M?= =?us-ascii?Q?nS8gyTFGyEA4hp+Gwuyu0g340VJSOO3uNJ8h+CMmzgLsGnvPK3Wh2vpr2ru7?= =?us-ascii?Q?VokFIru6GQT+pR5piJ/BTWrJn/2tgC8fw6qtT918I1mKnoyR2CiWrSTTSnvs?= =?us-ascii?Q?hW2rX22fA/+dc5PomDTE6gdWnPnBACIv0o8m43LSQ4vzdwYYjmXcfv0p3SFI?= =?us-ascii?Q?9JS86n5RMp76roR32ZtyH/ePGuCBWzWJkpwvqQasKJp0dzm9oz8v7XbnggXL?= =?us-ascii?Q?YBl/oRosiEEEnb7OLrTjgTb/uZBn8njIFnz5QHHwrzeu2Yv2M7H0Z9kX8z0k?= =?us-ascii?Q?D2KHJjlJCogoWSSvZKAZdRFw7HsHfz+XR6HZZBAzHJ7i/gIEYTn7qoIeWm9s?= =?us-ascii?Q?5XRh+v49PRUOwp8wShgT6E/F3yi+oJ7JOkqaH9BWuYoSOIvKk2aBescbhpsT?= =?us-ascii?Q?QRSgeOFIZsVf7XNfW7hdfcGROtqfejHRcI8jpmwtlgV77YO17Ueare8TQDXa?= =?us-ascii?Q?3eLIfHAsIAenZOMyMdLnBkkjkeMxrNp9gzjjt5n3PBMmt5QGmIfVcORYHX53?= =?us-ascii?Q?YR0uLJyw791h35AR0rf8BzT+JhW0ISweR/vy6A0+grYuxWpotC5YiUQwDqq5?= =?us-ascii?Q?iCeQF9GGLdU3rtLbzHF1GcjZ3sCEFOClxHItkSpo9aZFNleRTIsKcm6xBlbG?= =?us-ascii?Q?wUV3cjS3Yp1iA/yvIP/P6IZWzrfN/f6LvzuHYgdktClF+A3/CKcB/Jw7kNtP?= =?us-ascii?Q?siXBUeBoJjgnjrq7hq4EqD8gOY0ilzmbVzNg2pO5NyAInOB8FmUSZ5IOh2ON?= =?us-ascii?Q?e87hQQosVH93WZeG8xJb3lFSYpkaDDgCR8MJnVjRwCEN0ax44pWRgpGTKjn8?= =?us-ascii?Q?7eJVATamKw+IE8Si2mHbCPnZzuYivAQAjCUpiRtBM3UbWpQTHm2JFgRT7EUw?= =?us-ascii?Q?FXA6M3LhteD+3QkCwbLsudszPORBmGfZhIQ4UYzBCEvdBoas3Z9NL8tEYfhg?= =?us-ascii?Q?k/tdxzme8jH6mKj9l23nkDJjkDSGvA4yqagDMunUlKZegSf/P77uFq2irEdG?= =?us-ascii?Q?Wtlvw2z99DGOMw5Hu6EgrPhpZuibs8ioCvoyRX7PBr9SWciddDTab2H5F5Ou?= =?us-ascii?Q?ZZecPEgoUzzsH6g17KIt6sIeP/m0e20+W4qCOjFL45GL90xXArWwAlOW5xvI?= =?us-ascii?Q?nG2E/dN+iF2CXaWoysTmYSkI+2QSDaAk64HYoTatdtzULFnhaiyJClHbx5+1?= =?us-ascii?Q?rg=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: RQu4MCFmdxhUnQWZR+mjFvUEg+84rdpC/UOHIiLyxqW0idDoQHl1uNvJSOXBjpmXc1zfSx0/lrE615JnFK6DBCFYXEygQMr+UNVBMxwkqlOZeRzSh5dTfOcj6IkhtAA7wpKW8JPBxTwQGYK1w2X10H1sVBzUjLqSTdlp7oxhj1Umz3q9GyKAIdHxkC6F+zEOaWqwonvt5xJimL29OW5eJWb433SC6Ua6p3rfwMtfgi3sOfAtw46iSBL5S355GRmNXXthYNdu9/Ec66pmfWE2OLfbI3Em3la3t8KgLYnrYsw7ZCQ9HDJzXGTwX56P4b2FHV+OIL9VDLngtXEws7nAtiwGnEJFTVVxgeLz2Uhxba6ihKm1CP/V2FRu2P9ThfO0D4+i3l9jEEMYRwdpXE6/wAKtwLH8ovC3jmA/t3P8ya6vY5P+oQPsikE4qLYaQdsQAHhEnOWsnjGLo/EgSwXanoj/wNXHhppgAABJtO/TdulqPy9I3Ek9+9DrD8cmDWWiItf3A2XiTnCy2Ydh5Yzn1RErMfdIihLiR6iu7lWAXsa49pkcLJoXn1H+QWshcX++PDuFZl9fpsR8TMm8Xndh4e3oN3XTYt3UsQhPMY4zMRQ= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9a6f60eb-1c31-4774-1f7e-08dd8956ae77 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 May 2025 08:52:34.5281 (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: ccbYe06MqnryQt+VUuM67MoR+flzHJheNfDcraUYIwhHmcg3gVGUB0Bw8D93T4XVvZSZ67CfA1TL08U0WL4KzMx/S3M6v5EbXduchzrxFGw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR10MB7726 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-01_06,2025-04-30_01,2025-02-21_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 phishscore=0 suspectscore=0 mlxscore=0 malwarescore=0 adultscore=0 spamscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2504070000 definitions=main-2505020068 X-Proofpoint-ORIG-GUID: fiOqs_De0sLt9-7pSv5Upe4rEcfOBQfJ X-Proofpoint-GUID: fiOqs_De0sLt9-7pSv5Upe4rEcfOBQfJ X-Authority-Analysis: v=2.4 cv=Hd0UTjE8 c=1 sm=1 tr=0 ts=681487d6 b=1 cx=c_pps a=e1sVV491RgrpLwSTMOnk8w==:117 a=e1sVV491RgrpLwSTMOnk8w==:17 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=dt9VzEwgFbYA:10 a=GoEa3M9JfhUA:10 a=VwQbUJbxAAAA:8 a=7CQSdrXTAAAA:8 a=pGLkceISAAAA:8 a=yPCof4ZbAAAA:8 a=JDykIXjqGXbGdN20eRwA:9 a=a-qgeE7W1pNrGK8U0ZQC:22 cc=ntf awl=host:14638 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTAyMDA2OSBTYWx0ZWRfXy2gLF3lvz3wO a5M1woAdwt2LG88ljPUbO03FFTok/IEgUG8vY/wzRVjjwGWi9WV3MRZr9wPX1g+K1WpSYaZtvGr 7q9mUwf/ICqLvfzdNXHFHIANZvEVYPsSP+jHxdW0JpEU0v9c942K2edtXWibcFt4oGgOHaREM53 sBpvQ2CswV8qgu3MYBWTMLDb+G7Z7pPxblVizgc2M9meQUa74OUouGDWHq1kqZCEALP/Wv7/PBM Qfn3YI8ETBCYDNal+mvDYCfna76zDPFv5br68QZtKOvveASb/lWu7vthZa3V02/p1qh5SPwYypz Qm/7XCKommNE0/ueZdB0KXLQcMJgK01pXCY+h90x0jjpHkfUjD8DkHS0hzkmgxkWCYW5dT8r6Fe xT6973kC7P+nLfTE9U/AuzNnFu48yIBDlwm0Z9cpWWzwNmrZ7Su+NixusJInVMDVl5+5N9ZZ Content-Type: text/plain; charset="utf-8" Define __smp_cond_timewait_fine for callers which need fine grained timeout. To do this, use a narrowing timeout slack, equal to the remaining duration. This allows us to optimistically wait in WFE until the remaining duration drops below ARCH_TIMER_EVT_STREAM_PERIOD_US/2. Once we reach that point, we go into the spin-wait state. Cc: Will Deacon Cc: Catalin Marinas Cc: Kumar Kartikeya Dwivedi Cc: Alexei Starovoitov Signed-off-by: Ankur Arora Reviewed-by: Christoph Lameter (Ampere) Reviewed-by: Haris Okanovic Tested-by: Haris Okanovic --- arch/arm64/include/asm/barrier.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/arch/arm64/include/asm/barrier.h b/arch/arm64/include/asm/barr= ier.h index f4a184a96933..e4abb8f5dd97 100644 --- a/arch/arm64/include/asm/barrier.h +++ b/arch/arm64/include/asm/barrier.h @@ -247,6 +247,9 @@ static inline u64 ___cond_timewait(u64 now, u64 prev, u= 64 end, if (now >=3D end) return 0; =20 + if (slack =3D=3D 0) + slack =3D max(remaining, SMP_TIMEWAIT_CHECK_US); + /* * 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. @@ -273,6 +276,16 @@ static inline u64 ___cond_timewait(u64 now, u64 prev, = u64 end, return now; } =20 +/* + * Fine wait_policy: minimize the timeout delay while balancing against the + * time spent in the WFE wait state. + * + * The worst case timeout delay is ARCH_TIMER_EVT_STREAM_PERIOD_US/2, which + * would also be the worst case spin period. + */ +#define __smp_cond_timewait_fine(now, prev, end, spin, wait) \ + __smp_cond_timewait(now, prev, end, spin, wait, \ + 0) /* * Coarse wait_policy: minimizes the duration spent spinning at the cost of * potentially spending the available slack in a WFE wait state. --=20 2.43.5 From nobody Sat Feb 7 08:53:46 2026 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CD97B246761; Fri, 2 May 2025 08:53:09 +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=1746175992; cv=fail; b=LpcKFit0YTOyB5Od209EKFJmzcdCBHBN+V/wCj2mwy+T3TeQReVvEHiC+vGAXcFzxHo3vUz+AsidarvmIewvZhsWsXFBLM4WE1BoloGUPITxJGpIFGxii/Mk0KOdNEZ+thyP+e+Ggpq/cQmcaS3veiPrJlnw7rrw/+AksUIMs4A= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746175992; c=relaxed/simple; bh=zGzAMc42YWASMTsCOd49pQSs5HlBWP8gUREyMhAYcFk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=pf49ih0g32b0T/uJeEFDKnna8fNIED148MOCBg7wmPtV/dGBDO5MQER3BcmysEI3wXWGEoV5xmS7u4GMd9MXm6rp7UN574f15B7nimm9+4CvxjdK0dFwZMFlLXTbuoAN88awvIvEziQiXQrNrLqdN1fwJ3x1S1jM25U29C8yGTI= 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=LIvSvDgo; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=YCsxIdQn; 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="LIvSvDgo"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="YCsxIdQn" 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 5425WmZF016319; Fri, 2 May 2025 08:52: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=kjV+gS3m7eoczEnI/8jb1lE8q7YmUGN7FwkZeS6fbpQ=; b= LIvSvDgovbu3g5eirg3gCMOzfaidZbySg3yzvRNNjhRA4h0bKeOczQYXz9n8T7Mr Hwj8b4qfft+fC0+9gyldbL7YCWn7PaBFxK37jzhE1hRalv6mBzzVLxyvbuorfxpQ yBgoFVdIGvPqJLq6G1m2obtXcKXTEBGRQxDZFAqQDjbrjuNy1pd/pfLvfLPq0+o3 Op92C1J7t4hIwRJfxLZdLvFMoABMruPUa1Y4Lt7gubTdFj4zGd2qFAEJxRA/qC2w TZV08Vw3zDwf6X5wjwP7T6IuUzZR5CXUMm7khSkrpsQHYr7kzF1N81BttxcBdU9C G01rW22jpgoZ5A7eRDnNfA== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 46b6usmvpc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 02 May 2025 08:52: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 5427CY6F023705; Fri, 2 May 2025 08:52:41 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2042.outbound.protection.outlook.com [104.47.66.42]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 468nxkt8tw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 02 May 2025 08:52:41 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=PW8xcwvm+3pcX8WZOn8clnmNyXSp9TcrH8sEBdmZM+PorMeEXOtx3+IicelG8hfaCNASsZKIzmLcfyzvv/QLKds4Oe7pBGkHLW8nAPH4WdFVyIDlqXzZKLr4d5L4/OUbZo/KsN0P3SAAjJ2DI25IHqlWiprdefGIAdd0pZkQjJfUhou7x3ji0QcRm/hueRfzDeEmcncfUMHvjPctOZS65Wv77IzfybLx3Vw8Br05ekQeAsNmQyhDvLOD2UdzHruvZ4TCkLvdftJh7SOswTk3k6mll19OPWHvB2A/9YbiZulgqTCH9CgJ1oEF3fvt1QzoeLIWFZA1P3iWEE+AKaij4w== 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=kjV+gS3m7eoczEnI/8jb1lE8q7YmUGN7FwkZeS6fbpQ=; b=HSolbNBXW2It1ZQzmp7iFChV9pQTcnbbHBX2SNUaZeTHBtU4DUk0GUzKvRm5DfSgt7HFNR3kidLi0oMWpfIFY4p1KvxxV/Op1chZK/zSlWgJ6dU6F4CLADgEEeArho2ctWq7MLqIpHzswSm+zKG5ZXssAvZmV+744heACS9B2P4MtfNWstXw+U5eAdj2Lws3tp25oF6YF+/12o/xAk6hBXsxKoFZ2pdthEOShG+V82HKQb2oFlx/xjsD8ignnRFV99HbDtuSxDZpPd4QeR8CaEaJvFEenlqZxPLEjFgok+5KrsFnj/emp5mRH4I8e17KEhI6Mm7ufv1k2oo4DPbxiw== 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=kjV+gS3m7eoczEnI/8jb1lE8q7YmUGN7FwkZeS6fbpQ=; b=YCsxIdQn88HREjaxGSm1VA1rKhqi34COZ8Vwb6vfLW+01a567zPhzprYg49TRzfkQjgp2HRM1nATFmHdrr/qbMI6jQfSprQwTXyGPpZvJqBwJwWFktmxInXzPliZqgIq0qLJ7JHCDGkWuUC4HRLMM0kxzSg/1FFh2Tsk5k4x/Fg= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by LV8PR10MB7726.namprd10.prod.outlook.com (2603:10b6:408:1e8::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8699.23; Fri, 2 May 2025 08:52:38 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::25a9:32c2:a7b0:de9e]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::25a9:32c2:a7b0:de9e%6]) with mapi id 15.20.8678.028; Fri, 2 May 2025 08:52: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 v2 6/7] asm-generic: barrier: add smp_cond_load_acquire_timewait() Date: Fri, 2 May 2025 01:52:22 -0700 Message-Id: <20250502085223.1316925-7-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20250502085223.1316925-1-ankur.a.arora@oracle.com> References: <20250502085223.1316925-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR04CA0155.namprd04.prod.outlook.com (2603:10b6:303:85::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_|LV8PR10MB7726:EE_ X-MS-Office365-Filtering-Correlation-Id: a9a30625-3217-41a6-b1ce-08dd8956b107 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|7416014|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?sJu6TblGJPT3HX8wntO8xPr7VzTB4Ykx3HMCRSmsJ2Kh+s/NrsjxZCwVkibF?= =?us-ascii?Q?nOPI1A/lWHgVh53aLBwjWZoq5PAGEqKNK57gqdv487GGK3mIZoaANv22VJzq?= =?us-ascii?Q?WGrFzbBQ6uRWbVFNLIeFJcieDGsZyoDC4m5R9LZEbmylwWoMFnkMugfBl9i/?= =?us-ascii?Q?sEPM+TV1LR7op9iYE42HrB0KNJ6f1AwOrupjLMJAdBDJaw9WqKAL7zD2AKjL?= =?us-ascii?Q?7kPfkRtNl1V3giEzzUJQLFWNbmsX6lsp+vU+/EFU5HYk4uhR7OJB1olzhiL5?= =?us-ascii?Q?q2wbrtqCG06RR42TvyOywiqKZQhFbGcYmgegjWdlINIHiToEt07HY+SsOS11?= =?us-ascii?Q?srEgyddAr3e9GqtPCuSTDnz9p6gQ/EM7wHVY1ZpHvvap84b0E+YkJ9Iw3p90?= =?us-ascii?Q?LBqeHZf3tsjP+kVJaff09rCbsWibBpAwhvFlbVBtiORsLgdpXRPi6xIJeLED?= =?us-ascii?Q?+vKaGyoCItuKzC7LU2AQJPM5RQ29/ihlnYw0PYHFjai60tF8I04m4DPgnrnu?= =?us-ascii?Q?JTyk2oFGkhWdMXEfQyebxZEGIu0V31Fcm1HzMIk7cbi18ZcUzcdSiwcfKQDF?= =?us-ascii?Q?J6wpVsLe7oGZXLohF59/RNm7Iyc1AMZcx2uSdam7Y8TJaIk3TkI/Lm3EYEMj?= =?us-ascii?Q?yoIKcG21BheTdlPsT8h9WxWNcNmrwMHy486ZiNJ4osfZsu+aqREgGlcNBQvc?= =?us-ascii?Q?64LxsKDUFoZRklMNnWMIuHS9Yo9V7/ujFFxPEn6YqL6f4oCON8D2hQHXRRUq?= =?us-ascii?Q?6tEYVpE+peo3sNkXJC1Wn6MtJdBPS2QKmG4KkJB2aJ79TKurwqSMJGoSOKtk?= =?us-ascii?Q?wKai4t30YNxCqVBEPwrJnJb7KB2gC92QJ/wfgZJCmTuW3dAAIqMU6nIFWzzs?= =?us-ascii?Q?HQ2gRdqUJzJTV2aY63tAhW6ylZvo/gWGZMz+Pa+KmwnoJBbBWQOFiUzZXzMN?= =?us-ascii?Q?bFYvfg4OY3PqQsbBygUJTB8B5YcASVcs8foAeA29EQ0hC8vE1negNYV1fnwf?= =?us-ascii?Q?NJJchyQCfQScMFO2Ah+H6CSz4mo4PW3Y1WDAHPVr1SvhNJEbtJNwxR1i3zxy?= =?us-ascii?Q?s2u9UW1wEO1tQ/J7PIHjsCReqnHuzCxSWrue+qOaO4+L5I5it91nPsqxtvYn?= =?us-ascii?Q?6iQS/2lhfwdXCktDXqSPkFZLYneSmwSAg9+igcbV3geFvgD0EML1eoLII10i?= =?us-ascii?Q?MNE7R3P7wquI8B3hZaolM7Dx8iatq0ttd0ySujJ9L4ZJKfgR28hhmdbZJhRg?= =?us-ascii?Q?P7rD0Pcrrk864es2epqYu/9XHiXUxQiRDf3oH5F1wnUERk/Cd68jUJGIOq4r?= =?us-ascii?Q?o4FYEfuX2vKSrC6hjariBLmfobm6e0g2rhxBaPF6jpy+BYZa4yoFshbCz+cM?= =?us-ascii?Q?7IR/bMeI/AkoEkwEtN78d7kvFOSJLSecfHqpPyUJehYJR7qpkA=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)(7416014)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?uyQrV3je2+D8ylibI/bF4rYVmPNqtHQ4VJZwH469ccR/lVW3cgbrgpRfG5Vk?= =?us-ascii?Q?hZkbF/GXlJZXWEFox0XvE6V6kYM5jPEshfxCgCGTlHZWLbyIslCBTQ/mYfE4?= =?us-ascii?Q?DQjkQA++7k9wwZ7kBRjYWHKzWi26vcN0MR84v4yITWf4Oz+er8hUXbxQB3UZ?= =?us-ascii?Q?kEEldXf+98KTGx6M58L15HJrtMZIY5twZLnhhZdxAeXn0ITRaFamU4J7O4lz?= =?us-ascii?Q?paoafIBmBxTz2fPbjvajMvkqDWsQYIQdD6yZVAzCNeV738R/iER4YJ0OhpMh?= =?us-ascii?Q?8eR5FezEYav8tlfapvI309wqNIrnGUFtMDUTnQcy8YiewZARxL/IjPMB4wxv?= =?us-ascii?Q?GevpeMqSU6HX2Hjx6mdQqdiPCfSo4dnzsnxpkQ0ErGpUPqnQhglqdpBsEW+u?= =?us-ascii?Q?P79D++ZHDwwMsrJCd4IxjnYFkyb3hL7F26jCnCJx06Y+Vyf2mN/mpFcUTrRx?= =?us-ascii?Q?9T5jtjhGFbEzta4sUVTZHtxIDAXHqbr6+sCpKDMf5QecG7EUubNgsTqj2hsn?= =?us-ascii?Q?MZ9xiYYxzkWGD0+eS5RqjIsU5DOGZFTmjTaxyNoDrSo5KebLx1+oWCuQwBG+?= =?us-ascii?Q?xaZh8We8GXc8NWeA+DrT3yYlR/pjJKURT7FIeBHI/vjWwzpXfNWGl8G78OV5?= =?us-ascii?Q?/nCVqVi8sRYYAmTpwMK/8A4FAa3ZMTPDBOQ8+tGaTi8XPQPbwenX9OONpPlA?= =?us-ascii?Q?UWjywk7EOtXj1wmXWACwjqYsOikH3qo/QCSd7nXVw+VyWvxyRHHzEV44NcWY?= =?us-ascii?Q?HNeTJrpJmWnVcKkAq9Gl0RTnWpwLrmE7+K7YGIsr/6rb0b8BjLfnnqQEkIW3?= =?us-ascii?Q?5YR7SzV5O7a2Z7f49SMme+RwE7pCEiz1BbXQdf0pJQilcUuLCh3PApMtA0cP?= =?us-ascii?Q?YSUH+kyQ3kg+PyFkLtakerv4SAQ5PlX0cX9C5R3peKTO/yOdC1XuO61oXrlZ?= =?us-ascii?Q?JQejZW+bvHNOywosU1WU2mXpsDGSXW4Uhh3sa6qTNF0DVHs6Fyk5peZA2IS/?= =?us-ascii?Q?1J1R9qJFF2VZGVgRYk5pvMmhGTx2shrte9YQLBIZCWgLixZ0Ubwv1Dnhiuto?= =?us-ascii?Q?V9tD2qyjk92H7wd3MvSSTb1LSnYK6H2Ci0IZmOwV9MnC7au5fUJY0iX9B8MS?= =?us-ascii?Q?X/+zy+WrMYHfi6/Y4lb1Zq+lJlMqRMJFgaKrWVw+whr4RsBq47yK66dtIsJv?= =?us-ascii?Q?SsTe1RKICindZN4FQPz14gbS7N4s2uTmcC9fsm/jQB8T1tKe8ltHcxqpsgMu?= =?us-ascii?Q?CjZGUmrYWNeYfLAfxIosR9GlNs5HI5jHw47tdAtEMA2eWoIlznt6/Y2L/U/K?= =?us-ascii?Q?Cucy1hTPW5xbIVbhbUE4NmxYH0W7ERppKDn/iMlSKYtXNH08fSv3ac27nxR+?= =?us-ascii?Q?aF8nfhtrL7WqrCzgVNq6k3SMUac9ItyE01CyN30LmIjWI0jDdi/nZylUIoAr?= =?us-ascii?Q?h4h81/To9BiDcp8lxQHGa7l01Al9PjZW7QaztFeIoMubXPdnPE25VYJMspa+?= =?us-ascii?Q?BbzvgfTqFpXQyWJaV0k/Ji5HFIRx+GHkp35MkrGe/KQ2kQtbqzsltZWHhPQl?= =?us-ascii?Q?k3NY6CTjlZELlCNOg69o1d4ZjW3M9aCKATG2m+RdgbBy0GtGsn2bxBWXGGS+?= =?us-ascii?Q?Yg=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: H5sXsweaspIN0F+Lw6kENNhz3hSBJxDERGI9wvD1ajUcJ4iU31nEarGzL9/GokNEPznl7eRuaywV/mjagOsHCXRK939OYqE9vjB4FA5+UGYpjC68b9Vc/iTrOEvK/aOpo3zMBrdsT6s8wQLPyB/TIffV+Jgp0Z1lye2sJ0AeTTT8suRuO2Q5P1Z8mVBlfsnVSgXrcLmFgXuSFw+TYJPUCscdPSXnXy/+UCW6XFclz349+JT90t/viYG6es3h/PFFs+ywNtE0G0l5iWNEZO/i3MVg1eP89Bbzik/Vf/YG/Dcl+UeVP4Vn24YtcgbItK13Deji5XX7Ud65eVypZNpa3YqLIcDxYTW/xaaGD6BcNjqXb5/T/RDflQ0V+iMLdD0jJRFzgvM0bTTw//zUTUaH4QO2xllhnCWHBlpHyvHh8c8JU2GuzF6Vzv+vrlTQ+H4X7VldcB9eU87fV8coAuooupXIyJKyx22DhwTjqSpTD4UM+CmHzO8surfOCqJAvdy7PhNhOWBaq9pGdHn+15hguaVrSYYneRNQHxh2KcXTpPvJXwzH7wa5pyf7OKNXEfOusZBVQykkYqJTuhzUwjvxPw2Oyy4dBdX1BQHL8peMe3Q= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: a9a30625-3217-41a6-b1ce-08dd8956b107 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 May 2025 08:52:38.7787 (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: YPAoZgAS9zz05KfHBXs8B5QqjyEv9UAhRHNIS7+1d+z00AWqP9kUVqPl+f4OUz6hh9D2LTXQ+XzIa8y49y5Br4/0POCGOFhJ5TZTCeiINME= X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR10MB7726 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-01_06,2025-04-30_01,2025-02-21_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 phishscore=0 suspectscore=0 spamscore=0 adultscore=0 mlxscore=0 malwarescore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2504070000 definitions=main-2505020068 X-Proofpoint-ORIG-GUID: cI3vMV_GS2yctwcVs7hyZVo0GJ0-UGlM X-Proofpoint-GUID: cI3vMV_GS2yctwcVs7hyZVo0GJ0-UGlM X-Authority-Analysis: v=2.4 cv=Hd0UTjE8 c=1 sm=1 tr=0 ts=681487db b=1 cx=c_pps a=qoll8+KPOyaMroiJ2sR5sw==:117 a=qoll8+KPOyaMroiJ2sR5sw==:17 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=dt9VzEwgFbYA:10 a=GoEa3M9JfhUA:10 a=VwQbUJbxAAAA:8 a=7CQSdrXTAAAA:8 a=JfrnYn6hAAAA:8 a=pGLkceISAAAA:8 a=yPCof4ZbAAAA:8 a=090cnQ_1IivCp55ikjUA:9 a=a-qgeE7W1pNrGK8U0ZQC:22 a=1CNFftbPRP8L7MoqJWF3:22 cc=ntf awl=host:13130 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTAyMDA2OSBTYWx0ZWRfX0gviVRIDjUqr wEZWEMvqbvPVb1PkF+yLjr4A7tEpkjM1Myl+g+NZvfob1djFYrK3GUiZWoU/jArChWWpXZk59/T 7Xt83Pv9Ks7rATKOnv2cyGKfuB1RFNuXG865kRvB92FR1kUFHJZf29FymdziNmq6tK9TvdKQZ0k kTqE13t+MagIngKBTx8mDqUr8RjDDGdU+yBXkzwUn6nCpqazDS2YV3r1nVj741pMaUwoiNHTLtB L0KzKnGNZmfnBjorPODGjRUnd80UzJ4nPlhH0Irii8o0geajfPFHZsDzn5OAMcbUKMkTsm0iiOJ iGtEa0PPPKwKwzy3NJa45Ya1qnN8lkW3QfoHm2YC7l0nZU7eyQoXfJbMXyMn6FjLEQWjZYEQYlp I/r29Fq8mO2kGo6ndbbywtKxHHG/mHBlLINzdotL+YToDpJk0LBw4DwooJYWxtTEbtOJqthJ Content-Type: text/plain; charset="utf-8" Add the acquire variant of smp_cond_load_relaxed_timewait(). This reuses the relaxed variant, with the additional LOAD->LOAD ordering via smp_acquire__after_ctrl_dep(). Cc: Arnd Bergmann Cc: Will Deacon Cc: Catalin Marinas Cc: Peter Zijlstra Cc: Kumar Kartikeya Dwivedi Cc: Alexei Starovoitov Cc: linux-arch@vger.kernel.org Signed-off-by: Ankur Arora Reviewed-by: Christoph Lameter (Ampere) Reviewed-by: Haris Okanovic Tested-by: Haris Okanovic --- include/asm-generic/barrier.h | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/include/asm-generic/barrier.h b/include/asm-generic/barrier.h index 76124683be4b..2d52dc5b82fe 100644 --- a/include/asm-generic/barrier.h +++ b/include/asm-generic/barrier.h @@ -397,6 +397,32 @@ static inline u64 ___cond_spinwait(u64 now, u64 prev, = u64 end, (typeof(*ptr))_val; \ }) =20 +/** + * smp_cond_load_acquire_timewait() - (Spin) wait for cond with ACQUIRE or= dering + * until a timeout expires. + * @ptr: pointer to the variable to wait on + * @cond: boolean expression to wait for + * @wait_policy: policy handler that adjusts how much we spin before evalu= ating + * the timeout, and if we drop into a wait for cacheline to change (depen= ding + * on architecture support.) + * @time_expr: monotonic expression that evaluates to the current time + * @time_end: compared against time_expr + * + * 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, wait_policy, \ + time_expr, time_end) ({ \ + __unqual_scalar_typeof(*ptr) _val; \ + _val =3D smp_cond_load_relaxed_timewait(ptr, cond_expr, \ + wait_policy, time_expr, \ + time_end); \ + /* 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 Sat Feb 7 08:53:46 2026 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BE41C23A562; Fri, 2 May 2025 08:53:01 +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=1746175987; cv=fail; b=INSGzAar/vjt16Gaq4NsF99aw53pE3FiITJya9N26SHP5Lc47cSBk7TyrYjAiOoSHrX/+czPxhPEtY3fMbSc1A/l3ap8shjBvx0UllXWgUqSMb73S4VeYFPvOnSvEl7cxjq2g3jP7tJ+Js1+QH3qT1h868DypXCkEySiVuk1uaA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746175987; c=relaxed/simple; bh=6f7XxHPwo8qC8olQC598YM2dpo0EcKoX0GyI6AoO4wk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=M87WY+PdaY4G5EXQiWrdLYfqd1Rwt0j/+wIvCa4OHLGfDkXzpnYTYeUkRdbLTATJxd5UXX9C8guX0YHxJyTqTO94xYAodY4vUMqPelVEJ5RPOONJ9VQXm1z9et9D/siVHHX1Vp+4Td/E8cIDAhD9fh/070FyEPMAyI0x/Rxge/0= 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=LWyv8FSG; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=dGyzhNI4; 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="LWyv8FSG"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="dGyzhNI4" Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5425WA7w015412; Fri, 2 May 2025 08:52: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=6E5rBlA38D6p0Ne51JXF/YGQkc+d7k1SGACK20ORTFM=; b= LWyv8FSGYyXBPhZXIZq9YChTTMR+zR+2bgwgVtewXvclmEAvXiY7uQ9NeXgmLdNb MVIujsdVjAs39F5mmljBBUXOrBI7fl0XJvBE23+h8YBzjrAJfxjsIlze7t67q2Zy rAV3biCAQObTL/FbZHVTw+WXfgaWwL5RmnFBUVd6tRZeu7PeQIhzdSa7DepvpvHh KtTQKSV9HoisIZ91RKVIQRHuQsUSQSW8uy7oXhmeBgcSDHqKOtFvD0OGPP76QEHB QpE5c7hzJ0zKqqCuYsi85qyvKK7hwpmusldglbECnc5B3rOZC6tR+nXnTg8e6FTQ C5lcDqpMSaU9JQR7mh5v6A== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 46b6ukmxgr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 02 May 2025 08:52: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 5427CY6H023705; Fri, 2 May 2025 08:52:42 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2042.outbound.protection.outlook.com [104.47.66.42]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 468nxkt8tw-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 02 May 2025 08:52:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=i7ULeOJSbb6v3rfExUqMrXhz7oVftHMWkuXQm04v6twgcxwe1z4WXHh0wHp8TH+Kh0IJ2k71w8z5pKRQON4Bm/o7SdJTsRtxVUj59L60UUZU+gkuavfJi30vfV2TRP/gTxZq2p2aDsMko1QiaWJYG7WIK/Bls+fPI7pdDt0J/MNrdwiI66H8Vxq/zPgYIjQiN/ytaFWq0efnE2JXNJX3dNj3jNXy9Dzl0OqDL+M0BTmKXOD/D2Hmtxc7nbMTUX/rdd1hxeHJIg0OhrGb4UM5kVkhz3u/nyIVwc69rtqf/YT0A9mBAJAuRJcSYagHsQrLaxqcY0XRng/oqQ6PdnL9xg== 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=6E5rBlA38D6p0Ne51JXF/YGQkc+d7k1SGACK20ORTFM=; b=DjDGOkpWxBmNiKTlcPzoGKEa55rxE7N51C9lIq7oemYpCIVuF/dC7h4BgrlbU9+aD2GPj+KHlDzbg1sch0pnHi1TVlP/ZMnDv+uiR+waF4sms1V4C3M5CMqQ7yNlDP3Bmpxf41J93VTUW570NjQKNyRmdWcdMU4LwFRqfBzF0dJinjV1Oij3t/YL64hsvaU2zGwlp6dq+mkzd8AJqhpE6t/kjNuytiiodAG/p2e5w+uLBXL2xzK3TPjJuGX8BDtfaryO6Tu2Ddxh2O536sagiRtQQdJn41wpKNVbnNmZlyiBX0a6vvdYjLNlCzjj7qs9t3ErqoCjb27bjQU+OHzwsQ== 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=6E5rBlA38D6p0Ne51JXF/YGQkc+d7k1SGACK20ORTFM=; b=dGyzhNI4NwcguwhGg0xgPVg8wZOWexLpOUhzF1eNSzgV9wmNoqe4e6nFoHoaIrsa/6a6cCSDC79x8aviQNHXrAB3ZmpmUR6k6YauCKoPxdZnRRrd5FpUClmMP0Uo6ebO8HXNQuS8Xc3464AYcwbobw9DooGIw4f/TVI5ppX2ywg= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by LV8PR10MB7726.namprd10.prod.outlook.com (2603:10b6:408:1e8::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8699.23; Fri, 2 May 2025 08:52:40 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::25a9:32c2:a7b0:de9e]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::25a9:32c2:a7b0:de9e%6]) with mapi id 15.20.8678.028; Fri, 2 May 2025 08:52:39 +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 v2 7/7] bpf: rqspinlock: add rqspinlock policy handler for arm64 Date: Fri, 2 May 2025 01:52:23 -0700 Message-Id: <20250502085223.1316925-8-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20250502085223.1316925-1-ankur.a.arora@oracle.com> References: <20250502085223.1316925-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW3PR05CA0010.namprd05.prod.outlook.com (2603:10b6:303:2b::15) 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_|LV8PR10MB7726:EE_ X-MS-Office365-Filtering-Correlation-Id: 3366705f-318f-4d19-d744-08dd8956b1b0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|7416014|376014|13003099007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?EXj6DqWN55EALDmIYSfUiYlLfW41oqD1WR+fFHUS3OL/EbZCiehUN4Q+EdGJ?= =?us-ascii?Q?eANHkjsEPVLjchvkt2FKiD4/nf3rNc2HKBNPFoFNss4ELYFy5Uy8o8tNi6Tm?= =?us-ascii?Q?Q1J8N+YrmiIEhF3UrvYqDdNzu5ITwOdLbU4AKX4U8P2kaTvVlDPavQP5uryS?= =?us-ascii?Q?dIV4BotTTLi5+v2bgxolxTzA3pHlIZajs5bcfQnpzxYQzxWqYOBvLcqug9wx?= =?us-ascii?Q?roPDc0znpKGlHxVcn8Gr9gJKYXOQZTYLcymVDRqh+NuRUT1W/92HTlcFT1S8?= =?us-ascii?Q?/O87RbdEJNyul0hSihtM9FNAxR6bPP7vIN0fhi1pslIu+f6o8xgqMmZOQarj?= =?us-ascii?Q?qB1g2tMlrvj5117SRDAO1Mz/KEinPoo7Kc8LwBfOUGn1YqMs6vcV/p1jdfq9?= =?us-ascii?Q?El9g3voF+bDVuvmzM2u4gzs6jIUw6NAbGceFP7omx5BxUReml/4ifMyEwAMt?= =?us-ascii?Q?RxUWbSs/TfLPT03Bxz2kHvn6kDbJqj041cA8KDHIg3S4BzkwMHUzggLi5LTl?= =?us-ascii?Q?/6FtdAVCpWOUG11voblrWiYN+Sc1JJerG2VrT4c8DxguDOl1GDGFU5kUJN9f?= =?us-ascii?Q?I4VYFhWXiqWT6FTnaO/zD7pwydhAH7nNLpQ256rdA5pir0tES4m0F4FlLdth?= =?us-ascii?Q?o3jc/zmXGMM81pRgp5QDGXKOY2U6Ar1VLYCN2TJVDRBYJ2nzdaiJdmkY0VPT?= =?us-ascii?Q?e13/doyhkptep9MqM4CrRoBoL5fkbKBlbh3IRjluWXS1F0KQRX8pyNzBjlyD?= =?us-ascii?Q?7uzhgX71+Tel8mvmJ29CSHQib/1YL/snO7eCfoqrOvmS5KTiqImgEghKfJUd?= =?us-ascii?Q?cjczn0IgN8pKws1Lp3ke3dfFOPyYBkNu4rBIhc8Iy3eAj88oS96t6Mo6hz+t?= =?us-ascii?Q?V6nzJuZCYBF76NWhLQfbzS8Jy0kwIRPhg0Bzw0N8Ek1piiJqXQdQJtDocBU6?= =?us-ascii?Q?WCY9DBXIQpQYJJf15+0/N3XPaAs5qiaIO1tWLl9L1BVryfZdCdWETSC1GNBb?= =?us-ascii?Q?gxRfBjHTww0iGJQZgg5VMscGip5HdvkL9VlMgSIjCKJUmmn0Bw7h6ktZy8Ms?= =?us-ascii?Q?NzD56e58EYAjMHUS2wHgh99Zsc0bJGzotMtJtLhOlm7EGgezNr1LecZrmWtL?= =?us-ascii?Q?5xpnSgB0nDktHorXQ/00W+N96kuH9tEiUXqshxSXjPpNLFiuAsSPzcFLdACA?= =?us-ascii?Q?pBqvCe4giEv65p7bOqMoBreHZwdJNDTHqVVH2DkUaHrKyQOT2alqf62hBGKV?= =?us-ascii?Q?cpWOl1x5S1MFz7xjUzyO+fF2So3uGSCbECSjNvfe/d1yClyrn4kWT86LYXHZ?= =?us-ascii?Q?DNmwlOQsFe95evOfN1MTlfBLucBM14wIAguDZVZYPP4RsmszFq4IQ4itqvjw?= =?us-ascii?Q?ZCAmGcf8GU/PiVyte/sSSxq8HwG4FB1D9dvT+OpEB+Ziz7ozUpMJpzAOWRFN?= =?us-ascii?Q?xZM7VHmKk/c=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(7416014)(376014)(13003099007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?kTjq72UWYVbJFNyYwh3DDPPyBrLwEvwSb05tWVNbYQaCuLMgd5OIIi2WLfve?= =?us-ascii?Q?MvAGAcpZpGNJKBZz5DgMFAWpogACY0oTRN1lID7m+uLROg5UemfRP2dNza5y?= =?us-ascii?Q?Rg9H5itBNgcDoVj0QgBqC53LqVr0m0V5Qy0uxQWrKvdWWKVxr6o9/a7HocEa?= =?us-ascii?Q?3Rfm9BU8sLWr7okRdN3J84+k/aIQtmS2BG3DHDSZKrniXF+hRs5ay8MLTNAe?= =?us-ascii?Q?/6bYTyHOfz8pbCtjVWlLbBKYCNzmvFlfPw6Pzswh4z131KCaD0/RXxMZ/gTf?= =?us-ascii?Q?Z2IZ8xsDS5DOy4BAwgjTgM6x0/EbOWX8oiRWoSOPoOx0Nz0OBgFPTcxMlAxb?= =?us-ascii?Q?dTKyyzf3wNyPq4SyLush2Q0U9Tgt/m4eewcBlyK8fL1CTZCJ4KLcDvbVkF91?= =?us-ascii?Q?v4aCVmh7Icn7kpRfisiIBnrtfiQF5cN2R3ME+asbk9kQ0y1yfsjpQDd0ZLlS?= =?us-ascii?Q?zHpRcVMfw0b+DWnqV/RipOx/D61479t6ZAe8xbr3JwTtLLdDjDzxOkg9AXon?= =?us-ascii?Q?Q84ksSs8A8WZtKAMLJ28lO/CYS16ScAa0ZdP5pS6OLC1gKfVpSmzDo86RhyO?= =?us-ascii?Q?vtKnheLKXtQ+XssHz7B+fwotw9FWX1tYvAR37fYtwCRNvhtghs0KKN5Qmp7y?= =?us-ascii?Q?ouESfkwTgD43du/AcsyrZZHyNEX4ZiMSTaWxmrX2n0bd4NQTiD6IbUBeTh3N?= =?us-ascii?Q?Bou3KtaDrDOYdD9LmozjV8EUy8HhZd1B8Cg59vTS03m13BkyaL97ry2ZNhVb?= =?us-ascii?Q?C9rKGxoM45m/FZ1IQyAdl4VEspS4g3WPwdS7dzRVr9XQaatTQMjC6bn7/baK?= =?us-ascii?Q?An7z1IP84SDczh2ua80H7IitBoglYe3n4lCyaW7gEWaXbUT3VZWiwAlGFKCZ?= =?us-ascii?Q?F3AHZnBccPEr7VuyZuA9XPZfOlSReXHW0rge2Lv0tHDdxLDT6hH3eaj8Iied?= =?us-ascii?Q?7XZ6sGUtjMfbm1JrI1nIumdA6Clw8HycRat8rtkaPCDTKYh3P/vDqbvnR/xN?= =?us-ascii?Q?XOsde28ofcv61Cz0mA+y8EW6S+I6793Ig0lHlZBccPerCfPbrcA8bhJykZM6?= =?us-ascii?Q?3UmdIEK3DojwGpjt8kuX3S3vOuoSeVOjmolW7K0lCbtB2JM1bzLNvYQaJD2l?= =?us-ascii?Q?BNSCm7ucMvkiQFaWMyuwr2+iBvDNZ6XDITGfJQaSEmwYblpIXErn8iLPp03G?= =?us-ascii?Q?uOrerghjaar0ZRCQy2IZLEr41Ib+11njelb4KYFGEDhhGdDatqDa8jX6F9IH?= =?us-ascii?Q?JEPdGlJxPJ8atNmIsHXfWYyYtUtwI8p2MHYlsZbvxNIu/lr4Sh9u6TThKr4H?= =?us-ascii?Q?r1xJNPPKpEYFGJwH9w8fvZuitL2na4WqVYpnE5byBtdpa+iEo48QXBqUCgeR?= =?us-ascii?Q?pNGMYHyTK0Ab4bDoEAjx2lo0QDQElsejG/lXqOnxBXrl4cLvpkY5iMOFVUTd?= =?us-ascii?Q?/wM3TFaRWgt8fFk5ilIf1Ja0LtKfevPSjnmSTpzgf/tonzwwWVt4jkarCD0I?= =?us-ascii?Q?nM69gwyssvSxHS8xwQ3dHZDe4H7sSuocEiiovBF93B7McufB/KmfJ0l6dwOe?= =?us-ascii?Q?0aB0FEFyewTn/MSQ/CzkW3cp66L7dk4YI3yBq+FmROXVMj0zwZySx0ZAVBTu?= =?us-ascii?Q?eQ=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 9qEywf6Mk2tVVvJnA04b9ey+Zc/E794rcbEMCMwLaeetL60uqRolDUZ8odKW5GaoL22Oir90EDL67W5/j9sPqqMaShuQcfcJQmqqrbg9dRxp6dtnh5AImTULG3fUC2Ln85zppqJQZYItv2L6BgH3Q7Hrn12jzFPe/AhRumU4QdZrHri0v3HkbkP2w+Sps8TBz6rOOoN6PVTfzSTEnMYcemIJI+zGMrwpMc74c+wtI/Tl0zQAozOA52c4uiP9vFnRqE3duZN7AC3AMxCvoDke6uEqWiv+eIroux4c50XAoY37Hn3OG2NBQuFgtdEf8OqPJG7wJLDTbmXAmbEM/dTgvK8mciBHKp2WeBwLCp6cC0MErWVYDXoN1YIfJ2GHELgcV0EV2fvMeVbQytoOr95EvWWcwV7EbZTfbKIiK1Ve3hpcKXPUVcb1eyzjvXTdR0wCdu7PYQWe3/e3aBf6kX9Qy2LFKvY2FL+HvmFw5TiCczdsDcTn4mWIk3Hc7/S/XDlCrLOT6cUKlPcbJEE1By4en2piJEH8Mm+p7sHdfddFfgx9+Fohv2IOgzeoExUN8IXfBi/waJ+pgUCuZTsvIk58gs2Yv0u/VeOMTcNgWFxq/hI= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3366705f-318f-4d19-d744-08dd8956b1b0 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 May 2025 08:52:39.9090 (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: l26InHx/yr9k3y6xxy+uoOQxdidNxHzCwLKnTpDrG1BEHF8WgInNMDDIC2tLxYd90j4nVnYfV1HCdIy65OsFOM8IJGdV6UHcn2jIFcZLRSg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR10MB7726 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-01_06,2025-04-30_01,2025-02-21_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 phishscore=0 suspectscore=0 spamscore=0 adultscore=0 mlxscore=0 malwarescore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2504070000 definitions=main-2505020068 X-Authority-Analysis: v=2.4 cv=MIZgmNZl c=1 sm=1 tr=0 ts=681487db b=1 cx=c_pps a=qoll8+KPOyaMroiJ2sR5sw==:117 a=qoll8+KPOyaMroiJ2sR5sw==:17 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=dt9VzEwgFbYA:10 a=GoEa3M9JfhUA:10 a=VwQbUJbxAAAA:8 a=yPCof4ZbAAAA:8 a=pGLkceISAAAA:8 a=wxXpT7fL2LLBmjscUt4A:9 cc=ntf awl=host:13130 X-Proofpoint-GUID: f7QrIgJsNOY_mXyuBt53E927C0OUG7Wa X-Proofpoint-ORIG-GUID: f7QrIgJsNOY_mXyuBt53E927C0OUG7Wa X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTAyMDA2OSBTYWx0ZWRfX9znZxqauQxAF RPsy4DilD4GF9lnfHXq94hIF/A6jnD6EumHnNp//arHdpSCVMYi1htN+ZL0AudjUyv9jBwSNbKB 46aAcH2lsOGha70EKD2rNJGBps5ga+0HLPzQXPdvC275J7I/04QUmF/5yyyyqsPKD4r9272/54y B5crEYK62Uw98BaBKcaUQI6i5UdmCvFm3Jm+C2o4/t0SFYq3CfAUUhvPPqeP99+DBuhC821PArw 9u+4/UmjdVFnDugdTbHwBPHsxfsC8P+uLL0M7HhDqXgb5L0A34tNaNp1xKlrSOpcjV6aJX0lcHa GI+xcSzfqAP05wiUfIR7+OpZcgCFIDGSKEPQ2obvVuVH92vhgzNtKONh5OFkIgPeBur1zcaibiN VmY/0eDIlMw/rMVf3VyAszu02b6Q+Tkcuh6m7RkXORX+Ouzbf9BwM8BuNOecJYyBT+vhqT0A Content-Type: text/plain; charset="utf-8" The local copy of smp_cond_load_acquire_timewait() (from [1]) is only usable for rqspinlock timeout and deadlock checking in a degenerate fashion by overloading the evaluation of the condvar. Update smp_cond_load_acquire_timewait(). Move the timeout and deadlock handlng (partially stubbed) to the wait policy handler. [1] https://lore.kernel.org/lkml/20250203214911.898276-1-ankur.a.arora@orac= le.com Cc: Kumar Kartikeya Dwivedi Cc: Alexei Starovoitov Signed-off-by: Ankur Arora Reviewed-by: Christoph Lameter (Ampere) Reviewed-by: Haris Okanovic Tested-by: Haris Okanovic --- Note: This patch is missing all the important bits. Just wanted to check if the interface is workable before threshing plugging in the deadlock checking etc. arch/arm64/include/asm/rqspinlock.h | 96 ++++++----------------------- 1 file changed, 19 insertions(+), 77 deletions(-) diff --git a/arch/arm64/include/asm/rqspinlock.h b/arch/arm64/include/asm/r= qspinlock.h index 9ea0a74e5892..27138b591e31 100644 --- a/arch/arm64/include/asm/rqspinlock.h +++ b/arch/arm64/include/asm/rqspinlock.h @@ -4,89 +4,31 @@ =20 #include =20 -/* - * 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 - */ +#define RES_DEF_SPIN_COUNT (32 * 1024) =20 -#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(); \ +#define rqspinlock_cond_timewait(now, prev, end, spin, wait) ({ \ + bool __ev =3D arch_timer_evtstrm_available(); \ + bool __wfet =3D alternative_has_cap_unlikely(ARM64_HAS_WFXT); \ + u64 __ret; \ \ - if (likely(__wfe)) { \ - _val =3D __smp_cond_load_acquire_timewait(ptr, cond_expr, \ - time_expr_ns, \ - time_limit_ns); \ + *wait =3D false; \ + /* TODO Handle deadlock check. */ \ + if (end >=3D now) { \ + __ret =3D 0; \ } else { \ - _val =3D __smp_cond_load_relaxed_spinwait(ptr, cond_expr, \ - time_expr_ns, \ - time_limit_ns); \ - smp_acquire__after_ctrl_dep(); \ + if (__ev || __wfet) \ + *wait =3D true; \ + else \ + *spin =3D RES_DEF_SPIN_COUNT; \ + __ret =3D now; \ } \ - (typeof(*ptr))_val; \ + \ + __ret; \ }) =20 -#endif - -#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, rqspinlock_cond_timewait, \ + ktime_get_mono_fast_ns(), (u64)RES_DEF_TIMEOUT) =20 #include =20 --=20 2.43.5