From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from PH8PR06CU001.outbound.protection.outlook.com (mail-westus3azon11012023.outbound.protection.outlook.com [40.107.209.23]) (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 E234C45BE3 for ; Thu, 30 Jul 2026 05:50:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.209.23 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785390655; cv=fail; b=YQEoeLp9oEgxzWEz1IBA3HvO1huEgSozC0yNKfnAsMUUfWOwD/kpxGKro6Ox1d03x4+J7tswFjrzOx//c9fVvGGJ0WbBSPRHJ6zu7nHg2fvTGdo3ODZ7ozTmmSyxMbRNwSL04nyFE2/xgMufz0quC3khVHhyZXpUyGtxLusdDh8= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785390655; c=relaxed/simple; bh=+Ts8Hqymy56VfXVoetVkpyAkktBJA2pfc7pzYL3hbGA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=d9/sWWuSdaXYgvE/xAYI5xmFjb/4kgXcougOaHrhx6ztWHuM0Wy7MnnJ7dptnkHZE9a9Cee4fMcnKGhUqiTO0eXIAVHD1T7gaunX+X+VfTOEG9H7JRBRHL3ekusYuhmubY24LpmG7tmOQgaYA1ZQ++GU4Ig2isXTvd3o0rqFGhs= 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=NWJc3/QA; arc=fail smtp.client-ip=40.107.209.23 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="NWJc3/QA" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=iIL6rUn0ZK2vWRrqCd/4HvPftLrpQVpir/bvSIrfNrfhDqWRZ+RaMDajrkqaa4I2rz9xsAmx2JtK76vJgv+DLjWZEz83+AAhSTM3c28EZBesJoGLuSWUKcRoj1V4ED0qS3As3cdNRUwmpULf/q4FnPTwa/kDkJjHhkCwoRL6YaWldudFeLW/09gTWqsLZr1pr1v2fVAbtFYiya3vz0cIUbusgbUWIIUOswkemBKyJAHPODmc2pFiY+/+oyGppcSqwSmELJfv4j7eLeILcZ291JpM6CQVhmbhXN+VaL84LjGF/1z4Lu1Dz2/EQGxN0zG/ciakLBhLPo7E4uRGnLsHpw== 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=n0W1LnzN0eARGF0Hq0C8TwHqMMfDOMZmRNseicJdVSo=; b=geJq+ZAKuVj0NoL2FJdDZzUSMdHbFAG0YWTyAE8OjWaX3Oy4aBSb5FnwNKCd/ofkP0XPGgYmpkNRRWiSm5J1ZvOFNXD5qosthSgvTAUr3FO1BKcZHmLxBXx4OdGssycv46DYeeg9CtE9oyvsLxoQwsdS0p7WYaD5VAlmX7vNIBrtUA2sZO1Cn8OW2CAHq+d7OH4O31qGDKfo/9rx9V3pL7OZRZ9PVJ3CyG2v+BdZqXFGRF1b2Y78/omyz0PnKu5L59xxF41YHBRHnGIJRf/Cw11KvqafbQJFEyTIChhsP39YPf/KjagMpf1O3VGbqsufWLoYshTrlN+wBLerj/hlrw== 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=n0W1LnzN0eARGF0Hq0C8TwHqMMfDOMZmRNseicJdVSo=; b=NWJc3/QAi3mNpLtL2V8MCpoQLjHuo7TRMUU4RE19M5xSxfCTy8jMfPrpCoVOzEZ4cghJ8rzhbgdaG8yNZ8QMoM1IjTendbK4FW1ZRwWjEbPrQ0zPVZWOwitojLXzXWE7NDRWNlG4Kxl3v3W5eIs/bPt161DiLipdMNHiXoquafRs0xJ3zjugwB6FldOSG9vxfX53cWewW4uUA29wrZyM+0fguAkS0pioJCeECbz/+SSF2sWGj9FHye8Yt5aLB/3mZsDtGQ6W2ouzhnNYHNsJOQxV0VLpkCBUPuGZgvvnO53PyCtUbG+s305I359ArhzOHJOCGsV5G1KWWys6LDu93A== 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 DSVPR12MB999259.namprd12.prod.outlook.com (2603:10b6:8:423::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.270.14; Thu, 30 Jul 2026 05:50:45 +0000 Received: from DM6PR12MB4827.namprd12.prod.outlook.com ([fe80::6261:3040:864b:159c]) by DM6PR12MB4827.namprd12.prod.outlook.com ([fe80::6261:3040:864b:159c%5]) with mapi id 15.21.0270.012; Thu, 30 Jul 2026 05:50:45 +0000 From: Andrea Righi To: Ingo Molnar , Peter Zijlstra , Juri Lelli , Vincent Guittot Cc: Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Valentin Schneider , K Prateek Nayak , Tejun Heo , Patrick Bellasi , linux-kernel@vger.kernel.org Subject: [PATCH 1/2] sched: Skip class callbacks with SCHED_FLAG_KEEP_PARAMS Date: Thu, 30 Jul 2026 07:50:10 +0200 Message-ID: <20260730055011.2267333-2-arighi@nvidia.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260730055011.2267333-1-arighi@nvidia.com> References: <20260730055011.2267333-1-arighi@nvidia.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: MI1P293CA0024.ITAP293.PROD.OUTLOOK.COM (2603:10a6:290:3::6) 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_|DSVPR12MB999259:EE_ X-MS-Office365-Filtering-Correlation-Id: 805c356b-b1fa-4e57-0819-08deedfe7f71 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|23010399003|1800799024|366016|10067099003|11063799006|56012099006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: 338TjqgecNdWWgzqPdQc8b/ahZohWO0b+mi26KkjRQ+V575sLW+GkyUQQDMwpkD5uNALPMAOMbmTB4iFdZGBAPZ3mc8ISHSJ929mAunW8Qww4VCX0HrP0vMBioUkuEfJX0M2U05a0VYwqsz8gSIR5N3GIaEM5f9/1nIkj9lCFbjVfk0XCy1ogXQCIZesbiQDsdx5CgKkoQJHEAihw2rOohu8Z1KFqJ9uoG5XypJVNKa4AJExQU06mAIhwJ1sT5h7qux0dV7SyCyU5qjZe3CJafpDJcPFmLYiyEqc097BhVl/J2wOGOX4RJrG29D2aUKTGkMR7hFu1MMvM8uiE2mH8J0KK07wJz9p9VoKwIQ0/AIRnNeZHFqCrOheCoGQ/aPe9SKLZKTm3O/LF5fgeB46vw8ZmelkE85EHDPyUIsv9JwWjfVrUuvBs0A+bVjLZCT83bBkoPIorqnmVUF+E2SGDeBnUkzHFz36EultF9qGXwYMFUDIBdr4fkdHy4Uwu6jWmfAPEAclTGfgeB/7DTOWztYDDj1gKFZGTYrfSFSvN7U8wrlisWhJrutuIl9Indx4A00qnJ1NNa8/9M+xQXEBL4+8PxabkhKDY7AJ1qsXQFuJMdEBgUriGwSduHWMW583wBoQ+98DkLPcxEsZxz3Zu6QAag0kGjpucu1FjFyMRQ4= 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)(376014)(7416014)(23010399003)(1800799024)(366016)(10067099003)(11063799006)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?QLDG8QR07h/Kuf0D1JiVZlFoiylNqoLwUgSGJbXPDsAts/6TgbYty2lhN4eR?= =?us-ascii?Q?9noZt3s+hNzH1bYiNbRMrZ8GA9+PYmrDXwg3TG9haJOqEgbyGmk9bQIiiQut?= =?us-ascii?Q?LOrs50QPIEHT3ls/YQRmvpIf+ZcdspyfselTEXA4QDniAVq6d3E8HnaX/2XH?= =?us-ascii?Q?kD7GoTWN+inX8JXU2NLLs3UZ1oIO5es8weMMm8TIPyZYhWQT+27Mlhwu1naA?= =?us-ascii?Q?CthfyNdZqTH+B/h301KjlB5cyavCfyDkOMbNLJuBhvrvM+puMqIUf74xf01J?= =?us-ascii?Q?smrBHUo4uMrn7OnnqrjNdX8Tfr+az68bSXnuV9MbM56czsqDoj/FGOeHwP6l?= =?us-ascii?Q?wg+d8NxmK10VJcUz+Y3Nn1Gg7BmDRqy3zur8qYT97IfWI8eTEsEeHKVya9WA?= =?us-ascii?Q?aGVQZZX7lkphXHQfKnGg8gnEI1BPy14CIu5P2mlI4fUp5abU/jWmAYsIPvrU?= =?us-ascii?Q?rgqCAb8MIw7EcoiUfbdejuDVb5UU89xD3ELCxqSd17W7tFsGUSmeYYXE2Wqd?= =?us-ascii?Q?QzhQnzOhO6MmcvbOgpWw+JAq0CUKshT4f4XyUz4NfNnclycGErEF9cCYKEiD?= =?us-ascii?Q?pAFuQZYSTN5xWnls2JoKhhLVxIID2lv4ndQsVvXrDJr38yaDbIAjx2uq/OM4?= =?us-ascii?Q?WktJFZVLegZLmOMsOos+pl+fMBrtUouUXQ22O5IrdGxw7dMiebE1E9aKfR77?= =?us-ascii?Q?XcTHswdn4VkhjrgZS2Cew55SoyKNelQClSMN+yWwYat2FU2KLqNHW7Xya9UQ?= =?us-ascii?Q?q3LgqWYZO3dtWLAsZHcxwPBu88Isd80rk45SbT1/S1xxJoHmh3j/yiu6m3xY?= =?us-ascii?Q?xr/VOZUzazKxzwlFZVmq1Vo2U1oiQdHTIUK1epXevZ7nXcxyfOIpr4/I6ZR/?= =?us-ascii?Q?q7q+BgfBJrF/6wB8QcRPB1Ac/qlhc5WN+XnjSSN6qM/gPucJiVz5QFGJ18e2?= =?us-ascii?Q?jT+HLFl4Rjgpo50wi8JwGWbY/5HwjwzhDi+tTCCHQoIOLAJzeDuB0U64R6ep?= =?us-ascii?Q?MBM7+lTZY9mAtf4u+MqiZ/zpbOavQZhe0/VnSoxhGNkV1NzlEo7GJIZZAvkD?= =?us-ascii?Q?+i21wu5ZnTK/VHX/FJgUxIUJIqq2BJ42/1SeH3f/xDPgG85xq1gv6IzR4FUT?= =?us-ascii?Q?tFY5Q5TiX+nvBjo5uoU5TqPldATGX9G9nOIc244dx+b8pkSfScnKpWR12HFE?= =?us-ascii?Q?XIpTMaUO9wSMf2ZPsMHT4rHiprv+WWpmykZAC4VtKd1ziJKw4v2S+EaqpW8b?= =?us-ascii?Q?NmgMuQ9w6YqrD8sIUVWGaie7c44xT49Y33YTCL6NesP2zlUIYS1UtRAqzM3E?= =?us-ascii?Q?LpH6jW41/L/n7OzyfdI7O61Daa3ujTdfd/b0BPo/YZUHR5Z+Fnpc/J30oYKG?= =?us-ascii?Q?uYbdpFa+th1G3bD8eTWjfQWyZ+g24CKJrqif8P8ri+yP6HxV4o+mvBsvvBe/?= =?us-ascii?Q?kJUv3amlmh8yc0MPgA4G/C/DGVnRjIcy8M1HvqD83PZhed4PRVct//kZzk5Y?= =?us-ascii?Q?IwiDS7aTRbcbfpqVP1NRtjeSM2XB1Uc9B3q5IFj4WID8CHvpnXm0iAG6iKLr?= =?us-ascii?Q?Y+PC4mWSlOyJPEwmruzE0PZzmNc4DLUuvfSoQU0BGhSOULanP6sPCG5jK4fq?= =?us-ascii?Q?+Mqe3m3sjV5dmVmCkfeBU5779qmAi4TB7Z1V893ZmkDxMGiN6eyv5MpeOrQ3?= =?us-ascii?Q?GLj+3WgOT/azYLPiYnRKR0fLz4VLhRodgJW/e+g/wZa5AEWbn34GiJ+k92Sy?= =?us-ascii?Q?2vymIc0cXA=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 805c356b-b1fa-4e57-0819-08deedfe7f71 X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB4827.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jul 2026 05:50:45.0177 (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: CFPCtKqxXot1cXv6wM9bEiNvxbFgk7UkLvV/Sipm52r7mfbYkRobSjG7UEvaPD/bP2unx7UVgnZtoTRSnMXSuw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DSVPR12MB999259 SCHED_FLAG_KEEP_PARAMS suppresses scheduler parameter and class changes, but __sched_setscheduler() can still set DEQUEUE_CLASS when the class computed from the requested policy differs from the task's current class. This causes the switching_from(), switched_from(), switching_to() and switched_to() callbacks to run even though p->sched_class remains unchanged. Set DEQUEUE_CLASS only when the sched class is allowed to change. Fixes: 637b0682821b ("sched: Fold sched_class::switch{ing,ed}_{to,from}() into the change pattern") Signed-off-by: Andrea Righi --- kernel/sched/syscalls.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kernel/sched/syscalls.c b/kernel/sched/syscalls.c index b215b0ead9a60..903b47f5d0b74 100644 --- a/kernel/sched/syscalls.c +++ b/kernel/sched/syscalls.c @@ -675,7 +675,8 @@ int __sched_setscheduler(struct task_struct *p, prev_class = p->sched_class; next_class = __setscheduler_class(policy, newprio); - if (prev_class != next_class) + if (!(attr->sched_flags & SCHED_FLAG_KEEP_PARAMS) && + prev_class != next_class) queue_flags |= DEQUEUE_CLASS; scoped_guard (sched_change, p, queue_flags) { -- 2.55.0