From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from SJ2PR03CU001.outbound.protection.outlook.com (mail-westusazon11012070.outbound.protection.outlook.com [52.101.43.70]) (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 4BE15358360 for ; Fri, 22 May 2026 09:10:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.43.70 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779441036; cv=fail; b=J1+E65KfewVdrI4c187HkQdPGooR/N8Zj2DdXNsSFOTiN6QEgp6DKkmo41xlDJp7m/b3xWsvz12G/rVp+maYRF71YJ9uX1RHfzNYXGQAraVkejJrbqCQ61NeHtnIMHEKY9EqF3ZqkcDen3i8pwZw1/ZriYEOyO8wmdqC/4gFENA= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779441036; c=relaxed/simple; bh=HQL2PlMs0mNSKjuMMaxOxlR2Je6KbL1hZSjZQPGPV4I=; h=Date:From:To:Cc:Subject:Message-ID:References:Content-Type: Content-Disposition:In-Reply-To:MIME-Version; b=CwrGs4tVzPpYbe9F18jH1w6ouwOXvgXb+OTTcK4o7uUJdIZLjeGCPlCL2NA2vOfvvDvEvjIqftk0xEgk5UDIflRqEV9wZi+G/2mco+mPfMKh+sRniKXW7aASa0fPKrchVRD4v5PZwE2cyM1JQ3GOEaOvPpvXTkmec+XdqTwm3y8= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=VSaw2JTC; arc=fail smtp.client-ip=52.101.43.70 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="VSaw2JTC" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=UWAgGu5UgSbsoE6HE7slbwAfUfvkcoo1oGnL//Te4e9CBPcWiYa/VxIqN6+ygHEoc4U9VQAhh0ThS/cDNUoO4Ntr0+KPmXWuZgqA1kAFPIU5+PvW3ui/lJ6sLu+mVzYxl+2f+thPxeuUU/z+x2pGeMeLPm56TpAfDS5pnfhFNRW5jlTEvPpPRrUIPGEUwPZg+UYJ7In68g2RwI7dhjNZyYFkuphfI5QtTx2plLixDWsKTBrp1pz9uuRk/jZcNdbE2UGzQv39spL/GdlE/MO1dz+N39WaUShGPEmNVCSPb5WkI+rvpPF3N0A772RZdmJ6kl2dP/o8kMevAhOx6csbvw== 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=TxiUYPB6Lc6AWHErpm7P5AZkhWHDaFeasHrb2e3p/l8=; b=icIVPwqkJxYCXEwwe0fAlfvNLfun8S+o0MhIqjjcGsETKFUtKSXO1vjXhsAPGs+966puzFP3/lsKhvEdLRhLeHQj7Ga/YpCO0v3qeZG8QDqWxw/W9q8YSs1UymdjBWSEPbF46SoVRpAGo2Upm5Vfd7gz3dwLdeBwASrOo35/cg583vf3FVRQsSZBkGmmW/I8loGjyRKk1r6+hbXcoSaF0inw6Qi3yfKNxm3d3sn1wodzZdJL2spaGIW4OlYmkw4EZcOdKjekP3IYmNegj/R01HqFI8j9TxLxiSZhAqS9t018AoLHZQlRlv8Yb5nZrwOMDZRKbgqHUekMWNafbhbgug== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TxiUYPB6Lc6AWHErpm7P5AZkhWHDaFeasHrb2e3p/l8=; b=VSaw2JTCxjkF3uwj82huDLv3OqRwRlyQt2tR7L5MRcJQAAaaXEgxpZD319DBC67Gi2nZhKfuJZjqz0Ic0YfOJkEZEhS+jd2DBQtwMBuNftN/Ka0lSWkay35lghWaLasEX48nzM7ihG+t8XYeKI/ocVpJ1CdgHK4D/vDIsf9UOfcyUsAHwLnjY+h5mgDRwtagkocrXvqgRG8x7OLEcGho6pIJiogu07kWpZ3hOyDNGQ5wpiD4iaJFFO0qJkTgegQOXrHwuRU+ZYkUX+2TjoXnsOm6ZMZQyzGWp2tS7XR/fakCmdbR4jD63u6OIVomhecExiK7s6sZXNIvPRJSOIFyGA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from DM6PR12MB4827.namprd12.prod.outlook.com (2603:10b6:5:1d6::14) by CY8PR12MB8242.namprd12.prod.outlook.com (2603:10b6:930:77::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.48.17; Fri, 22 May 2026 09:10:30 +0000 Received: from DM6PR12MB4827.namprd12.prod.outlook.com ([fe80::6261:3040:864b:159c]) by DM6PR12MB4827.namprd12.prod.outlook.com ([fe80::6261:3040:864b:159c%4]) with mapi id 15.21.0048.016; Fri, 22 May 2026 09:10:30 +0000 Date: Fri, 22 May 2026 11:10:20 +0200 From: Andrea Righi To: Peter Zijlstra Cc: Ingo Molnar , Juri Lelli , Vincent Guittot , Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Valentin Schneider , K Prateek Nayak , Marek Szyprowski , linux-kernel@vger.kernel.org Subject: Re: [PATCH] sched/fair: Restore RCU read lock in set_cpu_sd_state_{busy,idle}() Message-ID: References: <20260521205115.1689545-1-arighi@nvidia.com> <20260522072853.GL3126523@noisy.programming.kicks-ass.net> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260522072853.GL3126523@noisy.programming.kicks-ass.net> X-ClientProxiedBy: ZR0P278CA0107.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:23::22) To DM6PR12MB4827.namprd12.prod.outlook.com (2603:10b6:5:1d6::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: DM6PR12MB4827:EE_|CY8PR12MB8242:EE_ X-MS-Office365-Filtering-Correlation-Id: d50aefbf-a43e-4de1-135a-08deb7e1f812 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|376014|1800799024|18002099003|56012099003|22082099003|6133799003|11063799006|5023799004|4143699003; X-Microsoft-Antispam-Message-Info: LpENaH+K11Vm/9epqXQOg3d22KYgOHTVpTdKIrLSzvCW/R0WE03/zpLeQo4fIXhsJzyC7fj0yEcMUD0k4BW9bpAmxaVh7hIxKn4PtTHElqmOHqIR2q2idOGBdbq40XUb0q1tpa0L0CqMRChX5S/lU5CuTevPzAWWgBYccpEGVOsImt/I1yqxBfpI+wdUS3wGy1Nckpg9piRtz98lA+t7A4Kq/3SVMjlfomBxFx7m+4AhyOWxasojEJnIfis9GT0JTpHTwE2IEeQe9pPSGrxaitwsA+1wU6WhE1BDI2hjRZvKPQclPl4Vsba39EmPBgnlM+eg3xg06H5U+/bXnAf3JC8gkTMEQy9G6zuB80b2blgCHAXXBin9hguA7v/9rAJB4bsT4LTOBo2K2LPtG3FSM42wkfGWiB1LMIl4wIx6Jtf689ACagc01l0xW1ZFU1s3dWk47rXkrhxTvnLrzSXbt0C23l6UJ+WugJRlFQ4HVwBA+HkvF6lCRTwf6VokWnL0ltWjgeMkJNFxe7/uBU2+KKQTNaozhCB1+Z7t1J9Kiz4hR+xMBNw6UX1pEkvoQtiDCHtbW392fJYFA0AAQgibdhsZNsvdpn5vW10NrdlyxBFvUrxk6Em3Sq4TSwwF/qRGl99H0mWKTXQ/QaCCmvmbKBGvZF59JfZU1eIjqbw3+j2IoE6V4mgyPf0TbmyYcxAIo8brt8h+LuQgbjDZ/yHYBg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR12MB4827.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(1800799024)(18002099003)(56012099003)(22082099003)(6133799003)(11063799006)(5023799004)(4143699003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?PzXZEvyI+ekCJ7zEy4hgS3lr9zU3KaucHzCSDy+RjzcsMUA3jWlNdXOrk5a2?= =?us-ascii?Q?ibDh45xqNzbgkYKpgDgw0DXi5bGxEIF7KT92DHHIDXIPZn0Py2OPtmYJUstn?= =?us-ascii?Q?e47LqsRxzTQbU9lUCY0Z07BthQjfI9WO+r/+MzS5AUUP3fF9QshkQ7beakBc?= =?us-ascii?Q?uMzawEwyQudc8OexeWtf0///LzYpWm6hWchF+dsfW8V4dVLqAWg9zZB/u4SE?= =?us-ascii?Q?DJ2fCLGglnQ+focbax0mJqLSylTTjF/EZS8EPeQPFd3LdZAs4BsYnmelf30J?= =?us-ascii?Q?tmVKry+5/9OkL3Sz3zw861RC2XbulP7FsNuyrwj8j17YrZwBc3wHC306dIqF?= =?us-ascii?Q?3xsYRMU3skkD/E16VDXAMkBa7KQEDHo/7nV1L6PiDQcnJzcadvMOP39/+Ki0?= =?us-ascii?Q?GlssAVhDQfMMDj+oaPR17BGTDsTVdI2cj2NKYkmEvMHoXN89PQlgDdtsO1uA?= =?us-ascii?Q?OPHtg2wHt98HPnY+4DA2Utx58crpCHBYVQ6csPQ1JqPkvM16JX8GoSHBa5Db?= =?us-ascii?Q?RHddhAQ+HEjySbEuV8tc1oYCnM3HBkIvjzQXVlzE+dNDOHc6osWtgjIHjnLF?= =?us-ascii?Q?vTMRKK8tzIc49C8k5V42IcyjzTtxO1lbSt8AXYVspycOZG5JBpEG2voOLn19?= =?us-ascii?Q?tOoHWXKhRBJnkqCq6+EDTycfw5vENskdznMhufFmuwfscYXmkEhlpH2bahRr?= =?us-ascii?Q?YIVWyN/GeranzxksGy+m0NI3lFuaXur5XlN7iP92ltVyOwSUP5f8lupbaOh+?= =?us-ascii?Q?k0AHOibWQqXxe6Rg9r4fn5DZk4/VpmvJnt5ObVuTcxqyXNzFVKQoSL6yjw4y?= =?us-ascii?Q?/9Bfa70RN1Vn+5zJwsFz6FaEBQJnScaQhvs6MZmXxi7J+ZhYwL/UP5uZYoqf?= =?us-ascii?Q?h1vg5BEfDAlI3tZRzYx8JcmcOufJFx+5+cOIKSVZ76azRBeNLbEHw0+OMntO?= =?us-ascii?Q?SQR0L+hAB383aezPNQkLQeqr3k5WsAA8kso0AMBACdGT8ggcojowxByx0Nhf?= =?us-ascii?Q?EYYQz8ZbrIGzIMIIySYEFGmJ4s55vIFSfOEIEDbVni2pZYVFQgnoHOXgq7rv?= =?us-ascii?Q?vrhOwKvGRz2Ddg4nKdzqJaoyswB7Qw6aMEo+3VGIZBCKcy8MT5MFhUfxxhtY?= =?us-ascii?Q?C/ciGuEWC5LR+NeB5ljKgWztWC6dgx/AkQtlQeyOMsCS6AXb9qnZNQr2cmXQ?= =?us-ascii?Q?doPajurpkeLsnsu+HJb3mUF+YRdkTQHR0kqnHD+bNqeEfKcJOJDRTW5Tuj6g?= =?us-ascii?Q?9hggnqKX+TnzyGIiVup953o3W/+cUSRgiA9aVNQ7yQbTz+ezbjzPoH5oEAm8?= =?us-ascii?Q?lqANe5gV5M4mfH329vfn3tyJ5LjI/wmVr7RZblOX4udHcxeyYhZGbDc6RCTl?= =?us-ascii?Q?qaZVUWbC5s+9Dp6UUJnBoCocwGTD9FNSs2d4/yBjSIkWVayGscqkUUlaLfMj?= =?us-ascii?Q?4+csgiu4jo4nZ4I0Nq6hbiqnqvcI6n7keuBkoqMRCJnMX1GfIQ6k8fhysAE+?= =?us-ascii?Q?sak9xC/VgItgMvG/BtsYFVVtyWLKmQ1hGXky/HsvPB0UUBMovNFRkx8SbqLI?= =?us-ascii?Q?5945hNxcmXDeZQ89g6ODcD45PG6+29+x17N45cGBunkk3A+KYd+7IOBqhMig?= =?us-ascii?Q?jyReLmqMbGa432F4q+C09/zyoQ1tiw/IZ2c738Zyp1dx1E1yaDQCJtbE5OqJ?= =?us-ascii?Q?Khf/zX90J0lFL1kSVNH1WYPwYQT+ww3Vt+9jh77DjT92t1slnzRq13CmtXsB?= =?us-ascii?Q?97WdcCV1gQ=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: d50aefbf-a43e-4de1-135a-08deb7e1f812 X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB4827.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 May 2026 09:10:29.7524 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: qvB5GnwPlALKkfP16vnlkzkSe3LvU+zpUEBYYPxtg4wdSDmDHuoS9lJRHM5LebY3VyeC3cfxg3WSwJS38PauYQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB8242 Hi Peter, On Fri, May 22, 2026 at 09:28:53AM +0200, Peter Zijlstra wrote: > On Thu, May 21, 2026 at 10:51:15PM +0200, Andrea Righi wrote: > > Commit c9d93a73ce87 ("sched/fair: Drop redundant RCU read lock in NOHZ > > kick path") removed the rcu_read_lock()/unlock() pair from > > set_cpu_sd_state_busy() and set_cpu_sd_state_idle() on the assumption > > that all callers run in a safe context for rcu_dereference_all(): IRQs > > disabled or cpus_write_lock() held. > > > > That assumption is wrong for the CPU hotplug teardown path. When CPUs > > are taken offline, set_cpu_sd_state_busy() is invoked via: > > > > cpuhp/N kthread > > cpuhp_thread_fun() > > cpuhp_invoke_callback() > > sched_cpu_deactivate() > > nohz_balance_exit_idle() > > set_cpu_sd_state_busy() > > rcu_dereference_all(per_cpu(sd_llc, cpu)) > > > > > Restore the rcu_read_lock()/unlock() pair in both helpers; > > nohz_balancer_kick() is left as is, since its IRQ-disabled context is > > genuinely sufficient. > > > > Fixes: c9d93a73ce87 ("sched/fair: Drop redundant RCU read lock in NOHZ kick path") > > Reported-by: Marek Szyprowski > > Closes: https://lore.kernel.org/all/38fe0a1d-1a48-435a-910a-c278024d9ac9@samsung.com/ > > Signed-off-by: Andrea Righi > > So the obvious alternative is to disable RCU in the one caller that > doesn't play ball. > > Was that considered? This also works (tested, just in case). Since the original intent was to drop these redundant RCU read locks, we should probably go this way. I'll send a new patch shortly with your Suggested-by. Thanks! -Andrea > > > --- a/kernel/sched/core.c > +++ b/kernel/sched/core.c > @@ -8699,7 +8699,8 @@ int sched_cpu_deactivate(unsigned int cp > * Remove CPU from nohz.idle_cpus_mask to prevent participating in > * load balancing when not active > */ > - nohz_balance_exit_idle(rq); > + scoped_guard (rcu) > + nohz_balance_exit_idle(rq); > > set_cpu_active(cpu, false); > >