From nobody Sat Jul 25 20:04:11 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 BB7723EF649; Tue, 14 Jul 2026 07:32:37 +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=1784014359; cv=fail; b=TGcL/mVcMY8uTXzmzwJJU8VJS76aHT1ir5cB9+mXeqViQlvveMCRLf9s8du2kH8Z1wMbZ37kYmZuO9V+oi99JUFbUvIhXgJcv6E1nnS7kYwXlH+wiHqnxK6BGHvFvShIxxbgko5IjicZDzRxTkhQbQKBRp4VuIwgjfcTJ8t0KWQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784014359; c=relaxed/simple; bh=eY0jbcGBjVGviH6lhE5K7H1DUwy1e2CYOuX74KBAB7k=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=Yl+ReZzcXSGcXd39X0yu36Wz+3V+KG3fnm9q1Dz3p8KaIeEXUvXSWFd/MrmHz5K6C/Qg95CtyVeBS6ItK4bMKW9Y2Gx8YOu6O3NbkOIte6VYueVUwB+P/bRzaiK9+c1ddOhfjivOrGYnUpiQAGal5/ZMivjlNDxXVKQyunMOWhM= 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=b+ySRjzG; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=THF5uqQe; 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="b+ySRjzG"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="THF5uqQe" Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66E2YpbP2864654; Tue, 14 Jul 2026 07:30:54 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=EmhM0791EbYv/rVaynr8QVThERcmMRGdsSIwtjMdPDM=; b= b+ySRjzGx2txneuiVhV5f0twgSz1Dlzl1B7mn/Fw+R//I96fu/AcZJqSXpK6ly/c kt3I66zHQESvNpa9R+iio9iD3MiPL9T0lvo0bQwg8bPjb+dCcJJUy7HaNPoe8RJZ 7m2RA+UG7ZN3kIvE2ARcuVxiLTYoQso41bILViarrX/1yxHGp+rKHcK4IZGNrUhB OU91LhZLdAKwAEvV2Zm5XJmi7DbTgMpZ/5ZMoLYYW1nhIjcHUTjaMkh09ZsEFeTv Fk7IOBZo7158cMzJALxqedUjanRyZ8IMbw/tJAhlgRqeNmCkeOhhYuOFo4I9OJSO oQoYc86Bx7na/vQuyp2K0Q== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4fbep33p2x-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 14 Jul 2026 07:30:53 +0000 (GMT) Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.7/8.18.1.7) with ESMTP id 66E7S8lZ017449; Tue, 14 Jul 2026 07:30:52 GMT Received: from dm1pr04cu001.outbound.protection.outlook.com (mail-centralusazon11010044.outbound.protection.outlook.com [52.101.61.44]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4fbc9dcw0p-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 14 Jul 2026 07:30:52 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=gKJ0+a4o8k32NLZr1RUAaw3AUZttH/87G9V4AtlPkLs5Vtqo5BuGCqxcqjjCo3lPH9jFiEN3DKupEfKnK/TTiyYldQkI24zYwqP5YRPxd3otoj1qeydkgQYbL6G6Z51jvtmip174Br5lMDbQ2J8qgRZ1XkynHxfiQiktgKCY9gRf0kBQY24nwnhggdJwAv8/o7tE9MVITc1/tGx10Zgf5jaIIfFut/jk7d5aWJXFZ/ExL0nKFu+RKDNGHZWmTzRbUM3CxSWyy1kZK7FWJYxokgE1Lp6A37CIFjv9l3hRAzKi7NYrRdZOhLlKmjyl56AXHX/bJA85+kL/1jk0qR3cww== 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=EmhM0791EbYv/rVaynr8QVThERcmMRGdsSIwtjMdPDM=; b=yw9C5r91WBMAOIbqhp7REhez/zXoTYWKCoo93ToghzQ/SF56lNVmNA9m+RmATpyLcg98lbNwF9s+3DStKVwmCyqLMs81g1nr4WgPyOmOwgdBsaKJ8KIKZ+WFDb+0zphwFppJsAd/bOxPyu4/QqFIIiaBM10KuJaIK4wO824CzUI5y4A1tyiT4OUeDeHxVWQptt/sT3wHunMs+WupV98Wzjt5a2a4cfR5AEWKmYMlTxQgG4l3I6+sKdGn+EEx+tNIY9Hmxdw3vkd9JOn4kGxL3yi7h1NC2v8RnxtXMQJICJMB7Z/rdPFfmz8griyF4FhoXtAiy6hXfVkIZyv3UXboIQ== 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=EmhM0791EbYv/rVaynr8QVThERcmMRGdsSIwtjMdPDM=; b=THF5uqQe4+xMOhX73PlALNkg8xT1Qs5TnPROkNurLG4laoPDXPHJrHwLAH+m1ky0C/CQ2xaXMlfXrEXeDPwLB8mTFh847jcS8oP1u6KDJnGDwkFiEFKLlLTaFsyeua68tw1XcEieKve71o9XGAB+UN/r9hedFe/6nWMBBs+Hbcw= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by CY5PR10MB6262.namprd10.prod.outlook.com (2603:10b6:930:42::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.202.19; Tue, 14 Jul 2026 07:30:46 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574%6]) with mapi id 15.21.0202.018; Tue, 14 Jul 2026 07:30:46 +0000 From: Ankur Arora To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, bpf@vger.kernel.org Cc: arnd@arndb.de, catalin.marinas@arm.com, will@kernel.org, peterz@infradead.org, akpm@linux-foundation.org, mark.rutland@arm.com, harisokn@amazon.com, cl@gentwo.org, ast@kernel.org, rafael@kernel.org, daniel.lezcano@linaro.org, memxor@gmail.com, zhenglifeng1@huawei.com, xueshuai@linux.alibaba.com, rdunlap@infradead.org, david.laight.linux@gmail.com, broonie@kernel.org, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, ashok.bhat@arm.com, Ankur Arora Subject: [PATCH v14 01/15] asm-generic: barrier: Add smp_cond_load_relaxed_timeout() Date: Tue, 14 Jul 2026 00:30:27 -0700 Message-Id: <20260714073041.40250-2-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260714073041.40250-1-ankur.a.arora@oracle.com> References: <20260714073041.40250-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: YT4PR01CA0261.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:10f::12) To CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR10MB5409:EE_|CY5PR10MB6262:EE_ X-MS-Office365-Filtering-Correlation-Id: b2295e24-81c7-4070-07a3-08dee179d1fb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|23010399003|7416014|366016|1800799024|3023799007|22082099003|18002099003|56012099006|6133799003; X-Microsoft-Antispam-Message-Info: ptY2aoigXmBh2TCiuXsbkxxA11oQO0jCTEmA/zKvdx+8vlob67zO5hST8AuggmI1EoGxe2DOr6qxfFZl6hOz3PQulvR1lGE7Y617QPoPd25ZPvden/kVVrA4VlKYyCkSFvAwgJAPa86rLFIXU3/B6B8SpxvjapLyuRcMSXXLLR+WUY5qo/Y2D45LuxBgEEO+dLv7yuzEHjNcxHz1xB+3spV97BLu3jIyFbBrJD3sXgnUCvCBBVaeIhUxbEVvhszrVIA1HmCvMMzoePQQS+wi6z8oxtXJ+gKdzBHkMUKO+K1hkOme84DoxPTkZhewmAlbYLX6bziTeb6+twekP8VhT1dPMznZFQaq7Ib5iTKEAjmEAIhbr/IKiNQQn/AMM4V5xa5/e7BJ2fxu9SJDJB62BDfqorr+tDBaRf95c7gPuGHT6EP5dj+GSxVmyut9HO5CMANQWN42EpCNirY7S0WATyQzR5gpoT+2zUjR3A95tqYrg7wiMDawG4+Ihqu2HwF+L6DiwxtezppZ2b0Lq2EkMQFGFG6KrcgRV7ASEM4wNyuIIrwT0qaLW2KfQtawhbjKkbAkcorlPDHSVaOEbXV8olRJ3MIhv/58yrQem2bV2C4cidUHL4KfR+4OqIs9w3FFoYkp/Fr4thAqS37L23cjQYrO0lttaNlMs7C7aTqh6VU= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(23010399003)(7416014)(366016)(1800799024)(3023799007)(22082099003)(18002099003)(56012099006)(6133799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ExwWsPxAAmCrsXIdmpLF65V8e5nD/8tojIilP2gGfXi3Q/og4HlNGyVQ16/X?= =?us-ascii?Q?StTriHvKQPuuSfMe0bkoWtLDltE+krV6ARk75wkT70LwxPeOj+/1cYLKSc3m?= =?us-ascii?Q?Zs+meqqnm0hw9eia0ht0gvZdZZhlWXPcqFtT01vAEkNnxRo4gv0280bbhASv?= =?us-ascii?Q?/IMFl2IOk1KV8yfWPIf/SN3mVcvm3Lriqza+SW04Gpz8gC/NRshQMHHeuQhc?= =?us-ascii?Q?k7tXah7cLbhW0uu5J299LjPPqmxZzBFPIFyreKH8VoCq/KzSf+RIsmrkaqCa?= =?us-ascii?Q?xyTuwE6L1FBQaJQH5JKFRU8FikAiRw6/FORDtJe6q13uq7k1pDmEk1YHIRDN?= =?us-ascii?Q?ge3Tff0GlARpHEho2yE4ShILPOSglyBcHY6XnXTFQzuyOXxopDCrNiDzrwmx?= =?us-ascii?Q?5EGPeU43W1IEl0DQZt/QJr0nAaO/Ev/JSZ+4OQNMmvDB8EB7yDqqbMPSQJiS?= =?us-ascii?Q?CSDRNLcr/k2azcjuKyvIAx6ZDQTsViPpjxhNjtYLzTBODDUSDKz3KZGWksBE?= =?us-ascii?Q?aSqeEK5JNIBOqha4cGDELWDqVGqoM5T5fNM4mxg2BYO+VbLWH4vZQmChvW+f?= =?us-ascii?Q?JjKXGQuo/xYmG3wMn2RncQImrWyAOVCwkszbiEyCMrod9PZz/noQhnR5rnCE?= =?us-ascii?Q?b3K2cTrfE8LFVO+w4GDtTewvk9Qmz147Qb62ldrYsSMzii4V0tfTePuMES6x?= =?us-ascii?Q?lIffSy2wC8FQ/lJ7eDpC/xQJAA/fkSYC2Z6bgEX2PdNAaxSWIRPV4OviC7oF?= =?us-ascii?Q?rwONZlZPbKM0Niqq0XffIXW8ZwPFCNlzbgJW+hsIWavpSmPE83dVRi2S3sbd?= =?us-ascii?Q?A7WoVKwotLDkgm2LO+sMPf4sv5BUTMIjfF8UCzIi3SjeekKL97S5v2+S0fW5?= =?us-ascii?Q?JWo5TZHAn9sIX0e6IpkgclJsvcKuukbY2KldLvQSqm5Nq2OnufzmDZCJLn19?= =?us-ascii?Q?iqp6cnaX3lo0gGRhY8LRe8o1lA2KXbXTdzIXSDLLx/AnhXmxDcRg6eW9/hpS?= =?us-ascii?Q?zwYtFGwa03yzJXSFRvbLkA/MMBjf6EkJDbApJuBCtnAljNFX7r+M4PQEJZo/?= =?us-ascii?Q?3IPpN2HTFJ82U3O0BLzxfI4/AvjS39xyWez6etRY/c40NW4+vKdYR+c3WPuw?= =?us-ascii?Q?KErabqbhg1JrrrczzQRUuxJy/vc6y3qC0VcmG59oWw6FxdQwBy1QaqXoGUUM?= =?us-ascii?Q?sJa75eYGHIKXEc4FCdD8PnKz+rt3a2mVWXDQHNh6xfi/bPl1iJMmUEwC3m8J?= =?us-ascii?Q?d1IbSiK7ZrYgl6aVNHaWlOrwkQknqyU+51ug4VATtO6dWFlA+2+3yRW7/vEa?= =?us-ascii?Q?OtkaSB4lUBC5dJdudl3000HyhUyJXeZBnyG71yhgggGHl1eQQXQE38dcc72T?= =?us-ascii?Q?5d4TTZ592VsJIw/l68WLuHR/aohzXbr7caLwaPi0xjN9PAzI3mdLXzaaLCWT?= =?us-ascii?Q?uUawF3XNdLP8jk+ndnbWeUdOOEp3b7UbQuHBg5lsPyUcsY9kQlTolkZMRQhy?= =?us-ascii?Q?gnNVg86ESqFc0YolTgg2uiPo8k7Gv5pMhPNaMLAvf5vU7Nunubxvz3NJ4RLa?= =?us-ascii?Q?geOg6u7COy88E3pKE1WSuE9v10hF827DHlybPyScZt9TJJjSS/JS8YTZb48t?= =?us-ascii?Q?U4Is2DIj5zC/skHEFDTDMFc3u1Vp/Isz201ED1QwLR3OvMGIYmgFxiC+DoNb?= =?us-ascii?Q?PZyd4ZTHkh70Hgwl5gEh8Q//vo70fy8yNaSINDk+6PR/4gR6U96wTz5L9hlc?= =?us-ascii?Q?/Ksu1F6gSlhGGmQd5PGO6HrKaZeGjtA=3D?= X-Exchange-RoutingPolicyChecked: LwpbSe9wL1CBXGMkJ5HRZhyul8NHVyYf2lAEoDP3HdK34hBZIZ2SUYa3v254qmsTmj1wOOA3OA65Mn4vKvXkJajUB0mvgwlQAyp2cwYY6nZu61rIY+GZtEWL0NhiexBM3xMNyON6WKDxk0rlpjsTjfVvuAc9I9omlKPMnuUAXMFN2VK6ewjRHi+z8dkLnqIPXFwfgEanQA6QueoVzw6U0tzM8oWAQeiud4fodWIc6GQZOU9jQs22Lgp3oC+t3F10Y9g3FexZ8AKMYqRalVQzh+GHIPg2kyxoZpEQWh4uC6sax2KsHp1OHHtZhjkqGl6S7GReO/YNhg74Wb2+jZfTZg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: cpUE68V1snRK94td1hHnV/R9lOGVz/5GWJ0JyEIqtuQmQt8/aj/Yz0rwj4Pv40UNdoIa/T4olSYBSeiUsiQSh4i6sCb1dnTSvGlk+7H0ho6+tvx2bytOM6fHVVXE15yhLMdUXAUyERQmTLg9druvhAJkQVzdpU+JdOoB81U2oAKwDUXjkT6M9F630IxJBbGkLPDaL6VtztJbQXZxvY6GIYyFj4MfOzLYz0YJgydHTpRoS6s1CguYKGWQTn8uXC63ZwujwKYKcFA5eDLGzhBRjkl8zGVm4TZCYmHhVDhUj5yV8Be4DRnuhzBKxvrmidmDM1DxHozXpycyPJ1i7YMPlhvF3fLD1r1q33fJqpjS7EmeL2iBpvBYLgPgsaV6rCzIKXg26q20fbJIz0WBpE+n378y4YTKIiyp5+HjoXEr4iJiOB989PVtDJ7UxvN5dMFmwjzk1XtbShM5ex3S8JT3JLprL054i9bBuAcR7aP5A3a7oO70qUEfioJ58YVLzXefv3sS7jz79calBHx+JNHnXBTRQ6jWGfRazYfWBWyGm5/VyKsyGwclNpg0F4qM6EgJUmC2sG4zHjSG1MjAd+V/+LtzfwSlhv6V8QWABABwnbc= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: b2295e24-81c7-4070-07a3-08dee179d1fb X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2026 07:30:46.5386 (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: TbNTeATBHEXcRbexlSpjmM6mUgdwQIPB/rkXwwPIhWg2Wa+KF90ubEMi/eRLRQFPY+vEHDzXOsWtP7Nu1bWm1RlO+grk9w5K0hZfCQ3OL70= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR10MB6262 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-14_02,2026-07-10_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 phishscore=0 lowpriorityscore=0 mlxlogscore=999 bulkscore=0 spamscore=0 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2606160000 definitions=main-2607140076 X-Proofpoint-GUID: gcq7SmYtF5Yqp6m7gW8c0oS69IdF7Xtc X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE0MDA3NiBTYWx0ZWRfX4pKQHvXf/SID WqWSqiMC8KCpsRJjcGHwXbjOWlBDQggTOsYJM7M0nF4UUbcSFykXyjWpgnePFmdt9E7mbwaqtzD K6ORuUVAGJSJWJPuTz/Trf2JGjkEKP7V+Uh7dcX8PUU5Zqa+yMDP X-Proofpoint-ORIG-GUID: gcq7SmYtF5Yqp6m7gW8c0oS69IdF7Xtc X-Authority-Analysis: v=2.4 cv=dYawG3Xe c=1 sm=1 tr=0 ts=6a55e5ad b=1 cx=c_pps a=WeWmnZmh0fydH62SvGsd2A==:117 a=WeWmnZmh0fydH62SvGsd2A==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=RAioF0-LDSMA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22 a=3I1J8UUJPc9JN9BFgKH3:22 a=VwQbUJbxAAAA:8 a=7CQSdrXTAAAA:8 a=JfrnYn6hAAAA:8 a=yPCof4ZbAAAA:8 a=1Vp-6p46HJp4oqU_kr8A:9 a=WmVTiCyuxqgg3mnwYu6p:22 a=a-qgeE7W1pNrGK8U0ZQC:22 a=1CNFftbPRP8L7MoqJWF3:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE0MDA3NiBTYWx0ZWRfX43AyPiiWAz5/ 6ZK7QwyU7j4MydzEY6EMOQxzeYMN1OY6Crtr4HX+UDHrByrmjfwzQDV5n9UKXLVEpYPH79lIHE8 7lPKGLJOgAEco4RL5OSZMsgLhepfg7rLkoNt89eDo6Vk6sBMmSag3ilVGnJmb05H+egNtxAa3VT SkWsBnhgNwVDBpmDfPbengRYVtLYQW0eRVjLwIS2kkemFEU7EEvEx81ob0OGTj3x/XJk0CpfNOX uyewH3N3OO+A3cFpSAGJivX+/odKPe0ZrjEU3h4OspAu8frZKM3RzUklianEYNtf39xJduiEDyu Z7/mb8QgoQFoGU5my6OJ1HG3K9f0ePXld4IzRcFUeIFTJIqMVO303KoVpb3taBcvqfroJfIGdgZ 0djQ1e75u92puLbeV37QEu2isYVzYEX2M6IC3V7PS3P5avARPfADdvE00UKzTyjrEEoe+9uPtdo ZoZ0sZFBCYEhGivywCw== Content-Type: text/plain; charset="utf-8" Add smp_cond_load_relaxed_timeout(), which extends smp_cond_load_relaxed() to allow waiting for a duration. We loop around waiting for the condition variable to change while peridically doing a time-check. The loop uses cpu_poll_relax() to slow down the busy-wait, which, unless overridden by the architecture code, amounts to a cpu_relax(). Note that there are two ways for the time-check to fail: the timeout case or, @time_expr_ns returning an invalid value (negative or zero). The second failure mode allows for clocks attached to the clock-domain of @cond_expr -- which might cease to operate meaningfully once some state internal to @cond_expr has changed -- to fail. Evaluation of @time_expr_ns: in the fastpath we want to keep the performance close to smp_cond_load_relaxed(). So defer evaluation of the potentially costly @time_expr_ns to the slowpath. This also means that there will always be some hardware dependent duration that has passed in cpu_poll_relax() iterations at the time of first evaluation. Additionally cpu_poll_relax() is not guaranteed to return at timeout boundary. In sum, expect timeout overshoot when we exit due to expiration of the timeout. The number of spin iterations before time-check, SMP_TIMEOUT_POLL_COUNT is chosen to be 200 by default. With a cpu_poll_relax() iteration taking ~20-30 cycles (measured on a variety of x86 platforms), we expect a time-check every ~4000-6000 cycles. The outer limit of the overshoot is double that when working with the parameters above. This might be higher or lower depending on the implementation of cpu_poll_relax() across architectures. Lastly, config option ARCH_HAS_CPU_RELAX indicates availability of a cpu_poll_relax() that is cheaper than polling. This might be relevant for cases with a long timeout. Cc: Arnd Bergmann Cc: Will Deacon Cc: Catalin Marinas Cc: Peter Zijlstra Cc: linux-arch@vger.kernel.org Reviewed-by: Catalin Marinas Signed-off-by: Ankur Arora --- include/asm-generic/barrier.h | 79 +++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) diff --git a/include/asm-generic/barrier.h b/include/asm-generic/barrier.h index b99cb57dfccc..d1e9ed15bbfc 100644 --- a/include/asm-generic/barrier.h +++ b/include/asm-generic/barrier.h @@ -273,6 +273,85 @@ do { \ }) #endif =20 +/* + * Number of times we iterate in the loop before doing the time check. + * Note that the iteration count assumes that the loop condition is + * relatively cheap. + */ +#ifndef SMP_TIMEOUT_POLL_COUNT +#define SMP_TIMEOUT_POLL_COUNT 200 +#endif + +/* + * cpu_poll_relax() stitches up two kinds of primitives: ones that provide + * a momentary blip in the pipeline (ex. cpu_relax() on x86). + * The second support waiting for @ptr value to change, coupled with a + * with a precise (or imprecise) timeout. + * + * cpu_poll_relax() keeps them together, because its utility is in minimiz= ing + * expensive operations while polling on @ptr waiting for it to change. + * The arguments to cpu_poll_relax() are only needed for the waiting + * primitives. + * + * Also note that platforms with a suitable cpu_poll_relax() are expected + * to define ARCH_HAS_CPU_RELAX. + */ +#ifndef cpu_poll_relax +#define cpu_poll_relax(ptr, val, timeout_ns) cpu_relax() +#endif + +/** + * smp_cond_load_relaxed_timeout() - (Spin) wait for cond with no ordering + * guarantees until a timeout expires. + * @ptr: pointer to the variable to wait on. + * @cond_expr: boolean expression to wait for. + * @time_expr_ns: expression that evaluates to monotonic time (in ns) or, + * on failure, returns a negative value. + * @timeout_ns: timeout value in ns + * Both of the above are assumed to be compatible with s64; the signed + * value is used to handle the failure case in @time_expr_ns. + * + * Equivalent to using READ_ONCE() on the condition variable. + * + * Callers that expect to wait for prolonged durations might want + * to take into account the availability of ARCH_HAS_CPU_RELAX. + * + * Note that @ptr is expected to point to a memory address. Using this + * interface with MMIO will be slower (since SMP_TIMEOUT_POLL_COUNT is + * tuned for memory) and might also break in interesting architecture + * dependent ways. + */ +#ifndef smp_cond_load_relaxed_timeout +#define smp_cond_load_relaxed_timeout(ptr, cond_expr, \ + time_expr_ns, timeout_ns) \ +({ \ + typeof(ptr) __PTR =3D (ptr); \ + __unqual_scalar_typeof(*(ptr)) VAL; \ + u32 __count =3D 0, __spin =3D SMP_TIMEOUT_POLL_COUNT; \ + s64 __timeout =3D (s64)timeout_ns; \ + s64 __time_now, __time_end =3D 0; \ + \ + for (;;) { \ + VAL =3D READ_ONCE(*__PTR); \ + if (cond_expr) \ + break; \ + cpu_poll_relax(__PTR, VAL, (u64)__timeout); \ + if (++__count < __spin) \ + continue; \ + __time_now =3D (s64)(time_expr_ns); \ + if (unlikely(__time_end =3D=3D 0)) \ + __time_end =3D __time_now + __timeout; \ + __timeout =3D __time_end - __time_now; \ + if (__time_now <=3D 0 || __timeout <=3D 0) { \ + VAL =3D READ_ONCE(*__PTR); \ + break; \ + } \ + __count =3D 0; \ + } \ + (typeof(*(ptr)))VAL; \ +}) +#endif + /* * pmem_wmb() ensures that all stores for which the modification * are written to persistent storage by preceding instructions have --=20 2.43.7 From nobody Sat Jul 25 20:04:11 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 289263ECBD2; Tue, 14 Jul 2026 07:31:27 +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=1784014290; cv=fail; b=b7VmPSiZLEqXFabbJmzKKnTLBW2ui23rc5DUSc5A8zclqjGzSvpLPFST2jRQHE21EFXiwjBssunkxNgeq6JimJ3JuCJp62ETnSGJ56GC8/oH1rK3QXwIeA2z4UlUs9KQZlDLkylq9OnnGpnIbae2L8ZHRT3zvuynrbBziSJ8Jdg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784014290; c=relaxed/simple; bh=9GcRTgbykNsExvkZxIaaWoniBRTV4HwSn+HvHMo+neE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=Kd+ofKnQy8s32HPAQ2BX7ANTB1dC9HuV0exMdPsBVQTLR2dIwzRlFXTVJhTUcvm1Ndgv7AEJN8mWfUXwDnl0UU95Ki2yqdqtbDBOKU4887wptzwpf83Ha6jGEGp78bufbF+Noa96zn2yLncMpULLhhU7cWMYjwkXi5Y/0mKHtjY= 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=bVR0IRfv; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=ZalMXMPt; 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="bVR0IRfv"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="ZalMXMPt" Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66DL4eUX1376588; Tue, 14 Jul 2026 07:30:56 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=Vy+sZHvCqbz2rjud1siu5xhtA8wo+NrImTyrXA/BF/Q=; b= bVR0IRfvSgIYJRnZ07AbhbM3v8cXuhM7ANmvuVlBIesAx5rkGnJUSipIlS/VB2A/ S5SXyo9yeIWUkofFarYIELm9Jsy4pBRv9z6X6QujZojjeYkJ2r2IcqfHJIo1MpLL JaJlTnGDPACaQpa4V6DXo/F9hjCmDVbgk85ZfTDqRSJnYXvnjSjg3FS5bbV4O2xL X3uXSzktFWFRIzkWlAi+FhQxlY3O/12RkKuzwG+FL4OP0VZa2XCnSxZJCjzMOoC2 YVL9DeTHkZPegmhLzyc1V1ImrKjwbiZeYRT1Ue6CXlhsGreZuEPVBZc+ScNrH2wK kINY5hiPm7OTAKNT0BMJhg== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4fbed2bnhe-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 14 Jul 2026 07:30:55 +0000 (GMT) Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.7/8.18.1.7) with ESMTP id 66E7Hxa6016417; Tue, 14 Jul 2026 07:30:55 GMT Received: from bl2pr02cu003.outbound.protection.outlook.com (mail-eastusazon11011066.outbound.protection.outlook.com [52.101.52.66]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4fbc9dvjg8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 14 Jul 2026 07:30:55 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=hskG8SMIoGSXkFn93rEa+xTaYiwrztRhL1LDBTS4rZePjGh1rPn3C901ntzRN95z5PHAmDlWFZhav8Gr2msWOcV0O7R4C8Rrue+dGLNwJXVgM2uZyW3eZ9gK3PUPCPQG3wTnPSScImdsQBMbHWgvh2IYEeQuQlGdXXNhxTIXSQd6zFv8aI7tm36aOtEx4qo27eW7G2DBOKIV03TyRO4mJfhBSNJQIkhx7TMZMaXpPFEjY9yK8UV65buto+rRkP3gcSd8fhlGD09miQzA0Lb1h2rai8c7dUafJEN78lqY4aJacgSwN4+ekobQ1EejasApkNu91UdnWcpWQ/eUeQvP4A== 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=Vy+sZHvCqbz2rjud1siu5xhtA8wo+NrImTyrXA/BF/Q=; b=PN9X4LYQXmgy8qm2U4AXXAhkjstsF+s3/PyqmtUQvSawUy8xpsWwATV3jH/1iAfmHyK0l89b8MDvO6CDlBKEaeJx3htyKR1EIK1VYTwko09FDsVJgKVBBxt3DWH0IVviEC92il5H+rpJZnj62xBWknt/zfc/1Y9otBXSLRn6d+eCE8njFHEg6oyCTl0NFDmlX6dJrdJg4ZdKqdaAr8RXH7tndu6JZCkDd+4vI6FTCATc+JAooCat3GvUoWdym5d2xe01M7MsSw8KH51P/p4iUM6D1UKt6tvE+y4LqP42gILx70LVrN/hKjg33ic4ntuUy2wyQx3rW2vVWiyyjg6D8Q== 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=Vy+sZHvCqbz2rjud1siu5xhtA8wo+NrImTyrXA/BF/Q=; b=ZalMXMPtwyIKrjqsqp7kS67lhg9UXfnmvAHZyxIg1lHI0Dg7UtbRO7/QeNKbF4f21Cz4ddRKjqfpK7/at7/iWzCFUa5xddUSp6llzhZrlFxzl9PQjUy7blRlqFGIp0Y1xVevU6sLoCv3N5sgP3wGrz2zTTPL10WxIKfBjWZuRos= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by CY8PR10MB7124.namprd10.prod.outlook.com (2603:10b6:930:75::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.202.18; Tue, 14 Jul 2026 07:30:49 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574%6]) with mapi id 15.21.0202.018; Tue, 14 Jul 2026 07:30:49 +0000 From: Ankur Arora To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, bpf@vger.kernel.org Cc: arnd@arndb.de, catalin.marinas@arm.com, will@kernel.org, peterz@infradead.org, akpm@linux-foundation.org, mark.rutland@arm.com, harisokn@amazon.com, cl@gentwo.org, ast@kernel.org, rafael@kernel.org, daniel.lezcano@linaro.org, memxor@gmail.com, zhenglifeng1@huawei.com, xueshuai@linux.alibaba.com, rdunlap@infradead.org, david.laight.linux@gmail.com, broonie@kernel.org, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, ashok.bhat@arm.com, Ankur Arora Subject: [PATCH v14 02/15] arm64: barrier: Support smp_cond_load_relaxed_timeout() Date: Tue, 14 Jul 2026 00:30:28 -0700 Message-Id: <20260714073041.40250-3-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260714073041.40250-1-ankur.a.arora@oracle.com> References: <20260714073041.40250-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: YT4PR01CA0254.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:10f::9) 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_|CY8PR10MB7124:EE_ X-MS-Office365-Filtering-Correlation-Id: 8737b890-09e8-4b94-3905-08dee179d3b2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|366016|1800799024|23010399003|18002099003|22082099003|56012099006; X-Microsoft-Antispam-Message-Info: c285lz/GVoL5ZXuI1JFaqSs6yRX3/hOqtOqAuWqrjE4pdKw2CFp8t6LMA1oBcQyPjnXD6wLjTcUm7bZHC++daWKKo84Inmc9nPEo04x/TLPyncwsWz2LiQL0H8p05OhLxySADqTHWAuK10WEQJRl/6ozgMqE9ch8eNM3iDBPd47nUzs1ZoE8ySrG+pmESVVTHEeLA2Vbz9+0bzg7OWJR8tu2rS/0d+yKxIblvd9lgXzPYkAHaV+SxS4t7cmSoQf6utHBJ2eA5795tfLiyEutteo1h4BYNYznMTRrtO0GKzhexsHurwzmJrjuSzTCY1qeoIBowO5ToIoYwaqYSNWFCcgs7dYrfU3N9JV94FffQlPb2pe6lnTGHlfwo4qe2w2pCfiT3EZ0DI4oGCPsJXS4yoYNhRCRJNpPwDz3PYzIQyfZzIHPxhkYgP7On8n+5MwdCOLRd9VyPSwoAsGvUmUUeF1Q4YxMqhyFjNHI0W6CIr5LXvu0yrSfs1Pd8eU9Xw9CFaJqMTBVFTaV7z6KoOFzgg8BzKNFNxNedx5gZkq01yLvO0CzxE32FA2p/lmQHzWHPdZRebPTJ9ZKdL9YfOJ5N/FsRSLbCaRamdKqa3bMSSdq9UkL/2GbkN1cu6nVxJNtMIR70grDq1B+Diyo+b9kJIGOGpE6ZohV/3YiCSgCr4U= 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)(7416014)(376014)(366016)(1800799024)(23010399003)(18002099003)(22082099003)(56012099006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?fM48I7D/EljYY4C/1avPbck+cqPBiR7cO49cGAr6mqMzFyRrznDdct6PSKIt?= =?us-ascii?Q?FX7KZ3H9oz+iLaToZbH6wI9WOWadxu89+QF1eLsmx0pnpDFJejxdtrfqLAtL?= =?us-ascii?Q?8W8l4C7IGGfjEmz+89rh58l3nHTAvyjn6jHfuUOPT9cWqb9IoDcyZ42RJsgJ?= =?us-ascii?Q?TIbuLDTGg63QfTjy1LzRrGGxEhHuDmhe/et+1MYV8tYxVFkIWmp+jlnDZsdc?= =?us-ascii?Q?ITTg3WeNQkVTYW06P4ZVL5cjEgvUOuM8xENXwS8sxJlUN8WZSJN2NqQav6sa?= =?us-ascii?Q?tI7HQiIHKruVZKvfhMsr6po9HAY4GK1qF/0PssAbxMYRU337DCVc3B6W1RPE?= =?us-ascii?Q?UxvWY2W1H91RIBqcklIRFsJN2YBcvZ0gOOeKBuy6dfel+khqAWOkMq9suoQ0?= =?us-ascii?Q?z+9lZLoRqTrCevfQpIj0eL/keuRjnNtvHMDYPzC5AXriySnhMs6K1Mz+TMjZ?= =?us-ascii?Q?RbH+dWwtkL991cB31NDzCL2e4VbQrzHXsegTxKDp8vT7Oo9MPfItBYyKUPWO?= =?us-ascii?Q?g7eOjxu80/LO5ZfRU0zEBfvbIJoGOtqbRT4gfpbH7cEYuVmApKMqyE3/ezCY?= =?us-ascii?Q?9W8jec56C4T6dI03+UAm5oKLQqUccSslF5+RT5CFjvauU7BivggxTSz+Zfhg?= =?us-ascii?Q?SXeMo4ny+2qkDCj/Z8nIi8dBPNLze49lpygOKjdhkn6o5FEWtHYKW3YRV9FS?= =?us-ascii?Q?aI27k/RePUq7eXuM9SMMEOHZBmKLcyX8Cj5MK+U3m0YFYy0w8YXpip6GINyb?= =?us-ascii?Q?uwR7KlqNKgeWKDaGjwPAo+zvYjhA2FkuwF07FGghCevm30Dq1xPlSrO9eMEt?= =?us-ascii?Q?E9apTMFyrBeLno0mLcHJi74vDfXAmZ6PTmPI+8j5e/+nmhgTOD62H3JSplL5?= =?us-ascii?Q?1aJXYksA0xF2Ou0hQLwfqwUCPEm+79z/BCTUHyGOcA7m/Qm3AmdPBCpi0lN0?= =?us-ascii?Q?Yrq1fkapB+1BBiwnIcZfGSNGlzztlhfPdxPk7y20/HCiJAX5sakLlscXRMVl?= =?us-ascii?Q?tJxSBsTCOp0jsme5WKFDUvq+mPo9y70gtk0mE3+XWfe9xpZ4iLHSDYTiTOTE?= =?us-ascii?Q?sBRzbVuQgLZBw66BT+SJ7QW+ZZV0zv8LtWOQENO0Wa3DOO/38N/6NvK0rPRv?= =?us-ascii?Q?EdJGJYuaIQTYy72jRh/D7xSedd7GDuH4HK4qEvRXreqCQJHpbkzFu8qfRbOc?= =?us-ascii?Q?2adID15XL5ugqo2dt1fuKqVdeSRsP0Nebi7lW/HN3VOUhkiNar7+eK8YE49e?= =?us-ascii?Q?LFb+WyYJP0zZt0JKqlfAozGFcFo+5TrzbcF0WdExwBA0oF4hDgl/CmJvwiFY?= =?us-ascii?Q?Y165IPtIOMhaJXHcJaE5WElBBaBkcr/GL28tsGofkPNFuIuWegUg1091xEkQ?= =?us-ascii?Q?HKk/JZkfG3CXHcZgXc9GQ3+XM4j0UWRoSye9dfPvYimOnCfz0yFFxm9Ixish?= =?us-ascii?Q?lRz3teXMZXXhrHZfZ9dqmH8++51AnGJ+hRQ0s9dYYeEzXKJNJUkLkBQb71Rb?= =?us-ascii?Q?v8AUDUVlhu0i6MsdLKS2JFeLqOQn9xjbeuUUi/HPBOQtmCybErronx27pSej?= =?us-ascii?Q?HyfGh2nbbxrQOLc+QWIh/dw2E3TpHLgzgWxFpD2fXjABm1KlLdxPTJ5rf4hp?= =?us-ascii?Q?QC5AWcX4sgcCLgbeoaQupJafkUSl2ZENRJ6+LzFESfFYVSWwA0cFS4q09up4?= =?us-ascii?Q?6jRLHoeHWrUZz711XzKDcL9ROUF0gSgVNmD3OfhTUgmelkoLi+dbjYjoWJqM?= =?us-ascii?Q?nco82g8FAa5RUD35tF+exL8ACJWEz6I=3D?= X-Exchange-RoutingPolicyChecked: MksWwMv4kbx8BRnYppZdQTyS+btw5JDJnJAas+07nYDc9lQ3jNSzyho8a5YFrDniolf+S+v/a/DlX56OUwluAYBrtJsPB3B6jy7ITnLbvwL30ZRQaCw+D6WgXjkthoJWaha/DJy3dCHx6X8jt2Lquq34+KH5mKGPoO/rdk9DxXmQB/xODgd+5mP4atSTajXUzZY45ST105CL4SQCO17tlegAsgEOZqkTV885RQpRtr6YtzmQzg/8Cx50gAwvNE/CSxXlE2N75akbrpyfYz0i6R5D277XGqTr3zCcJRpTBdTRWzGUkdh2ZHfNzG6SIaC6C+K3Ebbzjf1S9krIgrp0+Q== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: mqAoNvwSSpVNwB/kNE3gVvjeKyvslyu4BEfR7funxd7P8JXxXVuYJMNd+JQU59y1rBj8oi35oMZTiUv+8tkE74JPdtAQjliiKY00nyzqYjJfuuvxA6pYbLnHtWepIqOyCUQrJd+7GLUCVY/X388k5UV1VJrGJOeewi68avtIjgyNrRvBYz2DtxK8SNIPHYtdfKiOAlxJ94HmYRljYTpdTFfE+OQz+1QNq26sRk0oCcZsdeg+EECYJyaBDlqk37dnK/VqqpvqSt1xw65Vj+q0jUPr/D7E0a7+hvnok9CqUutwXFwyaP4f7ve740yulT+9XrXpiwPzjC7idnYu4iJvoebQPRlwSp/bbUCo94Ztw0KCeah9sWQ4UI9Y4turA47dVmQrk/IcUb7ymOGrmn9NOk4nbaLKVDazDqJndGLL03G2x2qVfnFLPFntJqT7qwIDYYOndGgUAmTq2muDEhnRUWiVWOCoxJ1awLTQWIQ4DBSW1Y6jl480Gc4pFQn0/pATpaFq77OuI5lzUkapw8Xzrqj4aGSd0jRU+yCVlzhvgm4FQg/BtWkS6b12jYG44BPZMPFZ4YhR9whkz/H3zaQ7TZSwd8gDz4q8OA8ONnBjRO8= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8737b890-09e8-4b94-3905-08dee179d3b2 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2026 07:30:49.3939 (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: mITVuO7v2EOVdUyMMuSyjJmhI7bAvuDpDJpaxM7Y9kwTpTLTywRTmhEB3gFIl0no2lXsZIDFg/h3NTcQGZ7FFah+9Pu9xoSLFH7Vtqzhuy0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB7124 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-14_02,2026-07-10_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 lowpriorityscore=0 mlxscore=0 adultscore=0 spamscore=0 mlxlogscore=729 malwarescore=0 suspectscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2606160000 definitions=main-2607140075 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE0MDA3NiBTYWx0ZWRfX7cANYyPSXh0X VzvjFyxJEDYr51FPyKhwe4OvtvIFJXD7hVnr0i0KGllPAGwsJhaGf6EsHhp/okYA3/f1T+QKmie +/WyjlQAhXlltvyeEPp3j90SMRi045gj9KGsLF8OUO6WwL8eFzft9qlMcSZrpLJyJZ2+JaNQKgU EAEpaIQ3VJgQJV3fbU8eCU/ULhKAK8pRNBi1QCmCtwPrIGWTb/M/YOSCAJyzPKbHuBP7xmV/Xaj AQxVmjK383APMvYCvVMZduIAITXBTUhoXrELvVnUyE8/ZhOi+CfLf2hkxxgI2o4BScUGpNiIluk zSPYAiozs/NbXoSQh8howNx/xAcZUlDLICznwnoxHogQVUDg6WdAseR6nSnQ2pzozKLjBlXYkda Q7ZGL/5NFaOBIjtenGyC/OHCZoKOwX3bhoa6rGtQPn1wXJ4H5Oz9Nu5mQ1RvqtKAwyX9a452YpM XAo1B7ZPK9JoPzGiv6w== X-Authority-Analysis: v=2.4 cv=GcknWwXL c=1 sm=1 tr=0 ts=6a55e5af cx=c_pps a=OOZaFjgC48PWsiFpTAqLcw==:117 a=OOZaFjgC48PWsiFpTAqLcw==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=RAioF0-LDSMA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22 a=7Gl3-_t3PgB9XO-mQDs3:22 a=VwQbUJbxAAAA:8 a=7CQSdrXTAAAA:8 a=JfrnYn6hAAAA:8 a=yPCof4ZbAAAA:8 a=x6ygOChz5MOYKFFXTgQA:9 a=a-qgeE7W1pNrGK8U0ZQC:22 a=1CNFftbPRP8L7MoqJWF3:22 X-Proofpoint-GUID: lbhJk66Q-b5LitCSMFKVtKEcLFblyubI X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE0MDA3NiBTYWx0ZWRfXy1JP2BrcTSvG 8UL3KxIM7rmhPCwzWHPDJB186r4gwwWZGivE07jJE2Xsha6B8BP0pOIiwdrRZ0HrvWEhtx1+9XO qU7UFLz6GKUL41aOCm8+glBiedXlH6r1vjP8WSaIw4kts+2Uxg0j X-Proofpoint-ORIG-GUID: lbhJk66Q-b5LitCSMFKVtKEcLFblyubI Content-Type: text/plain; charset="utf-8" Support waiting in smp_cond_load_relaxed_timeout() via __cmpwait_relaxed(). To ensure that we wake from waiting in WFE periodically and don't block forever if there are no stores to ptr, this path is only used when the event-stream is enabled. Note that when using __cmpwait_relaxed() we ignore the timeout value, allowing an overshoot by up to the event-stream period. And, in the unlikely event that the event-stream is unavailable, fallback to spin-waiting. Also set SMP_TIMEOUT_POLL_COUNT to 1 so we do the time-check in each iteration of smp_cond_load_relaxed_timeout(). Note that with this we have enough to define ARCH_HAS_CPU_RELAX to indicate that we support an optimized implementation of cpu_poll_relax(). However, defer defining ARCH_HAS_CPU_RELAX as that enables polling based C-state handling, which really needs TIF_POLLING_NRFLAG. Cc: Arnd Bergmann Cc: Will Deacon Cc: Catalin Marinas Cc: linux-arm-kernel@lists.infradead.org Suggested-by: Will Deacon Acked-by: Will Deacon Reviewed-by: Catalin Marinas Signed-off-by: Ankur Arora --- arch/arm64/include/asm/barrier.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/arch/arm64/include/asm/barrier.h b/arch/arm64/include/asm/barr= ier.h index 9495c4441a46..6190e178db51 100644 --- a/arch/arm64/include/asm/barrier.h +++ b/arch/arm64/include/asm/barrier.h @@ -12,6 +12,7 @@ #include =20 #include +#include =20 #define __nops(n) ".rept " #n "\nnop\n.endr\n" #define nops(n) asm volatile(__nops(n)) @@ -219,6 +220,26 @@ do { \ (typeof(*ptr))VAL; \ }) =20 +/* Re-declared here to avoid include dependency. */ +extern bool arch_timer_evtstrm_available(void); + +/* + * In the common case, cpu_poll_relax() sits waiting in __cmpwait_relaxed() + * for the ptr value to change. + * + * Since this period is reasonably long, choose SMP_TIMEOUT_POLL_COUNT + * to be 1, so smp_cond_load_{relaxed,acquire}_timeout() does a + * time-check in each iteration. + */ +#define SMP_TIMEOUT_POLL_COUNT 1 + +#define cpu_poll_relax(ptr, val, timeout_ns) do { \ + if (arch_timer_evtstrm_available()) \ + __cmpwait_relaxed(ptr, val); \ + else \ + cpu_relax(); \ +} while (0) + #include =20 #endif /* __ASSEMBLER__ */ --=20 2.43.7 From nobody Sat Jul 25 20:04:11 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 0EB923EF649; Tue, 14 Jul 2026 07:32:30 +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=1784014352; cv=fail; b=pKZy25hnxl97eGba4zDfHAxZ5HIDLALR2omHdIfB0d+RNaBvhqOW7lVRFtDkhYfELheUmPX8iIfdu2Suoisvt28zVMHlb/maXtF9V24NOiAOzNNYohX5l9Nzn1Ri42bG7hKY9JuD1SF2b16TIHaqxeAr451wIQiQKwE6r/gQ9OQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784014352; c=relaxed/simple; bh=RDLq4kxv/mshx0hXK7zz531b9LCUJDjOXvdZ2PlIWZk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=j/wCVk6fqeetbRO3gWV5TbJKdj5JLwLOvk0p9GbP/4sZ8dZe4DcXUd6QumqNQfvS1RYMee0cPCdIjYOFyOJO38vss1bmmCN3tQP2mWyhRTqYJ34PCAweNaa+2BwuKwwAyWnrEdjdMCyEXL6sbmIWy3uZXvXeXtW0/6paxse4paE= 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=R3QJWC+A; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=uiQu6lpy; 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="R3QJWC+A"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="uiQu6lpy" Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66DLFiLM1346009; Tue, 14 Jul 2026 07:31:03 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=Qc9kxLkDGha/9o5ViVD+9oBCbKgLib4L+J3lTykDaPA=; b= R3QJWC+A0sKYYshO659/6diD7VCp6vhqhmsgT7GcmgJk7gE0POOIooLmQk7KVsx0 dEpwY4fKQyYvUgsMIfQtmqCglADQkdplXlSyvnfOB8Koifxhl81OUbYsVUVgb7AI 8JfOfd+BYpSJyvPUBd4zgRy9sC+3IjzN+ExJEM5S+pSGqwLWty4NOpNI3P7tbbcY Fdz6wiJeDNeYnqO53WOslsB6HYVGYji1qyYndIO4lEgAQDH8BIoFvBmMVYjl5CCi 1mGCnxV/ZrXzVOk+MT+KqGAoqBLRunRene2UWmmvM6gjpvPcacJolJi55IZNikPM Z/2m4E3Yo4uVXERg3INHzg== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4fben1kmt0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 14 Jul 2026 07:31:03 +0000 (GMT) Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.7/8.18.1.7) with ESMTP id 66E7SWOU035514; Tue, 14 Jul 2026 07:31:02 GMT Received: from sj2pr03cu001.outbound.protection.outlook.com (mail-westusazon11012024.outbound.protection.outlook.com [52.101.43.24]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4fbc9h48a7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 14 Jul 2026 07:31:02 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=GtuaipzpWVJJWMpixziRilyz5MOHg1gyJdAgmUPfdfmPL1uQy7rVVY+Vc1LP379sH1SRjCS1wrL8OsNmuIkVIsapLj7QRW0bTFVBxk7RvpYpJe/VCMpYimvzEiYblhEk5Lp6vGbdT83rOT9m7CC/LA8E+RKt9uFDxwsfSzSNJp97uAeeDbCxRaAYiUokcBRq6XdbWE3csAXZCvpB6XNG+OEUUIL0WX2PBCp9ZdlENRreG7EIZ4f+42Y6Hv6hKYoMCvoMr0kZ5yZittilz7PAMwPuAwlWKWem9rM9NEtueJMga5GfYQMHEuDj22+vC2MkE3P91JP9pkvFU/SrLkWQvA== 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=Qc9kxLkDGha/9o5ViVD+9oBCbKgLib4L+J3lTykDaPA=; b=pWnQ5pfy9twtE9pF4LKbK2YYUhUzsMuwPUGe4qdzF8Q4pebPx0BfmzciowvH8Ib8NnvRUzRLHjigQQM9Q+QcaRoDCxxdbYrCxaj1TdTFPbsSO0aGCnoFKrLS9KwKpDxd3DLnh/x/Q3nDfHtv+0PtMhjpCpErO/XXkEawUKYipcfE8vd13O3eM/0XpCJbRoqvpN22vMg7IifEerVTeR+qK2JasZISJE1BTfuzk+UaZtCwW/Ym5x/0N09OqeSz3oVDMfFTiPP9KGFQcBBRkPq1MAZCEaeztCYv92p9qynN7O2WRldVA46vu2YS0ZfEVGln1ReAbP2hGmDIEaKMRN3B4A== 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=Qc9kxLkDGha/9o5ViVD+9oBCbKgLib4L+J3lTykDaPA=; b=uiQu6lpy8WwZDGmkka4ZRHc6WHafPDr2fAkJBkWG+uh4pOdwudTOHAMv/+y+Op15Q78TYlBCysyJ7OByCtbHNDnzFkAL2mf44KSpYSxuHFSx8/n05/foO36z7YCo+bYrm8Vc1QQlKeX0f/hUxdXVt1r278J6Pwn+UZWYN9E6QzE= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by CY8PR10MB7124.namprd10.prod.outlook.com (2603:10b6:930:75::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.202.18; Tue, 14 Jul 2026 07:30:55 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574%6]) with mapi id 15.21.0202.018; Tue, 14 Jul 2026 07:30:55 +0000 From: Ankur Arora To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, bpf@vger.kernel.org Cc: arnd@arndb.de, catalin.marinas@arm.com, will@kernel.org, peterz@infradead.org, akpm@linux-foundation.org, mark.rutland@arm.com, harisokn@amazon.com, cl@gentwo.org, ast@kernel.org, rafael@kernel.org, daniel.lezcano@linaro.org, memxor@gmail.com, zhenglifeng1@huawei.com, xueshuai@linux.alibaba.com, rdunlap@infradead.org, david.laight.linux@gmail.com, broonie@kernel.org, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, ashok.bhat@arm.com, Ankur Arora , Bjorn Andersson , Konrad Dybcio , Christoph Lameter Subject: [PATCH v14 03/15] arm64/delay: move some constants out to a separate header Date: Tue, 14 Jul 2026 00:30:29 -0700 Message-Id: <20260714073041.40250-4-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260714073041.40250-1-ankur.a.arora@oracle.com> References: <20260714073041.40250-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: YT4PR01CA0299.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:10e::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_|CY8PR10MB7124:EE_ X-MS-Office365-Filtering-Correlation-Id: ab77ba34-07d1-48d8-1562-08dee179d728 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|366016|1800799024|23010399003|6133799003|18002099003|22082099003|56012099006; X-Microsoft-Antispam-Message-Info: BgesFQtNjmdp18yPfCg+hdgThvGnaE+F06nt63c3IZO9ZsGBD0XHypRmW10p9D4dwQt5XS0ioRwomSc1ZbKr6bstDBBWZeL7rAj0nSZPuBJ2oLrOn8cNeawPklbSVDeLg+w1Tc2i4iWBLjdIU/Ombur78AgNMAhma8/8HC62JCLF63LnE059SaFdXv9Qa/AAXxtsXQ64i0pDGF0+6D8KLDGOeMEJnhn2TZnLFg95LaWeTkcNMXG6VvUaIGov0sXU9CaaU1IrxA76fJKUtpUfgh9Zqb0vcNllj9lISd0m+Imx5lEiVWLEVOptKN47SqXh6JLrifO+desrO4Xsa/wPzkqneLKM9mUEWuM59C/cmWrnDZpUhuSZgCifysIazdmOFXqV9sfP3M3Q+6qXU2Alsnsvz4MrDTWs+RakLaORVpU+kb3sA8CNgCe3mVY4GI507/dwQNlUr/YEcCBhCKDtp/0zgmxF2ZcL1Tfx4NMF4LMg6StryvI3tTNuhMWy891xBpmrVUqMfctwD6dE75l159//mjkV6FrM7C73Fc9VjpUmk6E2wCC4pOd6BJqPHxeHNeOh492xqmkKk/rJNfwyZDx1kjgdcXtx2GvP6yuTrUB+Pa90c5c+0O4YXRhgYdvJXU+uGZ2LeEaCwasyf33jeJ5OXg9NUTUHPIw6DW2Dkzc= 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)(7416014)(376014)(366016)(1800799024)(23010399003)(6133799003)(18002099003)(22082099003)(56012099006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?/YPKZKN43yaxawWKSUL2klUbzmpR3xQtBwPyGJU9eAH68di6yfSfbEhm4f9k?= =?us-ascii?Q?oou8kG1jxaAuuiDuk9tThfh9JxFU6mxZ12okSwESzXgk3XXgcNkFo1d90AeJ?= =?us-ascii?Q?usSLxGSLcKJzlsE8hc+dp4FaL+ODRbrag3fzlvIf4CueGIYu6ia/PeMcyTIt?= =?us-ascii?Q?9Yb8rhhoRs0ixnzYMCI11R359yLA7zBvcS1iY1Yvbq2+D84GbLclg2LvqxRg?= =?us-ascii?Q?DZIwmaI0QSUiZD9IFyAq8lRGm+zMnyUvjNJ0wqA8Z8fFegRg/XCKY++VXOyW?= =?us-ascii?Q?BDPHbsscQpu9QwkN4DY2Fox6UfmqZqWksRb73U+7EjFVyDPlzpKxnuA3bfrM?= =?us-ascii?Q?jMrFQYz1gsZNtM6IZKI+XwfoJjCYOehYguptVM5NuZdwr6mAi+1U9RBAJg1r?= =?us-ascii?Q?eozh5gGMbV741r/07aR1TicqpZK85kZ0yJbgK2EFs4xcEOG+sUFyE8o62ptw?= =?us-ascii?Q?KcBhHxgb2bvT55oMLqMUuThg8qeXukuhC2D23HsoAHlb4CstMWS8iN4Oz+Mg?= =?us-ascii?Q?st4UPLj2zNJW1YAxrCH4Ufas8JfnmLT3wnSbxDAHLm/VnFijiPKsiVWTePnk?= =?us-ascii?Q?tpq5u9eoC6Dj4wZB7vO7XvkOwAIrCqcM5VEH/vuGbE+gknBlqkyqNL4NUPvB?= =?us-ascii?Q?cjC6l7a8swBbVNZxNb6DHGNXGyikp/HxyOvZNs+rvQxQQGdUUPINe9TibLho?= =?us-ascii?Q?JuwfMvfFiaHLFtUcFmPpaK7TbMTMYb8rbRjssbfGpwm8JIMe8x+pjvH3fx4D?= =?us-ascii?Q?9+QFyKNUILkyFpyE3rktztOoZLXSyrRkrVwaIEJ5uzQS+TQB4k2s7ww+oTu+?= =?us-ascii?Q?UvIERqmYaAcuIMVbLimrQQgyxOPd11MYZmQGrgmWEj3AJQclwtuEYnquZ00b?= =?us-ascii?Q?2JQGwjJE2m/zG4cIz4Sa6hxDuLSjqNbQYKtYeuFfSCYUhLbaP481eMfJAqEK?= =?us-ascii?Q?dUKzugRn3FBqEw6fItWdOcPMkDPFWbK2DXRPqOseEESo7ZwjM9P0sPJHGkEX?= =?us-ascii?Q?LJXuJQDAaZ+J8YlQNResbCeLZuOzMXfx8j1jBmWcc2t6VicsiRP1fikA7vB/?= =?us-ascii?Q?TDU/W09bs6mFaxpjWg/aI5D0r52Kv8M6efNRLZgFKR8qwZyEn04uxYDNnRFd?= =?us-ascii?Q?KUbV8KbkqGWXwgx6uTxwtxK9sZ5VDhBO+Bgox3yEHu2g9Ad6VDB0EO9E8bU3?= =?us-ascii?Q?1NvURPoVmm56IZhGns9P5SPe/FT2Qqy39cju/qwc8l3oCQDw5gxoJGmIbLgW?= =?us-ascii?Q?RbphE+gqVE3IHuy+sRC7Fws9P3+zfPb0NKZ9KLO4YNXFKirmC7j7xebyPZQh?= =?us-ascii?Q?qOcXivA7fGeEflG7Dr3KhsLzgHft0kokWJzwFSfq36tdq4MM77WgytmTprvD?= =?us-ascii?Q?DbKO5CoVNvNCYlpbir2UrbkUjz7Of2G6w7wrC2V7FJ5WxSWXry6I5vZX68/p?= =?us-ascii?Q?d1ZumvL2pJdSRs1vfQTgc5Cz3+0Fnyp1GilWSxio6gBtox9kOMW5OMfr5EaT?= =?us-ascii?Q?XJ+66zxvRn7mmH6+LV7ODZa3A4ROP8/KDBlP/kO2zbU45RF2HcdgCVTehakg?= =?us-ascii?Q?HrJVcBuLTCJ0bnSLyqx+1tFfkf9j15kDJuwmcleKciKOCj2nxXrXx9hn1JVx?= =?us-ascii?Q?79gid4CdMsPNttuHzIk7udoW9uGupWcJZjHlIxr4HJXxjkqQVS5hvfo7aEBu?= =?us-ascii?Q?Bq5kYFsAqxizh5yU/K0Rk33fRDJLYu13diEu5rJ9dcM+9jb64kkR/5liUJ8Z?= =?us-ascii?Q?ANr6x/TumXIc8WzXQ4oxADTSFnM89EU=3D?= X-Exchange-RoutingPolicyChecked: pwzQn2nPqhES41jmRpMDbaedU/61p8XN3vvVqK60pwLYwqu1hqFXorydsjG3z+QBGWOmzhDpZ6TFjWACWb/ez2T8C1lsxY1mCYtwkWcsUM7+EsWy/8S8SwHudQrRz9mIyH5jF945CeN31vWkb+DE/vrYOTt9QXFTPWCFg4TfGct6fVq9+dCFXzVetZXu43zzuA0RwXfqWz2PVAUs3Pmksq6EuwF5ewnwQ5+s5m0hpCTMeVjDyyIdXuteEReAPdvt8SoD1UBUkQpkC/77p3OKo9PSfEgwwKk0xnjBfYbatYVLH1eKOLQqk6WCh2vRKVAD9d/5ut/6Mt7nv+JF2LwVHA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: xFvdSHniY5ITOK62+G6htt8KvBzYpvEM3yPY+iGhe8x1ZG8ywe3WrdJ3n+Amn5Vv/CEle2HvcI8L8NckxQJamt8tIz9B3I0bDY8Y4gkM+8VI5jCmXhAiQSYUw8hf3U9ZaFIs9HGSGtQ6tUUYh7STUHgb8TfTgGn8W23n5NqCMtsfP2xTdV//vfShidFrd47RBeXryb4nt9QKzQasvSvNFBj/UK0/UhPKd3HK/XfqAXYhFEr7lUrmSN67o2Binm+3zjuUi+D60oTKqBtCptdrNZ+l4XwyjUXixTuk1gM4iKv3hhBZEPT/rTBkjckypaXTaxbhrV8DRe/Ue99zC+apYcPXqhzP449pUSzYldEmnrOkPz8lZHIrpuSsSkorxQpMgond+Tzbmo8HbB4ymilMPJTUailuJ1rIvRRg+MkWkecJ/PNyYUMQEcCioi2vnafJyB0K3fve9ZecjejaLud9bU78HcOOmIYJOD7O2GdFk66oWKYD+hE04mB3mwVrKUbNMF8MCljvsME5Zgh82kU17fuRYqyfwx7DHiOSxncYpmVsTcD8qEloP4sYv30L88ffUjlUAiIQP6w4q2nVxkB6cREPHr5kfmBi62mc1FPJ9Kg= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: ab77ba34-07d1-48d8-1562-08dee179d728 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2026 07:30:55.1909 (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: r9BNroR0+txQDbS9UxlPOD9FVwXtqgDSgCYI7jCnTIcRLIFUfnLb0nWVeRL7F0TXkM6utvfbS0BIIuAnCn9I4aZP31Bv4y3ke/3LCKnnsPs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB7124 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-14_02,2026-07-10_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 spamscore=0 suspectscore=0 bulkscore=0 lowpriorityscore=0 malwarescore=0 mlxscore=0 mlxlogscore=999 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2606160000 definitions=main-2607140076 X-Authority-Analysis: v=2.4 cv=d5nFDxjE c=1 sm=1 tr=0 ts=6a55e5b7 b=1 cx=c_pps a=zPCbziy225d3KhSqZt3L1A==:117 a=zPCbziy225d3KhSqZt3L1A==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=RAioF0-LDSMA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22 a=x4eqshVgHu-cdnggieHk:22 a=7CQSdrXTAAAA:8 a=VwQbUJbxAAAA:8 a=JfrnYn6hAAAA:8 a=NufY4J3AAAAA:8 a=yPCof4ZbAAAA:8 a=gQgDrPkycQ706KZxoKkA:9 a=a-qgeE7W1pNrGK8U0ZQC:22 a=1CNFftbPRP8L7MoqJWF3:22 a=TPcZfFuj8SYsoCJAFAiX:22 a=5yU3S35YU4bGjq-dph-N:22 a=Bho9c0fBagfJEIQBS7DQ:22 cc=ntf awl=host:12221 X-Proofpoint-GUID: x32LtzfjBEyz25nnkT-nS3ICCBFIwcjB X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE0MDA3NiBTYWx0ZWRfX9F59xyh7+LLW YJOrCTK9vhz8Uyuto+CQh3XWPTA/qXrfnSGpOXUwZEAnYPUy8V7lS4mcXAzk0WROQTYFPJlVV71 Cj/1P/3NkUyIfVrKBhlNBIdvtb8nLwy7bVzWJBGLxsKSu4RChPJxcQmsgY7D0PoSXJxHcu67f1i xHNLZKR29bwLu2ySDyRmVYB8VegmxBC6WlFC3xuxP+W455buKjapN/0YbqIGmgeWEKxzv7wiIPX xeBKVwotBYD7H5ruuMk2sEOeepxu0nuJlBjEUmuEdie0J2GnOMEUV8zJFmhNYMTUz4MXMuWWnxz 6SBxTgOsHEr0OYIjkArwh+Y81dJ5NC7j7GyCT2iEToNAdKDH6SW57W3GJL4DrvaeDnIxiNRlmb6 n1AZ5d29tBGJraQqz7F21Fxfi0q5W2oTAbitDvqQYNjcBOHLUUyGQehkayZZIx4Pyg8O53Aie8W SIPgaXa50/4/Ilh2KE2hHFaZqCj6CwWrGcNf8cV4= X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE0MDA3NiBTYWx0ZWRfXygVmArcbmiht jzRKex25Q+UB8ti9bDoVj3U2F1BKAo9wLDXw+mfKrHGzxT8uFSWLtQeD5xDxanc4gDWeicGKTSs NJ4JfMa8MOUGk957rCcLi4uK5kE0OBkrgYXGXiD7gvSW6x/fHhJa X-Proofpoint-ORIG-GUID: x32LtzfjBEyz25nnkT-nS3ICCBFIwcjB Content-Type: text/plain; charset="utf-8" Moves some constants and functions related to xloops, cycles computation out to a new header. Also make __delay_cycles() available outside of arch/arm64/lib/delay.c. Rename some macros in qcom/rpmh-rsc.c which were occupying the same namespace. No functional change. Cc: Catalin Marinas Cc: Will Deacon Cc: Bjorn Andersson Cc: Konrad Dybcio Cc: linux-arm-kernel@lists.infradead.org Reviewed-by: Christoph Lameter Acked-by: Catalin Marinas Signed-off-by: Ankur Arora --- arch/arm64/include/asm/delay-const.h | 28 ++++++++++++++++++++++++++++ arch/arm64/lib/delay.c | 15 ++++----------- drivers/soc/qcom/rpmh-rsc.c | 8 ++++---- 3 files changed, 36 insertions(+), 15 deletions(-) create mode 100644 arch/arm64/include/asm/delay-const.h diff --git a/arch/arm64/include/asm/delay-const.h b/arch/arm64/include/asm/= delay-const.h new file mode 100644 index 000000000000..2a5acfb7bff1 --- /dev/null +++ b/arch/arm64/include/asm/delay-const.h @@ -0,0 +1,28 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +#ifndef _ASM_DELAY_CONST_H +#define _ASM_DELAY_CONST_H + +#include +#include /* For HZ */ + +/* 2**32 / 1000000 (rounded up) */ +#define __usecs_to_xloops_mult 0x10C7UL + +/* 2**32 / 1000000000 (rounded up) */ +#define __nsecs_to_xloops_mult 0x5UL + +extern unsigned long loops_per_jiffy; +static inline unsigned long xloops_to_cycles(unsigned long xloops) +{ + return (xloops * loops_per_jiffy * HZ) >> 32; +} + +#define USECS_TO_CYCLES(time_usecs) \ + xloops_to_cycles((time_usecs) * __usecs_to_xloops_mult) + +#define NSECS_TO_CYCLES(time_nsecs) \ + xloops_to_cycles((time_nsecs) * __nsecs_to_xloops_mult) + +u64 notrace __delay_cycles(void); + +#endif /* _ASM_DELAY_CONST_H */ diff --git a/arch/arm64/lib/delay.c b/arch/arm64/lib/delay.c index e278e060e78a..c660a7ea26dd 100644 --- a/arch/arm64/lib/delay.c +++ b/arch/arm64/lib/delay.c @@ -12,17 +12,10 @@ #include #include #include +#include =20 #include =20 -#define USECS_TO_CYCLES(time_usecs) \ - xloops_to_cycles((time_usecs) * 0x10C7UL) - -static inline unsigned long xloops_to_cycles(unsigned long xloops) -{ - return (xloops * loops_per_jiffy * HZ) >> 32; -} - /* * Force the use of CNTVCT_EL0 in order to have the same base as WFxT. * This avoids some annoying issues when CNTVOFF_EL2 is not reset 0 on a @@ -32,7 +25,7 @@ static inline unsigned long xloops_to_cycles(unsigned lon= g xloops) * Note that userspace cannot change the offset behind our back either, * as the vcpu mutex is held as long as KVM_RUN is in progress. */ -static cycles_t notrace __delay_cycles(void) +u64 notrace __delay_cycles(void) { guard(preempt_notrace)(); return __arch_counter_get_cntvct_stable(); @@ -73,12 +66,12 @@ EXPORT_SYMBOL(__const_udelay); =20 void __udelay(unsigned long usecs) { - __const_udelay(usecs * 0x10C7UL); /* 2**32 / 1000000 (rounded up) */ + __const_udelay(usecs * __usecs_to_xloops_mult); } EXPORT_SYMBOL(__udelay); =20 void __ndelay(unsigned long nsecs) { - __const_udelay(nsecs * 0x5UL); /* 2**32 / 1000000000 (rounded up) */ + __const_udelay(nsecs * __nsecs_to_xloops_mult); } EXPORT_SYMBOL(__ndelay); diff --git a/drivers/soc/qcom/rpmh-rsc.c b/drivers/soc/qcom/rpmh-rsc.c index c6f7d5c9c493..ad5ec5c0de0a 100644 --- a/drivers/soc/qcom/rpmh-rsc.c +++ b/drivers/soc/qcom/rpmh-rsc.c @@ -146,10 +146,10 @@ enum { * +---------------------------------------------------+ */ =20 -#define USECS_TO_CYCLES(time_usecs) \ - xloops_to_cycles((time_usecs) * 0x10C7UL) +#define RPMH_USECS_TO_CYCLES(time_usecs) \ + rpmh_xloops_to_cycles((time_usecs) * 0x10C7UL) =20 -static inline unsigned long xloops_to_cycles(u64 xloops) +static inline unsigned long rpmh_xloops_to_cycles(u64 xloops) { return (xloops * loops_per_jiffy * HZ) >> 32; } @@ -819,7 +819,7 @@ void rpmh_rsc_write_next_wakeup(struct rsc_drv *drv) wakeup_us =3D ktime_to_us(wakeup); =20 /* Convert the wakeup to arch timer scale */ - wakeup_cycles =3D USECS_TO_CYCLES(wakeup_us); + wakeup_cycles =3D RPMH_USECS_TO_CYCLES(wakeup_us); wakeup_cycles +=3D arch_timer_read_counter(); =20 exit: --=20 2.43.7 From nobody Sat Jul 25 20:04:11 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 CCB26125AA; Tue, 14 Jul 2026 07:31:29 +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=1784014291; cv=fail; b=QA365WFrRrHfk1StteSabrgSVVWAu9lrWAWcR00lGVKGKi89O48v709Sf0k2tY9R17e/a2tt3pCtCVJjLlejBl3Zi0s8RGqmaHKvo9TYcL/ogbSdZkRwgJ4Fg8/BFr6xMZx2EqEtnFNY5ELT0R5SX8xBhQcUmK1bbXUf/aMWfkU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784014291; c=relaxed/simple; bh=Ku1Humhz2rRlyd6ygJvgwRugtdSxhievK5lV3D3ycNg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=duHVLiRsDXWuS0w8vCNYtrb3S0iJa91QEetQk1pc4HRtRilvvjaqdPhrpogQ7iE3wBbuI1kfEF199KWJf7+djHzsWBcMXvMXE5JS0Gkq+q5hCLAGq8DN/59h3zgG/tGyOzajxxhLpNC8R+mpBPHyMEA0m71zALQ9onr5rq+qm4A= 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=UPXLboOE; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=CPxQhztw; 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="UPXLboOE"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="CPxQhztw" Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66DL2qeN1391898; Tue, 14 Jul 2026 07:31:07 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=ZfrZ2H0ZYkbiiIk3hvcnwPGTWjz48nkw1spPigIOxME=; b= UPXLboOEwylcCAHg8V+p62Yosj3Cf6fjHA7WQQ+kprUvSzsUYZ8enarvBnnGMSXr EEgMH5t19apDjHFaOkrEdpuMlex+al+T8rA+6vl2Rhkra7jHL1xqE+Ts5ZDTMbVi U3mfvVyXA5p6yPMq11hf3ZQsdhX2bgYQVUQWGx1SQPQi5RRhUQ9BDhIgEVW+rHwr XCGbVlWz7XelppCtqyinIW4UqyE/s1HEV/9jpx3cq8+PhkXv1h0MKPnMwjyzAjtX vWwhpqH8UbvxgLBQHKfOSXMyBV5NIRqSgWXksYbEQqGoOjh8dcAWvJDHKLeNOqXz yZ4wxdobSSgP0qm8byNyuA== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4fbepn3pab-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 14 Jul 2026 07:31:06 +0000 (GMT) Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.7/8.18.1.7) with ESMTP id 66E7SbRG007789; Tue, 14 Jul 2026 07:31:05 GMT Received: from bl2pr02cu003.outbound.protection.outlook.com (mail-eastusazon11011040.outbound.protection.outlook.com [52.101.52.40]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4fbc9qur8v-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 14 Jul 2026 07:31:05 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Qiq2ZBMugFzMidY1VymLQTcgyIRB5tOdHKP3GkoBeL92BGAXCJpO/DG+A+tsnDyyn1GVa4j/wOOcn1wFigRU0d9Evfu1izD0btsl76VaNcOId6RdTpWi7C0PenSvgYqQO/2ia8Xf7Ol62zci+IDkQi1go+ZMCGpZ5oY0gKuf1XsgZacrehH5X3tw3/7H5jHFQicQmxPRwnn3xxCm4rLxB82O2GZL3u9kf1K5l2dwrg9uFym1O4JClCMvKQW0CGFrTHy+rHP6HreuWt5KlbC9mJijULXqr6jHUZVQEoXnV29wrxHnk67h7To2MYUS2seomgaOXIhm+5I+IZPlaxjL1w== 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=ZfrZ2H0ZYkbiiIk3hvcnwPGTWjz48nkw1spPigIOxME=; b=ZDRrC1XkhNFc+/KP9DIWMACGtSAboAOy5DnaHHvGl+SEx0sIXX21dkuX5mXaDikv9IJB09M1Y1ft1WmtfRaNuTU36ig51Su8oRCIk3d6r3nSYjAjZZqUbl/Ffg9PsDhWZi+9uXEJwgEQNzmrjLzXBQKGcJnMSU3s9KbQu1+yWrS0QYg44+lcuzEBMyqWSjQTP4Ol2hO36emIwlbpJdn3gnK528cv+fToPgQ7UUu3AsXXHMEkOh6/RhJNUtQRel5IY+XFzOcPEsjlSv3LWTmO+H2rdMP3C2QMzHKwOO7UdUQL2lsIg4TItYKapeTBW8LCMXQ50avNttp9I52zyvJAJA== 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=ZfrZ2H0ZYkbiiIk3hvcnwPGTWjz48nkw1spPigIOxME=; b=CPxQhztwEKviUyYqaAwd6rssU5YMCLm9m13dWCiVBEqCc3+NEUkvTaTmAt2h8UiyUgS1WxGcItW+mlhlqzc0hlYJD/Q8+0+wWMscfDESZueKUZE1QQ24yDDhPsgN5xqAnZNeP6fygm6auCxL7S4ORSDFkMW74iXFzj6Gidg1Z5U= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by CY8PR10MB7124.namprd10.prod.outlook.com (2603:10b6:930:75::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.202.18; Tue, 14 Jul 2026 07:30:58 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574%6]) with mapi id 15.21.0202.018; Tue, 14 Jul 2026 07:30:58 +0000 From: Ankur Arora To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, bpf@vger.kernel.org Cc: arnd@arndb.de, catalin.marinas@arm.com, will@kernel.org, peterz@infradead.org, akpm@linux-foundation.org, mark.rutland@arm.com, harisokn@amazon.com, cl@gentwo.org, ast@kernel.org, rafael@kernel.org, daniel.lezcano@linaro.org, memxor@gmail.com, zhenglifeng1@huawei.com, xueshuai@linux.alibaba.com, rdunlap@infradead.org, david.laight.linux@gmail.com, broonie@kernel.org, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, ashok.bhat@arm.com, Ankur Arora Subject: [PATCH v14 04/15] arm64: support WFET in smp_cond_load_relaxed_timeout() Date: Tue, 14 Jul 2026 00:30:30 -0700 Message-Id: <20260714073041.40250-5-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260714073041.40250-1-ankur.a.arora@oracle.com> References: <20260714073041.40250-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: YT4PR01CA0391.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:108::9) 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_|CY8PR10MB7124:EE_ X-MS-Office365-Filtering-Correlation-Id: 20e201f3-f452-4a5c-7f93-08dee179d8f7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|366016|1800799024|23010399003|6133799003|18002099003|22082099003|56012099006|3023799007; X-Microsoft-Antispam-Message-Info: ljcjzfpk6MoXL1pnYMgfNqJU10tfa1j433UscgPpUnLA4qG8X4y5UZ0c7xX52qtiw7HA3k1bxAK2eHy7Kj6GNO/AHIU4vEwWsa7R+th2WHb+lq+v7yzCd7yw/u/WUzJdlYMQYsQvGSeRtca8XgV8JvVu/liRDMQ/ybxXiUN0RIvRno6RBzCreUgeDqJg6xCtCeTAevrzgxjRCvvv7Pn2nnXGghNE2X9mxrfDF9vdqvypw/jkaVUZy+xdY1R9/s3w9SRyrkB3g0gJcKgqQ+tb+Me9GfULDWF9X71e8utKKDy9ccM+fAliaLbHzlG+FeJ4MskW06aD+modJrFx26VsDjCv1xCauLcyqqrsUb4WSA7Sh6wBu0RfPneusuZ+XHAspCE1z2K/rbneUOoTtvIEQxhRCxS1uAxDt5PKnWb49SRH2CeFv2JQTeSN38cRXBeCBuW8FWFYUAG44wr4w5kgz84ZMOQRHoM3uqteIfEHgRt+yoTSsuL24Iu9lueQuQELa5Abatc62AyIfBXjUl+tVzuhED/GyBP+BAMtd1cbK7HSAnXZ3tyQMsZXye7UhiKlogkTiHIp2t2kwoEgM0Dz2DjDCr7pipI8QWu3E6FvrNMyt0005ymDVoVWsG0rUxvZ7KBLe6d04WRERSukgXR6ZNp5EDkA+TiVBqBzCiHOt4o= 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)(7416014)(376014)(366016)(1800799024)(23010399003)(6133799003)(18002099003)(22082099003)(56012099006)(3023799007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?6PLJRvWkNKcKVl75E9M60E/J02NVfeSc2wQAh3h3GO+hdl/euHW6kv+enCYm?= =?us-ascii?Q?I7+KTx3Pi2ehHd0+DKrmFzZMt7ibsKXNeMBDEltZ8iZtfdSOlr9blcVjLHCQ?= =?us-ascii?Q?K0kP5a9l9FMpbU/VV92NFdnUtjtNGW1Ew0AN9/e94k6g/OOWnOunzfsB+7OM?= =?us-ascii?Q?3K3baS+UUkNXXHWV1jtt6vO6tAkrVrBfe8JyI6UfDpAO9VYtPJhNoMiViZFk?= =?us-ascii?Q?bOTLUHNS1gIoVS0mCfCrWoY4XuaB+7Nz8oJfKiR8f7YfxGHCjk03VX49E31y?= =?us-ascii?Q?JCD6On1WpX7YiazESqt2DxqR6du3X8dOcwaP+47SQm7I3nLT1Erlp4C06+Jj?= =?us-ascii?Q?iKbAso6iUfNX5ycOuBLulTcN706+cHQzz35SnMYKlnizkH1PZQVUs/edLANt?= =?us-ascii?Q?IN17Bg5Gj2P99SojhAqdQQ0t/jm8RPVkN6y0KMfcI/S10SVqYhK4wAt1tyyV?= =?us-ascii?Q?92Q2uURPsqzKUDOZmLKjs5s5MhH6QI4PAZbUvTqcwEdcdukWLKdso6vQ1SCK?= =?us-ascii?Q?Cy/7QEqI2g4GTcalvx61Q72JL5IOODdLJAqlaXXXbu8CJNYzL3/6Nn2kfB3k?= =?us-ascii?Q?kWzKIci8DdMSlEFCbsZiKfABTQxaBytfT0IXKqSPpw6wl54Scu+9x3bzgV12?= =?us-ascii?Q?fn3Ji/dMCgIZyuwyGCTKzfFjKsTbGRPqCDqWGH5qAVybk/mzkALpdE68mtbk?= =?us-ascii?Q?mJXmDgRukZ41+O6l+8lCQYQCTPQ+bV0Tpr7xJ2CHoRyr1rfxPFyJkpVBl/tf?= =?us-ascii?Q?AmhGSRgIlZGlGuU0SO+jrfg/q4VwUhA07rZzJWll0rmC/uYO5ITF4hvFG3rt?= =?us-ascii?Q?xyPlvR/QDLvjCOmXBj3dOSQYq9ClnNHAnYlZwEkJtLHuI0V3+FlN5jEMtWbe?= =?us-ascii?Q?NZgTYeQzOFc52xiD5sNcqNBPdJZwmXFrDjn74IdzPCDzB23/6hCUEZVCjR5D?= =?us-ascii?Q?5YkQzdUCGQxcFxMLhbGuIZucTsyMfwc1G8TJ1ZxKsAZ1t5eNDQjF8tgNTIpt?= =?us-ascii?Q?VILOC1M8yVZVsmjwAOpMCGGUmU6UJjIc3TzGHUWTd97hdDIJ9eXhRsYNO8wK?= =?us-ascii?Q?hEdN4W6tAwiItzfzDTt/BnLAUW+XzPULu59l3p9Q//FcqCaJ9QajAG0B8bp8?= =?us-ascii?Q?aRFw/pt24gpdq7MAFcpwe6jwUSik1ncxw/PhinCMcnhcE6F7ndTkHFm+bK83?= =?us-ascii?Q?Jm4vvpjsUVyL9ClHew5qGaI7gqYsTj+PAix22LFFZ2FzOMe/+xEcKTPD4Qer?= =?us-ascii?Q?mLlBteuHz8S73L9wEEwRgt1gzeenJ0SJcyZbXpphLENuZbMJsvH/hDNcngPa?= =?us-ascii?Q?bAgC6K3qkiNDt+IlWBOJNbZiVdEwdrqYDn2qFmDMVU5BUZL00xQcxM34tgU7?= =?us-ascii?Q?R9fYdsLgSM6aayZooW6TsQzMoQryB+ll4AMGdVocFNTnU/oz1Xt8XwZzaqnd?= =?us-ascii?Q?ePAKjIKImtE68Wk7SyZ7uNys7GoAmoJgr2+CzL19NaP/ujDlhxOF56MwhpjB?= =?us-ascii?Q?joStEMfEEDU6N/JzKWyNAUKktnjTxJsvVVcjAJY3i16AmUd5x6S+YRCNy7Nv?= =?us-ascii?Q?QEtTyxf3gFC/w5rBa6dlK6E2WHifPv44Xv2h5zn59JnWAJWs8CHCzj8jTuWk?= =?us-ascii?Q?wYNgqdxCgc9cNIL8Nu1DsBzvqixeiKOdeh8qdDryhe/bV2a5W9w/JdVVMRiD?= =?us-ascii?Q?fegC/YA6BI5q6lDZiq8D+5+ZrRZdqKMPfgMaKf5IJg2UcRCjzvibNiXt52ZW?= =?us-ascii?Q?5m6qwaV1lvr9grb3imUVklnHzV3bMHM=3D?= X-Exchange-RoutingPolicyChecked: LOiU15XUtic2NiOG7QtMFD35YlTpFQ5mpxxT2KvsK8XS2g3uCHEdToeVomY5Ll1HGRSeUm2E0+jvSBVvNxx6AR4V5YaByNFdhaG3Wk/iPYdUDlrMsvl1+ZygF+PV40fdo+UsNsNfgbij8EGatle6zUl1ltL8vL8/IJUtaN8rNjJKfgwT1e4kZ7+YtWNUFhFmBseqURtvBlMA+aa7WVbv6i2jdU8IDk/LPVtyN2qNRVWAWhmWUFOH1aaMmLlyZdoe+4gOzIt+gFW8lEvCGYGep5YEUB0QSjDGg+zl7y8psBYhZ9MzF8Xnk8OXww1ctSJimPWl0z+Hs2ehJupt4ZtyFA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: bs2ghpGVNW0zMmPxgBORF85BFRt0X9lx6/u2ygDDG5BBUCweMDyHBkdTQxrweEXr1EF/Kgeja5E1/o5w1P8qvQtsJkmuf0KEwxYgac+6Ysk9d0b537MvPIpXkm0ast5PN1+/nJlq0mHYeafXJuM1qqtRLDLivSCIu2/o18y8/Si6drX20BUs3kh3KbjwIAwG6Ue8aobFknM0r6v/DiReE7TcnbnOwHycgUkkai6prruvd48fYsPhuNB2kgzJCGDz/12XS1uUYMFveRbfnOxmb5mWXYqDkwcJgVxJ6fZPSjyvPaR2dMcX3nIu6kgrgk5CYKPJtJGITHqYe2DqBfORSIy4qGDNbxXPeWUDfDOgupnVimtXgMeEYnN4hVxiq9IvHXaEvbarmIJ1j9I8aEXkRIy24YW6wZfEOOYj6niWYRKNCPrG++THkPyxRkww0oH1gvREdDvGZrI9vrnlxTLnS1W3Z6vzBD5cFulHlMMnoI56T9RsjNNGOcvPbm8GDvOW1+mhBEeIx0006FPy/ltHFJfY9cGKbREQ9uHQk807JKEfpNIqKaNAXstgLT62vbXXAtA4KX5bzMqtsp/UKhgab92snl/UkrC9QLq9EE9Hd9g= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 20e201f3-f452-4a5c-7f93-08dee179d8f7 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2026 07:30:58.1731 (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: 4gWgf2QWUTlS3tov0bk2xSeQhy0FiGo9LYK3ym0pZeEp7/PDxtCf3Nfz8f799jVTNArafiC9wPAgJqfHyqHjlqxmXvF1eoLKbBgaJh3I0gs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB7124 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-14_02,2026-07-10_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 mlxlogscore=999 lowpriorityscore=0 malwarescore=0 phishscore=0 adultscore=0 spamscore=0 mlxscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2606160000 definitions=main-2607140076 X-Proofpoint-GUID: 4A3sO6K7YiOHEp68MKyBeyGDQZ3NxJ_r X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE0MDA3NiBTYWx0ZWRfX5LhZly1CcKvG ezVWo+ZD4Ed6dxQu5reIHmQH+yY49CcAMW/ZpMorRjqqz7f3VsKwZODVviDrJ7Bb4AMDurxHakA ENVHa1/Aqdqme/+jlVxX1unuHqmNGZNZDfWIMEyGqeUSpGIf+uh2Ob1diQtuKTdygN3jTm4hhik zCYIlKLMXi0fne/+mqt8TRU6c8pkiwSHT3lke/7184yRgX30k+mRN1LsLEvk+Vs6Cqb1gohEMsR ttM/DUA0KHL1YwLbq+4b0yBfVntLXJvn+xYPXly3SXReSgn7cbXu8ykcK9YhQdbcjBsQn9MZ/GT fx6+MzMyU4QcROnOMuW9geL7lrPCnGbCWQb7LcHwI6FuGdsQyZ+jLzRV4r0kJxdOLqoNsiqoZ9A BxhWyzxmXxqbyQ1nroZVrNGYDo0ssEVBkCmjFkWR7jOoCLeEk/3HTh0/6QqEb7I12hHGfSMmtKv dSstjw2bgVpccqPRO7N6D5pfyvYTJP9LkncAQMx8= X-Authority-Analysis: v=2.4 cv=bJom5v+Z c=1 sm=1 tr=0 ts=6a55e5ba b=1 cx=c_pps a=e1sVV491RgrpLwSTMOnk8w==:117 a=e1sVV491RgrpLwSTMOnk8w==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=RAioF0-LDSMA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22 a=x0eKOSpe3m1H3M0S9YoZ:22 a=7CQSdrXTAAAA:8 a=VwQbUJbxAAAA:8 a=JfrnYn6hAAAA:8 a=yPCof4ZbAAAA:8 a=Or_-VBqfnECsjC7ky4sA:9 a=0bXxn9q0MV6snEgNplNhOjQmxlI=:19 a=a-qgeE7W1pNrGK8U0ZQC:22 a=1CNFftbPRP8L7MoqJWF3:22 a=5yU3S35YU4bGjq-dph-N:22 a=Bho9c0fBagfJEIQBS7DQ:22 cc=ntf awl=host:13633 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE0MDA3NiBTYWx0ZWRfX232p7iGOa1a4 gjGetnNzdo/bqnkW1Dr1G7cQ3yPJsHZ48MyRFeEygsPr1b/K8fyekW4+XdfM7sT29Sg38C8lGC/ a4m5/e4KgfQwstzLN1ZMyvPAdPqCLokdRXB1BQGXU860tLzZz8Rs X-Proofpoint-ORIG-GUID: 4A3sO6K7YiOHEp68MKyBeyGDQZ3NxJ_r Content-Type: text/plain; charset="utf-8" To handle WFET use __cmpwait_timeout() similarly to __cmpwait(). These call out to the respective __cmpwait_case_timeout_##sz(), __cmpwait_case_##sz() functions. Cc: Arnd Bergmann Cc: Catalin Marinas Cc: Will Deacon Cc: linux-arm-kernel@lists.infradead.org Reviewed-by: Catalin Marinas Signed-off-by: Ankur Arora --- arch/arm64/include/asm/barrier.h | 8 +++-- arch/arm64/include/asm/cmpxchg.h | 62 +++++++++++++++++++++++++------- 2 files changed, 55 insertions(+), 15 deletions(-) diff --git a/arch/arm64/include/asm/barrier.h b/arch/arm64/include/asm/barr= ier.h index 6190e178db51..fbd71cd4ef4e 100644 --- a/arch/arm64/include/asm/barrier.h +++ b/arch/arm64/include/asm/barrier.h @@ -224,8 +224,8 @@ do { \ extern bool arch_timer_evtstrm_available(void); =20 /* - * In the common case, cpu_poll_relax() sits waiting in __cmpwait_relaxed() - * for the ptr value to change. + * In the common case, cpu_poll_relax() sits waiting in __cmpwait_relaxed(= )/ + * __cmpwait_relaxed_timeout() for the ptr value to change. * * Since this period is reasonably long, choose SMP_TIMEOUT_POLL_COUNT * to be 1, so smp_cond_load_{relaxed,acquire}_timeout() does a @@ -234,7 +234,9 @@ extern bool arch_timer_evtstrm_available(void); #define SMP_TIMEOUT_POLL_COUNT 1 =20 #define cpu_poll_relax(ptr, val, timeout_ns) do { \ - if (arch_timer_evtstrm_available()) \ + if (alternative_has_cap_unlikely(ARM64_HAS_WFXT)) \ + __cmpwait_relaxed_timeout(ptr, val, timeout_ns); \ + else if (arch_timer_evtstrm_available()) \ __cmpwait_relaxed(ptr, val); \ else \ cpu_relax(); \ diff --git a/arch/arm64/include/asm/cmpxchg.h b/arch/arm64/include/asm/cmpx= chg.h index 6cf3cd6873f5..9e4cdc9e41d1 100644 --- a/arch/arm64/include/asm/cmpxchg.h +++ b/arch/arm64/include/asm/cmpxchg.h @@ -12,6 +12,7 @@ =20 #include #include +#include =20 /* * We need separate acquire parameters for ll/sc and lse, since the full @@ -212,7 +213,8 @@ __CMPXCHG_GEN(_mb) =20 #define __CMPWAIT_CASE(w, sfx, sz) \ static inline void __cmpwait_case_##sz(volatile void *ptr, \ - unsigned long val) \ + unsigned long val, \ + u64 __maybe_unused timeout_ns) \ { \ unsigned long tmp; \ \ @@ -235,20 +237,52 @@ __CMPWAIT_CASE( , , 64); =20 #undef __CMPWAIT_CASE =20 -#define __CMPWAIT_GEN(sfx) \ -static __always_inline void __cmpwait##sfx(volatile void *ptr, \ - unsigned long val, \ - int size) \ +#define __CMPWAIT_TIMEOUT_CASE(w, sfx, sz) \ +static inline void __cmpwait_case_timeout_##sz(volatile void *ptr, \ + unsigned long val, \ + u64 timeout_ns) \ +{ \ + unsigned long tmp; \ + u64 ecycles =3D __delay_cycles() + \ + NSECS_TO_CYCLES(timeout_ns); \ + asm volatile( \ + " sevl\n" \ + " wfe\n" \ + " ldxr" #sfx "\t%" #w "[tmp], %[v]\n" \ + " eor %" #w "[tmp], %" #w "[tmp], %" #w "[val]\n" \ + " cbnz %" #w "[tmp], 2f\n" \ + " msr s0_3_c1_c0_0, %[ecycles]\n" \ + "2:" \ + : [tmp] "=3D&r" (tmp), [v] "+Q" (*(u##sz *)ptr) \ + : [val] "r" (val), [ecycles] "r" (ecycles)); \ +} + +__CMPWAIT_TIMEOUT_CASE(w, b, 8); +__CMPWAIT_TIMEOUT_CASE(w, h, 16); +__CMPWAIT_TIMEOUT_CASE(w, , 32); +__CMPWAIT_TIMEOUT_CASE( , , 64); + +#undef __CMPWAIT_TIMEOUT_CASE + +#define __CMPWAIT_GEN(timeout, sfx) \ +static __always_inline void __cmpwait##timeout##sfx(volatile void *ptr, \ + unsigned long val, \ + u64 timeout_ns, \ + int size) \ { \ switch (size) { \ case 1: \ - return __cmpwait_case##sfx##_8(ptr, (u8)val); \ + return __cmpwait_case##timeout##sfx##_8(ptr, (u8)val, \ + timeout_ns); \ case 2: \ - return __cmpwait_case##sfx##_16(ptr, (u16)val); \ + return __cmpwait_case##timeout##sfx##_16(ptr, (u16)val, \ + timeout_ns); \ case 4: \ - return __cmpwait_case##sfx##_32(ptr, val); \ + return __cmpwait_case##timeout##sfx##_32(ptr, val, \ + timeout_ns); \ case 8: \ - return __cmpwait_case##sfx##_64(ptr, val); \ + return __cmpwait_case##timeout##sfx##_64(ptr, val, \ + timeout_ns); \ default: \ BUILD_BUG(); \ } \ @@ -256,11 +290,15 @@ static __always_inline void __cmpwait##sfx(volatile v= oid *ptr, \ unreachable(); \ } =20 -__CMPWAIT_GEN() +__CMPWAIT_GEN( , ) +__CMPWAIT_GEN(_timeout, ) =20 #undef __CMPWAIT_GEN =20 -#define __cmpwait_relaxed(ptr, val) \ - __cmpwait((ptr), (unsigned long)(val), sizeof(*(ptr))) +#define __cmpwait_relaxed_timeout(ptr, val, timeout_ns) \ + __cmpwait_timeout((ptr), (unsigned long)(val), timeout_ns, sizeof(*(ptr))) + +#define __cmpwait_relaxed(ptr, val) \ + __cmpwait((ptr), (unsigned long)(val), 0, sizeof(*(ptr))) =20 #endif /* __ASM_CMPXCHG_H */ --=20 2.43.7 From nobody Sat Jul 25 20:04:11 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 9ACA13EEAD2; Tue, 14 Jul 2026 07:31:33 +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=1784014295; cv=fail; b=eNcdj0TpLHQ6wR19EWjMwS/PC2WtSmtsnKOLX/myTxGW4OL1RXdRYmcDYr8lVLfd4aWYQZujxNydQySHnBdWGtHTMfNaFQpmO1DIhHXNP9JlNTBvcHyPZ8cGjcpXmTGQ8nWGwwnMBVJYvY+r+z9jrrWEtfQKT6/Pad5fXEbr5dc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784014295; c=relaxed/simple; bh=yw6zIiZnrZULSOqxioCTns/sFf/1ZCpWDOh9BSaA/CI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=Y+Q+xqA9lHWomTGPegjUdY9j7kRBF+YUNXBeID/qL/NBhdbqrUf2wba3V2gevzNLYFI+5je1cGatiGXB0bjHhwpyFRgGFyMUmOG4YXZkJgnMwA15RcJ8frqcj1vbEXbp6Y7MAGhViUeNEeRaDGLkswU1QCuTL94i4kMIL9fsDE0= 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=Bzr+NKeM; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=iXoE2ZX1; 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="Bzr+NKeM"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="iXoE2ZX1" Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66DL4eUY1376588; Tue, 14 Jul 2026 07:31:08 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=6+mT8x38yrV66x073641HB2W6EifwrcZYnsp3oa/7t8=; b= Bzr+NKeMd6Z/IFyK+NDu/i5JphAKCOJcwta1DO4n0Kn5HjGpPAi6AMOryIzxaV3F xrQlozuuXhQWhaRd0Ezm8F+E4t0sjQsSJtIa0xFDm0yNeNeDXIvLstM70Ein7JXW nqEAnVgBQ8E/CytTo4ohX+JMgON1UOb3CDBmVRzy2YifE73MJ/5jRUQYqy51/po4 wW1tZs/IZ1iOO7mFxzDrCt8+He6P4XAd5rkGouXYiDySDWJG18huG0lcmYzjJ0uv nUAWCEnmyWoTkK6NVom7Cq4aQFxp95Uf3+XFA5GeGi48Yeklvt/LwyU7Pb/UuL8v KTRXzc6I342quP+Nsb7ZgQ== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4fbed2bnhw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 14 Jul 2026 07:31:07 +0000 (GMT) Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.7/8.18.1.7) with ESMTP id 66E7SbRH007789; Tue, 14 Jul 2026 07:31:06 GMT Received: from bl2pr02cu003.outbound.protection.outlook.com (mail-eastusazon11011040.outbound.protection.outlook.com [52.101.52.40]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4fbc9qur8v-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 14 Jul 2026 07:31:06 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=SvFdDOw3F1YyYmaD+xcivbHEKZVRCaacbJE0Qp435wsRMn964Hcwbkq8g+TbNfrT4tzJJ/YQCVpw8yaA66xxjA3xiY3RKboDEmd8rm1sXcsbLHdGovDY2+7oXsrkD0GmoYrpkEzSPnWctzvMWMSdHeY0hhWLqvlZ+MAETvXVt7cjjZGklVcPdTNwB+bpvkbfV9Yma/QCYmEsioJ0aDnIiu5QYCPMMVimDxbg75MkB2G+MuHnQ84A55j2e+yZ6fSV5CHsdiptl+8dHwhaIOsvW5gMpDikqlvyoCwcXjY4VQSU1tfPBQ4Vonmu8adyLGuUG4+yYELVYDzNK79LvtACXQ== 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=6+mT8x38yrV66x073641HB2W6EifwrcZYnsp3oa/7t8=; b=PBdmJH7moOcPX/eA2rhXAz4UMbuvS5hKJgJ0lZbp/eQm2NoW1wIolHFgd4ijQ/yKvBdqO1tqJYMpqYqe8ws/WkiBU4SVQaoMdnGxWlWN3diNBXEj+h1QdMKSfUb8pqmCD9TT2n7gQBgAwrgVYA65BOsYfDu7gGTrs3e3b9clNnIUBRTJ3XCsFs8TnOnmajdxcbLkPpohDXManOrJJqZYKmAdh3VvM6+rsJINuP7Gr444A8ZS/Zz5t6Z5n59ysFqertpbPzt4svAEQr+GhSDQUUloMe2LwJbLBAFJ89N5x92vH5/ZixIKzHIKGGga+gBbEwuaSC2igRjrgEkJBqivsQ== 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=6+mT8x38yrV66x073641HB2W6EifwrcZYnsp3oa/7t8=; b=iXoE2ZX1u3vUO4oOcaHdjvTKn0aEFFLaW4TnbMuzCzKJKgzIQBYKcJteQnybyEzvWNWszt6u1Oa6DwVx5Tnd/kRP1C0PVwr4cnfczDRF5qS7S382sMo+0opvOia2y0YzhF1+j583rGBoE6zrnnZhFg+pZo5QJ3fwE/8FcAm9L04= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by CY8PR10MB7124.namprd10.prod.outlook.com (2603:10b6:930:75::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.202.18; Tue, 14 Jul 2026 07:31:01 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574%6]) with mapi id 15.21.0202.018; Tue, 14 Jul 2026 07:31:00 +0000 From: Ankur Arora To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, bpf@vger.kernel.org Cc: arnd@arndb.de, catalin.marinas@arm.com, will@kernel.org, peterz@infradead.org, akpm@linux-foundation.org, mark.rutland@arm.com, harisokn@amazon.com, cl@gentwo.org, ast@kernel.org, rafael@kernel.org, daniel.lezcano@linaro.org, memxor@gmail.com, zhenglifeng1@huawei.com, xueshuai@linux.alibaba.com, rdunlap@infradead.org, david.laight.linux@gmail.com, broonie@kernel.org, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, ashok.bhat@arm.com, Ankur Arora Subject: [PATCH v14 05/15] arm64: rqspinlock: Remove private copy of smp_cond_load_acquire_timewait() Date: Tue, 14 Jul 2026 00:30:31 -0700 Message-Id: <20260714073041.40250-6-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260714073041.40250-1-ankur.a.arora@oracle.com> References: <20260714073041.40250-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: YT4PR01CA0395.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:108::27) To CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR10MB5409:EE_|CY8PR10MB7124:EE_ X-MS-Office365-Filtering-Correlation-Id: 6aed35ce-0bcc-4db0-1061-08dee179da76 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|366016|1800799024|23010399003|18002099003|22082099003|56012099006; X-Microsoft-Antispam-Message-Info: T865dE9z8aDImfEveUbJJ9FXUzWqttV3+qcq3Uc99WsXb7XamQ/WwJbyES+hZThnPtgtfiaN6qKep6DvufrKjAIdFNqsTZhA1h2CW2+T0W/XVU/tcFAIAlNbxjPiWUlOePjpmmv1LOfzIavppknV8GnFR/58t46TmH73aemOio0SlnpVc5ddD9qHL7bojcCjiT+qqhAHUXTVzQ8aUR2MDWL9AFslg51VvoU7xXMq9A3z5dDVzVVOE1xhakG1lwFX8ahmFqB7vhjbrtRq2iqMbTaK8DyGzlmFLAHaiYPzUVkYdc3A2QTN32GMIUkKf8o0RlzBctFr4utS+O9YNI2yptdRNOJz7hoEQXBUnNeqKaA41nFUzX569+c8TQ+VF60Md9zNan65u63xfmIGRA7RYRBIsJ+6sgEVXf5DiNWwkbw1G3wFS0r7sMrb3+XcvXgiAxEHVV+Nja4d9EIdna3/uV4805Dbt/+NpJXlbdUxzQM1JFRi4PsU7SGnvATFmIhHFiEkV33JYm589RTdi1/QPY5NbpZlhy3E882pxE7bH4zufTApgQmHrVqZ1dHefAKVF/pB/xIo+MrmbFwRPnYdNCqZJiNcgpKeotUPgzLuatGg4OQH18lx15TVhdStfyL0effx3bHAtq3r0S5fIBt6YprRdsQQ04D/pp9dfc8QZBg= 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)(7416014)(376014)(366016)(1800799024)(23010399003)(18002099003)(22082099003)(56012099006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?DVMtEaGrfr55BEQEv5QyNghjZYr1+vpfQV2C8ywsHaeg1VfliivazA3fP+5b?= =?us-ascii?Q?KnFjAcZvmU93hjzl4lLGCDKyBJWcwsx8Eh+h3kzb8b6fxfZ01ONaVUrUEJVN?= =?us-ascii?Q?F3Cuw+SbvQN3wzK1DxsTFXB4bBMIWReqAjtpqTY97bYhwRmWm1h0MHnmWcuV?= =?us-ascii?Q?XQ5q1gIhCGPGOwKNv54NfXe9+JZTwdLlW9/pevlEHHcRkf+lVK7n6be1mhL+?= =?us-ascii?Q?Pq+aF+xi7uBcvJ5QvJajutJ69rbP+g07dk8cG140wRCiZZLi/S5s9WUIcD0u?= =?us-ascii?Q?iyDBtYvRpw+6t9GUeGavtIWDAl7pihurG5g/kTCBNan/IC8aEZhQpAYSBdY+?= =?us-ascii?Q?TFSNRzPkGHNGm4qkz75QtnzsDvRSdEolwm02WdxFV6t0AP9UdL25TMwh3UQv?= =?us-ascii?Q?YLcRRHm52BC0ybAHXLXLfIz9DvUWA9tZjsGyBp0pC7Ox3AYU1aNX0y2zoYXs?= =?us-ascii?Q?YT5yWhpaRAW9n33b3ybXzzX5JscbDACag+bIJJe6ZZJevHkRuHAEDJz6GkF4?= =?us-ascii?Q?leVp3z6HIuC2Jfq6v6blsCu6r88Ne5ZBKJEoroKpWZd6hOjz1/wR5COBk+H7?= =?us-ascii?Q?vmJRY3gHcXPv4DuXyM9xxtYbwQ5ga7JY3WDWfczrva0ky7kE63wdPQ3qPGjx?= =?us-ascii?Q?xzqbnjq71/NosFpSLQvf7I91+V3COozLHR3fQU3p+dacnWBxch73n95PSHf9?= =?us-ascii?Q?6dSUcWlWSlOF1uQ5Aohuu6lz0PyfELXV5g05hQ3aZeIpPKiNl1EqkakcK2mj?= =?us-ascii?Q?bCzvC8zXUSHPEtjB+gcU1/c4IBj4AbHXKbf9fWEtjZPKjvcw9rvXGNOn/R8P?= =?us-ascii?Q?ftkblXruFCXPyU7YRQ1V+6je64FKD2qJSI8ExqVSjHZn3HQrDSfGOycJ9nDQ?= =?us-ascii?Q?yUUEs4xbeg2KCMt/FS+5a39Cq42+xZqB6BHU4BVDLoNlayYqE16asdSEh3uY?= =?us-ascii?Q?ZjZ04FB6t1VzKmTGI0Qc/bVOgQ7748++v8y6aOJa4mQQ7G/i/lxm6EUjr9AR?= =?us-ascii?Q?++TMAw73DsgYqlagH8ycJdI+bK3ObwasS9JcFeS4D3vPEfYM7ULUh5WIHCiG?= =?us-ascii?Q?a0jR5dX9ALt95KreDBAYqPyTEHMjQweVHPGs2/hgE+fMAiGxowA1g6BMubUT?= =?us-ascii?Q?xrcM5ka8fnrEwikem8y2i8PBlxRWEb6YFy+DxuIUTf7gg3SJZpOq5KjDOneg?= =?us-ascii?Q?X87efa7y6d+bATMg4QVVXFnWtKdM39GlD9uXX73aVspWo84pgJUsOo9I0q9B?= =?us-ascii?Q?LwR4lxclPAayYgwbnLZVGusEb3PQXyMpYbl/+9llfPlIY4cgZr+v1fq92aly?= =?us-ascii?Q?HFhJUcGD9YjriQ+MV1fNO43gNUJIsvKP/h3exGtiz+5Ynq6UgPJE23Ph06wF?= =?us-ascii?Q?klNaOnCkW5Rx2PL2XbWrTJ+hF1lV2bKSEYahfjENe4VfsT+D974tEiVfQK6E?= =?us-ascii?Q?fyoHr2JhEPwSV2SrUKqPN8Axe5sS8Peull1mTjEIeHKr63kEmjUaI2H0c1d4?= =?us-ascii?Q?lWEMOivL3SJSGkqgydMmDWHSDpw05P6rBc4ZPIlct7FFKmvfsGCcmIYtYHfa?= =?us-ascii?Q?+wwzqf+Lrz18bTt88IKKDJ/E71gfsAfmBfWo4TckIjRo1mEZXPCg1xxw6iIZ?= =?us-ascii?Q?nXrM0fz3cq6o9h/oJTyMigwz6RXgFJTAe/67eK9e0kwZ5FqhfXya/7G8fjDz?= =?us-ascii?Q?SeQz/AUZDiG0/gcIzYtQXSNDXYnIv/y3QcKPk5HKjN/ENJ/dqFk4NNEHf3r/?= =?us-ascii?Q?qew20A1bFC9852YFMFQUgMF27RtC3qk=3D?= X-Exchange-RoutingPolicyChecked: BmiCxl8BZZPgyiq+6OEdiRXsK1E4G+rAbdxajFtybewL7klMlfZZYUMFfdSdDhwEwMBMr0W2DNFW/DqhfR+hHnWSK7vQST5oXV9Zk+9g/R4x82tU5CW2xDZXJda62cldc8qyRSGV5xOSTKS/sNIu8ux9fyqfcEZPXjJYAFWLvbsTbXci/KKO62ruWHqaMJf39s2Z8Z9q1g4nfeV8EffIWSvl0njSMVqyGxnust9bnow1QDsftBaXem6Fn6tiDYBOU6PktHjoGH2aMJ83FG/+V5/AC7uUpyiKEfqMUVpHD8foO8Eec1H/WGmyKrsqyj/Vzx2pEvasC3NwFnoRtDTpag== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 0myVrpoJTZ3hSmQhr/sbv5Q+EwG7LptVhOnCiJhtfRppgPudgzJxCQf13oZX5n2ilPa4qtMDM0ytSZgqLzm2MIHnsGufQm96aFg517Ri7v8kvoG+jmQxPvg0YWA4jB4/Ae8GElCzfWI90PTsshe9wY3hf9KX7GUnCNXHOStIqMMbmp/7MaTAeu4ZIbdK5oKBhjpTyn6AMog0xdyFeVs7rl5N3xNavSufKJ4IKz8G0/R1lHByugwEh21/7bQ3lsegWoEpoTn15d3u7wYA4wdI4dc5lD9WampYNGnh/14bwcU4ThrbH6UvrOcrqab8Jn8ATPbjNcWERv12c7/rGJrsn8n777LhubxwkHCpgHWlXeU8b3IoMagM5n3zHRXiAzTOok0pycEJAUlYmkeI/nmTzYzZ6WgLV62A2Nfc+Vj641h0H9YknnzyOH/N6CG6T0kjJcn4r/HHjCbJQqJcjpIE3UNaQyM9f//QW+aNRhAyfjtXJ1bLNZ3Q5xDRL6wiC9FJaAQLEA4XHTxcP2lyJZ6JXNv4QShDPy/3Eqk5r2rGo7NGVW246KHFW18dyg/fqASqbTb8fxs8EEknYKXDfOIZtjoA4Qvx7YUxgCAc8xaWr1Q= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6aed35ce-0bcc-4db0-1061-08dee179da76 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2026 07:31:00.7187 (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: 9wMqKz/eaJ0G9R/g6/448iHMc4JmGlQhoeHeFReAV/gvjyxIu+V4rikrXc2Nrc0zB0P9gRtxstrSOV/kiRMSa9dgGD6LSI8u/ZGhC9freEk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB7124 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-14_02,2026-07-10_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 mlxlogscore=999 lowpriorityscore=0 malwarescore=0 phishscore=0 adultscore=0 spamscore=0 mlxscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2606160000 definitions=main-2607140076 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE0MDA3NiBTYWx0ZWRfX4YWxMoK/vtfZ Tz7MfqEZraR4yDkJyEQqtvcV+qjcx1GqjcAikIP+zwHhEB1VBmMvxq8vPWMz8neXawlLh4/xMP9 SxRwPpEYApMi147bWNrx1KXxzGGKBH+n4PHzikkz/SwEWnnbpJjZQEQetN/d1CrRcpJ7lrIx080 vS8Ui+fb64qePTCmu1nc/X//6n3aZE0meiWer0kz/tW6fqu2VJJT4+qslu6yi3HgrHJTM6IPLIZ /BW3Ch56OwSIFh192G8p2K8vgUbmslYqHuP1mQu3Nz/otW/w2ewzOfAsIDStJYTEZc+22m0d2a1 Xd+woGNiIc6ST5YgpRpPGmjzW23RVgOpIMicZPNsjHQ1Kj7wweXisXqFswmDiF1n3jytbPjqjJp O1uTpsF/I2hmGQVn1+EdDanKvWktkqu8v2C2E6D+mfq2eDp0yUl7ynJj4SjXlYIX4KbYspsyYCB 3sThkVoVMjbhbRSdp/BQl3EEybzHAgM85RZ1OtF0= X-Authority-Analysis: v=2.4 cv=GcknWwXL c=1 sm=1 tr=0 ts=6a55e5bb b=1 cx=c_pps a=e1sVV491RgrpLwSTMOnk8w==:117 a=e1sVV491RgrpLwSTMOnk8w==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=RAioF0-LDSMA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22 a=7Gl3-_t3PgB9XO-mQDs3:22 a=VwQbUJbxAAAA:8 a=yPCof4ZbAAAA:8 a=pGLkceISAAAA:8 a=7CQSdrXTAAAA:8 a=vggBfdFIAAAA:8 a=PuvxfXWCAAAA:8 a=pMBjG9WjWPNDpSeUJj0A:9 a=a-qgeE7W1pNrGK8U0ZQC:22 a=uAr15Ul7AJ1q7o2wzYQp:22 a=5yU3S35YU4bGjq-dph-N:22 a=Bho9c0fBagfJEIQBS7DQ:22 cc=ntf awl=host:13633 X-Proofpoint-GUID: z8UP5hlzxT3ftBIRq3ANGxhFMrlQJi0j X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE0MDA3NiBTYWx0ZWRfX4rTAvg9XGUqE HWyYh3fqly6L5jWbUrn/xzrH0y2LjZ7cdu2i7T+tjnRxJbsLnyQP6wdhY6TyIcHiEdCcriZ4QNQ aGXmRDUZelP18w9NDk3r6qUC1PV8TIOK3l6I2zzCxvfxX3KXwAgR X-Proofpoint-ORIG-GUID: z8UP5hlzxT3ftBIRq3ANGxhFMrlQJi0j Content-Type: text/plain; charset="utf-8" In preparation for defining smp_cond_load_acquire_timeout(), remove the private copy. Lacking this, the rqspinlock code falls back to using smp_cond_load_acquire(). Cc: Kumar Kartikeya Dwivedi Cc: Alexei Starovoitov Cc: bpf@vger.kernel.org Reviewed-by: Catalin Marinas Reviewed-by: Haris Okanovic Acked-by: Kumar Kartikeya Dwivedi Reviewed-by: Christoph Lameter (Ampere) Tested-by: Haris Okanovic Signed-off-by: Ankur Arora --- arch/arm64/include/asm/rqspinlock.h | 85 ----------------------------- 1 file changed, 85 deletions(-) diff --git a/arch/arm64/include/asm/rqspinlock.h b/arch/arm64/include/asm/r= qspinlock.h index 9ea0a74e5892..a385603436e9 100644 --- a/arch/arm64/include/asm/rqspinlock.h +++ b/arch/arm64/include/asm/rqspinlock.h @@ -3,91 +3,6 @@ #define _ASM_RQSPINLOCK_H =20 #include - -/* - * Hardcode res_smp_cond_load_acquire implementations for arm64 to a custom - * version based on [0]. In rqspinlock code, our conditional expression in= volves - * checking the value _and_ additionally a timeout. However, on arm64, the - * WFE-based implementation may never spin again if no stores occur to the - * locked byte in the lock word. As such, we may be stuck forever if - * event-stream based unblocking is not available on the platform for WFE = spin - * loops (arch_timer_evtstrm_available). - * - * Once support for smp_cond_load_acquire_timewait [0] lands, we can drop = this - * copy-paste. - * - * While we rely on the implementation to amortize the cost of sampling - * cond_expr for us, it will not happen when event stream support is - * unavailable, time_expr check is amortized. This is not the common case,= and - * it would be difficult to fit our logic in the time_expr_ns >=3D time_li= mit_ns - * comparison, hence just let it be. In case of event-stream, the loop is = woken - * up at microsecond granularity. - * - * [0]: https://lore.kernel.org/lkml/20250203214911.898276-1-ankur.a.arora= @oracle.com - */ - -#ifndef smp_cond_load_acquire_timewait - -#define smp_cond_time_check_count 200 - -#define __smp_cond_load_relaxed_spinwait(ptr, cond_expr, time_expr_ns, \ - time_limit_ns) ({ \ - typeof(ptr) __PTR =3D (ptr); \ - __unqual_scalar_typeof(*ptr) VAL; \ - unsigned int __count =3D 0; \ - for (;;) { \ - VAL =3D READ_ONCE(*__PTR); \ - if (cond_expr) \ - break; \ - cpu_relax(); \ - if (__count++ < smp_cond_time_check_count) \ - continue; \ - if ((time_expr_ns) >=3D (time_limit_ns)) \ - break; \ - __count =3D 0; \ - } \ - (typeof(*ptr))VAL; \ -}) - -#define __smp_cond_load_acquire_timewait(ptr, cond_expr, \ - time_expr_ns, time_limit_ns) \ -({ \ - typeof(ptr) __PTR =3D (ptr); \ - __unqual_scalar_typeof(*ptr) VAL; \ - for (;;) { \ - VAL =3D smp_load_acquire(__PTR); \ - if (cond_expr) \ - break; \ - __cmpwait_relaxed(__PTR, VAL); \ - if ((time_expr_ns) >=3D (time_limit_ns)) \ - break; \ - } \ - (typeof(*ptr))VAL; \ -}) - -#define smp_cond_load_acquire_timewait(ptr, cond_expr, \ - time_expr_ns, time_limit_ns) \ -({ \ - __unqual_scalar_typeof(*ptr) _val; \ - int __wfe =3D arch_timer_evtstrm_available(); \ - \ - if (likely(__wfe)) { \ - _val =3D __smp_cond_load_acquire_timewait(ptr, cond_expr, \ - time_expr_ns, \ - time_limit_ns); \ - } else { \ - _val =3D __smp_cond_load_relaxed_spinwait(ptr, cond_expr, \ - time_expr_ns, \ - time_limit_ns); \ - smp_acquire__after_ctrl_dep(); \ - } \ - (typeof(*ptr))_val; \ -}) - -#endif - -#define res_smp_cond_load_acquire(v, c) smp_cond_load_acquire_timewait(v, = c, 0, 1) - #include =20 #endif /* _ASM_RQSPINLOCK_H */ --=20 2.43.7 From nobody Sat Jul 25 20:04:11 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 98CD73EFD26; Tue, 14 Jul 2026 07:32:27 +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=1784014349; cv=fail; b=SvMNxZ6UkPQG5dQiPqNfbFVcT0RnAkl2Ua2xFsSkrAaBB7okGXX0Q2BokBZdJrJbhFQOLdkpo7FX1BdWhYfQaHSBWWtwTmXbS2uVNOOs5NlfuDsGdfypSSi/DJiIHW+zGjbPddtZHJyt2xc7piu2v4JNdIMJ3XJdn6pnkC26huE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784014349; c=relaxed/simple; bh=5BYiOnC1Ixgp/oifypn5D4dbaaoIwC0uZzfZ5kOGTug=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=InaysimBMGCmcAkxceVAoANVmOZIi4RNYguXG7hLV1jDkp7y05whDSjOIF1UzTO+f8iL8hwK2mZFmusr6k5UR2r7FElWRO5BYQdNnNeJQkGoFv2tXsMBeQwhB3RNGqzK9hiBfElyoqMA48L0bckHBSOIIXvkS1gFBg/b1Xv+RIE= 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=eoxd+wBR; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=igyApXfr; 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="eoxd+wBR"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="igyApXfr" Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66DKmj1w1347388; Tue, 14 Jul 2026 07:31:11 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=ep2/C70DUSQ9O9477a40YlBRLiny5SByWbDGRjFJ4UM=; b= eoxd+wBRUkQACF4DaG78WSsnQy2t+A+Y6fve2B3Nbv5pn6KOEEuJAo4tJgKpFdzA drMQ6nWaaEQRkb+jhHzRPnI9A9/WjLWUk54Ourj4duzzD5TBn55pESvv3wB8ko5K MPRv8tRTYseqJewkHbTNxqLGMknwCcwVm5Q4GUdgO2PTG+phRnhtEKj05O7Z4M0o wSSLMfwCKrX70ekj4aaZSR39zjg2jXLg3jMJpAtuCgQSdNXhs5St95AAVX/nepjE yup9lgTa7quwS+w0vSaghOT6QvBVTIwFM/DOq6kSEhUlRBQcMBi69aBZH6LpGopM XHkuGMYwwWQrlnejVwswew== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4fbep33p3k-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 14 Jul 2026 07:31:11 +0000 (GMT) Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.7/8.18.1.7) with ESMTP id 66E7S9da017551; Tue, 14 Jul 2026 07:31:10 GMT Received: from co1pr03cu002.outbound.protection.outlook.com (mail-westus2azon11010063.outbound.protection.outlook.com [52.101.46.63]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4fbc9dcwav-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 14 Jul 2026 07:31:10 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=OUEK9//jWQQ1+J7SPMtqE9ipadQZGv1tNpDF11q2umJ3DMAuDWqvjbx9YhNu7skWdjeTrjeMI5gxZjVjFso5QFwS609LaUJeXYqeVBzGTz5K1wjfAzkCbilCvZVkLijiXLV0IniIovasN+Vq1m4C5WdPiu8r58srtErEVpciOShH3uspStRzQMYkdkexH0B2rF40goaaRDG220sgStPyFKG1yP088MsVmrQi1K67ZG1rTCSA9tobBfXwjgSTzc/45fklExMSmsO9ZRGJqSDkK42fTbLHN1PtNjsb0zd2riWcejWq+y/mGmATWD5du2Eh5j8qXZERapVQ9estMVtkXw== 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=ep2/C70DUSQ9O9477a40YlBRLiny5SByWbDGRjFJ4UM=; b=wI6c+6Y2EGQMbhXx8Xg+YnktdRIvKoJEFa+aQ9q2inXqMOEMTIYKLwIIcMqMGIy6bP7qhimHtXnUJOH8kXujNenVI9ONC58fWnQ91elaW1eJjaL+qMHWcEBgLVQ0mi4YNiMemEBflBYKHBte2RdfITRo/r+XfTG/+xo8aovWGiAqIi9tJPlcxTGFt4nG9JLYqPWc2WzEOieS7II364lwGsXEjUWVxJwI4QRQxdhX6Y3LcYSLJtinIh5p5XpicbQkw7cAxNSjuCpSkD5YY7qa+gclyki+QUwn4V5svbs2nJAu0+Wqs+Z8kWRVq1HGQFWlbbeseMf849lMJ06UeTAnSA== 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=ep2/C70DUSQ9O9477a40YlBRLiny5SByWbDGRjFJ4UM=; b=igyApXfrSm0ObeMZ0I6a25Ezy1WF+F1IP+IPGokYntdj8Fsetp1tupXuvDvVcAu7ruJG3X1+GKVxSLxIeQ/I/4Q1EObmGqrDsAhqEp80twGeHA/C8W3qznJLJDgGOSQOI8CJf+8SfE9bNJGe0jz2PQisb8g7jX70CbjSkfwDfT8= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by CY8PR10MB7124.namprd10.prod.outlook.com (2603:10b6:930:75::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.202.18; Tue, 14 Jul 2026 07:31:06 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574%6]) with mapi id 15.21.0202.018; Tue, 14 Jul 2026 07:31:06 +0000 From: Ankur Arora To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, bpf@vger.kernel.org Cc: arnd@arndb.de, catalin.marinas@arm.com, will@kernel.org, peterz@infradead.org, akpm@linux-foundation.org, mark.rutland@arm.com, harisokn@amazon.com, cl@gentwo.org, ast@kernel.org, rafael@kernel.org, daniel.lezcano@linaro.org, memxor@gmail.com, zhenglifeng1@huawei.com, xueshuai@linux.alibaba.com, rdunlap@infradead.org, david.laight.linux@gmail.com, broonie@kernel.org, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, ashok.bhat@arm.com, Ankur Arora Subject: [PATCH v14 06/15] asm-generic: barrier: Add smp_cond_load_acquire_timeout() Date: Tue, 14 Jul 2026 00:30:32 -0700 Message-Id: <20260714073041.40250-7-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260714073041.40250-1-ankur.a.arora@oracle.com> References: <20260714073041.40250-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: YT4PR01CA0058.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:111::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_|CY8PR10MB7124:EE_ X-MS-Office365-Filtering-Correlation-Id: 7fd3e53e-7448-4275-d93d-08dee179ddd9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|366016|1800799024|23010399003|18002099003|22082099003|56012099006|3023799007; X-Microsoft-Antispam-Message-Info: +7NGVHl6nd2rubTBP89rSt7aEWlUwqhhF7Qk8JowVhSekGPnoqTZsM0NQ1AWIXP8Ekw+cHz6ckCYgbwx0+NcFflJqp9zkZUxP+al/UuXPz2CqeNTNDLPWVjvaqtK0FfiCuHQ/bmwHbI+mLiU2vT6fi2+SSZ9MLw+9fR8/LkbQbSGqfzW0d5rTWLmrm18E7wWb3WK1zO2HUla37D2MYL+0vJvDb+qPTMk1NKnTHxSs9X2pK1Ew2K3a3EF8szwuYm8w4vB+9XoAXlxwxhKsrMW1T+42ot5dv8XvnHHjO3i6joARKQqg8RZTAx4VlcHi72Fd4MG4h6UCr+Q9rWWA45Ew//ZYPEnntwqQgVVJIz3I9dl0UZSyDtW27KLENFnc/XWMo/M9+5ZxE5SnPB0PHKoAYJhzqnCb9fhWk/+5IOEK2IYvA9NjjYXLAGLhydXyPLyr1AN8hsUbQv/Qoqz5rsbK3RZF0QOPg1hT9Gc3ZQwTMnr6dRDIdQZJY6OHBPU0G8Flzr6RwF8fSRzGSWggYKmeft2nG3QVMkrMU9z4gC5hiiPZVABLihg40KmRI6gUN72Sk80RBlCTW1XUaon9hZdpQNfBDwQwep3FkLjwEZELLpN9HS9CBxO/DhdqqfdD9HW08F2Xo6TWIN4da74IziCf0HhuR8rqF1BlCkd3XT4d+o= 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)(7416014)(376014)(366016)(1800799024)(23010399003)(18002099003)(22082099003)(56012099006)(3023799007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?fCwCriq/ClRvJP6JCCFq4FSFAIHnVARVa0xminEw9TdQzw94Hn+/z3aLxD0L?= =?us-ascii?Q?UacXyytbDyiGCcQLeLVn24EdLRXiOVBV3vPg3JYzYkuDHK3m6srBTat1/NzS?= =?us-ascii?Q?4yDO7pV3G4BcMyqizwOEKUllhpTSk1P9YJmEeC5IO1HOVJrjwaQG/n0AUrHM?= =?us-ascii?Q?6f0VHpjR/HRsc4NfsCXgH7JhHBuY5qkqW8MnPCOJGccCy/R+vtv4/uvgRvvi?= =?us-ascii?Q?rrgeYtlaZ4+w8J7BLHRCErLazsFRy2gb9d5KRt2e3n5uOUkNLOqevD2F7d9z?= =?us-ascii?Q?fBA4ZsPdPDPy0uUrFd3QmdpwQiteDtsyhVo/3t4JHq2WzmBywIYympMeRLzD?= =?us-ascii?Q?G03qZ6PtW7rvzQsDnBcpo4wny61CIJLzjtI9A4uiNDoOlEM/q/DnNusMNNSv?= =?us-ascii?Q?exk7T2dRAVpJjPBakqjzSJ+WjeGv0GNQ+PVfYTdFnnB613iLPU2Z1bKynb4s?= =?us-ascii?Q?12o2/JcZbaEGlnJ54wDcR7YUYAs3E+5UHBKP+KClUvSu0xyGTHoufwUPmaHK?= =?us-ascii?Q?1wPVHArS0IK4ucb10QcF/0KghJxYZ1HVUCTT4opRMuW9Wt+PedCAedrreaaf?= =?us-ascii?Q?BGckFV+wB/vKaDTk/L+sXO/zrT+YmVMi1Wtzp7S7ZmSVlQI4QYwRrp+AZax2?= =?us-ascii?Q?26EHapo6SZqJuK+NPavr8oIkjE/BueOwF6uFJiAHFd1IeJjLgJ/FKoJtQ53h?= =?us-ascii?Q?xGisA1EeImp5u6L05saiJJl6b0fAcr0ky40oswuHxu1z8P9e1z3zQV5W8/AA?= =?us-ascii?Q?54/t5kaYjXV/yFvkaPI0c7sq0rsS1idsmEXux2BkxyJ8KRfLfpckeg85KN57?= =?us-ascii?Q?bk9elLmBOdkDOo237PkdTjSFlc8YHaisz7CP/XfqZRHai93RWD/9WGqQhyju?= =?us-ascii?Q?9CwKZmrQdlZf7/y8OZAGUdrud1vebsbmuLWHPrqdTA/ySmVRNz4Y1R/x9fpC?= =?us-ascii?Q?OMxbqWNcMWgVSaS9NtpPSDCtgwQDZC+n6d630hkw6LMFQ6d1oBYuWsIKxcvt?= =?us-ascii?Q?3kQbq1ttqrh6+7jp3OpHcoxhf3CFEeBdgEzm4m842VCizK8Nxzp3qeablrQC?= =?us-ascii?Q?ZXDuCnFWTyTzHbMxPl5AceY+9KUH+Jp/KVmF8YBjXKWSIJAiB3gbki0FpUEa?= =?us-ascii?Q?ZQiP2DiOygg/gtTR7KGiYOfKkxUg48/zlTwD232wfV7XlWyPImsEdP0uk13Q?= =?us-ascii?Q?h7OWqPXqCi20nuCD2oKxcf/Df56kpwY+NbSZWkvakXmWtbeVjrGyXcTNkeTP?= =?us-ascii?Q?C2TjZG0f6OwUcmKKGCXMXyTep6DlLBDlSKyQskx6UyScRIOFl01YELtQmopq?= =?us-ascii?Q?ruaJs5sj96+J6h7z2IyY3GrYNQg77LvOqe8DHEgxu23j3Utvi2zlr5U8MMJQ?= =?us-ascii?Q?zECb+SHr5e2pM+Jfm/ljVmGzsKQL0KN6UMdd3Mk8L8u9knSK4OhIOBVF5gd9?= =?us-ascii?Q?/0Kb58DEikdR6rjuZ4ELnyA7E6esZFFG8yYQ/qj/uZY9MQe1Mlx8f+8UZneg?= =?us-ascii?Q?AEsPyvZISZSfJ07JnapANHlbEDjOgN3wjhm+L7kYCgUoSGR46BNxSFTmMHol?= =?us-ascii?Q?VYHscfLV/3scKvUuIuv7jg0FWgxI7SsVOpCkPH3bTZGayZUCCS5CJ6GAebQS?= =?us-ascii?Q?2AzwIEsA/Tqm6aA9m9l33I82aqqyfYKQb2fDBA0up2MmtHg2tijG1RBw11T6?= =?us-ascii?Q?UAmY2SuLiNBl8dHOmIJ7415GupbLzoR3yxG9spjaJbIcMTgehXzHWnslMHlp?= =?us-ascii?Q?waTYUdd6x9kBkhqMLRan025bzjh+z1k=3D?= X-Exchange-RoutingPolicyChecked: Ep7TEanCA3MEV3oPIzY7Bn2l4xK0XLSyVAPUmTKhOJ3UUUvJEEMEwC5ZnxaB0aL0ceYfBscscr/MOASgS4Z0g2hYco14zs0E3Am2n/6AoBG3ul5woiPNL0x40N4h8cVfDSm7tmSra/COuPHV8zCRN0iS9GeRngg2LbEgkTYbY+kbNYTXJdKGPr/YNob5ImMGpr3aHK4Ck/J8Fmj/bNrBalKATN8Blo62ZqnS168Ai6DuEqVaAW9BWNfStSTyUFS9bX04uZkQ3DxK+Lt+OM04D+XLHLPyCIAn5zxcquxcnYUNFdK+gnrG9MNXYeramAALTbBcqnUXnaOL5rYV8YT1tQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: aKV0WJUtFoIN7qwYiTitqUAtGnnuqrcACDl5z76BMGiMJfDmZjO/syPlSWpl4SyP4pC+QESHTeg0X4AyRG8BgeTJO0+XCod/vCTMNBEayNgAlhOLobCf14E8XxRdO63SkA+d5lSwJPrO4QkWaNA6jikeaZ5WkNtydmzFu/il5V5l7B+rsUHV+Ogq9RgEMuimTB8DxVuv7uAjRoLv+mnWJmXSqwSNtcxOjeacvukKADDzQCIkACaSDkCgZyHlodALBTgJHCOr613CX0bnlTisPLaAr4Varn4MANl2t0ZAq/CnTDs7C9kIl9XeQApUXxg/l0YLkERB0KQS93raXQHD5KAOcwQ6nb79v7DNL21SvDVJm5RfA5HagV4I8YodHDzG+koz+XBOY5+zApJGRbt8639Nc3ixqgVtmhPsbiqJxOogb1nd5EUWzqAhZaCBC//bzIcf5V4SKiqMVbwVaqVn52QimmGxGw52YChn70goxfMKJUc89XYsNcwsOikA+BGTHXbcRaTX0/7ILyzBQQkuHewcTYIYBcvwIq5SNTXcYT5kGzolPNHeDAsnJEiDYSvig0IlaTbiGysiXrkkmoBTmyD/j8KBXYrCUUQPu2XQilo= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7fd3e53e-7448-4275-d93d-08dee179ddd9 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2026 07:31:06.3640 (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: p7kFHNCYV43qRxBFxRoIyp8J17UWWJH2/T3Fv7sf0nq3JtVZcWRmz61wKbfdzhHIzQpo5vcKqDggbj+du0b/QR+j96PPDFPTWQ/UbDytAgk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB7124 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-14_02,2026-07-10_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 phishscore=0 lowpriorityscore=0 mlxlogscore=999 bulkscore=0 spamscore=0 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2606160000 definitions=main-2607140076 X-Proofpoint-GUID: zVj4zkSPllfRfNJ5T7Nz8HQFHW_ONVKU X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE0MDA3NiBTYWx0ZWRfXwpyyTUUv7kWw z2nlWPeBWJtNpbownXg8mBrMiIUqSJVLjXJh4gl7HQgEe9QBANyQZxEwqLnSFbBWz/S9zC5c0nb j7wrSgoCo815eDhpXfN/hUrtgjwXBXepI7//Rd1lkgEk4QB3JkWS X-Proofpoint-ORIG-GUID: zVj4zkSPllfRfNJ5T7Nz8HQFHW_ONVKU X-Authority-Analysis: v=2.4 cv=dYawG3Xe c=1 sm=1 tr=0 ts=6a55e5bf b=1 cx=c_pps a=WeWmnZmh0fydH62SvGsd2A==:117 a=WeWmnZmh0fydH62SvGsd2A==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=RAioF0-LDSMA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22 a=3I1J8UUJPc9JN9BFgKH3:22 a=pGLkceISAAAA:8 a=VwQbUJbxAAAA:8 a=7CQSdrXTAAAA:8 a=JfrnYn6hAAAA:8 a=vggBfdFIAAAA:8 a=yPCof4ZbAAAA:8 a=OqgJ4t1VicKPTwnfwEAA:9 a=WmVTiCyuxqgg3mnwYu6p:22 a=a-qgeE7W1pNrGK8U0ZQC:22 a=1CNFftbPRP8L7MoqJWF3:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE0MDA3NiBTYWx0ZWRfX2QHNU9w2jLDS Vg3bg+sIusjIl4VPd373Lwf3HtFX0CWEEULCeOnWsfUMcQfW+XslyI5cRvuUKy4wd4twFAM1AbR yEAEn2p67F7amj7DoQGNisZSLEmxexIRG45HMhHXirhm8KRdb1uqqG+GFWW8/FZgXEK8OKwwMBr zDTTedPJ4ZklfoMMfoxqJZhNT/obJi0E8msITujVqE7jUWji1lEf1Zo9FLCfFwatjrVQHvs1SOf DY9H9dZZVeAXe38IAyprfi2JxhnbARlvyzVzIZrkO5rjEEG93UuNT5g/aO5pHFZiNMOdZa96UkG 375HnU52XF3ZHv0R8aHft/3a9d5jHPf1DcqgOGD4Gyi5eKFGK8kWP6k1WhmlVdtS51A3zOVJq+u 3M0Pf0wvGZ7IEn5s5YriRbSrU62asjEeQoqF+UjkuzBpnhwRGrlKXC9yzenl/fZ3uRjT7vXGRXe Am2oij4t5xkc67HW7BA== Content-Type: text/plain; charset="utf-8" Add the acquire variant of smp_cond_load_relaxed_timeout(). This reuses the relaxed variant, with additional LOAD->LOAD ordering via smp_acquire__after_ctrl_dep(). To ensure that the necessary control dependency on the dereference of @ptr exists (which does not in the timeout path), re-evaluate the cond_expr branch. Cc: Kumar Kartikeya Dwivedi Cc: Alexei Starovoitov Cc: Arnd Bergmann Cc: Will Deacon Cc: Catalin Marinas Cc: Peter Zijlstra Cc: linux-arch@vger.kernel.org Cc: bpf@vger.kernel.org Reviewed-by: Catalin Marinas Reviewed-by: Haris Okanovic Tested-by: Haris Okanovic Signed-off-by: Ankur Arora --- include/asm-generic/barrier.h | 40 +++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/include/asm-generic/barrier.h b/include/asm-generic/barrier.h index d1e9ed15bbfc..b2b260a41122 100644 --- a/include/asm-generic/barrier.h +++ b/include/asm-generic/barrier.h @@ -352,6 +352,46 @@ do { \ }) #endif =20 +/** + * smp_cond_load_acquire_timeout() - (Spin) wait for cond until a timeout + * expires. ACQUIRE ordering when @cond_expr is satisfied. + * @ptr: pointer to the variable to wait on. + * @cond_expr: boolean expression to wait for. + * @time_expr_ns: monotonic expression that evaluates to time in ns or, + * on failure, returns a negative value. + * @timeout_ns: timeout value in ns + * (Both of the above are assumed to be compatible with s64.) + * + * Equivalent to using smp_cond_load_acquire() on the condition variable w= ith + * a timeout. + */ +#ifndef smp_cond_load_acquire_timeout +#define smp_cond_load_acquire_timeout(ptr, cond_expr, \ + time_expr_ns, timeout_ns) \ +({ \ + __unqual_scalar_typeof(*(ptr)) VAL; \ + VAL =3D smp_cond_load_relaxed_timeout(ptr, cond_expr, \ + time_expr_ns, \ + timeout_ns); \ + /* \ + * We arrive here once the loop condition is hit, on timeout, \ + * or, if we hit both the timeout and the loop condition. \ + * \ + * The last case is low probability, but possible in the last \ + * iteration, especially on architectures with waiting \ + * cpu_poll_relax() implementations (ex. arm64). \ + * Now since the loop condition is not evaluated on timeout, \ + * we have a missed control dependency. \ + * \ + * So, force a re-evaluation of the control dependency to \ + * provide an ACQUIRE ordering for that case as well. \ + */ \ + if (cond_expr) \ + 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.7 From nobody Sat Jul 25 20:04:11 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 DF0AF3EEADE; Tue, 14 Jul 2026 07:31:39 +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=1784014302; cv=fail; b=rHV5gzK62Dy0chbw+XmAspxcSccoCrec7CLYs+fDrFlQxEzWF9QLco7Q2ozfWnGRGdnxtr0I8sGq/7ULxIxvJilDZOyA4N9pqE+YGgdHgHNHfwNr3OBTtYzKlpDVIn7dHk3MQhKGleqpvL5R+5JrenZIk0A65p8Twmw4dWYJFi8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784014302; c=relaxed/simple; bh=rUMYliG4l8oZdUHHnMaHYXaPviR8pu5Oo2Ta5S4creA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=hTYvQPnIfRTdo4pe6RFPzuBNYoFvEG+TjwCZpwBaLnm9BweQgpVjHMaz6FSqRD2pmNjcWhMdbC0/mfcl4TqC4d42ik3E11CYV3+uOsp9+cdcgPa4NgweExU+f7pnmM1X8Q/7iHOKnSWDiei2Cfk/RZuVfkAx3i3ANhjvBRqScl8= 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=hCr7WUCl; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=f1enme8m; 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="hCr7WUCl"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="f1enme8m" Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66DL3FKm1347283; Tue, 14 Jul 2026 07:31:15 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=QsHyDwbZDt14FavL1G1amq1dUCjoYT5O4o88+Pn2YyM=; b= hCr7WUClW1RXe54ke855hqwjWePKg0ZT3aoGti0quCldb208mBfxEZqKPlA6CZUe 1urG52WpkdadCN3BiEjS6hL7+3yjG7mLLYB4KuUjX8ffTB1MeOYbm3DCq2O0iOac +o1STQN/N8iVrneBq0GWbmFK3hpU9X7IhbcayqjhNtSVShCJUDJ+Ehc44YuQQpN0 OJR4/XHg301HVw1PE3bli0Sxk8nCu6sGtWOW0jXmJ5lnP9lcv//clxmJMEIVrW+j ng6Nx2aVh3EbiIZpdecAjCdXyspSuFGcXw4h9ik2m1oYCfIWPJN6TOKL8TP+nPfi 3e4ubwa3WN9mEsooLA6Rvg== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4fbep33p3r-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 14 Jul 2026 07:31:15 +0000 (GMT) Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.7/8.18.1.7) with ESMTP id 66E7SAFK018837; Tue, 14 Jul 2026 07:31:14 GMT Received: from co1pr03cu002.outbound.protection.outlook.com (mail-westus2azon11010065.outbound.protection.outlook.com [52.101.46.65]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4fbc9dg32r-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 14 Jul 2026 07:31:13 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=nlraNFB4DxaasLB+Rm8OwczHJ1O9+fDFVVcxV6rlwsAz4LbYvoo/MXHesBrYFBYEZM1AjGdlfXsdulR8CLIVWHFkXFveQOm/dOih+Ci+DlisQ7kQNQgMcCefDtSCLYqE3ZM9nQjeiEr/dgQKwsplOJzRrm1nrCdMiyt8BgKsWG3o2aWCU1GY3HJHFMMQafspcTt9t6uEk9qYlFRUJ/xvj+6A2uWR9CYSdGdcCLDWcvSExIsvJHkmi+Wqa1M/Dw2YdOjsVrdr/LcE+PYSSeC+/IRzyH72jorL/fThWqoxRUN6OkDSjski1HYHvfLPPdSTogmvrtdDnew3Y1eaW/vGBw== 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=QsHyDwbZDt14FavL1G1amq1dUCjoYT5O4o88+Pn2YyM=; b=HXqr4X3f1YG3HzU2ebl7qXJrPi3jv92DZLR4BDTqaYthWd4yruz8rgPfMnDvfxvuk5MhBe75UFNJ7Wz873mlC3gVrZQT4Qu2bgThF1DWTLNm/AIzSz7I9ohsTVCD28p/ojLGu1bi5rEPCIjhkqF0Hpb6d5k36xZEyQLpx1spFtpLZsehPA9Mr5zWAeQek17uW2OvKD3QMr6xmh0i8sHdlc24Bi6/nwUU7R/k1hpXjxS7Bd0y87UcEtmTKW5CYZNCzKh9F3EijETofJI812oOjT9Vu0dTcLv9OO6LXIvIHpAKWmnVZMChfOLL8fQ1uCyP8EYP2gypxoYmbMJkZXShoA== 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=QsHyDwbZDt14FavL1G1amq1dUCjoYT5O4o88+Pn2YyM=; b=f1enme8mKLbyz3YhpTwdfe0NjvxUokWxy6pJpj7pEVjiZu1Cy9hiAFwtq7206k7x4V//8lkOoVDAqitlMuIA1b9o9l8QmY46Fei5FGICidMMzT0kCIGgj3yc04dlZHYJKZ2p3Go5NBorQaBrt1cFyKO8pCFu7HlHDAa2XNRdlVk= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by CY8PR10MB7124.namprd10.prod.outlook.com (2603:10b6:930:75::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.202.18; Tue, 14 Jul 2026 07:31:09 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574%6]) with mapi id 15.21.0202.018; Tue, 14 Jul 2026 07:31:09 +0000 From: Ankur Arora To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, bpf@vger.kernel.org Cc: arnd@arndb.de, catalin.marinas@arm.com, will@kernel.org, peterz@infradead.org, akpm@linux-foundation.org, mark.rutland@arm.com, harisokn@amazon.com, cl@gentwo.org, ast@kernel.org, rafael@kernel.org, daniel.lezcano@linaro.org, memxor@gmail.com, zhenglifeng1@huawei.com, xueshuai@linux.alibaba.com, rdunlap@infradead.org, david.laight.linux@gmail.com, broonie@kernel.org, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, ashok.bhat@arm.com, Ankur Arora , Boqun Feng Subject: [PATCH v14 07/15] atomic: Add atomic_cond_read_*_timeout() Date: Tue, 14 Jul 2026 00:30:33 -0700 Message-Id: <20260714073041.40250-8-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260714073041.40250-1-ankur.a.arora@oracle.com> References: <20260714073041.40250-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: YT3PR01CA0107.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:85::20) To CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR10MB5409:EE_|CY8PR10MB7124:EE_ X-MS-Office365-Filtering-Correlation-Id: 40fc4a7f-3267-4e68-c154-08dee179df89 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|366016|1800799024|23010399003|18002099003|22082099003|56012099006; X-Microsoft-Antispam-Message-Info: cFRTqhA7CsGpQrwc6h39XowRdZ/YC+cwOhfoZFRhGHme5WrS5tfieCFjLQZ06prQ2/8PmFc64jRW7mhoKI4p39omUJkm1b9JrUi4aWClFmfw1qWTU2xyWwM+lWKiWvR7hmNKf9xDB461noNXK2J19KPw/saiFOykOWy3Uba1FXoxu1L8tD6vy5/i7DTrcwIuSsBKraHOG0jT1JzETN7A9n5oFxDM+LoUQiUt0uuS9BMRzZNZiytHa8MgjFVhHyFoZqCUZFxXVW01pPxU1wIt3Mf4nBqkahj75QUg2HTRgYwJYnnQDI3+sI/uLBZFWW89ClLjaMsGl5kzvzSas76CDXx2z82IeYKy/zaWPnIHmc8RJvu1DuSWFR1LlgJQ71DmQZM9V3fPz1S5loDyuki+eOFQn5GqZvifLHCrvlgCcjOcRYw9jUE3IY3tqsHz+QzhFJSehJudj7Yn3Vu5z54s1MFG5m8qIhm8uYBAFSu0O+jeBifzz1d1LqxpH0zfK0ByoyOq2z/A9TYg5Y6LGjUr1hjUj98pIjJEl3a6S8wkcVJ0zQe2C1dDrl4qEzS0ZxoAXEPRN48i4qL057t6BxdN4WXe7sR/g1dm/E7DGKaQsss86UB7JSl7dYTvd5Ynjr1jeukM0HHMUggOkxMqWsYDIRDkbx37xmSctdFw3apj2wA= 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)(7416014)(376014)(366016)(1800799024)(23010399003)(18002099003)(22082099003)(56012099006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Cwr8GRAzDRl/9gfX9dtmhe9thD0KVwG5FULSIQ69pKu1psNxzl1cwbtaOZJu?= =?us-ascii?Q?uQlCN9eQF6fRlSupadzMnsc3QEx9LOYT3zoPUkDi6YVlt6vK+zFeKp+3A32M?= =?us-ascii?Q?au54AKVEp9xDDmeymuCcxeQsj/SbiPiqLx6jIVYlMkUdkEh46lU7FdC2eHWy?= =?us-ascii?Q?aZJcvHif+sK8HbLMa/m1LIi8JJuDijx0UhWYOdRU6eSVSC+BUR+cODCJgDEu?= =?us-ascii?Q?Jcx68Tg02zTYG8VfSkkc+DaUpY0s5deBWrlen3qs2X3OtzyDa7rkaxaLg6sY?= =?us-ascii?Q?XvvJf78x9hvffYB6Zgtke0WlKD1xHA/iwzhPJrGHX7R8GKEzkAVe5fFZh/D/?= =?us-ascii?Q?Xzk/ZWjhptUeVBdnXTVdqggOezgl49qo6xj85CQtBGWqT881gsOHAULN9Vr0?= =?us-ascii?Q?5JZKM4OpqeyM08eYTSeYcSOpPhMu4AddVITIgGkYEOQfBwzPUhhT7Fr+s8Ma?= =?us-ascii?Q?6RHx0YyC4R8P1jhntwp7n5VVglWuqQO3uhzNilq4himQP7GwFe+so3bpgFzm?= =?us-ascii?Q?7GYCrOp8A91ZWlqryXkZOptOvV1qB4AExRPKlAjgW+GwmKKFrgl25lCk0YL+?= =?us-ascii?Q?kmCqmwsqgmQE6W3+rYzp0XegHjPbZ4gW9SZuM7AUqIgX1jgBh2r//LBk7HQt?= =?us-ascii?Q?25asYdxIMIb5dGQ2i1/MJjyDVlU59a96TBDfOC9MAvYJVLa8rbmbN110wxrL?= =?us-ascii?Q?McvT27Yec+6IPMlknUh9vt2tkQRlLcJDPtZl8j3QRKVIyBvgZS6Vqbi/I+Vb?= =?us-ascii?Q?0JerUA5O6Ch99pN0r/v1rNnM/OQOleU3E0ejoT3FHz+zL2yQA4yPUkapaWVn?= =?us-ascii?Q?9G0q4VNmf72DyBshauH8yuETP2lCqJ4iaL+cIAAIDDhWewPWmI6NYB9hvJt0?= =?us-ascii?Q?YctJ5Do9CIYnlUo4Ko1DaQlMH46PqZRRpYIn9GZdAAvH1RF41rLQZq2dHVPw?= =?us-ascii?Q?eHT2QziorEZPlLj+W0fHknGD0ZqTbN3hwbIUKIXzUWXhHksS+GhoTBR/Xpwq?= =?us-ascii?Q?ajf5qKnKn++gSV+AdSGNWQAKeoAJNKHH5LHEoFl4DPAr1iC5wCLbnkJcPI2M?= =?us-ascii?Q?MIrLAXlga8OcbAu4FCXzlVmIen1zP4r6y2QK3T4GEw89tmd8IEFwyvMQ4rL4?= =?us-ascii?Q?lCQlpuI7XXzWHq/1BoG1OPei9C8LH/rHGAlmi+3H9FgF6D2EOHVldByr5jRO?= =?us-ascii?Q?0sDBF7H89S1q6lDfOs4uPRBx+2C1Tvxdnu8oGMfKcU1rF1gVTk6CjhJ8psI/?= =?us-ascii?Q?lsmGkOQU3NA7UH7ihtneC8FDAtIVt5AMrEYCacw9EIw4Xkj7uOQodSYPhYeu?= =?us-ascii?Q?smrZBVMAe05MP7KXeD9xWTO+2PNvTW2BTxec3YcCsQoeb4KW4B6VEH5GKtAI?= =?us-ascii?Q?ixL9xROsaEtToneW0EGS/GUM+u66NfI51E9hxNKcJ/J6GpmTHE1cgnTLjBce?= =?us-ascii?Q?6iQfd2ZIoMSw3627wX/zfBm6cjYlkDAqUJbEeIKK92skCW6/9PfxG21uk5Wy?= =?us-ascii?Q?bHFmOjDphPp1CElhu5G7bndvsxJflktEfvPXv2qNcPmZSoOmiw5iTZLMEn6f?= =?us-ascii?Q?zQByAYDOFvJk57ufi4hKhqYLFUkIxwcRZO/o1tSocIqrUn9m7kjKkHSKuvcU?= =?us-ascii?Q?FMcMIur+a9FbRPMfx6tPYHItw6l7af6B2vW6IjLgf131E0Gv9fNziZ3WmogP?= =?us-ascii?Q?D7spqwSOIELDkvna0MuHvqvgXBQZ5IwjmFhD200sM3vZAsIKRobelLYB9r7w?= =?us-ascii?Q?VgaDTYTFW8d/xkOk7pn4aO5ZTsMNt/w=3D?= X-Exchange-RoutingPolicyChecked: D++y7SscGFhXGyqdk8hCTJVvuElBkTpezKjGttY134pMM1Sa7hr22ptgGakX6x/FH5DzvgPHTnfSfrNpGqdWlP9cCAIuTChKNZIdALJhWIwitOg5hD8afMQEYKEkmiW5n12a/LMdG0nAnydwWxT6jkR5JEnfIQMVFMgjxVOuq5HOb8Gzf7pu6pqpoJzsbnrjEcWYU/oW6xpcNpYEZGrNp9N0n+JPRtmSA5jqKWaOCdxCTmGFQKnvsXUO5x9s/LNlYPAQsiQ5XlYuaEevhMQ0S7pBecoGNp25n+tS5La9nZarb4uqLiEiW3leG1xtMJDlmaGI8BWddPgwX7gygsliog== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: DB39HeTyFJjgb+06LpnKmObIZhJ65nzvPmRCxkCINjI973mhScnI5NkJ9xh4d/FeR33pGVM7rhW/jEo/LwuZTtay+6x5+RUWftqMv1nme0bjYz7+BAJ1vnNJhyUQSdk9EA6CYA+SRF/2dQO3oLjKW9Pt1gzeAhmMNZnRL+XFCZPcUBoUa8bmD3U9bRwxKHqayA7179yd5fzy02DYhZNit8A/t8qCFJjGzjmoVIqRtutfxstrbci1NVKMGgzwyfm4NVPDlIC4XUWxVqfPvFC1vJA2UcpSx45+ELbdOoCdT+18Rna8iPm66dkFanThBGIGRit5zav9PwQ8JXNjLWBoxwYHoUfmZDrdftMhxdigZYKGHBd4bzlN36CSQv3KqiGGi+JI5v7ai+9j9YIYDWswyJREBAti5ZKP8tBkW+W96ogptZqC2mwQeR+93ZdQgeVbGeHyYKEEHBNZSRr0y8bOSR/Ut/DhneGlod8z3jchFzlmG1Bh2pPAfvu14JS2gZmA/W2ZOeUKZzC2ricSEZV4dJTYPlAn9lddTsk2r8axQ7twIIgP3ycBMWtUxzvEt+CTYDtxnNjziks8frerlTpyHQZMYrIqBv3QmkbULOYL3G8= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 40fc4a7f-3267-4e68-c154-08dee179df89 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2026 07:31:09.2587 (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: whhOT1R8JYEAyr020GaKlWTy9t9JiqYrF7o3R1SHYGPn/S2zpweLgsgnINTuhb19GBGIwHqZdmm441gn5GQ6tr+zvbG0wxMqXRZEsreDqPw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB7124 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-14_02,2026-07-10_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxlogscore=999 lowpriorityscore=0 suspectscore=0 adultscore=0 phishscore=0 malwarescore=0 mlxscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2606160000 definitions=main-2607140076 X-Proofpoint-GUID: y3JdFC5T-SvmajI9z3AqTFBGrn1VpVo2 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE0MDA3NiBTYWx0ZWRfX7WkbdeCxW3DD QCq2XsdD0qNgnh0HMb5DDpup29hnfd0K3cSqpWuRsylpBpS/lTod+hZ7q17f0ZggcPiLS1VFHtJ ZOxfqCcc7IWra2JzrvzHVXaC7UtaHQ4w/ZU3Im0Ea13RQSZ7ods5 X-Proofpoint-ORIG-GUID: y3JdFC5T-SvmajI9z3AqTFBGrn1VpVo2 X-Authority-Analysis: v=2.4 cv=dYawG3Xe c=1 sm=1 tr=0 ts=6a55e5c3 cx=c_pps a=XiAAW1AwiKB2Y8Wsi+sD2Q==:117 a=XiAAW1AwiKB2Y8Wsi+sD2Q==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=RAioF0-LDSMA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22 a=3I1J8UUJPc9JN9BFgKH3:22 a=VwQbUJbxAAAA:8 a=JfrnYn6hAAAA:8 a=pGLkceISAAAA:8 a=7CQSdrXTAAAA:8 a=yPCof4ZbAAAA:8 a=RgR6v_fFY-8vhBXvnRcA:9 a=1CNFftbPRP8L7MoqJWF3:22 a=a-qgeE7W1pNrGK8U0ZQC:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE0MDA3NiBTYWx0ZWRfX3fDYhQj9L2ro xNP+2JHoDQPddiRSpFSa8eD5tKsVC4/FOMlYksQYyqdEyyaGZVVwwL6yZPUpDx+PeHfukeWprfS AlFJayWo4F2LSlWk+jTYzq5TS4b+89o3hZWsH/J8dcuOMX+Yl1g4MwdsTGQv5EGaSV9a8Pq1zi0 aOLzvyqfqoQo7OG7WtbFmvQAiAPbYqI+/ZWt2Glki2jGdwcwG5wdm50n0+BQuIbIStH1sekrTOS SI2IZrkiCSB9DmNPcgYP1Kx5EpF1dRpbv8yOSMAtnjtBoGtAYNqmaa0yM3Ws5NOs1aLLIIHIoIG 9D7SZ9yZRbzRj/uubEpfhy8nzmzKb/S99LVvXaFIESHc5FfMINON+DRnl0/NFHa+bCy36YFT+6D GqCR3BcYMtSpPtK/jMcaq5hezbmDm4K9dGHR3eXPQixlPkwd8XK1YMuH6mQtd3Tb9MiDQNiusF+ xJdwivh84wGAaGA1h+g== Content-Type: text/plain; charset="utf-8" Add atomic load wrappers, atomic_cond_read_*_timeout() and atomic64_cond_read_*_timeout() for the cond-load timeout interfaces. Also add a short description for the atomic_cond_read_{relaxed,acquire}(), and the atomic_cond_read_{relaxed,acquire}_timeout() interfaces. Cc: Will Deacon Cc: Peter Zijlstra Cc: Boqun Feng Acked-by: Catalin Marinas Signed-off-by: Ankur Arora --- Documentation/atomic_t.txt | 14 +++++++++----- include/linux/atomic.h | 10 ++++++++++ 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/Documentation/atomic_t.txt b/Documentation/atomic_t.txt index bee3b1bca9a7..0e53f6ccb558 100644 --- a/Documentation/atomic_t.txt +++ b/Documentation/atomic_t.txt @@ -16,6 +16,10 @@ Non-RMW ops: atomic_read(), atomic_set() atomic_read_acquire(), atomic_set_release() =20 +Non-RMW, non-atomic_t ops: + + atomic_cond_read_{relaxed,acquire}() + atomic_cond_read_{relaxed,acquire}_timeout() =20 RMW atomic operations: =20 @@ -79,11 +83,11 @@ SEMANTICS =20 Non-RMW ops: =20 -The non-RMW ops are (typically) regular LOADs and STOREs and are canonical= ly -implemented using READ_ONCE(), WRITE_ONCE(), smp_load_acquire() and -smp_store_release() respectively. Therefore, if you find yourself only usi= ng -the Non-RMW operations of atomic_t, you do not in fact need atomic_t at all -and are doing it wrong. +The non-RMW ops are (typically) regular, or conditional LOADs and STOREs a= nd +are canonically implemented using READ_ONCE(), WRITE_ONCE(), +smp_load_acquire() and smp_store_release() respectively. Therefore, if you +find yourself only using the Non-RMW operations of atomic_t, you do not in +fact need atomic_t at all and are doing it wrong. =20 A note for the implementation of atomic_set{}() is that it must not break = the atomicity of the RMW ops. That is: diff --git a/include/linux/atomic.h b/include/linux/atomic.h index 8dd57c3a99e9..5bcb86e07784 100644 --- a/include/linux/atomic.h +++ b/include/linux/atomic.h @@ -31,6 +31,16 @@ #define atomic64_cond_read_acquire(v, c) smp_cond_load_acquire(&(v)->count= er, (c)) #define atomic64_cond_read_relaxed(v, c) smp_cond_load_relaxed(&(v)->count= er, (c)) =20 +#define atomic_cond_read_acquire_timeout(v, c, e, t) \ + smp_cond_load_acquire_timeout(&(v)->counter, (c), (e), (t)) +#define atomic_cond_read_relaxed_timeout(v, c, e, t) \ + smp_cond_load_relaxed_timeout(&(v)->counter, (c), (e), (t)) + +#define atomic64_cond_read_acquire_timeout(v, c, e, t) \ + smp_cond_load_acquire_timeout(&(v)->counter, (c), (e), (t)) +#define atomic64_cond_read_relaxed_timeout(v, c, e, t) \ + smp_cond_load_relaxed_timeout(&(v)->counter, (c), (e), (t)) + /* * The idea here is to build acquire/release variants by adding explicit * barriers on top of the relaxed variant. In the case where the relaxed --=20 2.43.7 From nobody Sat Jul 25 20:04:11 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 1C45D125AA; Tue, 14 Jul 2026 07:31:40 +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=1784014303; cv=fail; b=NLTQsAXvzn+/U4IBkn/pFnV5IMhRy+g20brCwYMLAtYtpb8R2oAwHBytlfSCQgGQo4h06yjRKT1EKwpDw2l/sof+BPFZS/jS7pmhkbl78VOjTAoKGVjkmDGeqeP64l+kAHju1taLtjjTGPLDt2M0ge/GEeSK8hMCuLJQoPg87IA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784014303; c=relaxed/simple; bh=ojN6rotIbIAfJKlO1MyqmeOi1zWc2jY+tGVwNQ7lr28=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=IY2XnBRbVHg4ONeNe802Dgs9M5lndXPRaXXYZLDlZ5khaUc8LU1sqLMOcihLP118u0lQtkid8Devf/8AP5CfnlFRvDdrxGpdJuUkegQpdRxHo1y3NNxgn49ujX6qqPdZZE8q5JEhA5abYy/tu0iJnbmBs+LsMgcUBnRcwQYOWvo= 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=aQe3ugmH; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=OfkAPD7q; 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="aQe3ugmH"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="OfkAPD7q" Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66DLDpk41346058; Tue, 14 Jul 2026 07:31:17 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=S20dGHKKS4wRGthBkiO1JlrzyRBsuGiJ35trtoHHkDY=; b= aQe3ugmHeFJJ6aYn1a00TXQfUwgOlNAPhNhF3+AIivFHvAd9yN/+rUlpy5KzdQuW RHV+D9c9+ZVnXDng5ao6SZVW13T1BTDQxA4TUbP2GwhYoyBOVa58FSIBFcaTvjOE qVTVlmruDIQvCl66pqrucAttiF2hM2GInHz8z0o2jihG7ioZEKXlP8XXD73QJGQ9 viBVWcu6wjw63P+eta5Uqo95nI5FDBKpX2beC3YVux0tRIwGBTsEsH1tBds2VpQ7 WMjsOusuYvdZy1mIunt/tgim+GJhzIEbcx1WK2vVt1JTLTZS5WWqAdzcqQSK+v45 BiztkWK2Uz41b8xIuEvLDQ== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4fben1kmtk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 14 Jul 2026 07:31:17 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.7/8.18.1.7) with ESMTP id 66E7SaAA028504; Tue, 14 Jul 2026 07:31:16 GMT Received: from co1pr03cu002.outbound.protection.outlook.com (mail-westus2azon11010013.outbound.protection.outlook.com [52.101.46.13]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4fbc9r4gfn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 14 Jul 2026 07:31:16 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=v7gCD+U1jeDRhL2DaWoK2vm0FxGakzw9ysm+a3oPMq7A/RZq4Mim7tgAsuek8cyOghevqKXfNyLSZ44ntAhYQl3Zn56a8Cl28KosgvPCer/VQapaudrBaYjooH6J06CYTSz7AZRCC3WdJFFHnlA3Q7LxBhlqycMoM/+kqHgpbGlnMIQSQxShOSy/EGOH5AiPl4n6wdoJn4SKPtX4Df5k4lNMGl2ZpyftPpc/w+ToOetX9UUV3+Dp5wNXVe7VuSTJhQNx2y5ff3BEZvSIQ2VPqtvzAYu+CzAhsRK54b8vApwVjy4C0FPMJMSQ+7uph1V4aSKguWB9kol0Y49mRYgVbg== 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=S20dGHKKS4wRGthBkiO1JlrzyRBsuGiJ35trtoHHkDY=; b=pCnNDgbKDPX+HSnhvq8MBfDAE+o0vy/zOJwFXfnFs4POqhr/R4UrBoFCskXdWadHa2J/GYxoglhgANBAjmOIHIyXr1Zsv3KjKlDwkIEXLxjaFsUj3l5QHdOnS2ebgCOHovfeWE2jaoKT1FlybuVvsyI/PF9gZnVVJVEoxhmB2RmApqw8TlTbyV4rmii3qbcXh7Xsh9MZN9xPWJcfaxlujDvzxp3QKL9tcI9H946ll22OoBBbGUIBG8PQakW22PyWh5KRjHUq7Y+O142JAkCyczSO7sE7DnsXCadmc3MuUlKY3vhzlR6/YIOdBTUNJoH++7riy36baaziBZIVfxi5jA== 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=S20dGHKKS4wRGthBkiO1JlrzyRBsuGiJ35trtoHHkDY=; b=OfkAPD7q6uOFZTmJnuk5J63cvhmJF+V5c76vPNQpuBFZRV+Cmt45wsMnAdFq0VsLXvIF19Kmq8qstLvNL0FGDJRjTmgOVYxr81SkabvNqLGpY+SXExj3Zd489SPrN6CbQBeMIKXAifTmVvzT4FS5Pk1lsBMybcKuB/5GUzamNEQ= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by CY8PR10MB7124.namprd10.prod.outlook.com (2603:10b6:930:75::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.202.18; Tue, 14 Jul 2026 07:31:12 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574%6]) with mapi id 15.21.0202.018; Tue, 14 Jul 2026 07:31:12 +0000 From: Ankur Arora To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, bpf@vger.kernel.org Cc: arnd@arndb.de, catalin.marinas@arm.com, will@kernel.org, peterz@infradead.org, akpm@linux-foundation.org, mark.rutland@arm.com, harisokn@amazon.com, cl@gentwo.org, ast@kernel.org, rafael@kernel.org, daniel.lezcano@linaro.org, memxor@gmail.com, zhenglifeng1@huawei.com, xueshuai@linux.alibaba.com, rdunlap@infradead.org, david.laight.linux@gmail.com, broonie@kernel.org, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, ashok.bhat@arm.com, Ankur Arora , Boqun Feng Subject: [PATCH v14 08/15] locking/atomic: scripts: build atomic_long_cond_read_*_timeout() Date: Tue, 14 Jul 2026 00:30:34 -0700 Message-Id: <20260714073041.40250-9-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260714073041.40250-1-ankur.a.arora@oracle.com> References: <20260714073041.40250-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: YT4PR01CA0458.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:d6::11) 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_|CY8PR10MB7124:EE_ X-MS-Office365-Filtering-Correlation-Id: deb1e932-d5ee-4715-c1fe-08dee179e175 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|366016|1800799024|23010399003|18002099003|22082099003|56012099006; X-Microsoft-Antispam-Message-Info: uY5oAe2xewh8fkddASE7fRQPqvZ1bI6jMG85r7a1QNzKxxx+GNQCkhskrrIH0R/ZHoJbizqmE2uCmYFHVmKcmnHzh9t447NQmvw5+ERgXt002wN1rnHsSBRc/so5eku093l/uqhKIlmWRwRvORZHjDW7XltT+Bl41hqqv2VILsbQ25qZlIvpgUDYphGjIQgnKyFLc72E6j4gaI8LnJ+++iVjnOHNs0+JxvYX4cNlp6YsSz2+XXelSXHC/0dIEIxYbNEEpXnRIVGT4o8ZQLK/X/3dUTZ4qpWcjANedPa/0GvoM/riBUOpnoC4GNWOVQIvZjhAnsjMYK+WYs813QoD7NDxatM77w8Nv1QxhW4oQ1+kcrkGaDaxIDFHfTB8i3LXmjXqyMdwDHzTLtKTcesIIKveUKfeeCjGXPgmbqHkrmYM6EtPaMIj2/YSu7T8wplF1f0sSTABD6t9p4oBFkpOo4gKPVO9p98geaqNwV+GRAecF5EVsR0qftcFt1ZAYYaWHZ9kUNzwhPANcm3RFYK9hDYzh8FHf+MRAsfOjTcaOTDqMneZefC7OxUg0lFxy1noQTlk8RpjkD9uiRqSX4F4WpOHXFqn1atrutGXPV6QBVbTZkHToJV61EqMclCVQnQtcgAD3FTNYr3ellabStytgmJRv1w3yiTeTrgcKjtNzgI= 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)(7416014)(376014)(366016)(1800799024)(23010399003)(18002099003)(22082099003)(56012099006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?NNF8xFfraqs9u2DOMVItnRCXIvye7h2dFiSOsxHu4lL9qkxgQpC8pHqhZaE6?= =?us-ascii?Q?ALcDCsMWp6l/mXNtY9A0tGLOMXokW/tWUGsKKwGF1hQu+rknPxAF1nAaaKAO?= =?us-ascii?Q?lTybM1X3AJJKKJPj6+EeXIpZk5B/wRgXswKHOyL+Rpww14Z2recp/t2lHV+i?= =?us-ascii?Q?u6rX8EvcqoIn6EGIgssfWwboUFsAXq7WM1FuGfhwGAleq0gZDzlU6yMriWiO?= =?us-ascii?Q?2wNt/tDOtjeowpP7xQHq4IWGjBpUnrQO2iFXL79AkEhdfC93RNSsCmUWctLs?= =?us-ascii?Q?x09sfmG1bogbWFqR/T/YRiOk+nfRmfAjnTIlaV/EWBP0M8vdwgudAviWfJoa?= =?us-ascii?Q?GsPp/kRstDql1IylMrH4s8cJwoXdh19Ut1KeCbQvogql7XUoSKD9+sVbO10d?= =?us-ascii?Q?bmRbqT0RDdKC/PCY4QCh5xy0q8M5nDeBQCzEnkDeTyk/OQjobZ90aAUnE+7g?= =?us-ascii?Q?yWk3uW7SBXikWoOBkCt0drywiehrbxQnF0jfGggmmmkRgCtNtsBl6JGqCj+q?= =?us-ascii?Q?TaN0XCFfC/Y6w7td308wrJmGMSABsTruREmNYw7rmc+yxhNZ/aG4DfIWIvet?= =?us-ascii?Q?5aaFNny0jC6IInPgf81lmVkTENhO9y9GZ2hryaOWlr7gTqMzeE8AjTL4SXTO?= =?us-ascii?Q?YyMCPtItByRD8FGya8PgsROv/JlcG3YQoNwyohyV791qldFCIKuHMtuixRJ4?= =?us-ascii?Q?Rkjrqpbz75mmHAeEJqqKtnTsgleOUoTpqruEpxt7SsJb9ymyNot8sLSZOTQr?= =?us-ascii?Q?sdw3EQTFAk5nhfvum38LcCL/kfbm73BFIS/OG5dUOForsPYLUCesCSdP51hg?= =?us-ascii?Q?hgmjxz2ty3AWNGzn2Z+MWj7r5NeE8x+Spd4kGWOqnKOdESolzD5qKQTW9Lk8?= =?us-ascii?Q?Emh4dxXyTks2/qiv9ur5wGQu+sTx43zdhwMZmUMFodvISPOcIqB7lI2UPl53?= =?us-ascii?Q?JNm61bDrV9nTGmyKnSPIw1NR6L5b5HAF1YFzXR1jIxvqnyNgGDR8it7h1dmt?= =?us-ascii?Q?8jQfHcZjzL+7TWuWYiQABhLRyz6MkbjiM3XjLOzq9hkzztdKFiNh0JZk3o0p?= =?us-ascii?Q?gj2klKqQlhPCuvAoGumXvyenbObekdYRQtNLTT+eqlrh7K97ZeeV2cM/NGKC?= =?us-ascii?Q?yr32dJBo0mVnoQc/PcAlD0dX7IyMQimKOMSnu5Xoc2NfD37uFgbKPcqPZUp4?= =?us-ascii?Q?Sz7c9BPZoYY0GgP2G5lHrSEJslqeLwYMtQAxjPjOU9VPxFS3WIF2qUaQ6OmR?= =?us-ascii?Q?YkcEEYYCLBnGRGSnnhuOHRN74RDl1pLHQGfgERllNxYAE2VrULmOa039JWQt?= =?us-ascii?Q?Dqr7YRZri4onzJGKVQd0XIdQMWdyj2hTJ8mR3KTLlHMHHjsRGce4FNZg1NKd?= =?us-ascii?Q?J+ri2fcYBdJB3wMwFnnLudXpbNWVZV7EW6l2oCUmiO2dchvw8YfQdF0nXtrO?= =?us-ascii?Q?TxuAu9v56lko72orkh5ClJJAzc8C3UQkUarzYadKIl0UMuxgxmGkBxkwm0LZ?= =?us-ascii?Q?t7+Gp6HpgbguZ6ckxIifZ+B0Ou9aZ0euOBVUiec9UkzGDoAk26gkwqP5VOrq?= =?us-ascii?Q?4Z6wY+FbMQIr/bWerml7GzbKl+xkobH9oLoLl6aTWTL8OXNEdyOKlgD+AZgO?= =?us-ascii?Q?LN3emB8TkxMg8WqK1mX1Y/B9SUEHiNpNeWcaX699NqlJeg2sVN8GWB5ajLc0?= =?us-ascii?Q?+rGXeIt35yPYNdLpX96X6YeFffbp1amo2CdJC+OPBbqfebtDun2YrPEvmpfC?= =?us-ascii?Q?vMAEaRA+Ww=3D=3D?= X-Exchange-RoutingPolicyChecked: sBAdQ5z1hxcfwnq7Byr2V06P4e1JYhjIHRGUzLuiSLlY0rJbsJg47mczEoy7aeJ+r9b0uVr0CeupwBUcbyMgJ9wqvS7Ah+GyKkt6PeQiR4iAMmE/ucB0AaZ8mENNeUfbWH0HoMtUGToIOlkrNdqKg8SXn02AY7JXy1uN6UW4qplWCivGeJ4VYhtYIrYVwhS2e9Q0CjM+NsBvzvekuWIrLea65L0/b1ALI5Pp6/pn0bEV3Y76BWy5Rhog4nhtEG/NhckfojWmzAK55G7LP9dr91ko+a5clsGuQmMzNp4fElPSPzSvQTxVI7+6HjQYebngXkBjqxXD0USFXn3sqjBy7A== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: iyYujxI9iv/Ej9Xv8pG2xMlX+SE1MnOrxuGMS9CcfWETdpgcIINa4VPsrb21S5tdpyzn3+UBtH0E+u0AK4CerTPU6dchOqHVdlY6GFgRUE5GEtsXsLnlhKfScBXLZYFE/YVyjjnkexuTsgPvHF98S3bV7dc+iVo1NTABbIZaKJJNil1FFooysztX+7tByHvPsgunFLyh6oIXQ8mBkYcb+Osxf0fpw5VQA8O2d0khCm5/FLkYiZozQAVNEqQOx98lXSx8r85L5RW+706E5lzTAx+avZKNXGXKHJVEjrpS4OGkqI15DddCzkLFSCso/8rSr0q4ops6YL1SUcDidrkl9Jq4MYo2GDV41e3CrgQMjJW6PjAVfj+Qmq3YJG5urVzZXlC7WkBVm8NI4TJ4NQMWBS7t8oHGCUMcnsMUXz8RG/4ZGKPXr6uTo5U/FwbZJnSFFiBouV69fr5Lk7E9FbJyRVx8F0gKRDlcSyuZeJucPp7i7UUQPjxo0SoY+iw0Aub8KP8cx2tDiLoxxEtxI1TOqh0ku9gkYE+FY3eCBPu4sr65D/H3b/p8OUY2yjdwC91GFMZhGEhi6t0Z8UotZU0uiZPY/kIaoKswMahaQubirFo= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: deb1e932-d5ee-4715-c1fe-08dee179e175 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2026 07:31:12.4215 (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: GZN0VJiRfgdL1SJAOwLybnmdrYWSzpIaSPfsbepscdMb6QbIKi2aWbBJiKPNiJ8U2y0S75ZWuQA8BOwZ1PKT+gzfwBt8LatdUIpxCuLw31A= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB7124 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-14_02,2026-07-10_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 spamscore=0 bulkscore=0 phishscore=0 lowpriorityscore=0 mlxlogscore=999 suspectscore=0 malwarescore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2606160000 definitions=main-2607140076 X-Authority-Analysis: v=2.4 cv=d5nFDxjE c=1 sm=1 tr=0 ts=6a55e5c5 b=1 cx=c_pps a=qoll8+KPOyaMroiJ2sR5sw==:117 a=qoll8+KPOyaMroiJ2sR5sw==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=RAioF0-LDSMA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22 a=x4eqshVgHu-cdnggieHk:22 a=VwQbUJbxAAAA:8 a=JfrnYn6hAAAA:8 a=pGLkceISAAAA:8 a=7CQSdrXTAAAA:8 a=yPCof4ZbAAAA:8 a=LKnZA62imwlViN-40TMA:9 a=1CNFftbPRP8L7MoqJWF3:22 a=a-qgeE7W1pNrGK8U0ZQC:22 a=5yU3S35YU4bGjq-dph-N:22 a=Bho9c0fBagfJEIQBS7DQ:22 cc=ntf awl=host:12222 X-Proofpoint-GUID: mKzfPJLO6Vho2vBqpg7GvgsVQL9yF8WP X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE0MDA3NiBTYWx0ZWRfX6AVwxhsBs77A 7aEeTDgnWKrfh8HIfcAKMTXuALcb/WgvSYOiHIL/ZMbteLlwAP+Z+5Y7SqffWYj22IdRjaqMg0k eTeBRuugXBRIStZtvpTeiOtE8oJbYf3oYly9fW2cOCCi0EyQFQIFYNawc9EqfUR1Lx/z5Px0NNe Iys/yJg/uxOCVo1jvgpuOg6XAg0GZYGdqj6ZaJOQJZxxjVkRiy+DlHIa7nweBmJ1S8vxlQYIj+o 1ZUX9YNaLtI0TNAwWHa1QnNZRRH+E/VT7cQS8QFtpu/1DL30pBAYZ5KZxD+eXbAI6HLp0WInq3h ckvLM1cFTtbJCBl5M6uYIguXTk7c1L/HHLQLw11RTB88CojwA0c+VU9xQpSYdJ9byuucmmNF0WY XSp5QhqN8M8skxE1zchjVQx7JHX9bg09WOz71J3tPZpCL6ofKa7fvqEEKAqGp+rXLMcEOIGEjzL wsJJX3Q+/5hHtW4s8/BfPrUEfCkrT3g5jvynxLaU= X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE0MDA3NiBTYWx0ZWRfX7llOlKkmvhe9 X+a7e57kg9u5+1UvCemADdrvynQhuJ7oWDflQJKtCAJsE6FeKrdf8m2WCmjTNeHkLLVTYVOw8sR wUK5CkNL7tVkyqB7Oxb77Z7mPlIhsoST8q2WTY1MkLsMdSzZRSh0 X-Proofpoint-ORIG-GUID: mKzfPJLO6Vho2vBqpg7GvgsVQL9yF8WP Content-Type: text/plain; charset="utf-8" Add the atomic long wrappers for the cond-load timeout interfaces. Cc: Will Deacon Cc: Peter Zijlstra Cc: Boqun Feng Acked-by: Catalin Marinas Signed-off-by: Ankur Arora --- include/linux/atomic/atomic-long.h | 18 +++++++++++------- scripts/atomic/gen-atomic-long.sh | 16 ++++++++++------ 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/include/linux/atomic/atomic-long.h b/include/linux/atomic/atom= ic-long.h index 6a4e47d2db35..553b6b0e0258 100644 --- a/include/linux/atomic/atomic-long.h +++ b/include/linux/atomic/atomic-long.h @@ -11,14 +11,18 @@ =20 #ifdef CONFIG_64BIT typedef atomic64_t atomic_long_t; -#define ATOMIC_LONG_INIT(i) ATOMIC64_INIT(i) -#define atomic_long_cond_read_acquire atomic64_cond_read_acquire -#define atomic_long_cond_read_relaxed atomic64_cond_read_relaxed +#define ATOMIC_LONG_INIT(i) ATOMIC64_INIT(i) +#define atomic_long_cond_read_acquire atomic64_cond_read_acquire +#define atomic_long_cond_read_relaxed atomic64_cond_read_relaxed +#define atomic_long_cond_read_acquire_timeout atomic64_cond_read_acquire_t= imeout +#define atomic_long_cond_read_relaxed_timeout atomic64_cond_read_relaxed_t= imeout #else typedef atomic_t atomic_long_t; -#define ATOMIC_LONG_INIT(i) ATOMIC_INIT(i) -#define atomic_long_cond_read_acquire atomic_cond_read_acquire -#define atomic_long_cond_read_relaxed atomic_cond_read_relaxed +#define ATOMIC_LONG_INIT(i) ATOMIC_INIT(i) +#define atomic_long_cond_read_acquire atomic_cond_read_acquire +#define atomic_long_cond_read_relaxed atomic_cond_read_relaxed +#define atomic_long_cond_read_acquire_timeout atomic_cond_read_acquire_tim= eout +#define atomic_long_cond_read_relaxed_timeout atomic_cond_read_relaxed_tim= eout #endif =20 /** @@ -1809,4 +1813,4 @@ raw_atomic_long_dec_if_positive(atomic_long_t *v) } =20 #endif /* _LINUX_ATOMIC_LONG_H */ -// 4b882bf19018602c10816c52f8b4ae280adc887b +// 79c1f4acb5774376ceed559843d5d9ed1348df99 diff --git a/scripts/atomic/gen-atomic-long.sh b/scripts/atomic/gen-atomic-= long.sh index 9826be3ba986..874643dc74bd 100755 --- a/scripts/atomic/gen-atomic-long.sh +++ b/scripts/atomic/gen-atomic-long.sh @@ -79,14 +79,18 @@ cat << EOF =20 #ifdef CONFIG_64BIT typedef atomic64_t atomic_long_t; -#define ATOMIC_LONG_INIT(i) ATOMIC64_INIT(i) -#define atomic_long_cond_read_acquire atomic64_cond_read_acquire -#define atomic_long_cond_read_relaxed atomic64_cond_read_relaxed +#define ATOMIC_LONG_INIT(i) ATOMIC64_INIT(i) +#define atomic_long_cond_read_acquire atomic64_cond_read_acquire +#define atomic_long_cond_read_relaxed atomic64_cond_read_relaxed +#define atomic_long_cond_read_acquire_timeout atomic64_cond_read_acquire_t= imeout +#define atomic_long_cond_read_relaxed_timeout atomic64_cond_read_relaxed_t= imeout #else typedef atomic_t atomic_long_t; -#define ATOMIC_LONG_INIT(i) ATOMIC_INIT(i) -#define atomic_long_cond_read_acquire atomic_cond_read_acquire -#define atomic_long_cond_read_relaxed atomic_cond_read_relaxed +#define ATOMIC_LONG_INIT(i) ATOMIC_INIT(i) +#define atomic_long_cond_read_acquire atomic_cond_read_acquire +#define atomic_long_cond_read_relaxed atomic_cond_read_relaxed +#define atomic_long_cond_read_acquire_timeout atomic_cond_read_acquire_tim= eout +#define atomic_long_cond_read_relaxed_timeout atomic_cond_read_relaxed_tim= eout #endif =20 EOF --=20 2.43.7 From nobody Sat Jul 25 20:04:11 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 7BFFC3ECBD2; Tue, 14 Jul 2026 07:31:46 +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=1784014308; cv=fail; b=rGoLMoWJELtqbrVaO9+ejqoFo42ZwyU+I7XhCXuv/DimLBIm367UVxbQ+BCta2QjGz7uKjZVV+5A71ALWEyVRJt+S8RG8bG9By9bke3iwtVt/ptfTTGssi2xtbp2LnIJgt2+shXiF6kbzcsIB5x+uXGQ6FxxxoeRkS0Mrqb50P8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784014308; c=relaxed/simple; bh=bZKut+D6baTggQkQ5BccLLEj5wfmguY2HhufDGBcnrw=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=MOmCt0N2pRyU++SvFTsfsM3Hacz+X5GAJROOZbH08f+PV2o5X6faTUyMxgxNJ1J77+kEIRF55O6WAsGvDvrkmQOv0sxmOmR0vk0BVDh846J3C+oTxDQMXVb+RTJZTHySisLFBJXmED5s5Jl1r03b7e8F9FEdxgM8PXZJZocYw6g= 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=AjGvA66c; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=Siyvc8nJ; 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="AjGvA66c"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="Siyvc8nJ" Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66DLCkk51376086; Tue, 14 Jul 2026 07:31:25 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=gB/bbdqh/0Sfqj/AUZ1l/h5lMgMMBqCVKXeuXLr0klk=; b= AjGvA66c2+DRBeuvkQulJ05tGGQMsbVTJkj++q/CYD0c1AKGtfok5J0fyuJkQsqV mZ3ZhhJKlMYxJRKPxk2vou0hYq0xfz1QxAeTq6sl/HtMeVug1sK/69VVu6swWUaQ o8ims3iFnLmjubQHYhQeblKDUJfWBw2VhdXZB6is6Xf8ILyf3OCoXpkuDJOWV19p 2L5edtE18ME4lXUtikaLYnewfFmq28Bcs2SM+mVcwHXKhJQ584pVC96VNNoKpj2a qjfr4JwNLvPT3nJG9Mt6UBz6bmISEx22z4jZpkpQwhIx4hd1aJMaqvsfk3iBZJoY gv1GblLAGqJTljyAY/8EmA== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4fbeedkp10-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 14 Jul 2026 07:31:24 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.7/8.18.1.7) with ESMTP id 66E7Scd1028621; Tue, 14 Jul 2026 07:31:23 GMT Received: from co1pr03cu002.outbound.protection.outlook.com (mail-westus2azon11010017.outbound.protection.outlook.com [52.101.46.17]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4fbc9r4gk7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 14 Jul 2026 07:31:23 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=l3lnynXSG+/LyiTJjjmY2CFPETK+mTENwhDfaCNzvCljYdb1waPi/aUKk3HTU1ej4xUuHpfp7rbb35GAqgvMMMZmrr62UOQxPgZaGfahazJSkASYnC+wFXb6CTAAXqQWcYr+KHYwCml2+3s0FRhYQ7VJr8b160xro4bdlPqs/jGzF9Da5GYkwat+7hQuAMAajcw4Ct3r5YBByecLzRT75CUCIDK2WU5vRq//2vB+Yz2MbFmrECC2MVVYTsdU6SvZEMUORuZiBZCBegnCBCPvNEqzgFE/a854KmsZaGNhNllDjPF+6BfvMoMiA87DI04PVKATFROanHx3ugbflxdf4g== 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=gB/bbdqh/0Sfqj/AUZ1l/h5lMgMMBqCVKXeuXLr0klk=; b=UcVCbfvNK69TIjkF2mfMVgiVnic+cvyChVe3gwCD4VcWkPvLb02V8qksJ682vH1Tq9lsEXcDShcd+rYdUZZbLcWNprn4gn8vk4TaFaxg+ZAqN6vTCcUQDj2+bPH6h3REbu85zSvBxNi188YjMOKWkRZRLzQeYWH19ecL5PLtzEoKdUghwxkusX9DwhhXT7rJjsGK4RkU8q/jvIF7MKS3BF2umJe2/DceGL3PVk2/AWFoxvE5qwO7z4TJunnluC2lCV23fjg7tE442UCHWgQEmWGDpFgqREy3L60rCFqSVBbpjUH3cx3qdCGIHOwu2lgOAUHzsR2yEcNt8PLDsZPf2Q== 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=gB/bbdqh/0Sfqj/AUZ1l/h5lMgMMBqCVKXeuXLr0klk=; b=Siyvc8nJe7+MI0zbgbq0BQfsCWdvK30bo1ZL69wkR9bjdw7YswvzZndAMc69C9ZdjrcTQzRIynQ8N8JSqZyF8VqoTzydoBVpsVGZhZFd7AKGQUHJSgx9NuXP2s0XOuqwYX+JzO2AvKqv1/prDqdCWNTeNOUEGGqHVfTo2W5+vNk= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by CY8PR10MB7124.namprd10.prod.outlook.com (2603:10b6:930:75::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.202.18; Tue, 14 Jul 2026 07:31:18 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574%6]) with mapi id 15.21.0202.018; Tue, 14 Jul 2026 07:31:18 +0000 From: Ankur Arora To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, bpf@vger.kernel.org Cc: arnd@arndb.de, catalin.marinas@arm.com, will@kernel.org, peterz@infradead.org, akpm@linux-foundation.org, mark.rutland@arm.com, harisokn@amazon.com, cl@gentwo.org, ast@kernel.org, rafael@kernel.org, daniel.lezcano@linaro.org, memxor@gmail.com, zhenglifeng1@huawei.com, xueshuai@linux.alibaba.com, rdunlap@infradead.org, david.laight.linux@gmail.com, broonie@kernel.org, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, ashok.bhat@arm.com, Ankur Arora Subject: [PATCH v14 09/15] bpf/rqspinlock: switch check_timeout() to a clock interface Date: Tue, 14 Jul 2026 00:30:35 -0700 Message-Id: <20260714073041.40250-10-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260714073041.40250-1-ankur.a.arora@oracle.com> References: <20260714073041.40250-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: YT4PR01CA0050.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:111::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_|CY8PR10MB7124:EE_ X-MS-Office365-Filtering-Correlation-Id: 99d72847-6600-4e27-cea0-08dee179e52b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|366016|1800799024|23010399003|6133799003|18002099003|22082099003|56012099006; X-Microsoft-Antispam-Message-Info: MhSTCALWAoYCJRAQtE1SjiiC7Mp+AMqp6VE6t1x6kX2LVHtLKksZ5wePffhi9InCIfsbTNQ53WpqvHdPei68l+c9EQUA1tJ9759ugWZXoMuoMF7nwvrpS250QYzASxkQWwqMHyUu0kRjAZeG75L0FlP5f+xQKmtk/nCKU6C41GeFn0lzQF8B0DLsIQQ1fiXbr3JeTimq7ovhAcFWpwF9aQq+jd9Omve7wly/ieMVLzZ5JLsUOfVdLS6hUzC81fxa5BGnfkfVFGdeFHAcmm1OTJcy6QbpaWi+vOn09jUbHf4qv6dNdlII97k5+r9/u99r9JwkSu9/FzcTKIb79pzMwYwRXu4LHikiVoRzIowOrKeKCEtQ/kC8Mk3ZehUpLE1oXGvHhQHOPG0/CX+3DtR77/4cbKM9VJxZ4fForc9AfLDlPNO3btpqFrIXQUerH34M405uiSb74sYZ2gvvhlfF1p2s/4fzxaVmQOfMXr5o4yZ/LedAiRf7ElJd7BZfnIaWz0BUP+qxoxsCfmxt+SF7trNT0vsZrySTyYt3MGimXkBJ/MCxVv8mf8rK2M1J+BJG3bRT0syD8CIz6VEms0OTol22KhRZrcxjls6U7Ax3kOcrANIQsm2GAt3qH8MtV9OBnywL22r8nls4NgwUcOwkUEUx9a9RtZ1eX5irU1M9BG8= 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)(7416014)(376014)(366016)(1800799024)(23010399003)(6133799003)(18002099003)(22082099003)(56012099006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?GP2z7b0YCnR1fO72tGmyRxyaXC85+t5f7bkT7YFPdE7/+YLmjj/cjbi/wSk9?= =?us-ascii?Q?EA5VAmB4MyM3gvWmGsLoo32AUYLPk/HLZ/6J0yKly1Pa5GdnRMy/DlhHW1j9?= =?us-ascii?Q?067Fn7u/Vi1NRN9z9wKY5ozsNs0k18RTKQB4ICUn4LmRNBN1Ez9fBIgvqcBV?= =?us-ascii?Q?j+wQJ3WKRzDFxnHpIwQclooAxqK7q18uSAxv7AcNdzNbJWpHcbn3/1+zX43B?= =?us-ascii?Q?EdgBIFPNPZOLzFTk4VxPg0PCX7F1bBFCtBFJgIOdzYSScfFHoUqlAtCIQDz2?= =?us-ascii?Q?6olspQEqijUqswZ69lFEP6s9+GN2AyveMzIL+k9+Y4YxwtqvcZgavUMK2IM1?= =?us-ascii?Q?6u0ue29KLjRdjU93RNtTZG1Zp3fyoyHt76NDIxo/55YkSk+tjUhX7zoXJIB1?= =?us-ascii?Q?e7SBuR2PDwSL1U7dH10R/f79irhq3osICdiNa+H6cwJk6cFNFR+MP/61yPHe?= =?us-ascii?Q?K5wWQpHjmVfPALpz6gmhisT4L019gVXRQ8R03AMpzV+NYj/DX33Gy4c7XtqO?= =?us-ascii?Q?ODD0IpaG53AtKCc9yTwztt5nBVZnDT7LV/YBS56NCgTVfBOHrmMddCB8Nk2T?= =?us-ascii?Q?JNFGR3OAZcyQ4AKGGlxjnl7gKH+O/8zitsNa3wpTH70RhSL0Ua1oTLrvPMjL?= =?us-ascii?Q?mxuHbB3wANm8zbbOfaxZbaGVpGUw7J2ywCLS8cE22lyGob3+bIdsI4C8WKkw?= =?us-ascii?Q?1FjZW37Oj0HCe//VrsBBRrHETEb/+D9uYD3IEsSRzFUe06kyUcLDkIXipHNc?= =?us-ascii?Q?sWJaUPWs9wMZWAiElE7L5eoNNCC4Fv+L/RkFgoZdQIJlSQ4b+LGZLr1NZIoj?= =?us-ascii?Q?wrOPsrOGTtttECuB1dIFCp5J33kjdTLIb13K+hNZWgovEIrS0vxWUVRwhpEG?= =?us-ascii?Q?iP9V7ABYt1PrVl5gCdzw0rzEVhQjXF0Hyo/YHwFMQxJYSO98bvzfJkJUnhfr?= =?us-ascii?Q?Uvu5+9OLN1B+39ayBb9s6k8G/PlHy/MI4KPjzwWd1uQXCNpUcL5bHT00D+C0?= =?us-ascii?Q?fnL8zbmCcQytsapEa1gKerKSetDZLZ279LU5V6zHExJLIvObuaX5A4NG4nAf?= =?us-ascii?Q?s7KRn/1uPoks4xI0uH5ZeNqb1WmrIGUygyNSjGGlTY26neDoU754mxA9JrmE?= =?us-ascii?Q?bQoN5GWG/R2JtiG8ExnWfnSB/vMdN+F/AzU5NSO5bV/aKBUtnvAoO4mSgiSP?= =?us-ascii?Q?JpLmSxlCkRX7+NpHEMSGHxoMsjzsegJbum4SFfMAKkpS2fxXJf9dmQCBDCph?= =?us-ascii?Q?zjhWk3Nf4BfFudOLuPEmRkhab5tgG5tbcio+mKJ5yHed9zUQDby0do+0fy6l?= =?us-ascii?Q?GwpCxW4CQamjVo5Z1DJLZGzzehe3kVXMmeusMSASxB6BSb9ttnlsz+uM8jYE?= =?us-ascii?Q?11WEFajsbweXsKEOJ+HlZ2hyBKiP40WORM44lBRmW9Gp/KQRQqDJS6kCf+Pk?= =?us-ascii?Q?p24csApItIP8HU+zaWHZXrvQ1MUYU+jUEs1f7K8IW1Og0WDwhkrA/AOmBG6l?= =?us-ascii?Q?uStFFC2e8V6O5Spfku2pudv44kCZjjksxe7rYQCtUgDMV6q8t+MKVgLW1Nn/?= =?us-ascii?Q?1040Z5bcCArJq9vLalTVfkxl6/p5aPRASrrzo/KGV5aBE581qduUMJo9yveD?= =?us-ascii?Q?HCJeM0OEO5TH9/3pzC6VyTlAniSniGB+pD7B46xXwAFBY7SCC+CduLIaRZJX?= =?us-ascii?Q?taWdhbs3NJG7U7tyJELGUqt3HtSNkpjZSeUrzbhaHxrHnGFIb7frXCZFJ7UF?= =?us-ascii?Q?/Rf+I4bx7A=3D=3D?= X-Exchange-RoutingPolicyChecked: Cm1xASPh2j6WklAM+KNtBYKCJRG3oldPIIMG6aGQJgjADES09s3bqnnZUaEuB3AMk1fVFAOcvOiF7XUgStVrRwQbuAE+3kO5J7DuO6q7ZWrrN6ojs0Xn06gI2by5zTzOlGg29pBjImUlShJm17kSDXBYJILPLPJSvojFVIqbVp8uel3A8H3wcenen7fDTgbOTCmtmCQoz7nfXekxrZlwA89UKpEwrgerInD5IxZhPLXKl8ZgbNo3ka+ngO3SVl882sF3YbkkimXEo5gbkGZY/JeXCjMBWpoQyyfWa8BMAZO2Nanq2OeibWHUsudiqWTxsDEJM7VOTeJpaJVUhEMqsA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: aoIitUPd3z3N3CjyOHpMpo1XhAkY0gXpkTXE4pRJwZNv9qKrwtFmE0BUlKzrt6QYUcHG+EOSbsiLW1yrzqJMrjIf9ybKVMzGYDcxmXuPPvR3gmOfiMmCriELSa69aGcMA5B5HfKrr9gopbBD0AtX6ks+9Po5iizOE5Z6TQ7cTwBiQO7xMi4s0ImNDrqGAa60whaRDmJOdeD4JZlq2kClJhK5OyN44R6Vg91/fJD6106wPrEZk4+5tCPjByDvP5/OgP+d8hrQAybjb103WqXl4t+pUFluPpEFxkU6H7lBAvRNstwsfgef+6b1pCuECA7ZyBsBQWK0z8O6BzT2HxgPbA0tOZ1L1L2+qrB24/zHBiHgNnma5sgkDYub5m5zo6Lg7DKFCt02nCz8l4TWOsbpTzBglSzMX5PPFyujqg4sZcBdn8eRYw53ZjUNUn31TCe9ZeEbn6u6mTBz+ZO+L6JTDycxJbdEQFkHKBP7y6Dfw+DCI/TZYEDh3iXwB+pXPy2aVBktnRvQM0JhgIOiJoWMlPxSBPtVVX1jcAboF4PC7UNYUicagZ1I476D9Hv6vJ4pWmaD6b0+Yjr4CGqOpmNutG2or06escitr/+ON+s4tAo= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 99d72847-6600-4e27-cea0-08dee179e52b X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2026 07:31:18.6724 (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: ZDdBE52Jfm7at+HOS/Uwzd0t35UxLjV+Es3237WgoQF9n6m1mMsL4dNF5se7dePqbB2hb8e2BwdF2HutFKRSlquNqYLOl18UlvaNeOj07u0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB7124 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-14_02,2026-07-10_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 spamscore=0 bulkscore=0 phishscore=0 lowpriorityscore=0 mlxlogscore=999 suspectscore=0 malwarescore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2606160000 definitions=main-2607140076 X-Authority-Analysis: v=2.4 cv=d+bFDxjE c=1 sm=1 tr=0 ts=6a55e5cd b=1 cx=c_pps a=qoll8+KPOyaMroiJ2sR5sw==:117 a=qoll8+KPOyaMroiJ2sR5sw==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=RAioF0-LDSMA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22 a=RD47p0oAkeU5bO7t-o6f:22 a=VwQbUJbxAAAA:8 a=pGLkceISAAAA:8 a=yPCof4ZbAAAA:8 a=LqkqbBbWekfmbT-3qckA:9 a=5yU3S35YU4bGjq-dph-N:22 a=Bho9c0fBagfJEIQBS7DQ:22 cc=ntf awl=host:12222 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE0MDA3NiBTYWx0ZWRfX91k6fNGUPmls i/pyCb0JszElg9Fwg0A6mwvbA8Z36MmB3D9wR4kjoTWawa35Q9OmnASv5bReHepDYRTweFqVAIf TNT6MwINL36LWEB80jUUYbcd3ixfNqHZr8iOU5ynhCKghIN9Q8PJUwSsEtfHN5676h2eejcejnO uWLBgnuqtOlL5j1n1jr4wv6+sfywWYeclvPqHlEXghRJinTB+3oujMV6p/yhXboDmszBrJ4cSva FzxG+BmJdBe3E5sosd5B6hr0ZmMUxGZMw7reGnKHznbgaOwTiS63BfDrARzcuwS4lBvE5z7x0nQ itj/i9YCUT5WX1NKL3khsz93+YJjL+m0P/L8AKuD2+VKDwOeiB6VTAAvHwbHylfZfJQ/AKiD6ox 8/A9CAcNh8RWcSPNnpV4Y5kl7vpIIeHRnvR4Ip+976rttWMUJNAPP/YQGrCtvBfzvgxiYeTZOE8 viBIdCCbaVOk5ht7pC+xfhRigAjBi6upXmx6RIIM= X-Proofpoint-GUID: iCJ4he-xDupIPSxAGLGSE_cQfPESqfcH X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE0MDA3NiBTYWx0ZWRfX4oSWPjGAyXkY madZWFd6RR1XxUUiuqKiOWRSSsPewago37/+WxjlM2W+8K07m0vkO+l7+np9zKY1YJXFod7Vjg7 lbbYkOghmWNvHpNvB45rvYKufacVzJtR7FMdAqvaKv4pzaoqXEU/ X-Proofpoint-ORIG-GUID: iCJ4he-xDupIPSxAGLGSE_cQfPESqfcH Content-Type: text/plain; charset="utf-8" check_timeout() gets the current time value and depending on how much time has passed, checks for deadlock or times out, returning 0 or -errno on deadlock or timeout. Switch this out to a clock style interface, where it functions as a clock in the "lock-domain", returning the current time until a deadlock or timeout occurs. Once a deadlock or timeout has occurred, it stops functioning as a clock and returns error. Also adjust the RES_CHECK_TIMEOUT macro to discard the clock value when updating the explicit return status. Cc: bpf@vger.kernel.org Cc: Kumar Kartikeya Dwivedi Cc: Alexei Starovoitov Acked-by: Kumar Kartikeya Dwivedi Signed-off-by: Ankur Arora --- kernel/bpf/rqspinlock.c | 45 +++++++++++++++++++++++++++-------------- 1 file changed, 30 insertions(+), 15 deletions(-) diff --git a/kernel/bpf/rqspinlock.c b/kernel/bpf/rqspinlock.c index e4e338cdb437..0ec17ebb67c1 100644 --- a/kernel/bpf/rqspinlock.c +++ b/kernel/bpf/rqspinlock.c @@ -196,8 +196,12 @@ static noinline int check_deadlock_ABBA(rqspinlock_t *= lock, u32 mask) return 0; } =20 -static noinline int check_timeout(rqspinlock_t *lock, u32 mask, - struct rqspinlock_timeout *ts) +/* + * Returns current monotonic time in ns on success or, negative errno + * value on failure due to timeout expiration or detection of deadlock. + */ +static noinline s64 clock_deadlock(rqspinlock_t *lock, u32 mask, + struct rqspinlock_timeout *ts) { u64 prev =3D ts->cur; u64 time; @@ -207,7 +211,7 @@ static noinline int check_timeout(rqspinlock_t *lock, u= 32 mask, return -EDEADLK; ts->cur =3D ktime_get_mono_fast_ns(); ts->timeout_end =3D ts->cur + ts->duration; - return 0; + return (s64)ts->cur; } =20 time =3D ktime_get_mono_fast_ns(); @@ -219,11 +223,15 @@ static noinline int check_timeout(rqspinlock_t *lock,= u32 mask, * checks. */ if (prev + NSEC_PER_MSEC < time) { + int ret; ts->cur =3D time; - return check_deadlock_ABBA(lock, mask); + ret =3D check_deadlock_ABBA(lock, mask); + if (ret) + return ret; + } =20 - return 0; + return (s64)time; } =20 /* @@ -231,15 +239,22 @@ static noinline int check_timeout(rqspinlock_t *lock,= u32 mask, * as the macro does internal amortization for us. */ #ifndef res_smp_cond_load_acquire -#define RES_CHECK_TIMEOUT(ts, ret, mask) \ - ({ \ - if (!(ts).spin++) \ - (ret) =3D check_timeout((lock), (mask), &(ts)); \ - (ret); \ +#define RES_CHECK_TIMEOUT(ts, ret, mask) \ + ({ \ + s64 __timeval_err =3D 0; \ + if (!(ts).spin++) \ + __timeval_err =3D clock_deadlock((lock), (mask), &(ts)); \ + (ret) =3D __timeval_err < 0 ? __timeval_err : 0; \ + __timeval_err; \ }) #else -#define RES_CHECK_TIMEOUT(ts, ret, mask) \ - ({ (ret) =3D check_timeout((lock), (mask), &(ts)); }) +#define RES_CHECK_TIMEOUT(ts, ret, mask) \ + ({ \ + s64 __timeval_err; \ + __timeval_err =3D clock_deadlock((lock), (mask), &(ts)); \ + (ret) =3D __timeval_err < 0 ? __timeval_err : 0; \ + __timeval_err; \ + }) #endif =20 /* @@ -281,7 +296,7 @@ int __lockfunc resilient_tas_spin_lock(rqspinlock_t *lo= ck) val =3D atomic_read(&lock->val); =20 if (val || !atomic_try_cmpxchg(&lock->val, &val, 1)) { - if (RES_CHECK_TIMEOUT(ts, ret, ~0u)) + if (RES_CHECK_TIMEOUT(ts, ret, ~0u) < 0) goto out; cpu_relax(); goto retry; @@ -406,7 +421,7 @@ int __lockfunc resilient_queued_spin_lock_slowpath(rqsp= inlock_t *lock, u32 val) */ if (val & _Q_LOCKED_MASK) { RES_RESET_TIMEOUT(ts, RES_DEF_TIMEOUT); - res_smp_cond_load_acquire(&lock->locked, !VAL || RES_CHECK_TIMEOUT(ts, r= et, _Q_LOCKED_MASK)); + res_smp_cond_load_acquire(&lock->locked, !VAL || RES_CHECK_TIMEOUT(ts, r= et, _Q_LOCKED_MASK) < 0); } =20 if (ret) { @@ -568,7 +583,7 @@ int __lockfunc resilient_queued_spin_lock_slowpath(rqsp= inlock_t *lock, u32 val) */ RES_RESET_TIMEOUT(ts, RES_DEF_TIMEOUT * 2); val =3D res_atomic_cond_read_acquire(&lock->val, !(VAL & _Q_LOCKED_PENDIN= G_MASK) || - RES_CHECK_TIMEOUT(ts, ret, _Q_LOCKED_PENDING_MASK)); + RES_CHECK_TIMEOUT(ts, ret, _Q_LOCKED_PENDING_MASK) < 0); =20 /* Disable queue destruction when we detect deadlocks. */ if (ret =3D=3D -EDEADLK) { --=20 2.43.7 From nobody Sat Jul 25 20:04:11 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 F00A63F0AA6; Tue, 14 Jul 2026 07:32:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784014332; cv=fail; b=tX2MiNIMqmzmhWk/RqbghjP68MQCqhivdt4sjjbtxozIqvqj9riUeozlghDbkXBDzwlbUUOUJ+uVvFaCefRlhDGWOduEMrRWr2i5gFuGpLKlgLqNpFzi/IkGUHO8CEmnZxh4LYhfbIbzQ3wZSZtkoxwbFSW3DsP3Wui9JD3AVQY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784014332; c=relaxed/simple; bh=OGgZFOJnEFXL2DxEhblWZm+ihjvmCsHzXw+FF5ZdFAE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=IcxfPr+dHZmMXSA63FalmChcQ3gyiJ5gsWH+tJCQUFN7Yn+f76/FIlawzf1xOyLWULrTmB9bhRYvbtgU9tAJmX8/yAuvEs5ZdhlfZKU+ATkfXtASHZWsdoT5UwGmrW8AqscTqzg0LpdA9qD2JWIKKrJqVEdbB2DLmd90/lOqb7Y= 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=Pmv1qmdf; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=gzMQDuh5; 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="Pmv1qmdf"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="gzMQDuh5" Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66E0fn0c2668378; Tue, 14 Jul 2026 07:31:41 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=OeHj89SpsumH2DaeSYcLq/KfrJphpYP5mF6B1d1qsLk=; b= Pmv1qmdfQjc8clrwHSQOl5ahqRUvXjKtHhfgch6t2S19FXst8KLbGWLY+OwI6/fl qwP+A71e5oWAReP/XKW8G3pZbye9bM0RGFf7ziU04xTqCPmQuRyF7bc8j2iRJ1o+ R4IhfAbJFudNkeTrE5nouLSBgXHme7pyHDEwSF0j2OPa0kDn+ElIeVaINUkl0v65 4anDDMRcWUEHTs1Dc3lftDv+ubRcg9+u5lOOlfoJihl0IaJ/4y5yreiugvmJele1 L5nmlZ8nQ/ESVNzcazWsMYCJJO5+5d3pGqaFkbqWdnqfyJYNAqGhDyWW57kM+Cdl 9AlSdXzvXz3MZoqyVcETOA== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4fben1kmub-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 14 Jul 2026 07:31:41 +0000 (GMT) Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.7/8.18.1.7) with ESMTP id 66E7I0h3016738; Tue, 14 Jul 2026 07:31:26 GMT Received: from sn4pr2101cu001.outbound.protection.outlook.com (mail-southcentralusazon11012053.outbound.protection.outlook.com [40.93.195.53]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4fbc9dvk1b-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 14 Jul 2026 07:31:26 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YX73q4HjsXZlj/qXp3u/QMZrHGF/XkBJkTlmUw5x+xPmUTuhKlITMaUjYLX5rCdbdduiSUsS4LzY0KaMDg+h6fImn5f3PmNgKTRlKosmBWQItNSm3Sg8qnHNJGBJVH+RY1PWEW0QLmY4nNqSbYjnI6+Q2eUyU2W5VN3PrDHkJ5jHTqbC04J45Q1IOzAyom+J8u2mA2i5/pC6VWf4RqGHtPFTx5tflE+9oi5TcO98BWRMY25U46/WTuLmNGTMbR3QGfKF6T6HDkoZynfOYHctAZPGLVvOquo2hpoW/JxYg5sizyTaWTFD8empsmmrxGERaoUo1/2L8L8Wg2IoH3Ayig== 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=OeHj89SpsumH2DaeSYcLq/KfrJphpYP5mF6B1d1qsLk=; b=a1uFX5/0JFd34OR9k3JDh4gNcPLAE8aO6FiZNPaR7ZMQXbU6ttk3xtKcqTHFlIA4Y8shCQZBhSelnPuTzTRdSerUHs0CSy5axCUNC9RistYj7dzCwhs7H5BsgijoNODjqsrKm8m6zg7AZzFO/ZXej343qEkaAU4HPUMlhaSQ280yPAS1ZdlcJQU6XBrORerKy+LG976K74l85r3sV1vOxVT/o+AMgGtWKQ/L3MD07cBX4DNWD6qWCFP29jhjj1+2clg7lqnWh3luyeFyjQ/2fTRjIYFQBU2SuKYjph0s8zPb51Hy69yN1DS4uTvHzTd05QOnY1B0HVROyiJhkgBFMg== 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=OeHj89SpsumH2DaeSYcLq/KfrJphpYP5mF6B1d1qsLk=; b=gzMQDuh5oq4x00rJnyOl1ZQ5nPfwuAwlhDqwIrpoBmO3/wu9kWEs9Vrli0SltQdA067lf6ddol2FUSxirc08lZ8B4n7s0EcaIHYVTDcfi7n7bT//7rO2S4iauO1+SxFpwKHkOmaYRrqwuvpFTI/V8oN4FNHNb6i7Yq6lRItilzQ= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by CY5PR10MB6262.namprd10.prod.outlook.com (2603:10b6:930:42::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.202.19; Tue, 14 Jul 2026 07:31:20 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574%6]) with mapi id 15.21.0202.018; Tue, 14 Jul 2026 07:31:20 +0000 From: Ankur Arora To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, bpf@vger.kernel.org Cc: arnd@arndb.de, catalin.marinas@arm.com, will@kernel.org, peterz@infradead.org, akpm@linux-foundation.org, mark.rutland@arm.com, harisokn@amazon.com, cl@gentwo.org, ast@kernel.org, rafael@kernel.org, daniel.lezcano@linaro.org, memxor@gmail.com, zhenglifeng1@huawei.com, xueshuai@linux.alibaba.com, rdunlap@infradead.org, david.laight.linux@gmail.com, broonie@kernel.org, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, ashok.bhat@arm.com, Ankur Arora Subject: [PATCH v14 10/15] bpf/rqspinlock: Use smp_cond_load_acquire_timeout() Date: Tue, 14 Jul 2026 00:30:36 -0700 Message-Id: <20260714073041.40250-11-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260714073041.40250-1-ankur.a.arora@oracle.com> References: <20260714073041.40250-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR04CA0158.namprd04.prod.outlook.com (2603:10b6:303:85::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_|CY5PR10MB6262:EE_ X-MS-Office365-Filtering-Correlation-Id: 250c6a72-b256-477e-f7e0-08dee179e60d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|23010399003|7416014|366016|1800799024|3023799007|22082099003|18002099003|56012099006|6133799003|5023799004; X-Microsoft-Antispam-Message-Info: rtBwMEFhuyMkhObhwUlWSEz63skqyfUSidPJepGs5hidJBspz15y+dCt0jSBIs6YUCDQOKZx0/pe6ju3bjCC5saivXdD85qMkgjQ2mWIllqvnI5zdOvaOoWTY9a6+gdHX1c9wybod8iShe72EnNLEHN9A+qiDD7KUE8RKFwAtoaRbpBLM+Zz4OITLZ8q618fU1aOtTHShxXdP1GI5XDxvmNEhdSZsw56VmRh3P5DQhK3jzpzs5QyagdpHQnb3qUICD4HtAefkav4aJ8InmZlJBiTIPcCxHrtN+RMm66MNnvkv2w+SYfu2aXyeGRxQunx1KzFDN9/gia4BW/iaj4gkJq+1UEVhPHPmIPksYhBp/19o7uBfXY6JoAXZODeqN/kTFSnXCoVXvTQApBdQ/fQgzeLrksuXGpwycWXZJG2tSoGHLpkbRep8W8LxhLntQCPQPITMXT4hiz16IMN7ErDC6GeBLZAsS6utse5LDIA7m81DVIXcyQt0jsMcANKa5c2+AX02ar6DjTWwjqbudvme+54ZmO9AJfNURnKFzQY+6U7i4U0eS06biTEhaJOWq+IHsB5ppyCQaaqQVzi6+DUhtXqVi9Rd0+usnn0+zC69OMz5qqIuvz/5X/3EvjwPdeHvPJBAXawvReQcabpyaLVUxNsAVpNWjaOF43Vc/PeugM= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(23010399003)(7416014)(366016)(1800799024)(3023799007)(22082099003)(18002099003)(56012099006)(6133799003)(5023799004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?J/dpbfPIgVC2XjIc9Mmr49cgkEBssLAFLJDyq51cXQVdP+wr8vTNKqIGhDNn?= =?us-ascii?Q?PaKkI0F4/ZAcT9kKCTRb0LBT5Xr0E6Ps8SciJGMb8Mg+0lOa54hZyPaNMbl4?= =?us-ascii?Q?WwDa/kvqy94u6ZB5bkyVRmI0SBDlm/KDV1+bMhZPW6CcGUZo5WkD3rRuHgo0?= =?us-ascii?Q?138XYExabY4WoLS89ry5t5kAO3kQU7q9qWw8cdAOekqvzxWaEMnZtGQshg/J?= =?us-ascii?Q?xo/bn8UPIdfLfp140mxShellcv97PLppa2iiEiWZH0fmCW9C9/oSfpAh2cPq?= =?us-ascii?Q?nHRDgt3zeX9H+bIVr0ilwqbcDsCrOD9AHrfIKbXmQoox1UWzIhicHX1PX2It?= =?us-ascii?Q?s4ifdaDGjMMsVHfccvnkdfZEoDPP8nH6jUAmHX52YfnOY5z/bZpFGLFfphkP?= =?us-ascii?Q?CHTbYQmv4nBwBEQhnAy/t3cPL/bDmDC++rp10RImauQGARlVKjcLtn1Dx+yI?= =?us-ascii?Q?J/7ZyhpSkCt+e82jAvfTFZl53+pTaPJNx70mQgOAMpT4abv5/Lb16BRjAVi7?= =?us-ascii?Q?wKOEhvHA0uvTIzRB2RrXpbk3pzYcVbZUSOQ7ZjIl4XtXZTwnBQfub0T2jz3q?= =?us-ascii?Q?dVFNJfow9/mwz5Q4Z/Y/zf+CXMQKHNyjVDfqOQi9o0BLwbz28qsEkr0XaXAV?= =?us-ascii?Q?rUL7S4qmSFZuCLIddLFjgP9HqV+tdg//DkCOgFNQsLTWpJWhSMvjfBxr9ytJ?= =?us-ascii?Q?MurMkyoLlpxAG3Vk79Lktt0UphzWtU7u/vddYsf8WUz/xjue6VquvXJdJeE0?= =?us-ascii?Q?jAJKWw0vaG/c1U6gnLCcngKYTJqyWvwnasD145wIgpdiNRZ1LRTfVh6Xly0z?= =?us-ascii?Q?gkzXuk/RkAhW2wZhgmOX6yVJ8AsvIscbTdwVLEmOeqpmSr9/b/7G/IH3irFH?= =?us-ascii?Q?P7G8Gk2/Qd/epui4mIRplqv5wVLFBGaxbuhPtAKxA0p1C5TZRS0Ar76eHJPS?= =?us-ascii?Q?ainiHW1I4tbbzNJXCfcLu8UYXle6jEbwnPDB7MqPJwcE+LvTpYN4r2mQS0ZD?= =?us-ascii?Q?ceqYydJA/hDjms0dVXndJ5Wh/+idAUH0pSleTjDo+2qS4THzSk/x3T94o/sa?= =?us-ascii?Q?9HPd0MXdG5Png3UW64zqr5h7kEh/iC+YceRYxRFWZ632gCuICM6aEDtv+pHH?= =?us-ascii?Q?7ZxWGAdrmEc7tRDSnv9VyOEdaKgiR9wiOEUux9ViX/q40RWw7PfEXKskCFss?= =?us-ascii?Q?DyGw3wjAJYZvoP2qRsa6fJdX7R1mpj24dIvjZkrHC7Yvzl479BVdbHxgNIUW?= =?us-ascii?Q?4DnYJDHNH+7Bus1XIlinATIKAUfMcsLXqOrM0rk4n+td8d0qjl8cnWsoZe1h?= =?us-ascii?Q?4Zko2mVqr/l/txnjKagsgaSIR2L6j++o2wJfm8CEDfLiBI+avh3PGT1zhtGU?= =?us-ascii?Q?tgI5vMzPDYylFmUZ9Bswu7Pe5qVozZ74mwrnzybTpvIv2hE2SnerKi2awE/8?= =?us-ascii?Q?vQBntQ8E22o1NwtZJHPtSvhPhNDd/vPq54qLaNMajxT5UQTj7cPJ1eCXIqM5?= =?us-ascii?Q?mWp5Pyk7GN7jRW4Ai2E7FW1x+5hNKAAT7YSHbyafVk8A10++uWVlfFSyTmKC?= =?us-ascii?Q?xck4FHMPCaqspWyNXqzshNvB7qsNVBlFHKDJqaTRs1g9qsKxet/hO4xoiShg?= =?us-ascii?Q?l1sxhGVFzOtU4C8Siv59AcxVZZH8zOMwNQSDg4KJ/v0oW/eWtKw3uxduERF6?= =?us-ascii?Q?/UlOM6VoSCCKzhp1mz/XV7aAqHPkXZSjBKtOLmbEwSoVQzROcOp0FWTVd02A?= =?us-ascii?Q?wR38+qcyf85x4FN72Zr99wdQbr+5l04=3D?= X-Exchange-RoutingPolicyChecked: g0moKG6Q1+Y3WWVYQj9WADPq+WnPCRQAd5yI67eqUerVgXQuIAYoreMCNjQVObQ4Lolod7S18ljIFT4E4OacgCyLjpaQhPOK93+3OOTtqbGL9Jjxm99nFmcXJJrTuPgRjbzEuzSYkpSwQjoJfSjpOLtA1gOJcNg8eZOrJ19gOe397ZGnhrpiKCdBWvSdfd1o6DiKLEQmbhVKRh23somwPQfKj3lbARHtuIluYT5h+loL0DH/WDoDZqZIstWmzq6j64Enb1Tcz8mxeboadIO+Xes0YY3fF0kRYRqK8zqow+MHJEBm5ld0MEalQul/BpMuzPBlrkyN34fuuy6XQkykQw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: zyPzYd4Nf5Q1BEjvvwRuuDWbyqfUW6w1iAcukQPcnV4faYNAG9YV0FjRKQH3bSenkbpclYzqumgMbNmdScCLf9qkQaP/utAzEd7FWPJGIeAlTuUUw0tUrEbujAnCuq/DSwQ/2FJvYu0EEcQ16XLqWhIVJ3rxQzT8QGF2/Z6aiRWQnRFBfPxRFOfH/rSkuW9H3hxPLYVm7ksYtc24uPJrEB5nqDGop30+tJp5z9H60xWiKTEK+BuWMgCFK+nLB4vo1adbGcuR1McmB0cAlMrUlklSXoaDfEs6zNq306xubSiJdMjjBL94NwwmSEu0LhIRlvLjCYH+nxR3myqVnhoIM5deXW8kn6o9VFYH5oPK+1fQp9hsv19zNGlIorMAoPSkMP68BgcQFwm3shFdluQuQGLV0UGafhCxDeQFZtqtHNvd0156q0a8oJ0ELjKabP3Zq9+p3Qz4kqTxV5e9RSOoVed7n582h+d8fzbyNgmbGKG79aDlITRhMwAje++xaZRu5mzfzWnBtFi5bxQJwaXeIaee+FBDT6b8x9fD4AIExTEf4qJmIHfdHJ7P74xX3mk8SmXg8rDrehIdGHBbucL44LUvFAMePYP20A1kgvU8g1s= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 250c6a72-b256-477e-f7e0-08dee179e60d X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2026 07:31:20.1462 (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: IZinPqdh8zDMP87+Et1QR9602BVLW7e0WL9BYnhjqGnaqMqeu5A34akgLu5F+ps2zopslGjwc3E7nDIhpF7C3rCBwOKWUsUTcZVB47GKXpU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR10MB6262 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-14_02,2026-07-10_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 lowpriorityscore=0 mlxscore=0 adultscore=0 spamscore=0 mlxlogscore=999 malwarescore=0 suspectscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2606160000 definitions=main-2607140075 X-Authority-Analysis: v=2.4 cv=d5nFDxjE c=1 sm=1 tr=0 ts=6a55e5dd cx=c_pps a=OOZaFjgC48PWsiFpTAqLcw==:117 a=OOZaFjgC48PWsiFpTAqLcw==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=RAioF0-LDSMA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22 a=x4eqshVgHu-cdnggieHk:22 a=VwQbUJbxAAAA:8 a=pGLkceISAAAA:8 a=yPCof4ZbAAAA:8 a=Ru_WXoCZngTtvYUXGSoA:9 X-Proofpoint-GUID: 3OLmCnlI9rP2QcdbLHi70AL07blbig3E X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE0MDA3NiBTYWx0ZWRfX88Rzo1HFFzcQ UyPEyAJ7eQkeq40+9FaRjymAjAWwXm3XTMLxPp/tL3PWnK8zE47MohLrziU+8BF/kmG7rWvd2DX tarSfb6dttUS7BhkKtSDcqHE3tTK8o4LHk+dEeRPtp7UyX8o1cIq4pmvd7iRW/wixD+Wnyqd+CX CSSgAbAldRDQdTbY12VekIBAHoNLfEWnMGZgpATKAI9aki9WUwSzjNItWBv1m+p67Wh5aci6ItD yTsSOMUAqj2gMPVP/RNHcLEIGlk9GVLJFE6cNW6GgJayNWUzrvUz4gdUH7JnLBtqDBE6MiXYEcu xXOn8CFElqkz7SLChjJFrswhsAHOLk/z7oRkUhuuLzTwjXbOloX7Bdvu13JV9z2UwSbK1nGrJAx f3x/r06toPfHaSOR5DsonV6nTz9zzywMYADj/ZynWAMBZaZqczDkwZf8Bcfg8UFN7NPVyjQv2A8 DozfKDcLhURiNnT5lzA== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE0MDA3NiBTYWx0ZWRfX+6K6mTE9WiPW jR0s6OgHwTWt/KTGNxOZ31Au/72EfeNLLcgLvQOzkAob3E9mvX9Hw1G8g203WaXFeMlaB09AtNo bxiK1fNmbIaXX24TeEFKvQix7PhzUJ6g1CE+lEnSp8TL8ABvmtM7 X-Proofpoint-ORIG-GUID: 3OLmCnlI9rP2QcdbLHi70AL07blbig3E Content-Type: text/plain; charset="utf-8" Switch out the conditional load interfaces used by rqspinlock to smp_cond_read_acquire_timeout() and its wrapper, atomic_cond_read_acquire_timeout(). Both these handle the timeout and amortize as needed, so use the non-amortized RES_CHECK_TIMEOUT. RES_CHECK_TIMEOUT does double duty here -- presenting the current clock value, the timeout/deadlock error from clock_deadlock() to the cond-load and, returning the error value via ret. For correctness, we need to ensure that the error case of the cond-load interface always agrees with that in clock_deadlock(). For the most part, this is fine because there's no independent clock, or double reads from the clock in cond-load -- either of which could lead to its internal state going out of sync from that of clock_deadlock(). There is, however, an edge case where clock_deadlock() checks for: if (time > ts->timeout_end) return -ETIMEDOUT; while smp_cond_load_acquire_timeout() checks for: __time_now =3D (time_expr_ns); if (__time_now <=3D 0 || __time_now >=3D __time_end) { VAL =3D READ_ONCE(*__PTR); break; } This runs into a problem when (__time_now =3D=3D __time_end) since clock_deadlock() does not treat it as a timeout condition but the second clause in the conditional above does. So, add an equality check in clock_deadlock(). Finally, redefine SMP_TIMEOUT_POLL_COUNT to be 16k to be similar to the spin-count used in the amortized version. We only do this for non-arm64 as that uses a waiting implementation. Cc: bpf@vger.kernel.org Cc: Kumar Kartikeya Dwivedi Cc: Alexei Starovoitov Acked-by: Kumar Kartikeya Dwivedi Signed-off-by: Ankur Arora --- kernel/bpf/rqspinlock.c | 40 +++++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/kernel/bpf/rqspinlock.c b/kernel/bpf/rqspinlock.c index 0ec17ebb67c1..e5e27266b813 100644 --- a/kernel/bpf/rqspinlock.c +++ b/kernel/bpf/rqspinlock.c @@ -215,7 +215,7 @@ static noinline s64 clock_deadlock(rqspinlock_t *lock, = u32 mask, } =20 time =3D ktime_get_mono_fast_ns(); - if (time > ts->timeout_end) + if (time >=3D ts->timeout_end) return -ETIMEDOUT; =20 /* @@ -235,11 +235,10 @@ static noinline s64 clock_deadlock(rqspinlock_t *lock= , u32 mask, } =20 /* - * Do not amortize with spins when res_smp_cond_load_acquire is defined, - * as the macro does internal amortization for us. + * Spin amortized version of RES_CHECK_TIMEOUT. Used when busy-waiting in + * atomic_try_cmpxchg(). */ -#ifndef res_smp_cond_load_acquire -#define RES_CHECK_TIMEOUT(ts, ret, mask) \ +#define RES_CHECK_TIMEOUT_AMORTIZED(ts, ret, mask) \ ({ \ s64 __timeval_err =3D 0; \ if (!(ts).spin++) \ @@ -247,7 +246,7 @@ static noinline s64 clock_deadlock(rqspinlock_t *lock, = u32 mask, (ret) =3D __timeval_err < 0 ? __timeval_err : 0; \ __timeval_err; \ }) -#else + #define RES_CHECK_TIMEOUT(ts, ret, mask) \ ({ \ s64 __timeval_err; \ @@ -255,7 +254,6 @@ static noinline s64 clock_deadlock(rqspinlock_t *lock, = u32 mask, (ret) =3D __timeval_err < 0 ? __timeval_err : 0; \ __timeval_err; \ }) -#endif =20 /* * Initialize the 'spin' member. @@ -269,6 +267,17 @@ static noinline s64 clock_deadlock(rqspinlock_t *lock,= u32 mask, */ #define RES_RESET_TIMEOUT(ts, _duration) ({ (ts).timeout_end =3D 0; (ts).d= uration =3D _duration; }) =20 +/* + * Limit how often we invoke clock_deadlock() while spin-waiting in + * smp_cond_load_acquire_timeout() or atomic_cond_read_acquire_timeout(). + * + * We only override the default value not superceding ARM64's override. + */ +#ifndef CONFIG_ARM64 +#undef SMP_TIMEOUT_POLL_COUNT +#define SMP_TIMEOUT_POLL_COUNT (16*1024) +#endif + /* * Provide a test-and-set fallback for cases when queued spin lock support= is * absent from the architecture. @@ -296,7 +305,7 @@ int __lockfunc resilient_tas_spin_lock(rqspinlock_t *lo= ck) val =3D atomic_read(&lock->val); =20 if (val || !atomic_try_cmpxchg(&lock->val, &val, 1)) { - if (RES_CHECK_TIMEOUT(ts, ret, ~0u) < 0) + if (RES_CHECK_TIMEOUT_AMORTIZED(ts, ret, ~0u) < 0) goto out; cpu_relax(); goto retry; @@ -319,12 +328,6 @@ EXPORT_SYMBOL_GPL(resilient_tas_spin_lock); */ static DEFINE_PER_CPU_ALIGNED(struct qnode, rqnodes[_Q_MAX_NODES]); =20 -#ifndef res_smp_cond_load_acquire -#define res_smp_cond_load_acquire(v, c) smp_cond_load_acquire(v, c) -#endif - -#define res_atomic_cond_read_acquire(v, c) res_smp_cond_load_acquire(&(v)-= >counter, (c)) - /** * resilient_queued_spin_lock_slowpath - acquire the queued spinlock * @lock: Pointer to queued spinlock structure @@ -421,7 +424,9 @@ int __lockfunc resilient_queued_spin_lock_slowpath(rqsp= inlock_t *lock, u32 val) */ if (val & _Q_LOCKED_MASK) { RES_RESET_TIMEOUT(ts, RES_DEF_TIMEOUT); - res_smp_cond_load_acquire(&lock->locked, !VAL || RES_CHECK_TIMEOUT(ts, r= et, _Q_LOCKED_MASK) < 0); + smp_cond_load_acquire_timeout(&lock->locked, !VAL, + RES_CHECK_TIMEOUT(ts, ret, _Q_LOCKED_MASK), + ts.duration); } =20 if (ret) { @@ -582,8 +587,9 @@ int __lockfunc resilient_queued_spin_lock_slowpath(rqsp= inlock_t *lock, u32 val) * us. */ RES_RESET_TIMEOUT(ts, RES_DEF_TIMEOUT * 2); - val =3D res_atomic_cond_read_acquire(&lock->val, !(VAL & _Q_LOCKED_PENDIN= G_MASK) || - RES_CHECK_TIMEOUT(ts, ret, _Q_LOCKED_PENDING_MASK) < 0); + val =3D atomic_cond_read_acquire_timeout(&lock->val, !(VAL & _Q_LOCKED_PE= NDING_MASK), + RES_CHECK_TIMEOUT(ts, ret, _Q_LOCKED_PENDING_MASK), + ts.duration); =20 /* Disable queue destruction when we detect deadlocks. */ if (ret =3D=3D -EDEADLK) { --=20 2.43.7 From nobody Sat Jul 25 20:04:11 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 677C03EFD1F; Tue, 14 Jul 2026 07:32:05 +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=1784014326; cv=fail; b=Om9c5DI8qihSwKN1v06o8YQxsbwFHkIzWE2Y2YgaAGVVlBnPAUebthULX7y2V20oGHucK1q6N/5OzJaCrf/CC+ztdoG6LgTmn0gnNUWIxA5eVHGe7LB5S5Vdwz7AErFbTEFlIUNdY42PqaUpK6ZWRmf1t42xWsG71fZiyJe4z+Y= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784014326; c=relaxed/simple; bh=5X9U02aS4T8loT3H8XpIbPonFBPvCzFQej/Dq2yztC8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=GY7Tulb7RmU8HjG+IghkRJmWrDW72IzrM5GdwhjW3iP8IN2btWDDHgcNNRecnYg6dywQwnozU3cLJs14UNqBGOSQ1izNrrtD5DI6LYAQp9ojcxMWoQtECPbE76q6Nk79j7s4UIwBquVeMiGFtacCcrRaIIETkFB980xdFvUSQho= 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=UVh+J2HY; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=aWSDkLsc; 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="UVh+J2HY"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="aWSDkLsc" Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66DLEbNt1392159; Tue, 14 Jul 2026 07:31:41 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=5Urzdw0yqkCzs1wDL5pmAGbiBV1x7SWWrwo4lrMKHUE=; b= UVh+J2HY5bLiaCnjDMrXmEqB3itAMHo4GqyJTg1kGRI0kWtE1v7g7vgR15XmC9Aa ZVnY5k5Wdrh63aKuCWvk0vMqtDtfFrOK1nFOQEK3tYTDq+QspQL77N//rxCNfUnW 5A1MqrgKVsd0SJZ3hdIQxhfgCvlmQnma8IPC9RGqVv/iqSXmC8vaWgfNsixE4FMK uVnIqvD9hLiSFoTb9Z5xxVApt+Q9Q09j9anBQAzJfwcPaoz+DL5dVCj9NIEPIBIf RDNATe5PYSTnNmBFhBLCs1F/HyuuehQy2o54sd/1wkRUFAH1LzffKQiW9Xx8A87C XLRMoM2t1wuzsUMqq7OSkg== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4fbepn3pbm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 14 Jul 2026 07:31:40 +0000 (GMT) Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.7/8.18.1.7) with ESMTP id 66E7I0h4016738; Tue, 14 Jul 2026 07:31:27 GMT Received: from sn4pr2101cu001.outbound.protection.outlook.com (mail-southcentralusazon11012053.outbound.protection.outlook.com [40.93.195.53]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4fbc9dvk1b-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 14 Jul 2026 07:31:27 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ofmPSx+C21W5AOmcM96zVNkQZSopP8C4Y2T9C+B6X5x3Stj5ZCtI8KoA9JU/xG2/Wi/tF0MKOBDJ48FCCxMQIaJ7yOCm8GtazI16w2zPJK0Gc9iEn2Ok5P4VA9eO1J39Ppnv6ai3OVXfvPohfmoerIQlU0CKUMsivdhls+CNE1RkkvZPdWcelM4yyP3ibNCKNZSpjCZt4Yeo6cTqQ/N/UpBVers4LVVZ8KbJDJqHhNQNvndZwLuGFNPTaAsBVN4RyMh2Ukq47lck0gNZd3bQ6M+eJgyFVcLgf2pw8mln3HH4SP9jDTQBlqEiPxC1U3nKat3LOu9DLr87tSuXTWRfTA== 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=5Urzdw0yqkCzs1wDL5pmAGbiBV1x7SWWrwo4lrMKHUE=; b=uRbChtryp8LF6Wsps6PZZV5EjbRiE4th0lHfp6Ds3dYX0CXoFXPDH2pRZ6y6hnbmMKO3GCk62mOgBP/FRLtn/Sj5tQR3qpolyr8NI011o9jUIzuyRQ6hsl4g7xFLqxVaqIlO3FgPTIJouPmuvqNmWGkAFR/PhS//GKf7UK29lifxDDFHMZT5W2iYgGBhhsurxLm2Mno7dA6AjnXssUWE3FzEQjR7/1YNOqQqVsIhYIf7sZ3r17jsfp56CTc8jFnnrkRIfD9bDP8zs4H54i5lAvp92v4gHSP35g5SaTVZZixTx7houhpmBf08Sfd78zsmljVZPUISWhlVMH37Dhm4TA== 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=5Urzdw0yqkCzs1wDL5pmAGbiBV1x7SWWrwo4lrMKHUE=; b=aWSDkLsc3qIzw0t7QOUlYZSpfezz5kC1U30fbs6ZEViID8NgtED3fAdQVbi+Eii2MS9hwWf0WMvjYKP4I2smpm0pgfUKNzhsaf5msUhtfReQnnSGuaJB8U0EzgLg3kVAxslzxrbc7GGm1hPV3MeY4gindIscsHUX1N/1lpOgZwA= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by CY5PR10MB6262.namprd10.prod.outlook.com (2603:10b6:930:42::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.202.19; Tue, 14 Jul 2026 07:31:21 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574%6]) with mapi id 15.21.0202.018; Tue, 14 Jul 2026 07:31:21 +0000 From: Ankur Arora To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, bpf@vger.kernel.org Cc: arnd@arndb.de, catalin.marinas@arm.com, will@kernel.org, peterz@infradead.org, akpm@linux-foundation.org, mark.rutland@arm.com, harisokn@amazon.com, cl@gentwo.org, ast@kernel.org, rafael@kernel.org, daniel.lezcano@linaro.org, memxor@gmail.com, zhenglifeng1@huawei.com, xueshuai@linux.alibaba.com, rdunlap@infradead.org, david.laight.linux@gmail.com, broonie@kernel.org, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, ashok.bhat@arm.com, Ankur Arora , Ingo Molnar Subject: [PATCH v14 11/15] sched: add need-resched timed wait interface Date: Tue, 14 Jul 2026 00:30:37 -0700 Message-Id: <20260714073041.40250-12-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260714073041.40250-1-ankur.a.arora@oracle.com> References: <20260714073041.40250-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR03CA0083.namprd03.prod.outlook.com (2603:10b6:303:b6::28) To CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR10MB5409:EE_|CY5PR10MB6262:EE_ X-MS-Office365-Filtering-Correlation-Id: e3810fc2-e59d-409f-a53b-08dee179e6cf X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|23010399003|7416014|366016|1800799024|3023799007|22082099003|18002099003|56012099006; X-Microsoft-Antispam-Message-Info: dmSM0CePrbhQqwqobLF5ENysEHq1jGCnLCOZwDI2l6KoZ1TACiLFVbQ8Il41BktbMVPgRM7naTAc9pxuMCU3+ti+Ur7GMLWhNBh7tZAWG/gvTVH186IJWmbMZwA6pzao1ukY7FKYoM/RI9nqOXd0Vid9Jw+2nJtyobTLY/Y1P7+t/pk93VGG0zp+5pJRipOUGoPQ5O61o8Cd3IZ+83lcTWvg8jcJYVYY25vH04QTzXACU1T+wtvjF4E4UfYc+1JH262zP/PpcEhZ/DoB5k4DYQ9citSoQ6SjC8EZLX+6FcsoW8lyPc5iK97sghp38Gz8ZWBg1jB03zxLK93B2oK8zlygLkVXfO7eJsz+H+sYdQsoeh+mfWxg0Ti3+NRwHj96a26RlpYEIeN73f1Z4/0UXEKVbExbDS4s9bKVzmteC49HIja5XDb74IncWc4v24Inu9uE+EB1ttylrtm2MXdpJohjf2udCJCL49qh9Y4KFA536YMoO2bsQo2YY6sXXQNb9825gPDIm7dzUmDJWoKdWzpQVysNSqv/xlBUfHw2tVsF1faSrFrk4wteJfdHaF6ku1ThZdWYFZVaAdaaRbIxhw3OSdDh9V+NicU03GXNfI/ligQV4aqNG08YMXcyJrKoR1XqYP4TZdFFWuzgL+NJOG7RVRjUlm+KDQOgnwK4VWk= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(23010399003)(7416014)(366016)(1800799024)(3023799007)(22082099003)(18002099003)(56012099006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?s6vZaTXP7YAV2UvENqDtyTbIj3os522EX+0MYvQon/HQUN8QQmrlyjxMrgC6?= =?us-ascii?Q?izlcEYhG6DLwAVm5VTFWkRkID+gjnJUQsryV6Jb1oxd+Vd0w1ILjfD0IwCo/?= =?us-ascii?Q?2EJgV1ds8bCg9XpFr5J+WC5MfH8s7rFNbZ85hqp0lUoJgNiGvxdZzysVeqae?= =?us-ascii?Q?fqg4oSBbolt4sOdygaSikToDMachIx9MFJdRjfku/KLfWqUEBs5lS9mwY9/c?= =?us-ascii?Q?6Lh2Wt2wqM10M0IHkh4kIGH3upoeJm2MlZIDEuqjvCYnqOxgvSk/qUXJy5lG?= =?us-ascii?Q?KZacuaSwOouVvwCY4QkNe8zwndBOpiP0lpYyIscIyg8sUwcvn/jYWaGB+Bbn?= =?us-ascii?Q?8ExLpkr62tHQF/wV2jXzkpHiFS360eN/ziNzSMqjR05kEvfcNdfl3vPAxja0?= =?us-ascii?Q?dmtmFao/k5HOXRHhghjxkUOFcYL/oz13dalhSdGhUl8KpRN5QZ3F1GeABWGs?= =?us-ascii?Q?1/oyDuOfsganNSSGwDG8KSt37lN1z4i1IMiwH52Y3zFlhmXYuoZib6Jkx/d7?= =?us-ascii?Q?6q+cOokpoqd9fTCeKu4bIWufZn71tkFpGVNXd9b2cyRL2l/Pxlnv9VcCQFfB?= =?us-ascii?Q?Ujg3UuwETyiSmqMan4Rnz27ZzUdwGgfGAKPxeYG5npHbWSYTV8rBbFfchyCD?= =?us-ascii?Q?ejK+r0tnVOVjsVAv0TSWf5HPEQgtFQL8PezrWWrVyVtVGDayz75++IRIDh72?= =?us-ascii?Q?XN3i0awBYOo3qsDIk9uRI5OJcehjai1fa8KqkhoUfoaqKY/k47j/MO/XWz0w?= =?us-ascii?Q?+P3/WSg5pQlseWbEGEoezK/X80AHsZQPz9Yh8EC1Rv/MMXK3ydVb+UDGy4HF?= =?us-ascii?Q?ZbQLzki0s7hh0H2brPmtG6T1ZqSifNXXvz2OzRBImo9Z8zCIqajdUBy0iKVV?= =?us-ascii?Q?mhIBry8qF7PALyjDSzbKT+3Ou6z6zzoRo9eFx31wrllTWbHNVAShBLWyp8rS?= =?us-ascii?Q?2smp337J/HSIdaP0i93YnX3zFEE4eRC80i60rvFGLvphupKD8MRVH3VfNzCh?= =?us-ascii?Q?OqHV9kP0cxbLMnmvpxTE8ix9NfndQF3GO2/PUYjfJnjttlz9T5QnKD5dQzw8?= =?us-ascii?Q?wGcbFaqv2QYVPiRktgHkXYPTZXBnUdt9FIUlxK8OdHKDZl2B6zArymBB4Br7?= =?us-ascii?Q?EgYAUH16CsC8K56uGGTJ5nPAgNlFexyzOgpQx/q8DYVjfSdrGZwfXunimWvR?= =?us-ascii?Q?e1QCOjGqZIFK70/jR+bWMErPQxzAtKICOcMGFLwNWk4OKU/JOS1wGyzQZsuI?= =?us-ascii?Q?LlKrjDipLkddbyRrMXxMIjsO3bAEM+OypvfQNpXeKULzCZEjj4uc7rerQuEl?= =?us-ascii?Q?4yaTYu7ymshDOjHsPzfS30GufTBwCt2957sdlndrATuxJF68/mz3Tlg7dhkb?= =?us-ascii?Q?lporJWMUr2pvOs0Xav31S+pAc+Owk7h4gFOcqbiB6rhc5lH2W76gfWl7Jqfy?= =?us-ascii?Q?C9OvBo6unNFfpZNQki1Fj+DMv8emuZCvkxEnz7sHtruHAa7mOZGrGUSOSOzy?= =?us-ascii?Q?DSZaTBXCikY6OG6xpmpMkSgEeuGmzH7fG5qJuJZ62iCeZlvruMw9k1UB9/5X?= =?us-ascii?Q?w73z3EFIxyEzMi2RykLpmvKPl2gbqiCQo7edHfYEdSemMYan1RfCiIdcoHSX?= =?us-ascii?Q?f91BJKhg5EZc2uyCPXIvBJ7Cs6ekRP4oUrN+/7Je7sTTIgW8QC93l6gTtMZc?= =?us-ascii?Q?H5SOz59jfLn/Gp2hwf9eGz6NVdIOWhWtxWMm10gv36sXG6wzFIbfEkNdCcYW?= =?us-ascii?Q?EkiNLtEHfF3g/EHVPwhtHN8GJ4voWI0=3D?= X-Exchange-RoutingPolicyChecked: iEAO8Ek92jR9a0D3uLieHthI73H2ckej6511PGGXFEC57pUM/ini2QEuoA/veVtag6hDHC+VXYpv6PP5Z8uYame5D8b2taSDBIzwqiXzeIo4WmtqQ6JNMxSeQcF5iI9qC5Z8Kg+TVmsOhR4dzPO+kHmJ7C35vgGTFSYNFBB8Dj8K5hkB3hd/KI0aa9YW+bNDKImWQhrNlTB5ISoavAET3Db3DfHUomogjln1eyssuaT6HMFUCFS4n8MfEWklVOjSu9+o7+eYfS10TPOjTa4RsGObdEr2EQG3Zefbw1yqr1jhRxlEjEQ8fZp4hY8SIsGJ5vdr6pzZoaCh8MEazVyFaw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: ZNHKdWPsKi++Kl/rxR6mtpmKIuJW+VCljBgZ7a773rYNvPFkJS+A1/2pQGe/KD9DaqqEWi08Zg9hqbVDi1dkoJXFkHpi+VI4DJLdkXrtKlJyj/uMW8Y9kaxs0DD38JWEAPrPgZ1ZO//PeR7/4IAB1t60QtFjIiWPrkdXsgykgvHV0jWAnZ0Iu0X6SYNg/yE2rG1pWwHb+0zW2TDkh1i0RghVqJh+fTGv9bLnXyvuabS6EJqUSeHck3tuPsM1bHEUR84jTdDUsDT1v+t9fsO7l0bZHhCK8B25dANkZnL/xsb+wr/arAMldpjYskwDNkWRfbVm8x4qQleGr26dLh9ifIs/ydL2/hQ5oP8MQq5Qf5vezfvzMyTJe65mLQsNjFqZUnWl67/rJZ2b5HBWpQW+nsTdcw0jjti/srzN2UZ77xL4fB7Am3w9WduQ7MOe42laFZ/QTC+dmo7Flk4szdAHvrg/EyC1sqvqF9V+/rfZRJgABf0bfULuhXNUCinaixyPJ3i4XaWlZUnLm9TQZJloWj+bOug1M2RTYnhw4plHxtMhvBzgvmk3PzAFiRuhiJy8CRocGRP34ZZhRyQ+rAGojabtDj91AVn0bAKahvHZwtk= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: e3810fc2-e59d-409f-a53b-08dee179e6cf X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2026 07:31:21.4178 (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: BfSxQQnxr/vg907+jVTBQfaoykpj8ZOWjPpfEzwuHKrt2qvc63Wtl8xo37H2g7qcx/j1O6coBeTWwos4IoY5KZ3t/+zeS/UAlPTpYZSl6uI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR10MB6262 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-14_02,2026-07-10_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 lowpriorityscore=0 mlxscore=0 adultscore=0 spamscore=0 mlxlogscore=999 malwarescore=0 suspectscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2606160000 definitions=main-2607140075 X-Proofpoint-GUID: -LZPJt2QFUfWDDibNTbTTv0Eb-rpVmIZ X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE0MDA3NiBTYWx0ZWRfX6rGBahoXk6wc 4hgbn0XKEpLAceD0ogPSiAleAd9B2w1sj0IjXpmvcCYl/ATarj4slJLIwsYq0AAkElB90Bemrhu KJuTdAOIJWY84qpRZrtpVg7D/R7Ok4zozBmO2JN5XLPVt43ecIJYI8SSfAtfoHyOL3axeiW6tYi znjtKqPdKNj5WfGBpAFMCcf7/JcDSRZuNG47iT0asZoL6XFnPqsOgXzP/82wNfU9OoDjlHFsW9W lZYOm467wjscaTSKnzoCfzIDrBFpEvcCaBkYrJ8qyYnT8jXYyJ6lXzGK2ipiynYs0XxoLgGK6Ew u7eE8bgbLk7yVDIifQSuocvke4voEp929jWJ0lWCq0ABRU7giqXmaLxFjylL0fwwvzA67gcSGXY 2MeLItFDnCifAWxrnwfpDbLDaTThjngd5BrjNdWKC0bpJXjePcPb1idHyq/vjDeG3nVWmW4kznM smtYcyS3C0wF2xMWkFg== X-Authority-Analysis: v=2.4 cv=bJom5v+Z c=1 sm=1 tr=0 ts=6a55e5dc cx=c_pps a=OOZaFjgC48PWsiFpTAqLcw==:117 a=OOZaFjgC48PWsiFpTAqLcw==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=RAioF0-LDSMA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22 a=x0eKOSpe3m1H3M0S9YoZ:22 a=VwQbUJbxAAAA:8 a=JfrnYn6hAAAA:8 a=KKAkSRfTAAAA:8 a=yPCof4ZbAAAA:8 a=DC2jtUcBNbVnd9lHvZoA:9 a=1CNFftbPRP8L7MoqJWF3:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE0MDA3NiBTYWx0ZWRfX40bss+uial85 xuXVNRlC6goyNvSSMauOHULAzO0F5fxbDM5d79ayZ73Q2PlRD/qCT0YU9y5iqPBP3rHpVwxCn/V 6Dc1U74iBXpSeLf7i3gZiCey7aX7N0rlFyKPP5H8fgu0nVG38IOk X-Proofpoint-ORIG-GUID: -LZPJt2QFUfWDDibNTbTTv0Eb-rpVmIZ Content-Type: text/plain; charset="utf-8" Add tif_bitset_relaxed_wait() (and tif_need_resched_relaxed_wait() which wraps it) which takes the thread_info bit and timeout duration as parameters and waits until the bit is set or for the expiration of the timeout. The wait is implemented via smp_cond_load_relaxed_timeout(). smp_cond_load_relaxed_timeout() essentially provides the pattern used in poll_idle() where we spin in a loop waiting for the flag to change until a timeout occurs. tif_need_resched_relaxed_wait() allows us to abstract out the internals of waiting, scheduler specific details etc. Placed in linux/sched/idle.h instead of linux/thread_info.h to work around recursive include hell. Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Rafael J. Wysocki Cc: Daniel Lezcano Cc: linux-pm@vger.kernel.org Signed-off-by: Ankur Arora --- include/linux/sched/idle.h | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/include/linux/sched/idle.h b/include/linux/sched/idle.h index 8465ff1f20d1..ddee9b019895 100644 --- a/include/linux/sched/idle.h +++ b/include/linux/sched/idle.h @@ -3,6 +3,7 @@ #define _LINUX_SCHED_IDLE_H =20 #include +#include =20 enum cpu_idle_type { __CPU_NOT_IDLE =3D 0, @@ -113,4 +114,32 @@ static __always_inline void current_clr_polling(void) } #endif =20 +/* + * Caller needs to make sure that the thread context cannot be preempted + * or migrated, so current_thread_info() cannot change from under us. + * + * This also allows us to safely stay in the local_clock domain. + */ +static __always_inline bool tif_bitset_relaxed_wait(int tif, u64 timeout_n= s) +{ + unsigned long flags; + + flags =3D smp_cond_load_relaxed_timeout(¤t_thread_info()->flags, + (VAL & BIT(tif)), + local_clock_noinstr(), + timeout_ns); + return flags & BIT(tif); +} + +/** + * tif_need_resched_relaxed_wait() - Wait for need-resched being set + * with no ordering guarantees until a timeout expires. + * + * @timeout_ns: timeout value. + */ +static __always_inline bool tif_need_resched_relaxed_wait(u64 timeout_ns) +{ + return tif_bitset_relaxed_wait(TIF_NEED_RESCHED, timeout_ns); +} + #endif /* _LINUX_SCHED_IDLE_H */ --=20 2.43.7 From nobody Sat Jul 25 20:04:11 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 BA5EA3EEACB; Tue, 14 Jul 2026 07:32:25 +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=1784014347; cv=fail; b=a809IxM3ba4XoDF2SmfpyHnqqQbJXqPf2sn9db/KbT+qhugSpDenrdXhv8zwQ35OrG5Rhgy3x3r/wxQfIWgQPgddUrYyBgUZK0IApfhSrMV23KIZwn9AfZ8P40VbOTc68DyvCxRgCT/35VZCQVmupuygOSQrzHtj8pK+ci0H5FQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784014347; c=relaxed/simple; bh=2U6uEtiE8+fonTvYmcIOUJLYa+DRw18XN3m5kJMjjc0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=Lc1njNRPQF4l+5nR6A+KUi704/ysrQtz7tzxP9Q/lhu4nIcxB/eGcWTlboJbjtcHdr81JcGehqfGuvyYo6hwPsPddWhVmClwn4lYWxUjEpb5pWs0Zw+7dzfXU/w0GXHk7gD7+hJ38qSQu/RVRPs2RAGEBCBde1UFlXcAuQfLLYY= 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=qlWpMibY; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=M2F+gXIc; 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="qlWpMibY"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="M2F+gXIc" Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66DLEeCP1396300; Tue, 14 Jul 2026 07:31:32 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=7WIJu7+A1kAmf36MIOuhn9JVeZzVmh6rGoasBUyzvos=; b= qlWpMibY5+q59UIYQckUB+YuN0go1wVCoemqnfeXAA2vh8TFYAs05SNlFXp4d4HM OVgGjLzrS15tGmmuSorLB9DOpKl9LBTzwJaUE/6CCy/YiOuI/oom1Sax4Zwj7Fo0 rFvcvjuOlV9/DgsrEo3o+iXhT5MnMNyLxmJYX+++EQMnubv+m4FJ4h2//ZW72sNl tzhJMFHCBy+L3zI1GVSo8o2D7SfaYF4SXxGHaXPE6ObWTmyw+POWxks0cRE6fga0 ezgYxrKqWEgsFicM4rck9YeIDmj3pYXASuDhASJm+wLKJ6D5wWEvleOZ6F2WUcax PpPqyqGboKf+gDvTSGYjzw== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4fbef0umpa-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 14 Jul 2026 07:31:32 +0000 (GMT) Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.7/8.18.1.7) with ESMTP id 66E7SWE9035512; Tue, 14 Jul 2026 07:31:31 GMT Received: from sn4pr2101cu001.outbound.protection.outlook.com (mail-southcentralusazon11012003.outbound.protection.outlook.com [40.93.195.3]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4fbc9h48ws-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 14 Jul 2026 07:31:31 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=RXeUwuTW/NR18pahJf8rvEyGLaaG6l1zAR1hZwYxgfOuUqSDotE4RNpHI410ZffyeKXmeDcvEZFckQvIeOIpZ5pUnHI4tmrhqsDI2ZKPSoFJhfwEeu2wMH5idSE8XOOIQ8dH4NdbAHCCvQtSsr/rWhMPG5yF/A2mYaWHEOpwPsn1/5IhEUWYc3hDoUS7ziFwcuF1+HtqCzpHCNFRysPeNZjjCWVvthMqF7vq0xLScFEySIGzqHoGluEp0+Orxm+f3qJoPBiFJeXwGp8Etow7CBcoRtIviAeKhW/hhu9TjO3+2WEssBt8isa/Qq5EDo7ueP5QbP2krjFZd+032Yab0w== 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=7WIJu7+A1kAmf36MIOuhn9JVeZzVmh6rGoasBUyzvos=; b=ODI0b3ODVRfGudVmOJ4ZBMYtrM0e4nwMR4RkNuTAUGbvFfpAiVRGqeysm4cDfaWXWr1CesPxBmBZcyd9lvNZHI/By/VpNopPL97EdX4PjFXE37q5gkPrHO22TQ6Yj8crhnRvCjLWF0SH8pVyLXIbmNwt0dLxteZLIW+hgw04b4ez+ujC0IHGdHL2zrGpUCcOfk2gz0KVG0SKR9QlyHBtH357V9TkkQaSNn3FdCWJvBTyNoTLI2FCrDfzChFI21w6GAoNWKYUStgk8spnBKZ9vLD4yDvvxZt2xS2l7jzEQidX6albEl/Ak7Nfqlqg4gVVsBLU05wI2Sk4pRAO46p/ew== 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=7WIJu7+A1kAmf36MIOuhn9JVeZzVmh6rGoasBUyzvos=; b=M2F+gXIcbI3nBbhYHO18Bp1MlfSQWQFtrHfJ2fwbjh1zUb427mGCqTNfAkA43byuMXNi+CvihH1eGB3/mUpoirJosmKnWbkRkamwhHlyEKV6M8ZbWS7uJGGlmzH3l/AoHi0XXzVm010LktNNvOIHfhWOUI+EMu7taZlTeACRFIE= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by CY5PR10MB6262.namprd10.prod.outlook.com (2603:10b6:930:42::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.202.19; Tue, 14 Jul 2026 07:31:26 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574%6]) with mapi id 15.21.0202.018; Tue, 14 Jul 2026 07:31:26 +0000 From: Ankur Arora To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, bpf@vger.kernel.org Cc: arnd@arndb.de, catalin.marinas@arm.com, will@kernel.org, peterz@infradead.org, akpm@linux-foundation.org, mark.rutland@arm.com, harisokn@amazon.com, cl@gentwo.org, ast@kernel.org, rafael@kernel.org, daniel.lezcano@linaro.org, memxor@gmail.com, zhenglifeng1@huawei.com, xueshuai@linux.alibaba.com, rdunlap@infradead.org, david.laight.linux@gmail.com, broonie@kernel.org, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, ashok.bhat@arm.com, Ankur Arora Subject: [PATCH v14 12/15] cpuidle/poll_state: Wait for need-resched via tif_need_resched_relaxed_wait() Date: Tue, 14 Jul 2026 00:30:38 -0700 Message-Id: <20260714073041.40250-13-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260714073041.40250-1-ankur.a.arora@oracle.com> References: <20260714073041.40250-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR03CA0040.namprd03.prod.outlook.com (2603:10b6:303:8e::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_|CY5PR10MB6262:EE_ X-MS-Office365-Filtering-Correlation-Id: 6517aac9-d3c5-474a-53ba-08dee179e974 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|23010399003|7416014|366016|1800799024|3023799007|22082099003|18002099003|56012099006|6133799003; X-Microsoft-Antispam-Message-Info: 4qoVFCJabWF0kDRmGvLX03AMUqir7QhcmVBPHlTzIdvMH73Wp6Ouz3Dw1LlcCp0hiwYNXaDOcxMPOHcAh+0xBubEAXmifzt5v4ZStWDhbHQgq/q88PpxDrzcpELkChvpzdUSmTq0uTmhITq4L/PCS1HlPwhTfFP14Qs20iqUeLNviigwcmeXSy3Scln5KHy3VKNdmQjTm6yej21ZKMBVlIeGCsOUfu/E2MmQu04GGWpPL+WH53EW/yjf1lS36A8Lut9O6JdGtEisYRf7J3zfhpPzUHk5sL3FKNFIvvSifLn20HQm+tBQEBkKm+ikb76iPU6v69SSLmlhMbt+8O4quyrnSWt0qlCwMjsrfPrvcQT/CDsFNdbpfyJVfKqtXJ8s/gwAnU+N5BpQGIJr21oKbW0DjwNZJTfOMTgIZoIAot6m+QCO/QCVwOrZ1aTu8aOkKnwHIjYCoZognlzcNLfdlVgyYZoOUATNLAI5/Q97VcqW1esfo8QDbbVfC9DJdKwctPqYorspHGGyBAj7/fRRQqFRfv9MhBenCt7Y5w8QgK/pe/l4QAv5Etiex4abin27a3Jb2yOKosAvLDEIZRSYwB2rUggpKR9LI2jaSk+UAeI2mFYej8TQNvzsGd2CUpkbhxsBLJHWuLgtevSIWO785+6oB1LS9cla9Z47ACSZ79g= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR10MB5409.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(23010399003)(7416014)(366016)(1800799024)(3023799007)(22082099003)(18002099003)(56012099006)(6133799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?kC5oAGnrDTRHD7bmHaC/LKH9Lf2cW/UC4FuCfLULJlalSXHW9rh1n6rVrEjb?= =?us-ascii?Q?vZblBil8aY7+5hXyBjOQJdNwSf+01GqKn5uPKolm2YlRS70uqHZyuvzW2oq3?= =?us-ascii?Q?ej/XejSsPamv9nYjNODbBp7LUIQctM7xjxNhlQFWEwnz0CLiqp0YZl6wdizg?= =?us-ascii?Q?h31hnIHla71RJCIkaKT91Msf048Mb2TgI8ga6PZohEus6yePxQ0PB+GLV++a?= =?us-ascii?Q?V5c8zYxbCUuVGg/LyTEsEO7AaHNrc+JkoboADOuJwvhO8MMIJZzku1PXLNWh?= =?us-ascii?Q?8wcxE7CIhQNuw1BGu3mdtfoEb8rGwDOAv+rkX4D8MX/pQ6C06+ZQcDsQtatR?= =?us-ascii?Q?0Wo/m/tAP9TwCQvlN7V2WYGEqEnM3pVpX0s30Tbx2nz5aXyo+Fa9MUKV1F2W?= =?us-ascii?Q?437g+dDHS5wliJI5970Bqrira+fOm1hqVaPI9vX/wwHf4mPq2NJPXIoe+gAF?= =?us-ascii?Q?2YYdnyQ4l6AnQWOXnfLsGm5PuuKELDdsKtHe4FcUzhqwtzM3vdp/iyk/9XQk?= =?us-ascii?Q?Dzr7WeqS/N69gPpDm1jNtybEjZAYhUHBQFwl7AJ1E36ZFWbdPCRiNnbAiXTd?= =?us-ascii?Q?ZLu7uEkGr8HzFK4+4qqRbJXal7s5zv/oJp9Q5SCkhSmb7Pw4BH1z6yrmr4E5?= =?us-ascii?Q?gqf8ZAxJXejwCJYUtYwKy+YnbHlGtG1q4T46QUeGJg2LgyyMmoJ+bMWq3iLl?= =?us-ascii?Q?xCWMJya8vrsFK+UEynsMNKUgxphc9WNwo3NG35HyNMUTRVHM+dUBtfULMkvH?= =?us-ascii?Q?fNkRfEarx67h34xIZXdntrBnuYrk2UmN/iRD3+fJpNQb+oPz5YwwFkH3RJYv?= =?us-ascii?Q?FpZ03ohTzKqYjGiJn3gGOtGy+JW+rUuXRnePcyWLMypmsv6UFK3RFILJ7wl5?= =?us-ascii?Q?jcWf1NgmTUuxwKvGx8nOkJjjCDXewSDQbXiulGO44NGJfLjToQMQYLCT9mFr?= =?us-ascii?Q?R654r6Sxjg57Mkm/LL6JJMu0Vfg5iPAiCKIRr6DW9lBtbhkpGQuyi3Rd15aO?= =?us-ascii?Q?Dkl0e8lWvViWfbRsjec5Y5Tth7I4LV/X8OHzT2H7DFPc7krc8Rt3OewwPUOF?= =?us-ascii?Q?matd/j0OGdjLChkyVCcLBq+g/hQTBgSr9yev/m6ouSq17t+s+GPN5MiK6Gl+?= =?us-ascii?Q?qimedUFg+gqvboViqObhLXAtSp1Nm1QYegYvqwvK1oKb0ewAMecE+tArOMoL?= =?us-ascii?Q?ON0k4AzYRNsX1nfefk1V4qnMmWS3HbqkVdtziuAFGX1izs/DSU04jzQcMOgR?= =?us-ascii?Q?lrQvSKGS8Q8+OJbIFDIXq9fAHWjL3dP/a0rEqVeEzJBYte+KX+otdAmhwS6P?= =?us-ascii?Q?LxrqQRVMso2TPES4uapK0PW0uZxY+nO1Eg/5sCrO9ctqM1TryKAu5OyQfr+u?= =?us-ascii?Q?Bcza9nkSYufs42WNSp1BTCRCr28n/WnoQBg17JREOkQ0gIz2KSUCheAZGI5r?= =?us-ascii?Q?rixPjj/ec+8Z5D48bAd3uTj9qK0q5fCiPIsWQsP+timEijFtufOv2NGs4ML0?= =?us-ascii?Q?1r5laKTbcLoUHZAGJNyPHDm5DrkR3anpUYM9e/SxeSJXmsCGEDvFokEt7ZuU?= =?us-ascii?Q?ctltdg+3rmKITRYwQ2ruRfXUIS0mnB5a/mnftjL0NerUquIX5y9WjWBisYcQ?= =?us-ascii?Q?P/g1ja7GNZvZZlrgMGs5rTotmMDB/zvnfV86wh/c6siOc8VAOjVZb+zQWv8B?= =?us-ascii?Q?hXD4l7R3IvNw2bVuRxMXZE7xWHWYyvBVnhgKaKzrX+3ZpBD7RcGGCyQS5pnv?= =?us-ascii?Q?LRghW4VRZRNF0gBMjBzWswSPNXbiIhM=3D?= X-Exchange-RoutingPolicyChecked: Eok2o2K25C2j1G3VFZHHXtFT8BNZvuwCRId0RfHQTQ8emV0eahkv7x35mxAmlk8OnwqwqS82gT7QtduTGAqePAGstuCNNaB9PMz8YHk8TtyCNs64nlFfKpG5cJPJzT5bjld8Gq56DqBY3Zo+PXL6wCyhrFJwIGEP16b3ccwgX0YzhCPXEW3WffUr28wLHQs2SQbRlRGWkjf0It58Kz03PVLv/42dmT2LzTT3Rlfvysk2ScabC/N+slIMqbgx6tjF1ATZJRu0h3yUNHkKfFNh03Bq5iw2paXLuxZILPxrPYlFj7RyilRBIlGcE6fL25AStCj30CoFSG7gGMGKeOWGHQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: UDsINB4CTTZa1xanFs8VhUlF3MPDPIU5egcc+V49Qn/MEhRfifIaK1fS2WMF2Y5v9KzW1ZGIg4/JYmzo1FF//QmIf22tz6adPWBkeoXwT2xy4ouXZTUT+/4J1phacVbYgyGiIY6bsPGa1RjWcqOWyh4OZYuxGMtj9+xHKNkZu5XI/gIcVP/cX17TMjUSsV2VEmCqPXRucsU9yI87o/v9wrp38lF2ZAZj0mKWNZKlULezSSltj9sWgqKzOMYsIRc55vie/Xk+K00aFFEpXH1MHqWSEA1+qTu3rNMzoLZsF91EpUJBR1UaWRsTKtp5bb4m6jyE7dcNf+EG1mDHX+LQW9CxrS2BPACKbriaGSbZiGE1zdtL6jsD2bRdR2+kwyEC4bV5caB/x1q9OLWEojUbayS9jOA0wz52DosKd+OH1soXTtqzu9piiI2dFcjct7e6qWOEZog3wGfrLivqPdhnOPxXnDbWRB9zMCJjokMi5ct86FdVFTOb2/ExJuyKKquJiVqkeSplpuQe4c0cI2fVWnC9zSw96krJj4pEhKwf9vEo/KD/cCrQRUjFgDliT4ZEfc7XUvQkjMiFdsB8xjeoUYQmrbqFJ95TrH/Im3dMM/k= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6517aac9-d3c5-474a-53ba-08dee179e974 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2026 07:31:26.2716 (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: 5o+XUqSid4/J69zlR2ycnOeNjk6NWW67TCVyLcwufNzZSx4kMGXEHQpRXga0eRsjk1AH9r4bVLgCoGwYDAbl4wwGb0K/uGQ7+HTlnh2nzo0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR10MB6262 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-14_02,2026-07-10_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 spamscore=0 suspectscore=0 bulkscore=0 lowpriorityscore=0 malwarescore=0 mlxscore=0 mlxlogscore=999 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2606160000 definitions=main-2607140076 X-Proofpoint-GUID: RRv7vaZHvY-lfanJMU8RyFSgMVM2r-R5 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE0MDA3NiBTYWx0ZWRfX0ffGXigyQCbI siuCmrZGZ4rz+krFUR89mTFbUbR+8PB4U6b0XThYatneYjvMcPcSd8sDv0C0Wy1TJfN1NVo7K3W ata7rudOkOXSI/9s3sHheJKXPg6RpTntnGPi+WGmFt6SMnxWd2PX X-Authority-Analysis: v=2.4 cv=KJZqylFo c=1 sm=1 tr=0 ts=6a55e5d4 b=1 cx=c_pps a=zPCbziy225d3KhSqZt3L1A==:117 a=zPCbziy225d3KhSqZt3L1A==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=RAioF0-LDSMA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22 a=EIcjfB9IiI4px24ztqRk:22 a=VwQbUJbxAAAA:8 a=KKAkSRfTAAAA:8 a=vggBfdFIAAAA:8 a=yPCof4ZbAAAA:8 a=7gr8-LgUhGOHEYCj_R8A:9 a=cvBusfyB2V15izCimMoJ:22 a=5yU3S35YU4bGjq-dph-N:22 a=Bho9c0fBagfJEIQBS7DQ:22 cc=ntf awl=host:12221 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE0MDA3NiBTYWx0ZWRfX5+UJZKBewHg2 BpT5HQeePhzJVJYqj83pDMDwWSGaDu6wIq+aul7FlyA3WQQe+3ic4bVfCht7lhlE8u1DAZbpGN+ qwMSw3fx2WkZMALio7Xk2iQAMKMdUiRy1g6lNnkJVw0UUW25H5mvc8Iqomc5Y/eG/J7TdTepyWM k5fKt4tCOnmRQUZg4pktifPjA+I1QoKjYEAYqTZz4ZJwoiNDIaEE7u9zLobjKP3YlktQ+uJWd1A ScAcXvCGt/CYYmI3514X80ZPi8zOkTDkXG+TYo/VtUETW167fF+nmkcwtaIWbAh+pi8T9PchAPv I4WEMDPz7Vt/wo5+yJ/9HYriHwf50nywk2/9+8zRhoMYmCHJvePz4Kjo/K5ulxwoCzhDiHng1EY xJn3GZevAaKqrppUcE0p62gDM2e6DINnZpYZ+ehxsKIdTbuQ+qXNRTmmtxjfX2HMiYH1VS536BR q5gLdqiDVSR7VPeRRQSJUBFWKr6ShvIn6MFUCIFM= X-Proofpoint-ORIG-GUID: RRv7vaZHvY-lfanJMU8RyFSgMVM2r-R5 Content-Type: text/plain; charset="utf-8" The inner loop in poll_idle() polls over the thread_info flags, waiting to see if the thread has TIF_NEED_RESCHED set. The loop exits once the condition is met, or if the poll time limit has been exceeded. To minimize the number of instructions executed in each iteration, the time check is rate-limited. In addition, each loop iteration executes cpu_relax() which on certain platforms provides a hint to the pipeline that the loop busy-waits, allowing the processor to reduce power consumption. Switch over to tif_need_resched_relaxed_wait() instead, since that provides exactly that. However, since we want to minimize power consumption in idle, building of cpuidle/poll_state.c continues to depend on CONFIG_ARCH_HAS_CPU_RELAX as that serves as an indicator that the platform supports an optimized version of tif_need_resched_relaxed_wait() (via smp_cond_load_acquire_timeout()). Cc: Rafael J. Wysocki Cc: Daniel Lezcano Cc: linux-pm@vger.kernel.org Suggested-by: Rafael J. Wysocki Acked-by: Rafael J. Wysocki (Intel) Tested-by: Haris Okanovic Signed-off-by: Ankur Arora --- drivers/cpuidle/poll_state.c | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/drivers/cpuidle/poll_state.c b/drivers/cpuidle/poll_state.c index c7524e4c522a..7443b3e971ba 100644 --- a/drivers/cpuidle/poll_state.c +++ b/drivers/cpuidle/poll_state.c @@ -6,41 +6,22 @@ #include #include #include -#include -#include #include #include #include =20 -#define POLL_IDLE_RELAX_COUNT 200 - static int __cpuidle poll_idle(struct cpuidle_device *dev, struct cpuidle_driver *drv, int index) { - u64 time_start; - - time_start =3D local_clock_noinstr(); - dev->poll_time_limit =3D false; =20 raw_local_irq_enable(); if (!current_set_polling_and_test()) { - unsigned int loop_count =3D 0; u64 limit; =20 limit =3D cpuidle_poll_time(drv, dev); =20 - while (!need_resched()) { - cpu_relax(); - if (loop_count++ < POLL_IDLE_RELAX_COUNT) - continue; - - loop_count =3D 0; - if (local_clock_noinstr() - time_start > limit) { - dev->poll_time_limit =3D true; - break; - } - } + dev->poll_time_limit =3D !tif_need_resched_relaxed_wait(limit); } raw_local_irq_disable(); =20 --=20 2.43.7 From nobody Sat Jul 25 20:04:11 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 02D94125AA; Tue, 14 Jul 2026 07:31:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784014316; cv=fail; b=TriI23whdGBxLyr7NaEv5C6Awi61PtefGrGtMZr0OEboh+m6t6FbnXoBnLOpJhFTLkQQtMA4RbkfLH5pv4fiR/rz1rNtABoqKWggYeMhaxP3IhE6QXEVNXqRMk44ds/z7PKmu78AXjSWrQt1vkBfEzjTPaNFvmy0dNxWAFFNDN0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784014316; c=relaxed/simple; bh=DGXJpSo9uxBbtAh9m+rA5dQ9EygdHPH2M1pAsLHWgv8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=orG/rckEix0ak/vgJPlzVZeWXAWyS5JCVubojT63aOUKmURYP752vYZCb1qvPZ+u4yQxsyuQe2rUleVbLdCZhQ9lgKs6CXLWNtSLm2agWh3OPAwH1hPD//Qu0OfNNyUlw85ZokjoUk+/m5VW5UDQbvi7DKKcqUQuUDh49eyyYco= 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=NjntTmsc; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=nqt2/oec; 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="NjntTmsc"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="nqt2/oec" Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66DLBKQ11400143; Tue, 14 Jul 2026 07:31:32 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=UcqDHQpjAp4Q60CSgs5vj5LY3c6xQKhHL5kbw/NnE8U=; b= NjntTmscNKr8vDQoZrObBUUYY/+Xh119yHd+D4qelUz+tgdGbJZxKt2p97HiJi0z P+Q4GthZwaSGgB1Dpj5OnJWcWP9+DdznsIQS5ODXwyU/vUmizUL5SfuJQvsZeoTH 2r31Tjl5plNK5AP0fN9ks/qmDuZbI6H//IzjMSXYY8KmLahDPZ+JKSqvgmqoxfQp RZmKU1zKOVopgCbRPVBI5w9wmPrwTAJruNW9/u6qavFZYWOCu8Zi1O81aeZ80MCh ikahPnXCa851yr9NUOa8To2AB6anU6RIu8W2XGP2QF6VuygIRtPTGKPuhFmXOPvV 7fXrIMb3aJLWiZ0xklR3Mg== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4fbeh63q86-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 14 Jul 2026 07:31:32 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.7/8.18.1.7) with ESMTP id 66E7ScCJ028698; Tue, 14 Jul 2026 07:31:31 GMT Received: from dm5pr21cu001.outbound.protection.outlook.com (mail-centralusazon11011032.outbound.protection.outlook.com [52.101.62.32]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4fbc9r4grc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 14 Jul 2026 07:31:31 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=teNB3GIK8tm7KXvfmg+AQV4siq+GbSPY1+XJcawexqXEtPw9K/XYRGjAuWXr0urr83s6Pzfuw/IiKA4PcwhZ2l21/UIDFCb/odSfUr0DFHCMVSpY2p0qdSPzOxgiKIOpRNP8wqzD4lTDbjkqhDQiqxmv3HBbwOnz90Zz0ci94ukwcbNXZw6YPreFtLFZznTRf7YkgD9psotjVQO62G47u8gzb0TAl3mMm+pHoL84loaM/IZlwVhDVMjcatug8rTvElHutNX50HcCrX2SfjD+gj2GiEZDySv7eLollEsSqobS9iGl553GI+I0s6J5u5qJqoT/ASqpE3+D9+NlpcqKZA== 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=UcqDHQpjAp4Q60CSgs5vj5LY3c6xQKhHL5kbw/NnE8U=; b=d3rsNUjQmfACsrK/bSSPZnWf3KYhq/BNzSmdE2ZaawJrx1qgePR39FaAAhdBksm/tY6CykIZJPOk90isdX6opvfBJ099R9ByDw5QxLBBBlOJ9HMEkISTx1+gcp18tx5bkvOLn6l8Ca27add3Og4yyb4RHqm3MWCSwlikjVkiidpBbsjYrd8hbMuXP5MuHFDewMOnwdFk/Lx5ttQff15CC6VNra8vJg5G9Sd5V7OTgsv/L9EDG/c6I2tlfX32ssIOdVCEb8SwM8NqniPKAA4Co3vlaEO2o4tOM8LRo5aGVBe1+UV6/5l1wHPCXT6VbGCx7+zSfWoLXAaivEjCXRfZ0w== 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=UcqDHQpjAp4Q60CSgs5vj5LY3c6xQKhHL5kbw/NnE8U=; b=nqt2/oecO2oofeJ18iAL+aip2PPBR21wl1Jo5kOmcsvbdwKfW6QaBNj2V+EAdYdJbRr/WQvCBUAH3MCqX9xDqiQPzuQMbbRkP7Mv23vKG3pF19NU+V9rmpi6Ziw+DL0ouPgRnP6hh8VTu0wUCvM3U2HnYDaeg7dHmfBXAdLh8p4= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by CY8PR10MB7124.namprd10.prod.outlook.com (2603:10b6:930:75::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.202.18; Tue, 14 Jul 2026 07:31:27 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574%6]) with mapi id 15.21.0202.018; Tue, 14 Jul 2026 07:31:27 +0000 From: Ankur Arora To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, bpf@vger.kernel.org Cc: arnd@arndb.de, catalin.marinas@arm.com, will@kernel.org, peterz@infradead.org, akpm@linux-foundation.org, mark.rutland@arm.com, harisokn@amazon.com, cl@gentwo.org, ast@kernel.org, rafael@kernel.org, daniel.lezcano@linaro.org, memxor@gmail.com, zhenglifeng1@huawei.com, xueshuai@linux.alibaba.com, rdunlap@infradead.org, david.laight.linux@gmail.com, broonie@kernel.org, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, ashok.bhat@arm.com, Ankur Arora Subject: [PATCH v14 13/15] arm64/delay: enable testing smp_cond_load_relaxed_timeout() Date: Tue, 14 Jul 2026 00:30:39 -0700 Message-Id: <20260714073041.40250-14-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260714073041.40250-1-ankur.a.arora@oracle.com> References: <20260714073041.40250-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR04CA0080.namprd04.prod.outlook.com (2603:10b6:303:6b::25) To CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR10MB5409:EE_|CY8PR10MB7124:EE_ X-MS-Office365-Filtering-Correlation-Id: 926e339a-6da5-4fae-fbfe-08dee179ea76 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|366016|1800799024|23010399003|18002099003|22082099003|56012099006; X-Microsoft-Antispam-Message-Info: vwgrsxnuqRoGBKmunQCdnZx0MEqgLcjFSEmIEYv5kaI71Dnsp05rcxYibcR+45+ViBDXZhR+oEyLitSyXGftn74Dx73s6jlYo+o0QlC9AxPZeDaakL0Oio2BeE2VxWin3QnEaAN11ll5J22irgqFylx130FjllT5oxnQaR6p1zMLwOufugc80O0MSpZZ2dKkOE0LgnewA0jNXTdRiaOPoALo5ZWs0C/qb1+WWSA52b7YQ4Y/llnrO37pHMEt3SQ59/t6Ao9v5IawYMDO8X+/wX8BInTKYz4xv1XMhbzJRcPtcEZ3fAunaAY3CvaLdHCKSczFVcvCyiZAtVC6ldPehCHE5WjUZiWleOznm7m8NtJUHYBYt819UNKUEAjKZTrkgzj7vwzNa1RNKlWpAjMSOSwPgOhVHFzT4v6r8OrPaLOeaUKYi5pmu0xAI1jraC5oIfnxZVUH1USRlUqG45toPeuzhZBIKNKjLbmVp/hg54O74SVm0mBalM6ru1TDsgm16TBSr2BIt6GFW/tMafG2ch+39mLQ9EYf9/q0KvaeOiITfHXcDFnoujlqm+r8WpSPbgAl085dC75Pm2IM8ThiNxsW4QTmUe9anYDajWdADhjo4XQT0JGMaho7f3ApHMA6OAsMT161c+okWNwDPqVikjekLAH/RJzcUEteah6k6jA= 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)(7416014)(376014)(366016)(1800799024)(23010399003)(18002099003)(22082099003)(56012099006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?OrJK6o31ftg5tPuogUsFtmwhXAq8y4tBRhZ9vdmEJretBf1hDPajio3TS8jI?= =?us-ascii?Q?+FUuTCu8yhAX2P5EG74xlA4Um90y/QEK5kPno+nKs8TjXvwWKNjXe0BLMsAH?= =?us-ascii?Q?zbLT+Pz7Wul5mR7RBxlMN6htC0lFBkRrKKzANDvDHbtQfgqPOzOXvunLSWUu?= =?us-ascii?Q?7svE+Uty4RLyj73nfHxHnIUQZ3G4sp2qYUyLiMHsL9lM/FnzQuOWL51GVOgg?= =?us-ascii?Q?souelYooR/6EDpH34h5ihUAEIk8oDsfkOySmiYNwuewcE3VtncS+ZX5oNHlq?= =?us-ascii?Q?+2F8023shH6PEc6ION9xn82HbrPfcgosC8SaSedqQx3KhS1rK/sH+69++I8W?= =?us-ascii?Q?A5VMdF15oNn6mb52H6wESr8dHTjfCENjGOy+0QIDuLem10VF/z6PZUw8gSbB?= =?us-ascii?Q?8VYSmSA/AmHCpehZXVw6VNP4D4rJ4aHcHstPhKYtioAq0CIMsaUXmOERE/Pa?= =?us-ascii?Q?bVo/VsUIOuui6NAusXh6JHx5KneYyLInPC3p0DpVaCCcWhZeFOQb0FixIJCc?= =?us-ascii?Q?4tc2S8Cl7mA9/d/2V6sk/IWZROZTa5J+cKcJrTXvkDZ4MnESUa/1YNOo7S44?= =?us-ascii?Q?m1CDLBcFi2JlwQXJawgQJmAErdFjc4uYNPX1yNabO+8ltH9bGrpGDE3F8X+y?= =?us-ascii?Q?M+MCgw/2phBdmmcJ9uWUDz/D9kVRt+IPI8JBGGAklZGFoLwIX0yC1f16W50h?= =?us-ascii?Q?foiYyr5xJAQJXFnwAvqqQzgqJ6MHae5zYlN6mROsvQnpfwfCs6uja70np7it?= =?us-ascii?Q?596efB748hT3xuQxesU4+RZwP/UbKUsI6ys2lSdnZkmp56wO+eUEOKdgQ7ma?= =?us-ascii?Q?wWOULEVC2VW8jTug8VnkI6oheAU1RJdhpSr2xs8ARae9MQzTjzd7ClwOJCV+?= =?us-ascii?Q?OGnCiqT8KEo0oT1CuKrZDGFfWfxWpi0n0dA/P9xJ+vy7lR6Z1kfAUYPapAvY?= =?us-ascii?Q?nrXp4I9r0HuSMDrYUhNm1T26Pv99PmKcIc8xgFqKoVlUUVbWuBn113mHB+5p?= =?us-ascii?Q?ILzjhd/ObDqPGZqkzzJc0622uMMCPU+6jNj6vtZM0yvZIm5jk2TqHGiHaRbh?= =?us-ascii?Q?61mj+D4tJf3Nfyi9PzzJZWMAVZQm8QFNpVtr9ldYIqO9k953Ipln8XB0TOfd?= =?us-ascii?Q?h3Op9rV9cGvCAVC71BuK1dvREj0pjfOt0UE058yGvX8utqQ5yEJ+f4czksxq?= =?us-ascii?Q?l0ww2zASKaWX6D9k2ygAoA9g25ofheYvFkBR32+y7BAozXTB9dCoHKK8+dBe?= =?us-ascii?Q?oRxR1ZnFxmNEIv3RewarWQukfNLfLm6kW+USdjvZXfg50krCQmxLSGorFi+p?= =?us-ascii?Q?wMGzeS4ZOVnp7fKepUuoHu6X91l1GLzGiErsmq4jUSRI2ij5ecWcpNyIbcbr?= =?us-ascii?Q?hO5tpUJZy5ioHEs52szfR23yRxZL1p/HQP8+1f004GpMT7nEukAVbPHjS6Ze?= =?us-ascii?Q?QHNPM2cPmtnYQIO2dtKiSsc4+X7ZFLTTjdARr53ZuiOTeKbrqNthojT/m9fi?= =?us-ascii?Q?82BIjJWOpM8mB6/mpaDVP3iNNfvD5b7ZgyeB31LIG9SQl0W3lTGkU/IF9ZRs?= =?us-ascii?Q?dv4rFW6RxVVQGdcRiHD+5fYWJqBLvJtxHVRRp4ngkztSRGdvCfL/Z3UXeopR?= =?us-ascii?Q?QMNxJ+WfeinvqPxDIqE8ljRBS1uqvYzZHzyvpIfpESnd6zEvb7d7+anC/GCI?= =?us-ascii?Q?o7T/vzn3KxjEsaZr2BKdUOjETQhv9Ko1Q/Q9wjOPwVhuCoYVs2fN/I9LSjmW?= =?us-ascii?Q?pw9/1UVjzCdHk1FSY9l/c3bLLf3twew=3D?= X-Exchange-RoutingPolicyChecked: Uqn5SscrjV+cyW583NSnNbHjH5/sPOIvvOX5PEXSikhNRFZHg6AuWenOOnoS1n/aoyAmQ8D6SekMhhl+xWtpMCyLAUoCA0uW4mL7ZMCjYs9GNVh9EnW/lAuKo0sI1upgsFgxM9HSUHlwdWhXe+bLV1TOSe7dfsnId7PzI4THwjvTTbMwQv8yu6YnNxlXlipjCI/aAEhnz4E0J4CO7iH+BFwipPaVGjCPbPaMhC1pUJazZRP5Cw++Uj5O49Fj4VBk4ohVcWobAfGXmekjuIgqfmIBaam/L78DmLtxTf650ATz7K/rhalzi9XAvRyicFdGxk95rOVJXIhx2Re8SZH4Rw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 061S3ajCh2pdDPj06DxW1irB4SugMrqmOamno/AQwPrlQ9+An3n3Z3pclMU9TRbw0LTgjqbzDHayMfzXP2gYTigG0S5a8sE4HS1f0LI2p5MOBVqKBs40v4+Hs0VFMWZMHdQmyFATQKtmRblnDCVMwZqidPCaTZ3MhhB53vw0WTPcoTiJ3v5eg/38J9GPvK1OPHjxS4wR9376KNfAOGo3WRXN6/hjvrywWnUYhYdZtbTl4QG92zJsqjOFrJwpeAIc+nqcB9Hql8MD8VLGehoKQxHMN5JgdbNn68tnW+yeimF4Q9TyAz5BdobarJo+sZ6yWf1GzyT3Gcy7mROV0VDrKkgs/MsY+nZ+X+Ypvsqij0EZ4R5Ei2ILSiXBnaEWD7SP0HhgJWfDSBjcmL3sAEbhE+P/V/JJe7Do03XhjTF9ETUoqr/bxIaA1HZxG/1yPvsZS1FY+qsGTd3cBOgtgC/bTfouD/y4Q9gHfuIKWWhpPd/VBIoSIKLQdXqvpwg+V4BsrlIdg+PPU0cJztfsT29uKggYH44EzTCVwZaPpSGrzP7b0mbjxM/olyhEmYguLheNJqMmAeomvX5vws8cfkdCiLUe9N7yvrmpuRorFbgzvuU= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 926e339a-6da5-4fae-fbfe-08dee179ea76 X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2026 07:31:27.5156 (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: fgOCe2exdgLIEiKQSs4da6LxpFsR9wGoGQDBd2bZwB4Ew2XLoluzSiqyFeXItId54kAg/r5mU20Lw88Vhqs3ek/rRrNLlLchDrRkGUBaysU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB7124 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-14_02,2026-07-10_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 spamscore=0 bulkscore=0 phishscore=0 lowpriorityscore=0 mlxlogscore=999 suspectscore=0 malwarescore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2606160000 definitions=main-2607140076 X-Proofpoint-GUID: N41uIpRbgpHQ_hsBRlo89RudobqDbSYn X-Proofpoint-ORIG-GUID: N41uIpRbgpHQ_hsBRlo89RudobqDbSYn X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE0MDA3NiBTYWx0ZWRfX19jIbEolSi1a EJ9FFUjYe4f3cUlCz0rz7l1pVC6Xbzo1FV/JOCKe/FBsYOPxKJNOGgeNr+DMEEEps7plr56pnDi tKAjnU+olLcPtgkK/gzZAyF716FFbxrA55KbYISFsJm54DKxumZv X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE0MDA3NiBTYWx0ZWRfX9IaJSn0OudO1 LVeJDsSN2GvTh3PW0KBP7WK3P4TT9rJ8VfSJ2dpZYt8JFYb/AKxCMSCmpa2oVpIiHMLVpD60VRo 9WrgneOgqNhaCFE5EeaWUTceH/8qk8ze6/wmlwjgpDgMvngs7S4QGEbrFHV/zJ3EpTRJoYcyeB0 03O3xpuMbeoXATO3AB1EjXv6HSYVxSyxlaLdRIH+lCKYy0cK3EHuurjoJgPFROxuLnYCkauSDYH LKfex+d1gcsVgbBWZBAobWAkJJqKa1ziLqCtVR8MKH04Dc5I69ywMEg5O9OAV1ylFHEP3UnhKKb w91cpBMkB79FF/lAr+wbZ2Zvqe4xCzFvc0usKVnCOD18XR7QhC8fOy8I/qoQ/Hmo10v+OZb802n loTkmcxhGCGc7h/pBcKvC31th9F+L357Ow6IOpGCNVVqZo/YDBWyUwbMA99tqcZuayX8EFL5Pot r9uzhbtETXo0h3uEQOkALV8ShLbmdywCzSAPRiSI= X-Authority-Analysis: v=2.4 cv=c+Obhx9l c=1 sm=1 tr=0 ts=6a55e5d4 b=1 cx=c_pps a=qoll8+KPOyaMroiJ2sR5sw==:117 a=qoll8+KPOyaMroiJ2sR5sw==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=RAioF0-LDSMA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22 a=BqU2WV_vvsyTyxaotp0D:22 a=7CQSdrXTAAAA:8 a=VwQbUJbxAAAA:8 a=yPCof4ZbAAAA:8 a=bb9Fw_vXVJAL2FTmegcA:9 a=a-qgeE7W1pNrGK8U0ZQC:22 a=5yU3S35YU4bGjq-dph-N:22 a=Bho9c0fBagfJEIQBS7DQ:22 cc=ntf awl=host:12222 Content-Type: text/plain; charset="utf-8" This enables the barrier tests to be built as a module. Cc: Catalin Marinas Cc: Will Deacon Signed-off-by: Ankur Arora --- arch/arm64/lib/delay.c | 2 ++ drivers/clocksource/arm_arch_timer.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/arch/arm64/lib/delay.c b/arch/arm64/lib/delay.c index c660a7ea26dd..dfb102ce3009 100644 --- a/arch/arm64/lib/delay.c +++ b/arch/arm64/lib/delay.c @@ -12,6 +12,7 @@ #include #include #include +#include #include =20 #include @@ -30,6 +31,7 @@ u64 notrace __delay_cycles(void) guard(preempt_notrace)(); return __arch_counter_get_cntvct_stable(); } +EXPORT_SYMBOL_IF_KUNIT(__delay_cycles); =20 void __delay(unsigned long cycles) { diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm= _arch_timer.c index 4adf756423de..91ab8552ead8 100644 --- a/drivers/clocksource/arm_arch_timer.c +++ b/drivers/clocksource/arm_arch_timer.c @@ -28,6 +28,7 @@ #include #include #include +#include =20 #include #include @@ -897,6 +898,7 @@ bool arch_timer_evtstrm_available(void) */ return cpumask_test_cpu(raw_smp_processor_id(), &evtstrm_available); } +EXPORT_SYMBOL_IF_KUNIT(arch_timer_evtstrm_available); =20 static struct arch_timer_kvm_info arch_timer_kvm_info; =20 --=20 2.43.7 From nobody Sat Jul 25 20:04:11 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 9454D125AA; Tue, 14 Jul 2026 07:32:03 +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=1784014325; cv=fail; b=NBNIJK1lpSWrm0+tvAxtKyFdGvwspJIpNr7imdt6pKXkHv5Lbm1uzUNN8DWbq1iCzJJMQJXGH42vehfPGNSpNmd1vS0C+ciGdM9y6A1r2GaBXlL8+csIMprrQVXJBpnaYE6YKZ7ssJt65qGHDugsAHpNBrjIPKtl39tZUvUBiQU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784014325; c=relaxed/simple; bh=AQardczMSHQ+UCdawrjRiyPK3eoZuUZKv/we5apgi3k=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=RwxTXaUZ/O6D3d4nLZI5R+jQ/DB5/d+DPE0BvIQvdLlOGkRIGNmFMNfdsKqxmWkqLvqNSCMg8IDdWIP96V3ZBas8ibDejWK0HyylCkKsOVg6z9kMo6QWB267bqw4DWJZJHbh2UDbBzKj/reDSnFVR0kRMYcsBGJqhgTffZwJfNA= 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=XwhO5/GI; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=mTPAgign; 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="XwhO5/GI"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="mTPAgign" Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66DKl4VG1391892; Tue, 14 Jul 2026 07:31:34 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=8ORxdN6kSZ+O2nqv89wJE0CYY50frr+9TocGBj1CtJ4=; b= XwhO5/GI1Xj4FKBLsOLCqaoX1ly9ScJvKhqERbK5UMGTA7h6SOEXhfhg3RX+Gxpp 00jkEGyH1rZbYuUIdH4zDHip9ODpkxS+wl4geJAvo+iWwa+0VM7KYZSkmkuQE4QF GGCaWVYPvv8jwnQhvQ3Ic7laBuzrfLDCgGfdl7kt2TIzmf0BtrcvnezB7OlQgHal ky4G7yfmEE23AjmjwVOKg2XipGpZxI5IpOARVCuq7hxbWxF2WNwC8TnE/4eCNgAz rRdZXkZWOBXQ5W7bwt1QY/itLKc4NDpCt8slvcTB7ZvJObMM+rpnT2lwrzZWxFl7 DeGWHHvtVs+LlBL/hxXVig== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4fbepn3pbg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 14 Jul 2026 07:31:33 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.7/8.18.1.7) with ESMTP id 66E7ScCK028698; Tue, 14 Jul 2026 07:31:32 GMT Received: from dm5pr21cu001.outbound.protection.outlook.com (mail-centralusazon11011032.outbound.protection.outlook.com [52.101.62.32]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4fbc9r4grc-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 14 Jul 2026 07:31:32 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=g0fdCjHn94JlPB9UVNr3UwMAsPf1kXBcZHFVxzeEaEkxZkEvYiAw8SUKVL6hwNcbExi6vUd4M41WVAvZf6YiFHx9wgskMDNtSZPu18BKPZNOKh/f+Xif7gF0fm9geE+MxRzVklqvCHGDGYRI7JnKk0Y5CvIXfNkecPXtYQp3z30+SpQsWLy2EQubQUlyECLjEhdPDTM5szbNCptkT2CbfNIUHrRgV/wDFYBYBxK+LPtflznqDZ9tN6lueRHJAFtGcwVO1df81Xwwyz8koERvS53Z9TQ4qhxyu/cQuiEwMqmrXYsyDdFEIRqt1mpEVucxHtIasv4Oq9xvuRhPJtXtLg== 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=8ORxdN6kSZ+O2nqv89wJE0CYY50frr+9TocGBj1CtJ4=; b=dJIw+HtBxBhqn6e5+Ft8ibrffaQ7HW3F5YRR4ngIuwqKw+OSMmxcCSdYJ0Ysj4Ew67luhKgWSrDq/yVSiCGybO/Ud8heX5pQjFeRERjkuToTQZoqS2WiBjYMH/Kht/ledMiLHTwhzYlG3O6LEq+BsXxnCC166AhThx42UbLNQMVqgsSvfVyGyiqohKf2jA7JhQ7/Jg859SPcPi+Z2amGKG2izc+qHdHul7UEZfQ1HcDIs6X3eAPIwvX2U1FPxFhJ/45vJJ7qAyvrVe2AICI9hzU5ckGgMnhdGRgizkWCZifgqafZqL96srSrctkXZXC406WI/ODFqg5NYd4hWCBnIQ== 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=8ORxdN6kSZ+O2nqv89wJE0CYY50frr+9TocGBj1CtJ4=; b=mTPAgignbfENtcftcxSdL8Hn2LtrfkW5ZEYDgxyajPgf02gSdzpOdTPS/pcOWSf6sziqoL3cHbUjFtDnA6tUUVuzGpUSSWgjVJ1kQ9PXrs5QE8u90V8bVH6mTxLxjvjwEmHGQxzCS1E/KRS/GBOE1gceUMcd4rX1HZ9N5C3MnEk= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by CY8PR10MB7124.namprd10.prod.outlook.com (2603:10b6:930:75::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.202.18; Tue, 14 Jul 2026 07:31:29 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574%6]) with mapi id 15.21.0202.018; Tue, 14 Jul 2026 07:31:29 +0000 From: Ankur Arora To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, bpf@vger.kernel.org Cc: arnd@arndb.de, catalin.marinas@arm.com, will@kernel.org, peterz@infradead.org, akpm@linux-foundation.org, mark.rutland@arm.com, harisokn@amazon.com, cl@gentwo.org, ast@kernel.org, rafael@kernel.org, daniel.lezcano@linaro.org, memxor@gmail.com, zhenglifeng1@huawei.com, xueshuai@linux.alibaba.com, rdunlap@infradead.org, david.laight.linux@gmail.com, broonie@kernel.org, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, ashok.bhat@arm.com, Ankur Arora , Julian Braha Subject: [PATCH v14 14/15] barrier: add tests for smp_cond_load_*_timeout() Date: Tue, 14 Jul 2026 00:30:40 -0700 Message-Id: <20260714073041.40250-15-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260714073041.40250-1-ankur.a.arora@oracle.com> References: <20260714073041.40250-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR04CA0075.namprd04.prod.outlook.com (2603:10b6:303:6b::20) To CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR10MB5409:EE_|CY8PR10MB7124:EE_ X-MS-Office365-Filtering-Correlation-Id: 7f762e3d-e8e9-4e8c-dc98-08dee179eb5f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|366016|1800799024|23010399003|6133799003|18002099003|22082099003|56012099006; X-Microsoft-Antispam-Message-Info: 2pCzAGsoek6SI5UOOYs3CQKv2kyPtlwXKq4BnoZw1jaXYfO0uJFJwDcmiYsx5yZSXyKI4yrNqM+G2iESjfQ4CtBJ0TPTqppZMSaoBw0lTepYAGU4oNLZAB75Wn9Gi4HUpIFgedblq7INTC52ItJ369Y060Er4Sv8fXrmw2ZYcOLGaxK3648mkrvhSbDppdGOl3G+qZic3Lia9mv/h9KbROURfSwrcifOfNTLAWgFS+q2bW0ZLh7N5WdZIr1jG0zoLhvyDrAOU0UuXu8ypETW57qiOoP4jK/46evCnlVK2RBe29gYdUEWCj9YFzXbY74m2VMRAA3BTiUDG4qAPAB1L70BYwgd+aehfpZq1Z6AhJq4Qsdplz16zrVcddU4qrojL0B/lYrkVahm7eAakYZ5Qkr74k6nh4kXbQ9/fD4Uav9+Uj47Ug9kGPHzxJ0GCUK5eAW/JpGxyFGvda6g1VcHDRVYqXtwuoMTB0l3cVPw+0EyooQ2qLjZPY9YfL21RGwXB82TSKizO/LFuVFLzhBa2l3Td1orCuKtt11LdVUyQ1NZ6JgCp34D5bE3pthotgQclrnPBTpASwPjmEiH7GoalCSWJcAQ1oiTKyOCBhRwK4lPjAMfy1OI7ihHi+QA+7V7M12/qMNR3V6m46AjhxMflITmr+6UMfe6T5tLayxoWWM= 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)(7416014)(376014)(366016)(1800799024)(23010399003)(6133799003)(18002099003)(22082099003)(56012099006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?zEOezJju/tKVc48bUsb2owVhPunlpgI23CBNuobwAlRZGfd2Jzvfo+UgnrWU?= =?us-ascii?Q?4/pCmCSyp+UTFlg7r16oXuHlaU5Hrt7HIV/C9pT20ubBXD/HqQ/CWiNoxaXP?= =?us-ascii?Q?C9kasSMz4LSZuqu/rVUjyehWmipYMckiSepa7FPSS2MsaswZUknH0+98Mqfu?= =?us-ascii?Q?e16QDMuHfXTjZzuqIOqpHNgvy0sEbQJHfnaU+v/SzZBY2yO79YhJBj+izk3Z?= =?us-ascii?Q?U3nqTFKQ7Niht9pP3uFo7nstzUCfivOzf+A7fIqXHCqnjzmCGiWb61TzDbjU?= =?us-ascii?Q?n9qRCV2vqt/aEiqsaI3kBuofPJkap3pVW+TwLOhq9lOZvFTJSb3He5j6+1k0?= =?us-ascii?Q?yQJ7pxh92aI4VDj2Ah1LbPhM6ju/U7UktdeU5JW8VILOZv9Qq/d47sDA3esu?= =?us-ascii?Q?k1NlKBpD4Sl72u5lkJZAwNo2rDdc7cojHxVBMBTJLM/HY0YO9SI+tF6gKKCM?= =?us-ascii?Q?qQ37qjSdLZd+703YaTgZ9wXPAcBLtUzyc9BFuwwnKHdHwn/Uenr5JwRhhSAF?= =?us-ascii?Q?pxKGqn8pO+dBGEYmzcECTvnuc5BzEqhlLH3NOsZ8PiUc5XldA0rB8mlaoI+A?= =?us-ascii?Q?QQDnvxYWSH/O/DXxOafSe7CY45Ap/qSW+O94YAD+ArS9+IEFL/T8Yui7eUF8?= =?us-ascii?Q?z/j+kExjv9BNbRY9g9R3x4Qkdyj2XHFFq51OS4vbFxD8+tjKcoQ8M0o9JzP1?= =?us-ascii?Q?WOBFsJQUB0a9Rg3whesFq+bzr3xI5y4El2O9NswOND+qze10u+v2VgmaVOnp?= =?us-ascii?Q?BFvTmOBSRvGY5tbKLJLNLpuS/aMD8ZvSf2m2AFG++4tiI2ydfZ6JdYFImJnN?= =?us-ascii?Q?EvrY9gqU+51ZU6MWOtjeAQmVpqbdpizdBDt6VuZa7H5wUHF5VaosimoJQxi4?= =?us-ascii?Q?E3OGweiGfSXf4FREEYZ/m0tOgLaHbGzo3KO2XiqYaXi9Uvslt8oeKXalR6P8?= =?us-ascii?Q?37XRjlPNSsDy7CyK4dDspS2yVas3qLXEOmPLrXkIVAPWFkcUf53deyW7apSx?= =?us-ascii?Q?6rbuDdajgZpqpkD9LcrOgdLLisezm7iavKvw8WQ9qYkWnEYcGDl7XxgkhNgq?= =?us-ascii?Q?7Bx4fxwShKv/cfKjJQUpuwoBqv1SsunzMhBkHApaLPVehr6cqm6mKdpKuAUH?= =?us-ascii?Q?CF1gaHwysusf7SsZqMqFp8htuUgM5wnwvVMep0hyNNS92yrhk/7J/ClQ+pEb?= =?us-ascii?Q?yHnb6fxlwHFh3w8Taif63LiRYX4kXkxpQqSkbHdMeIC7X/8O21eeHpcFJojd?= =?us-ascii?Q?ACNbtSS1svWQOaQLrVffB251NNEseZIl1GxmTTKAVC1kryf2Z+JtHh5kUHQg?= =?us-ascii?Q?Ku8HzeNGGTUwe9VrekuP5SuLZd0Ab7dT+rdFJvX0V5eaTBq7iI0sFIxPnenb?= =?us-ascii?Q?tjUyWToMwJLdjM4TlqleVQwrW+kReQ6/CpOO9k/ZM44S9F+s4/bswHv6nLmw?= =?us-ascii?Q?8H0juBxnUgaKobYlXJ1VUdQy7xMF18LsA5Gezkil15wnTQ8ab5e39NZV6k2l?= =?us-ascii?Q?CkEo4SDfROY8GQrua2SZxIvpUiTLUQsAtPA92ihaTsy9pV3hkNdnz5y5iGvO?= =?us-ascii?Q?1xBPs9/Se+UKn6MGF/hnVZ2b4F3sRlUMpTKnihikI8cT1kpkdqLBVPs06i+/?= =?us-ascii?Q?/Vi7FFPMnDZe7853pMTdRZaOHzUeYGuNTjXB9eNmNf0hs9kHbu9ROmCpT6PL?= =?us-ascii?Q?eTduh4TrumgnYRxEP+JhS3h/1bEkdiHb5u3AEYYxmjDX3y5pO7n1JYQoq4Wv?= =?us-ascii?Q?1Hrj37sqH6ub2NHLVsqOkv9cxeM8+vE=3D?= X-Exchange-RoutingPolicyChecked: aRQ2+7YrN0lyc959fiiG/Mf8OPOHWiQI2jiBtwOf4MZLR2SBz8W3Ry7h0nhUxktMbDhN3A/6IYNpTky/+3YQW0rToBylhRlk8HZ4Q0/gM4MAxB5whxwa78n5LBMnVIvIniWhCJKfe+znOxqgBxrQVxKs3ZZ2kRyNTrdjklr0hEBHAFMhDbt5qQJqCggtFa3NetPHhsPRwOMCVezMAGqtUjYORuoaLstMzU+Hvy2m8Qv6c74+gKTnbxBUyssM0f3XgdTrdVl5kR4y5nnw6IFR5vqF6Qy3VlZfDWPByHJiSUIeGE25rF8fJq/LjSbD4DIEMZnwMZDLzpeE0FeV+nWgmg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 3lQSPF1wPPjUCll5alwPrcpWnaahdexEHaRQ3rbEPjqz25VtxrnBlPbdaMFpgPeralE/fPZ5HsmCyXh2jrN8n7gdmL43sI0TWXBc62YraHoQX7YVT6dvxUhyOsB/D2G4FjPOBGcdHZ7zYKeZIMeTcPAc7ghc2oQykpKaUAKDohVtthxZ58B4Uek6xWEk3sXBEpLvrgFUFdO+mqMg/47Vdpf15B9gp4l6BsLSev6DxyZ0wGpTdX5fjSr9OH9Wc82aw2u8ysbg6ZlTF6KHlYlr+Zoi8g/DCYq74kluwMy493pepnxMqStnHKSsL+LbDx/G9JEYotj0PxKYv2owY0pcCGc+BuIrikKPDZe69IwVo6s5IKmKf7iHpN/9KVbDRGBq0dosUb8FotnHR15+Br8JxIPS01A/2Wr0kMuRE5rF3vKMqKVCoCokDcZtiMJtCKVfdD15qCmNldIxP3XNqDCR0v04iC6L7Yf44FHTAobsBBenEO8p3G/4vVz/YEVEAPaTRtmczusiBbBECEcxfyj0VoQIjN//hugSL772zgQk7IMsVwH90Ji/kZumLiMNU85xuX4imwCpTFsOHFHBd73d1aoRYNdf0Oa6MyZUyaSJ+Gc= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7f762e3d-e8e9-4e8c-dc98-08dee179eb5f X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2026 07:31:29.0490 (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: kXOvwGHogVXcJx8+CJDDBJODohTW2sId5xLngFo3L8ys2jxFtTqmqhmF8ezRBLyYrbPe88iLIZBmdPLzSqG3+21lVhgOciLH0KMdCmLEXhA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB7124 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-14_02,2026-07-10_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 spamscore=0 bulkscore=0 phishscore=0 lowpriorityscore=0 mlxlogscore=999 suspectscore=0 malwarescore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2606160000 definitions=main-2607140076 X-Proofpoint-GUID: M1bZp7YxQpqkYeWQgfAgjQkcmS8Xc4Vw X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE0MDA3NiBTYWx0ZWRfX1TmJwMRHLb7n 2SVoOSKJIg+S83FgCBhQHTXHy+ELv3IF6ymcioivR+ahgk1AaCbDeh21LDz9Tql0G66pZZm/yQF fra/lOiTxZc8W29wY1ydxN5e1oiaV7oDI+gzCNiHvoNsa61UJAOClGOwBNzG/jw1MV4Natx9EYr Zd7MsliuKb0S13bMpBpPHLRGJq5rRBY6q/RyebiPF07WbvjFxui8guALwGYHRUtG2nchmUENAqu FGahzE+SC1J13deCLtxRMIH8K1dqrRT874igQIuOpg3baqE22kxpAy237dDTc38zkgBxMEvMnNu vmdvZlIJ7g++VcbDBLGnqJTdQtK5x1BjPh7erfqG9AFgNQp4meRtmqRl6rZMMZkCH5hD7PVZHgj nFcs0mNia2KXzDBMsPPNzMJLmD/3dJKutKpSLhiMzgBxnPPNej7/C84m684Cz7ej1aU5PSkEKbm 2t4D232DcI5Ofy0n3F/5WGP646rcLVSr/iUHVbuU= X-Authority-Analysis: v=2.4 cv=bJom5v+Z c=1 sm=1 tr=0 ts=6a55e5d5 b=1 cx=c_pps a=qoll8+KPOyaMroiJ2sR5sw==:117 a=qoll8+KPOyaMroiJ2sR5sw==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=RAioF0-LDSMA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22 a=x0eKOSpe3m1H3M0S9YoZ:22 a=pGLkceISAAAA:8 a=yPCof4ZbAAAA:8 a=NepunaQX1CZaHNhu9GkA:9 a=5yU3S35YU4bGjq-dph-N:22 a=Bho9c0fBagfJEIQBS7DQ:22 cc=ntf awl=host:12222 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE0MDA3NiBTYWx0ZWRfX0gSMUiMrw3Lw NNRXaQvo1mHZC74MFu/68IEzqCf+84btr0yqk8zZQEMujIfh6S9RZiDCs4BNtsh4UOnad3XcY4t yVLVuArR3WDUD8YhyGXcqkz85EGESHTjIwhjHaYCfiGlOltpd/mB X-Proofpoint-ORIG-GUID: M1bZp7YxQpqkYeWQgfAgjQkcmS8Xc4Vw Content-Type: text/plain; charset="utf-8" Add success and failure case tests for smp_cond_load_*_timeout(). Success or failure cases depend on the expected bit being set (or not). Additionally in failure cases smp_cond_load_*_timeout() cannot return before timeout. Cc: Julian Braha Signed-off-by: Ankur Arora --- Notes: - s/BARRIER_TIMEOUT_TEST/BARRIER_TIMEOUT_KUNIT_TEST/ - limit visibility of the config option to only if CONFIG_KUNIT_ALL_TESTS is not enabled. lib/Kconfig.debug | 10 +++ lib/tests/Makefile | 1 + lib/tests/barrier-timeout-test.c | 128 +++++++++++++++++++++++++++++++ 3 files changed, 139 insertions(+) create mode 100644 lib/tests/barrier-timeout-test.c diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index 1244dcac2294..07a06cfd820a 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -2551,6 +2551,16 @@ config FFS_KUNIT_TEST For more information on KUnit and unit tests in general, please refer to Documentation/dev-tools/kunit/. =20 +config BARRIER_TIMEOUT_KUNIT_TEST + tristate "KUnit tests for smp_cond_load_relaxed_timeout()" if !KUNIT_ALL_= TESTS + depends on KUNIT + default KUNIT_ALL_TESTS + help + Builds KUnit tests that validate wake-up and timeout handling paths + in smp_cond_load_relaxed_timeout(). + + If unusure, say N. + config TEST_KSTRTOX tristate "Test kstrto*() family of functions at runtime" =20 diff --git a/lib/tests/Makefile b/lib/tests/Makefile index 4ead57602eac..796f63c89bc2 100644 --- a/lib/tests/Makefile +++ b/lib/tests/Makefile @@ -14,6 +14,7 @@ obj-$(CONFIG_CHECKSUM_KUNIT) +=3D checksum_kunit.o obj-$(CONFIG_CMDLINE_KUNIT_TEST) +=3D cmdline_kunit.o obj-$(CONFIG_CPUMASK_KUNIT_TEST) +=3D cpumask_kunit.o obj-$(CONFIG_FFS_KUNIT_TEST) +=3D ffs_kunit.o +obj-$(CONFIG_BARRIER_TIMEOUT_KUNIT_TEST) +=3D barrier-timeout-test.o CFLAGS_fortify_kunit.o +=3D $(call cc-disable-warning, unsequenced) CFLAGS_fortify_kunit.o +=3D $(call cc-disable-warning, stringop-overread) CFLAGS_fortify_kunit.o +=3D $(call cc-disable-warning, stringop-truncation) diff --git a/lib/tests/barrier-timeout-test.c b/lib/tests/barrier-timeout-t= est.c new file mode 100644 index 000000000000..4226fb6456b3 --- /dev/null +++ b/lib/tests/barrier-timeout-test.c @@ -0,0 +1,128 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * KUnit tests exercising smp_cond_load_relaxed_timeout(). + * + * Copyright (c) 2026, Oracle Corp. + * Author: Ankur Arora + */ + +#include +#include +#include +#include +#include +#include +#include + +MODULE_IMPORT_NS("EXPORTED_FOR_KUNIT_TESTING"); + +struct clock_state { + s64 start_time; + s64 end_time; +}; + +#define TIMEOUT_MSEC 2 +#define TEST_FLAG_VAL BIT(2) +static unsigned int flag; + +static s64 basic_clock(struct clock_state *clk) +{ + clk->end_time =3D local_clock(); + return clk->end_time; +} + +static void update_flags(void) +{ + WRITE_ONCE(flag, TEST_FLAG_VAL); +} + +static s64 mocked_clock(struct clock_state *clk) +{ + s64 clk_mid =3D clk->start_time + (TIMEOUT_MSEC * NSEC_PER_MSEC)/2; + + clk->end_time =3D local_clock(); + if (clk->end_time >=3D clk_mid) + update_flags(); + return clk->end_time; +} + +typedef s64 (*clkfn_t)(struct clock_state *); +struct smp_cond_update_params { + clkfn_t clock; + bool acquire; + bool succeeds; +}; + +static const struct smp_cond_update_params update_params_list[] =3D { + /* mocked-clock updates flag inline. */ + { .clock =3D &mocked_clock, .succeeds =3D true, .acquire =3D false, }, + { .clock =3D &mocked_clock, .succeeds =3D true, .acquire =3D true, }, + + /* basic-clock doesn't update flag. */ + { .clock =3D &basic_clock, .succeeds =3D false, .acquire =3D true, }, + { .clock =3D &basic_clock, .succeeds =3D false, .acquire =3D false, }, +}; + +static void param_to_desc(const struct smp_cond_update_params *p, char *de= sc) +{ + char *clk, *update; + + if (p->clock =3D=3D &mocked_clock) { + clk =3D "mocked"; + update =3D "inline"; + } else if (p->clock =3D=3D &basic_clock) { + clk =3D "basic"; + update =3D "none"; + } + + + snprintf(desc, KUNIT_PARAM_DESC_SIZE, "smp_cond_%s_timeout: clock-%s, upd= ate=3D%s", + p->acquire ? "acquire" : "relaxed", clk, update); +} + +KUNIT_ARRAY_PARAM(smp_cond_update_params, update_params_list, param_to_des= c); + + +static void test_smp_cond_timeout(struct kunit *test) +{ + const struct smp_cond_update_params *p =3D test->param_value; + struct clock_state clk =3D { + .start_time =3D local_clock(), + .end_time =3D local_clock(), + }; + s64 runtime, timeout_ns =3D TIMEOUT_MSEC * NSEC_PER_MSEC; + unsigned int result; + + flag =3D 0; + if (p->acquire) { + result =3D smp_cond_load_acquire_timeout(&flag, + (VAL & TEST_FLAG_VAL), + p->clock(&clk), + timeout_ns); + } else { + result =3D smp_cond_load_relaxed_timeout(&flag, + (VAL & TEST_FLAG_VAL), + p->clock(&clk), + timeout_ns); + } + + runtime =3D clk.end_time - clk.start_time; + KUNIT_EXPECT_EQ(test, (bool)(result & TEST_FLAG_VAL), p->succeeds); + if (!p->succeeds) + KUNIT_EXPECT_GE(test, runtime, timeout_ns); +} + +static struct kunit_case barrier_timeout_test_cases[] =3D { + KUNIT_CASE_PARAM(test_smp_cond_timeout, smp_cond_update_params_gen_params= ), + {} +}; + +static struct kunit_suite barrier_timeout_test_suite =3D { + .name =3D "smp-cond-load-*-timeout", + .test_cases =3D barrier_timeout_test_cases, +}; + +kunit_test_suite(barrier_timeout_test_suite); + +MODULE_DESCRIPTION("KUnit tests for smp_cond_load_relaxed_timeout()"); +MODULE_LICENSE("GPL"); --=20 2.43.7 From nobody Sat Jul 25 20:04:11 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 191913EEAE1; Tue, 14 Jul 2026 07:32:04 +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=1784014326; cv=fail; b=bMYt4KFou6YhvJXj18m1pMjMq8MijChrRWc9ITBiR6oZ82zoT2m2BwONvY03AJYASe4LwFlKFfLHGJWLtqOM+dOUo9topRNB1uA3rV2ngROWm4W+MzJroCoxjaU6ImnemQ5hlNQ1r+nf0BpjLXl02Z4kpmRsMjOfBEzPG6+MS+4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784014326; c=relaxed/simple; bh=wa0s8yhsStG8Vc15yt3sloMYFZV2Cb4HvSp8OZSRB64=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=Ifi+60+LvZyWY1ssP70bSB/0xS+ykPUOiBR+eN2YStJOr8fLyuPEQRCwdF4Rco9D525frDeFZEgfIvWiFb9eYlXk5n31+yGKM97qW6W//ZtUyLtRpeuTMEuckfEOGWlf/xdcM7/4dAf96CKd8Mj8Rom/IqkX76b0vOj2jccMc4I= 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=r37hBGNv; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=k+SuTlyP; 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="r37hBGNv"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="k+SuTlyP" Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66DLFPmk1347396; Tue, 14 Jul 2026 07:31:38 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=aljnVLin2KbGyaD+Ih8Aiw27tw7tOLS9IgNEd4ohxD0=; b= r37hBGNvBS2BNzecrO4FKs2JTlnA83SYtL3hmYE4aNlelEL8zkY6i1xcpOeJ0Igf KsKWXoY7oJ/83zigC89xF6TELtCWhovRwfeeSVZFxl7jL77YmwKdPjVKIxwGy0yL ANrYHb6LVhQAewh9lAaWMhdJC6JAcOENHanZzTkK/VJYj5rVN5R7xx/tc+H9JZhV D/eR1Izgjt0pZRW62E54Ov2+iz7n8NPihx2c5PzsAU9l4bSF4AqCg+ZvSH6ZngAG BH3MaZmlap9dF+WkPpKvvNA/L0xfYZfYT4tmX5dDkEXWVbjw/yZr14RYJ7c2lBjE fLFCrvfRU/gKrchnykz4Eg== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4fbep33p4j-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 14 Jul 2026 07:31:38 +0000 (GMT) Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.7/8.18.1.7) with ESMTP id 66E7STvg035318; Tue, 14 Jul 2026 07:31:37 GMT Received: from bl2pr02cu003.outbound.protection.outlook.com (mail-eastusazon11011054.outbound.protection.outlook.com [52.101.52.54]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4fbc9h4922-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 14 Jul 2026 07:31:37 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=QI6dJ6BSWZL/4DgB+2MdiOf1LYnOHub/wnzn2hob5Gd7DCnuqclhtkPlkig5Tbrx/HipdJzidvnJ9jUOEGtCJ+P6LqhtYqQUZy12HolVlt+o954wf92pW7SLMGGhXxFoKqtc+kPREkZ9LXqvRZXOpqEbejqZfrOJHHKUYc0uVXYUjexQIGWD6qHMCesDl1GxiLrCNBlqfd7ed8VV25opgIDvSLIByEV74KRb0fgwouofyRByfG2vtj8CFWU3H4JIFZmV0MKz2xCrddlUa2QqobxTaYfDxLwZJd1l5MUee9s3/N02tKGJJAJxZ151O/81s+/khfguBvl0+4hjJ2kvVA== 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=aljnVLin2KbGyaD+Ih8Aiw27tw7tOLS9IgNEd4ohxD0=; b=Xq//m9p0/0jwG6ygDSDqyVQnUtKRyCB1eT4EZ/sKfIaSb+MWI+05FKfj8w0dTkI9K6l8/3uR/w6BwfXT9ZGAk6KlgI+qrVOu6X22G6War9TIE3wQmr7kKKJA78gyBGx4nrvE5Sbg7a/Wo6OPAr23+Jw5m/P0ysgzTrIhSIIxx7qM4eebVMJA6g1yQCy6dlO3zGUuboluIhj4VcWS/CGsox8oxbfgKSJgNRAzZXK91Z19z7R/lrxVWWUuoZAHcHqOddqtKDfcP2AENR7r6NSv6sjk9J3276ZPQUYIGalox0fBnnIoeQdKMeW8mUxxgk6iN6s2CQXAgV9LWCUUsJKdYw== 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=aljnVLin2KbGyaD+Ih8Aiw27tw7tOLS9IgNEd4ohxD0=; b=k+SuTlyP2WdTvTaV4BAQjVoiUkHTlpNJTjDSDgF0gu+KxvZTbGSs9hcTg+Ezz2007qDrVEOvYlFKug5GCfRq2N9jTuRlmTBwhnWQWhJi3wWeG6pX/q1ebDzdz93yYxkxHWT4ESp0aEfyLzI8MRaeF4BIyMQbdXxno2n/7u63Wq4= Received: from CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) by CY8PR10MB7124.namprd10.prod.outlook.com (2603:10b6:930:75::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.202.18; Tue, 14 Jul 2026 07:31:33 +0000 Received: from CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574]) by CO6PR10MB5409.namprd10.prod.outlook.com ([fe80::3c92:21f3:96a:b574%6]) with mapi id 15.21.0202.018; Tue, 14 Jul 2026 07:31:33 +0000 From: Ankur Arora To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, bpf@vger.kernel.org Cc: arnd@arndb.de, catalin.marinas@arm.com, will@kernel.org, peterz@infradead.org, akpm@linux-foundation.org, mark.rutland@arm.com, harisokn@amazon.com, cl@gentwo.org, ast@kernel.org, rafael@kernel.org, daniel.lezcano@linaro.org, memxor@gmail.com, zhenglifeng1@huawei.com, xueshuai@linux.alibaba.com, rdunlap@infradead.org, david.laight.linux@gmail.com, broonie@kernel.org, joao.m.martins@oracle.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, ashok.bhat@arm.com, Ankur Arora Subject: [PATCH v14 15/15] barrier: add clock tests for smp_cond_load_relaxed_timeout() Date: Tue, 14 Jul 2026 00:30:41 -0700 Message-Id: <20260714073041.40250-16-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20260714073041.40250-1-ankur.a.arora@oracle.com> References: <20260714073041.40250-1-ankur.a.arora@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MW4PR04CA0164.namprd04.prod.outlook.com (2603:10b6:303:85::19) To CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR10MB5409:EE_|CY8PR10MB7124:EE_ X-MS-Office365-Filtering-Correlation-Id: ad266817-7de9-4462-31ee-08dee179ee0e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|366016|1800799024|23010399003|18002099003|22082099003|56012099006; X-Microsoft-Antispam-Message-Info: 4q/eAXlWYgwY8oW++ZMDTEQFBlr9JweTurYIS/dFKNZOVpR+hd+ZlFEi06CO2cgiujm0zSvOfq5XjFbJQGGol4qSCLigaZCV/8QeFsTq64pelunP+6IBHpEIEuX/Vr1bz079DlCkDEkJvoSOMac6WVjFiXqc3KjUWkKYRmLpGGQjfSvjyAJsgO1prJMm6+2jK5RmcpZi5OKbr5Pdrehmow1ojL5cHbAytZYYHqUUYNB98UpVWNrzYaYlRWhJBoKQFhFZygIFcfqHm8QrBrXtqjjZX8TBj5SHtSimkpaH+oti0ltPMhpZOwoAiUg6b72fy+NcNxaT2uj+acaScoYgTktzu+m1U33hJ8hOkJfg8yGWyaedqufioKbqupHIQdU2bYkQaR92SwqWLM09okjeoqcd0wVyVIt3dP4tcpllYLe50/KzNUTvdhaiIpjCSHbgIK5mPGCU3cAjZk5bQZG2d0nSMofOl6PQlXmFqyj9VKVOJXh96tcuZ3bzNW/6/ZXDH4wJCHF9KSuXfwnz0TSUhoeBx5Kn3OtUAgpdhaZEl7Iy6W7jkPCSEGE8msVVfZJaVCthDu/jhQi8LeNpHcJb4v8TpNPRkPl9pJjd5+iYt26BtDXHispFYIcSfiDn0UWi8U9Tb7gyccSzuKsKLtF21n6x3dWZtXV+LkCDM9zyVHY= 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)(7416014)(376014)(366016)(1800799024)(23010399003)(18002099003)(22082099003)(56012099006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?PPiQs589tteHxC/f3v+Qrjul42F2Qz4+4J+oPKizSij1cbhyhpS7IZYknHwq?= =?us-ascii?Q?PcSxEsiZFHlfd+lPbSUHWvFg7K4oS3jXNmn/qr/z11TErACD58nednareAoP?= =?us-ascii?Q?8HaD6FMh4b5nVQ2IH5wZN7Z/OEU2WtFvoJ99Bwrmp58GTAsVAqTMLsSGSpcQ?= =?us-ascii?Q?cxeYVb8iCG3inD+AtM71xg/aOhqKCrpbOVIEMKC0pqi3FRe9mkNGtvPaVu1N?= =?us-ascii?Q?NEcyn6QuFqbBIGGoLBDHoz7Fyobqhht1I9oy5/AtPuTMzzfnH5cmgxmQnLbM?= =?us-ascii?Q?h3m7WSuOj/5rYTzpJunFhQSBd0RfV5+3qbD9ZBJBFG4Rz+yHWOZ/HSfB9etJ?= =?us-ascii?Q?oO946YHTzGMIMHeetP1iLH5qs2npr+uJAmNhLJ9SdUkVO/XWX8FKHSuPrhnT?= =?us-ascii?Q?VBZ/O6jYMfqYfVM/1XNVNDBD78R5khuZRB1AIZGqtPUqXHgd9KNoutCr8aC+?= =?us-ascii?Q?c26KMbFHQThcjxQTAjb2oSN/aeUYFyHkagmvwtXzO/KnonSTZeuwgGHk/Fgr?= =?us-ascii?Q?5Yrtvl9GuK71rKWmubHSSdntoe8avvKxkV4hYzg7pr7ZmePFS56J0z9cPbYp?= =?us-ascii?Q?1q/BgoYOfwlKA0C0fx0ndSHkWNn2piBqHBsHNm2S4QwD3gag/Qd2pNMC/dZz?= =?us-ascii?Q?lutvFOlvZ5X1AcePF/yVpRFjeartaS93iYmPq21KE2yDHy5bcxrhdh7RHPz5?= =?us-ascii?Q?QQvTvCP0w/8VThtSiPcXqoTIBZMqI+MoeMsG0lS/8TTk6P4DNmMHEiCqMw79?= =?us-ascii?Q?rzLs88OpFbt24p9Y5KffK/RfwFOGliqhNgFAKjNFFkrEI6nbRrvZIK7wdICD?= =?us-ascii?Q?P2HsnzFUlYW95KbVWg6lkEkzDFbbCMEC+lD3PTuObpH1L0a35tzzIhhfWjp5?= =?us-ascii?Q?5e7hsWRtLxuWiNB9BwCNku1gi5v5fXpoqgB8bRsbr2V6Bhm2aMxpDuV05U4R?= =?us-ascii?Q?uDyujfoRoKs91IgSUIShFuIWBVadNtUUDNfKjh/7YFwwSc/synH3a84iA89M?= =?us-ascii?Q?ZCdHulfcUEDJ6hVX+p9qCTu4M32lSRx0cXvRLapsMQZ7jEyzIY0uOnst/8AR?= =?us-ascii?Q?STJkW4RC0QMyO1Bnm/H036D5RHsjlD+PwXLzoxNKcrJfpJB/gEM13kkVKYot?= =?us-ascii?Q?aLVM9YEDttsxqxNwHKPn3rlWCQLD7B3iqHI7mIZ6wROLhYLHNk20y7oX4n2P?= =?us-ascii?Q?q6opvRqEWCx/svbKb1aanJRiNYln4A6G0FvE1UYbs/8FzgPpxhC+32MUHIW0?= =?us-ascii?Q?tjZFOdL6fG+iAeuem2BMQQGfD1ssn8wKTPZbYkkY5CzR3aboy5P0SZ4r0NOm?= =?us-ascii?Q?CsOJHMs1jxe8yHO4V7mU4fFV5JVhWauliyiAyq8tsLwy/ag1amlhfmPzM1cM?= =?us-ascii?Q?b8wiU6JC9aUcfZ046y3APRyzD6cUl3N/nz7HNj0v3HQiECemD7ZYFAJOwIIj?= =?us-ascii?Q?r8WPbEtysRuGP8yCf3QEDq3TnqfFP9Ygix9/ETbxqqtKOf93/Mxacx0nG8lF?= =?us-ascii?Q?uFbHm81wLAaBO4Eejee3d6xzhpoKOPKDOn6H4Sx/QVYXmk158jEBWEazHD9d?= =?us-ascii?Q?leRLx6kwMfNZvMGxZzWZAqQxU/Uzxnr7eI6i+3ygGK15HC4ZW63nwIFISmNz?= =?us-ascii?Q?5ewiSUrYOQ9bfUeQn1nD0iGa23+7ND0H2jsTDxl0SZzS2P7Q1fylBx+C5FDK?= =?us-ascii?Q?rDxgVG5xbrGd7OySYbSTpXyznwQT0Ucp7mIZr1EFMz2DA7Xx1xpyIpIdqQCQ?= =?us-ascii?Q?EVdL8xmQrnFq+PcJa4PgYO83wSnAdgk=3D?= X-Exchange-RoutingPolicyChecked: aSPLUC/SfKg2/dng0Eksz6DXzmiX4dbgW1/+dQC2RuqIlBNvbTr8K9PT9qj+ZZrJOXKCLee29s4BFdFC9fQ/PAiqPduvXv6a84WEhZYf1BbMFh8c83pyNGWFtxKQ7ZkK+QGLLoyqFX4b92QAn2TjE4WrXmn/XWB8ZbfaVAOKUIeeWDH+mnOCC/cCIgniNTOwLECFe/8iK7IAi6kk18OsF5DtXCzSFG75Y37qUB9cZ1CzE+9MrQ+4G5rcgRchMd048wOLWn4Z50fITwh6JGX4DPwVQen8XMrJ/4NUVxpUhp0LQ0XReDuzIiswuP5TgIajmg4WoDOlMA0LHkHSAs/AGQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: I2stZG9kpEEwPoyKFxv4eEpImpzoXChc5eDwfVq86U3hGcAyuYBLm/i23TvQP6vPoB4yqM/yPuL1ATzdujrF0q8bNeA9MdV8g64uwGgVl6IuzjwZNkC1y1mf5yAAeoKhbGxGNnHO6ookt8/GOcV7/rmkhxF3Pi6wkIJXEm+z7zyAzJTRC8hx+c4NrCtET/NqqJZPvAIRB1KU9hOlka0SOKTttyXmWGeu2BtvDDFV2v8aXrPsNki77il6rUpdK16eNIAizyRRk6wZ79ziXh1UVa2QYlFoRUDAZDNao8faOZ8j5JUF8IYahke4EcML7S1qtd33KHns/huLbZalLE0ZsrSjkxJRrBgDeZ9MTNKzysnsqiQAHCh0XekgsYuTRC86QAfgIZuRBxjyBWhVDYaDnr0HTCfPH3NOFKOD0upMioF0mo1XzkwmkHXj8aY2MXmGr+J9l0tserdLPsbTx3CMUKgKSivFntVgBzvDSH3KcqxdKv7l3BDTlme9d0ztMg+vwSMUrDSslq+P4Jjeffmil3Xk+L32wdiH/JyFJNVNR9UKwHsXkdYw5pyZoIRjV3RmlDq+vQ6fCD59TwZJa/V8f4MFbAile7pDq1ofJAHwIyg= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: ad266817-7de9-4462-31ee-08dee179ee0e X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5409.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2026 07:31:33.5567 (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: bEEfA9kYGaqYvf4bAomzRI9HHy7DzraM9m975ocv3viQymG0bX9pROFFbd2qJZeBteCXYrnxXwV5zQhUMnRLYDReOPq0z1X5HVL39F+AziU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB7124 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-14_02,2026-07-10_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 spamscore=0 suspectscore=0 bulkscore=0 lowpriorityscore=0 malwarescore=0 mlxscore=0 mlxlogscore=999 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2606160000 definitions=main-2607140076 X-Proofpoint-GUID: eFZ0rc14-FcAZIazQEtCvwS3GmSF8fAm X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE0MDA3NiBTYWx0ZWRfX4GC7XP/Tq4qP 9rK7cAfpIX+QqpLKAVbYDxr7sKx2VYRJHbEOEquklHD00pjbH6ZLqLQvRn32ky2RopaSYaF4lci VAIvBESo3WgHXvvLlBuYJb8RFjGZXk/J17fZ+EEWF2FpHd4JoUi6 X-Proofpoint-ORIG-GUID: eFZ0rc14-FcAZIazQEtCvwS3GmSF8fAm X-Authority-Analysis: v=2.4 cv=dYawG3Xe c=1 sm=1 tr=0 ts=6a55e5da b=1 cx=c_pps a=zPCbziy225d3KhSqZt3L1A==:117 a=zPCbziy225d3KhSqZt3L1A==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=RAioF0-LDSMA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22 a=3I1J8UUJPc9JN9BFgKH3:22 a=yPCof4ZbAAAA:8 a=EAuR-l_fSTGrmbixSIUA:9 a=5yU3S35YU4bGjq-dph-N:22 a=Bho9c0fBagfJEIQBS7DQ:22 cc=ntf awl=host:12221 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE0MDA3NiBTYWx0ZWRfX6I/tny2B2e7v 0VHvrcfohNeahqGsuRgiZjc6vHOYFCoHFT/44w9Wjduu9ypi60tLvbw99cxA9jmo7wdEgaqDlat 1XzSHjIT8A6UzPSHUIDiOg4mXO7uqwwX7kq/6yEVGKwsFd3nzX+hqeai0oOyg2ujklqp4mle343 mHimOGzvewKAg8Fmc8+8dXnAw6zL8GpViX5mJz5ETFrfoCzO09iXzNsgMzxTAMqcC4utpro/W1v gr9WzhzReE4qjtOkGNaCa/ljf+xmNVt1wxkTD2bNJk5Km4M/rZu1IDH/EJsOHkbvNchppWdEL+Z As4Y35Pvm+lYVzTGfn/64mNltCVWiPfHANsVAknp6HLTPm1gqqdyY08t0sZEDqlE+GA8egR37sX wN8yhn76TmYHPWcZRo6Jf0RGGzTk+mjMFrUKZknOsQsjGjZYphsrHEEfE3dnWAEZa5Q382bZF4N JKP+C9NX9ShzmiI8dKlP0RmUfJz6rzmDN2gkAW2I= Content-Type: text/plain; charset="utf-8" Add a few clock tests for smp_cond_load_relaxed_timeout(). These ensure that the implementation doesn't do anything funny stuff with the clock (like multiple accesses per iteration.) Also ensure that we handle edge cases sanely. Note that two edge cases fail: S64_MAX and U64_MAX. However, both of those are quite far out and if needed, can be addressed in the implementation of the interface. Also, this tests only smp_cond_load_relaxed_timeout(). The acquire variant uses an identical clock path and testing wouldn't add anything. Signed-off-by: Ankur Arora --- lib/tests/barrier-timeout-test.c | 58 ++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/lib/tests/barrier-timeout-test.c b/lib/tests/barrier-timeout-t= est.c index 4226fb6456b3..ec78f8533006 100644 --- a/lib/tests/barrier-timeout-test.c +++ b/lib/tests/barrier-timeout-test.c @@ -19,6 +19,8 @@ MODULE_IMPORT_NS("EXPORTED_FOR_KUNIT_TESTING"); struct clock_state { s64 start_time; s64 end_time; + s64 extra; + u32 niters; }; =20 #define TIMEOUT_MSEC 2 @@ -112,8 +114,64 @@ static void test_smp_cond_timeout(struct kunit *test) KUNIT_EXPECT_GE(test, runtime, timeout_ns); } =20 +static s64 synthetic_clock(struct clock_state *clk) +{ + clk->end_time +=3D clk->extra; + clk->niters++; + + return clk->end_time; +} + + +struct smp_cond_expiry_params { + char *desc; + s64 timeout; + s64 clk_inc; + u32 niters; +}; + +static const struct smp_cond_expiry_params expiry_params_list[] =3D { + { .clk_inc =3D (0x1ULL << 28), .timeout =3D 0, .niters =3D 1, .desc = =3D "0", }, + { .clk_inc =3D (0x1ULL << 28), .timeout =3D 1, .niters =3D 2, .desc = =3D "1", }, + { .clk_inc =3D (0x1ULL << 28), .timeout =3D (0x1ULL << 30), .niters =3D 1= + (1 << (30-28)), .desc =3D "1<<30", }, + { .clk_inc =3D (0x1ULL << 28), .timeout =3D S32_MAX, .niters =3D 1 + (1 <= < (31-28)), .desc =3D "S32_MAX", }, + { .clk_inc =3D (0x1ULL << 28), .timeout =3D U32_MAX, .niters =3D 1 + (1 <= < (32-28)), .desc =3D "U32_MAX", }, + { .clk_inc =3D (0x1ULL << 28), .timeout =3D (0x1ULL << 33), .niters =3D 1= + (1 << (33-28)), .desc =3D "1<<33", }, +}; + +static void expiry_param_to_desc(const struct smp_cond_expiry_params *p, c= har *desc) +{ + snprintf(desc, KUNIT_PARAM_DESC_SIZE, "smp_cond_%s_timeout: clock-%s, tim= eout=3D%s, iterations=3D%u", + "relaxed", "synthetic", p->desc, p->niters); +} + +static void test_smp_cond_expiry(struct kunit *test) +{ + const struct smp_cond_expiry_params *p =3D test->param_value; + struct clock_state clk =3D { + .start_time =3D 0, + .end_time =3D 0, + .extra =3D p->clk_inc, + .niters =3D 0, + }; + s64 runtime; + + flag =3D 0; + smp_cond_load_relaxed_timeout(&flag, + 0, + synthetic_clock(&clk), + p->timeout); + + runtime =3D (u64)clk.end_time - (u64)clk.start_time; + KUNIT_EXPECT_EQ(test, clk.niters, p->niters); + KUNIT_EXPECT_GE(test, runtime, p->timeout); +} + + +KUNIT_ARRAY_PARAM(smp_cond_expiry_params, expiry_params_list, expiry_param= _to_desc); static struct kunit_case barrier_timeout_test_cases[] =3D { KUNIT_CASE_PARAM(test_smp_cond_timeout, smp_cond_update_params_gen_params= ), + KUNIT_CASE_PARAM(test_smp_cond_expiry, smp_cond_expiry_params_gen_params), {} }; =20 --=20 2.43.7