From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2063.outbound.protection.outlook.com [40.107.236.63]) (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 394721A83F1 for ; Wed, 8 Jan 2025 07:16:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.236.63 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736320608; cv=fail; b=E+pje9m7cSYvktOzd7sM9D7gh4wGU9KBRZPB3Or2w0e4YqYCiNhC86zQrDfQYv1J8ZyO+bAm3lGryyoseNoB2mGfsOgweZbYNq1n8RzjwAbyFc0t4ozY6NQU7RVNdDzk6ZPq5js0TxCvAlQZHSYxxFkrW8MpW9bB0DeTvU3YGOo= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736320608; c=relaxed/simple; bh=m56AmuJLfbrZO8zJ8pQCk9KCdPqzAu0D3Q87x45Q5No=; h=Date:From:To:Cc:Subject:Message-ID:References:Content-Type: Content-Disposition:In-Reply-To:MIME-Version; b=ZAsUAjHP4A20MfEBGyzprnvNjPvCORUMqdACXcmJhRJaz9X7MpgW9D6lHepD6hhYfFHsinXSzpgo+j5U5T8K4Vw4ziSzUaZMxzfB6yCz6kbEE5v4QvRbphE8geyi8NpMmyK/DgZKnCUzQzbrbG9864DzcEs4stP5XmaEYVP4TRA= 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=fM7pbt0S; arc=fail smtp.client-ip=40.107.236.63 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="fM7pbt0S" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mpPi1YEi3ErjHgqy7gIAkK70K/9elDuOZZ7IiCzDcVC9OAcK3S/1qJVDPpSV31MxkDNU2/MBi+Bv4DcNIcNhEQjcnu/bL0RcVUPD3NLPWqhc4Mb90++TwH3NXvQyLPNI7TqCcStv0Tc0CQ3GjVWNZLIICHZfIK1JWHE0gW50MvfPGfegM8gg8ezRnT7j7N8B42gsmr/KXgkN4wSQUilVoDmV2mnHYr/pCOcUhftk6MlOncNzcmEtVjCS1xiXI80vfiDlK+MCc0hi1PH81jVfW+Ii792lg2feQdSzFiH33/C0eOXCbql0gPcphp0HjSOpeiMKA2QAXPYcdJPmrpEI0Q== 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=1gwARVTWzYITd2mldTZx18xrOFGW7xqcDNi1G4ymWLE=; b=L8sDmacPM4RObdqEawnW3NbAwmzWD9UkPVOgfCTZ92Z+6/tCgE7Bzy+SA1zWG/je2hOWorHQRk8H7DxZnbjDcrijSjG/pSCrh5I0SsIQr6pzWVjiA9f9MN9GeHwLrtxnxf7V1DA7OEFQVyR2+YDxIcd2nAR92ROxAGqaRueGJq4m1YuONGE+4ULQ9GHpueBb4sEKqfK5Xd3qou2A7YFnv9YCbrCLdjt4HiCHNZM56/dLK2ZSrJSE/3XuxDHPnCTSGMxtRlrPF904GrPA0XyNUseo98AmEAIOQbdu5RZKqUS9RzhzwrDnZKPLavSdflLlReD1cJg4mttWUDwIuz541g== 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=1gwARVTWzYITd2mldTZx18xrOFGW7xqcDNi1G4ymWLE=; b=fM7pbt0SkSu1E4A9lg9ZgovHItv++c7iAFulTjlIcq/Nrh1D9qRqFtvbCv2uerukqX6jKtoyqm9VH7GuCdWXYdERf5p/RiYnmcwwg1J3HdHe4m2MEvoc8/xx5TYgdWwmDUG+W31djcLBTL/u67NKDOB0EF0IDZxilIrwPcKMjDENty1G5IQ5ELuEhkT3p1wz2yXp0EXyBbdGI85wqA70Qi1+mS9eGeVZgPlcSYhsZ+eVA0yLC9sQ372fBjTd64HrqgljfAswBPfNj16bDq8/e5Y1DEL8NvQK/7t41Ex64lIdVslbd0M879kcT7GTJWGBQvB+RvuBGezXFP9RbzHzag== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from CY5PR12MB6405.namprd12.prod.outlook.com (2603:10b6:930:3e::17) by SJ0PR12MB6968.namprd12.prod.outlook.com (2603:10b6:a03:47b::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8335.10; Wed, 8 Jan 2025 07:16:44 +0000 Received: from CY5PR12MB6405.namprd12.prod.outlook.com ([fe80::2119:c96c:b455:53b5]) by CY5PR12MB6405.namprd12.prod.outlook.com ([fe80::2119:c96c:b455:53b5%3]) with mapi id 15.20.8314.015; Wed, 8 Jan 2025 07:16:44 +0000 Date: Wed, 8 Jan 2025 08:16:37 +0100 From: Andrea Righi To: Changwoo Min Cc: tj@kernel.org, void@manifault.com, kernel-dev@igalia.com, linux-kernel@vger.kernel.org Subject: Re: [PATCH] sched_ext: Replace rq_lock() to raw_spin_rq_lock() in scx_ops_bypass() Message-ID: References: <20250108025521.85877-1-changwoo@igalia.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250108025521.85877-1-changwoo@igalia.com> X-ClientProxiedBy: MI1P293CA0023.ITAP293.PROD.OUTLOOK.COM (2603:10a6:290:3::9) To CY5PR12MB6405.namprd12.prod.outlook.com (2603:10b6:930:3e::17) 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: CY5PR12MB6405:EE_|SJ0PR12MB6968:EE_ X-MS-Office365-Filtering-Correlation-Id: 850e4303-023e-4424-03a0-08dd2fb467eb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024|7053199007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?HlkmiiJA9TdJd0VOD1+GyDKF6HvEHMeIlDBXO1FyagG+kpDB9PaD/dI5UH8g?= =?us-ascii?Q?YRY4mahazbjFo/A7wi7nlT6mTuwTx7lp9TvM7gh8BAE9V2RKeepnnSv8T3fK?= =?us-ascii?Q?wGMZ48U18WMQmDZPxlLPPa2TleQ8RP8Li9i5whmRGZ3Gxe5PRl/20nxQf0ie?= =?us-ascii?Q?bCWhTPE52HeFWe6s1EzRG4o/Ll6OnYwl1xoR0pqqYfzG3X3sebwhxvnjbHu6?= =?us-ascii?Q?hpFLDs21zY1jj2uBAjsAN6ABggoWXD81Ov8IkHx+qnjTZlnch4EO+AyPoyLq?= =?us-ascii?Q?44oDW9Z8qTf+oyKaXj5woanECtFHic3IenhcDJh5qe6lCH73dr59Mc7BNLX5?= =?us-ascii?Q?TFZ08wVvZfjc50VlkHxeGpZR+233+P+D9DFo2kbDzqmudgGphnJOEInhlQi8?= =?us-ascii?Q?Ml6W9/IhdtrKo0we8pkMuiW9dayMlMGn8S/gEG78YqvJWT3074nErV4oLn/w?= =?us-ascii?Q?myss2Eqtwnjv8MVxgSX3mTLz/xH+00z/+ThjoBMGyCC8BOWEyKN3aiPpA0of?= =?us-ascii?Q?T8XMvthmPYlrmc9f/0/j3THg4ukRXIrBRUperc7XrspLc2aWXN9I0FUikEmy?= =?us-ascii?Q?XX5wPJ4svWYOb+I8nbtyXjAAFIP8Cd/Jt3goPtZEYtKKRjlAS/F/cEDEcggU?= =?us-ascii?Q?Rr3camywN3Hm6D8LAmoQT4KtZtBt3FfhpQS9wN+aJZ67E+THcqKDIBdU8vhh?= =?us-ascii?Q?Gnek8LC9Hst1+bm4LaFX9MMSFQKWKtXkEzCt55h0xZH113UXYMTy7w75WApr?= =?us-ascii?Q?5hYa3tcPJVd7vh/8cYNBG6fFw5xxz0QapIt264BZPGOa6M760HCQ/3ZeBAC1?= =?us-ascii?Q?yCnCLpeh/yhoq6T61Z9rsBkv6t2dbYrqR3EfWUgVLhtOZqflYDdtxEf8cCkX?= =?us-ascii?Q?ylXUxLjnJdKRS9afMJO07O3chROlZodHvtWh9+y/lA81ucYw+BwEjnTBOOC0?= =?us-ascii?Q?VtcZ7uNAuYjX20Y0Eqi3ohwXqyOgOUf22pm2bnyAXHTKGqOrZFAj/rGL9h2l?= =?us-ascii?Q?c0BesLQZPXkRONExLjNhW/F4315d1jKIMcvAMkQy34SZFlYZiD67y6ijZ/Jc?= =?us-ascii?Q?kLW09alhBHVu80clBADQbeuK0xy91DtGdpVxov7EOxjd6DfddutMbMdIbAa0?= =?us-ascii?Q?21t4fwgI+rNzyb49iLWMAN+yfSOp3g8P9si6TJLJEtIiPky/uZWLt2PMuX2d?= =?us-ascii?Q?fRiJUSA26dJ8hYDdfYdKD/80VIypkDArt6uQN05dvl7l7E5XoxIr2swvGFBm?= =?us-ascii?Q?+Xv2l5PtW/1oAvlwEoywiSBPkdof/P2F/rsohKsVHkDNcjfTPgr9A0KMZinR?= =?us-ascii?Q?/l04g6NIKfjMwdRYjHIbs62aqvb9Mm0m5XstIU+Z5UaUZ1d2M8TpI93dheAv?= =?us-ascii?Q?z9j8ja0/pUA4nrJcftSkI6UypSUx?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY5PR12MB6405.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(7053199007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Y0pzjkgMclU/WpMNEUMGe45hpTk5cFT2maooXcb3LRUZFEmtW5boUdCzK1pj?= =?us-ascii?Q?dH60+Wyi4/WnYM5r7Efo3IMkpqFsX3nN0XP9+Ebz/OxcxVbjnZsl4sttnact?= =?us-ascii?Q?LCIX0GXa8keFkEun2U5TQOKYH/4pn+IMbEzeMy6Ss+Rm64BsP1CKmhEpMfKy?= =?us-ascii?Q?sCjooKfuwJ0l7OHCzCRZSdI3ek2pDYKvEirfGmPMOqXjdQsjZEmoibA3+VDd?= =?us-ascii?Q?fw5DQtWvCFHRk3GtehEBGnHNzkN9kEljteGq5SbtJwX1gV24lVl/IEY/ThXW?= =?us-ascii?Q?uMZEWdnKDxSSkpx8StsQZJkC9bvJHa0o61uhjeiYLD8taw9XMXfT+KbgIxez?= =?us-ascii?Q?+2NdFAqZfyFmPdY2qVY+BbM5kJN+Dcq9V/jzLjRRA1vNvOgVQPI4+ARMonOh?= =?us-ascii?Q?Fw8lWmnvZk+w9LgRUuC3HLLcCvlpVT/sT9kEXGaJ65TxMi7Q++bz0VUgnlES?= =?us-ascii?Q?0NSjoscw1FxVgP5lKG37DYb7kJVSMSgNf2Ql1qPYuh3UYAqy5tkz9sQ6K6Up?= =?us-ascii?Q?WHnCmjfe09Jr2G6Jewf4t7xsDqivPSwccZ3qfVQj7dgWW6qdmX81OMSY3wVc?= =?us-ascii?Q?q4ctrI6wz02gd2GinBnbgmRuWra2iDZcRp7rle0pnTtuUtbTiNCUv+2ylyIb?= =?us-ascii?Q?It2KOClA0fuSFKw1bruwjOdToDTZDQGs/qpBn3meuv/8jRAdn7Vw0mXojTpH?= =?us-ascii?Q?OReTQJI2RW3UU+vPBKVcxJelwbBNAMPzEmOedCxdyH3HkQyrz2FekJselXkS?= =?us-ascii?Q?A1dCEoVH2PytY7zAVgEszsuk+a6ecjRSBEkgiBixWrEafWz2sng4kytratFo?= =?us-ascii?Q?/DZQYNJ+M841a6MPEyhuQoxN1TIEZmUN+oB5teYjPQ9Ql0hleu4Beb9C69OQ?= =?us-ascii?Q?RB+X/5wYKo7ZE9KBlkzlq9i8yuAWiWdJeSw8A8GcXojbrazrcb/bvtuhdCnq?= =?us-ascii?Q?GrJpQxoDOFNW41AKTUAqHAxBNJ85oMcpILkb5exhbcD4cKp6l8AqzT9jw4Th?= =?us-ascii?Q?KxDzsRz/CNBk9wDCobQfb86+vPZtgpzxa8MRniddGt4AEaSEfnMqBnvln0lF?= =?us-ascii?Q?DP4sA2Lqs4VFNoItw/vtky3+OVwrJaF3+JGflrL0Xok0JW/ftQpnesOqUBGb?= =?us-ascii?Q?Xd05/5HlGEyjMAyKwifJDIRZjg5+Y2fszYIk8zXzaWCn12UP3seng+QWvrpE?= =?us-ascii?Q?oERrCWPb1EjVWiUs9RwVgfOPVxI2qr72lC8It9f+IT8Q8Yax2fmjwmULttnx?= =?us-ascii?Q?Bu26/fYYL2YJD4iPv2Ykchlb2bpswbMa5eJgEJWk9P8EOSUo/NKNxtCxFe9a?= =?us-ascii?Q?+6Ot4jR87VsnfW4yaSOX6uCH05lDj2KpUPIAq8Urz1w0xeDYIPZfawYhkOPt?= =?us-ascii?Q?4ifzuPvJfydwyA/Yj8Hh0hy0qxCOre7tp0qKVM5o/fBj9ls6fsNEsut8njKf?= =?us-ascii?Q?TJcS2Q7KXd9W1ecR8RgaZBHdzSrluhE6I57JOHpGLcn8p8gRfp5Y2iERPDJ4?= =?us-ascii?Q?6gEGxvT90fq1BRyCmZNc6gcBw588mA0jyIAqyzmW8d3gcEhqp/c/ZGs5W0G+?= =?us-ascii?Q?+GQOTaz4xstfNOtGzeHrE/CrQDUeTHjiBB/yrV2p?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 850e4303-023e-4424-03a0-08dd2fb467eb X-MS-Exchange-CrossTenant-AuthSource: CY5PR12MB6405.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jan 2025 07:16:44.2215 (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: zr0chxzw7tNbr1f0D0DciC7r2xxS4czrf/7q2eoXbkesbF45l0oOiJUsCiteAMq4UiSJmfjtE2JJp3P2+PPyOA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB6968 Hi Changwoo, On Wed, Jan 08, 2025 at 11:55:21AM +0900, Changwoo Min wrote: > scx_ops_bypass() iterates all CPUs to re-enqueue all the scx tasks. > For each CPU, it acquires a lock using rq_lock() regardless of whether > a CPU is offline or the CPU is currently running a task in a higher > scheduler class (e.g., deadline). The rq_lock() is supposed to be used > for online CPUs, and the use of rq_lock() may trigger an unnecessary > warning in rq_pin_lock(). Therefore, replace rq_lock() to > raw_spin_rq_lock() in scx_ops_bypass(). Can we include the warning here? In this way people that are hitting the same warning can search for it and find this fix. Moreover, we can also add: Fixes: 0e7ffff1b811 ("scx: Fix raciness in scx_ops_bypass()") > > Signed-off-by: Changwoo Min > --- > kernel/sched/ext.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/kernel/sched/ext.c b/kernel/sched/ext.c > index 8fe64c27004e..741398f3e730 100644 > --- a/kernel/sched/ext.c > +++ b/kernel/sched/ext.c > @@ -4803,10 +4803,9 @@ static void scx_ops_bypass(bool bypass) > */ > for_each_possible_cpu(cpu) { > struct rq *rq = cpu_rq(cpu); > - struct rq_flags rf; > struct task_struct *p, *n; > > - rq_lock(rq, &rf); > + raw_spin_rq_lock(rq); > > if (bypass) { > WARN_ON_ONCE(rq->scx.flags & SCX_RQ_BYPASSING); > @@ -4822,7 +4821,7 @@ static void scx_ops_bypass(bool bypass) > * sees scx_rq_bypassing() before moving tasks to SCX. > */ > if (!scx_enabled()) { > - rq_unlock(rq, &rf); > + raw_spin_rq_unlock(rq); > continue; > } > > @@ -4842,7 +4841,7 @@ static void scx_ops_bypass(bool bypass) > sched_enq_and_set_task(&ctx); > } Maybe we can also do this here since we're already holding the rq lock and irqs are disabled: /* resched to restore ticks and idle state */ if (cpu == smp_processor_id() || cpu_online(cpu)) resched_curr(rq); > > - rq_unlock(rq, &rf); > + raw_spin_rq_unlock(rq); > And remove the following: > /* resched to restore ticks and idle state */ > resched_cpu(cpu); Thanks, -Andrea