From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from MW6PR02CU001.outbound.protection.outlook.com (mail-westus2azon11012000.outbound.protection.outlook.com [52.101.48.0]) (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 54329347505 for ; Wed, 26 Aug 2026 06:30:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.48.0 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787725813; cv=fail; b=rVyrxf9gX8wMNFFavnO89VhSj9GFGSj1aCuc8OxMmkFZ0SHhn3wGdUOkaHkiXtG+rDWIi/V40ajjdsmbGsEEwmjUnOBetm0sYnRDwV/ycWH0YN2ZVGmPMURohMVgBuLsGkCPHG5mQO4RpwbXD+oD1rAezEWxllWy9OBuHPEqss4= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787725813; c=relaxed/simple; bh=s7TSYtAJhb2VSQO5Eur/aLMyZcXcRIaTUpCaHciIR2o=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=IKRssRabA30XpYdajzoNkmJgfn6hbx/4dNBTTFrCk2Q+eFy5tXiilAg3fcSYQag5kjQDn6sRCzFUrb8C5+aISDQYWFEDTqzTPVFYYsKhUVgcIbrUXvx/CuzjpEnhhtD00UKk/qhmg/27zd9ddpu4a/Uh4jjstntsKwcfLfJxTXk= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=bhniMp/V; arc=fail smtp.client-ip=52.101.48.0 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="bhniMp/V" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Eu8ozRcMc49M0kLjR+mF61SZZY6Pv8O4DIjmqcURexEQiremXfm7RfdxnJ4BH+jxp3JFlR8oDP+NQFSHPpfXy5hkrdmgNaSnBrQZQYHWnNgokB7PqraCo7VKIfqZtzZ0QoUipxnAByaLnhzzBFJeH95ZvR43h+wn81F1aOLu4nE1Ch2vyl8XpL7ND4KSFSsOdpGGl/+qqi8qaSVaenXqOm6NtO/cuVKoEO/k6aFK8rjISPJNq5zjxohevUs5A9KidxGMefkI/Xw2+3M7Cr8l/CP3yMM09soSUZjPr1+wCGSJeJCHru3sTgacffC2kwrjFCP9jLK5847KpPF0hYQZxw== 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=JOP+uTLhdvSd6jbQOP8MepEIh5XOZv9JlpX/YU3Czxc=; b=tW3C2Y1Eej1SKq4CPB5iIuTX1hjBvKkHjMjpIUblSs537lK5oB9gpGooXV3Ic2ByXQqNG+dczKabidvTWWWwLlDsSnsV8PeJRoPUqHHKT4FS8V3HdnrodhI0rB+upA5oFTAgtrwjmbSTkmsb4+c8vq2kxDxSlbDOqI5pCJL9tZdLmYwvNQtG+YF0y/cSZ7KcA1jsM4Z5KhpBmJyNxahl8kQYUjO7zVLv3NkO3tyrXYHLbLsIJ0ZFLZWwLJYv+r39YjHAO7puFnP6b/D2drvPFNFapbyFCf6MiWbLV1WXLA+S0Obesrr/t9aUeSXyvFZCI8r3iIWqdj9G9/7c3y80Kw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=softfail (sender ip is 149.199.90.133) smtp.rcpttodomain=google.com smtp.mailfrom=amd.com; dmarc=fail (p=quarantine sp=quarantine pct=100) action=quarantine header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JOP+uTLhdvSd6jbQOP8MepEIh5XOZv9JlpX/YU3Czxc=; b=bhniMp/VsX8ffbLn3W5mxWZBX/DaW0ChY/m+ovMuDSiYQStcWIsD4SqhNcAoPsWtZbfWMSAEBsaO9t8salukwvQ1fZQSP34R2yK7vxCQYgEkcn8H7U3C1YINk3gzI72T4wleS49eY1vWaDcqDHXPFVroE6eyqBf6F7sNhURAjDs= Received: from CH5PR05CA0011.namprd05.prod.outlook.com (2603:10b6:610:1f0::23) by SA3PR12MB7976.namprd12.prod.outlook.com (2603:10b6:806:312::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.12; Wed, 26 Aug 2026 06:30:04 +0000 Received: from CH2PEPF00000144.namprd02.prod.outlook.com (2603:10b6:610:1f0:cafe::38) by CH5PR05CA0011.outlook.office365.com (2603:10b6:610:1f0::23) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.382.5 via Frontend Transport; Wed, 26 Aug 2026 06:30:04 +0000 X-MS-Exchange-Authentication-Results: spf=softfail (sender IP is 149.199.90.133) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=fail action=quarantine header.from=amd.com; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning amd.com discourages use of 149.199.90.133 as permitted sender) Received: from satlexmb07.amd.com (149.199.90.133) by CH2PEPF00000144.mail.protection.outlook.com (10.167.244.101) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.3 via Frontend Transport; Wed, 26 Aug 2026 06:30:04 +0000 Received: from BLRKPRNAYAK.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Wed, 26 Aug 2026 01:29:57 -0500 From: K Prateek Nayak To: John Stultz , Suleiman Souhlal , Ingo Molnar , Peter Zijlstra , "Juri Lelli" , Vincent Guittot , Will Deacon , Boqun Feng , Andrea Righi , CC: Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Valentin Schneider , Waiman Long , K Prateek Nayak Subject: [RFC PATCH 02/16] sched/core: Use enqueue/dequeue flags instead of task_on_rq_migrating() Date: Wed, 26 Aug 2026 06:28:46 +0000 Message-ID: <20260826062901.2137-3-kprateek.nayak@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260826062901.2137-1-kprateek.nayak@amd.com> References: <20260826062901.2137-1-kprateek.nayak@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PEPF00000144:EE_|SA3PR12MB7976:EE_ X-MS-Office365-Filtering-Correlation-Id: db106da4-a699-4d88-cf47-08df033b7710 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|36860700016|82310400026|7416014|23010399003|22082099003|18002099003|11063799006|56012099006|10067099003|921020; X-Microsoft-Antispam-Message-Info: RT2oAABjKgBgJmoqSoybWlILmJQtoSSi0lquScLL0xSQuUcL6hIbf7GsJmnJ+IlCiiP1ir617tlohYXnWs4uP9wWZBzxOUp2GeE5ixT1TTD47ny7dUPiHjBks80ZGUkBxfFjnq4bUti9qbw8k7Ehzu4JaD+IPCwYwv7CZUQAw9jUF6mIKqUGcUoxHZ4ciAmGizEXNC1qAVp5GLsRH+7i1+/M+6K0CEBtZPBKauy62DVewE3OJuzAAMbCftM1cxead/U4m8BF4gAlw3KoVudEy9p336EfXJ3pxvmcUuDHkgcnP2VQa06I5WosenIvAP8immXcsIMuzk5DXNZh91r3UZHL+bTh+aM+g1vcURKNsPZ54NsrtITU+1mAIPlZWU1cq8SwhqWMTD/9bch06ZMfwPakWu6dh+OAfeRFcPeaTgYt9URZa1KNfC7MQsXhgqj6id1SsirHd11sLs7ueKfpSTOh/R7/+6O4+sByacUCxHQgim8j4uIf4PQ8QHguwL5yd3rg3f1EJ57Og6hx3uh12/KERor0Daeae6clR097kyYdkbHUiYUM63dvDi2A0JEmxCdTNWyEl6tICr1G85KljtnDTv7QVox78o9R3xEfj2UlGraAjATbc6aCxtiYzUMpoeRJX8vQAyZ2CrAu5knjnCqIll6BdTHUQRiJy0AGFBLcSqguiTA5f3JEXOJ4xxX/lzhnddSGx0806pGwX0oYn/KWIQQRfOZG4drGond6om8= X-Forefront-Antispam-Report: CIP:149.199.90.133;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:unknown-90-133.xilinx.com;CAT:NONE;SFS:(13230040)(1800799024)(376014)(36860700016)(82310400026)(7416014)(23010399003)(22082099003)(18002099003)(11063799006)(56012099006)(10067099003)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: gF/okKYeUk+F5jO7DcSYtFzlnRo4964glvVm+7BG7wHp7VaOsa3LGKFKvlHKF08ouD44hKD0ZgMaZpt53EMKqpW91ki73rDEbFLu/adl3ZFtrCRo4fZtL6d+aOrc6a/8FA0ju32x95+oT4WeB8PVsEki0FPHBgIuatx22JwGw2ZTPc6fju/c2Wi5+M4xtKOFFvF8/97gvdLMlEsCrwQcA+V76LKGffHjXJrxJ8mVGjkFtt8R8wGHp8FWJIglIvHLazfXkaRRo0AjXykDTp0ksuw6a/yryVSiSd0l2JFWF8XywC8DS24is89JFosAz9K3JxBVuZUEKZMP+1CCuZqKIvYiGzqSdypVbt+m128ZSzKJBACV/Umq59CghOMXaJroHOOll8xgEcn/t2t0dcc6Kj5bAQ2sV2h9nTg8S1o74B/GQip5ez7IPkUWHO0BeVrv X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2026 06:30:04.4050 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: db106da4-a699-4d88-cf47-08df033b7710 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[149.199.90.133];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CH2PEPF00000144.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR12MB7976 With the blocked task activation path converted to use a separate helper, add the DEQUEUE_MIGRATING and ENQUEUE_MIGRATING flag in deactivate_task() and activate_task(). Avoid checking task_on_rq_migrating() in the sched class callbacks and instead depend on flags to know if the enqueue/dequeue is a part of a task migration. No functional changes intended. Signed-off-by: K Prateek Nayak --- kernel/sched/core.c | 7 ++----- kernel/sched/deadline.c | 6 ------ kernel/sched/fair.c | 6 +++--- kernel/sched/stats.h | 2 +- 4 files changed, 6 insertions(+), 15 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 7d1ffcc33fed..4cd69b08b415 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2218,9 +2218,6 @@ inline bool dequeue_task(struct rq *rq, struct task_struct *p, int flags) static void __activate_task(struct rq *rq, struct task_struct *p, int flags) { - if (task_on_rq_migrating(p)) - flags |= ENQUEUE_MIGRATED; - enqueue_task(rq, p, flags); WRITE_ONCE(p->on_rq, TASK_ON_RQ_QUEUED); @@ -2229,7 +2226,7 @@ static void __activate_task(struct rq *rq, struct task_struct *p, int flags) void activate_task(struct rq *rq, struct task_struct *p, int en_flags) { - __activate_task(rq, p, en_flags); + __activate_task(rq, p, en_flags | ENQUEUE_MIGRATING); } static void activate_blocked_task(struct rq *rq, struct task_struct *p, int en_flags) @@ -2249,7 +2246,7 @@ void deactivate_task(struct rq *rq, struct task_struct *p, int flags) * dequeue_task() and cleared *after* enqueue_task(). */ - dequeue_task(rq, p, flags); + dequeue_task(rq, p, flags | DEQUEUE_MIGRATING); } static void block_task(struct rq *rq, struct task_struct *p, unsigned long task_state) diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c index 3e89b3abeb27..9abda560c633 100644 --- a/kernel/sched/deadline.c +++ b/kernel/sched/deadline.c @@ -2530,9 +2530,6 @@ static void enqueue_task_dl(struct rq *rq, struct task_struct *p, int flags) check_schedstat_required(); update_stats_wait_start_dl(dl_rq, dl_se); - if (task_on_rq_migrating(p)) - flags |= ENQUEUE_MIGRATING; - enqueue_dl_entity(dl_se, flags); if (dl_server(dl_se)) @@ -2552,9 +2549,6 @@ static bool dequeue_task_dl(struct rq *rq, struct task_struct *p, int flags) { update_curr_dl(rq); - if (task_on_rq_migrating(p)) - flags |= DEQUEUE_MIGRATING; - dequeue_dl_entity(&p->dl, flags); if (!p->dl.dl_throttled && !dl_server(&p->dl)) dequeue_pushable_dl_task(rq, p); diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 6d2fa0cd7777..244f1c68c041 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -6265,7 +6265,7 @@ dequeue_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int flags) action = UPDATE_TG; if (entity_is_task(se)) { - if (task_on_rq_migrating(task_of(se))) + if (flags & DEQUEUE_MIGRATING) action |= DO_DETACH; if (sleep && !(flags & DEQUEUE_DELAYED)) @@ -6663,7 +6663,7 @@ static void dequeue_throttled_task(struct task_struct *p, int flags) * task is migrating off its old cfs_rq, detach * the task's load from its old cfs_rq. */ - if (task_on_rq_migrating(p)) + if (flags & DEQUEUE_MIGRATING) detach_task_cfs_rq(p); } @@ -7981,7 +7981,7 @@ static int dequeue_entities(struct rq *rq, struct sched_entity *se, int flags) break; } flags |= DEQUEUE_SLEEP; - flags &= ~(DEQUEUE_DELAYED | DEQUEUE_SPECIAL); + flags &= ~(DEQUEUE_DELAYED | DEQUEUE_SPECIAL | DEQUEUE_MIGRATING); } for_each_sched_entity(se) { diff --git a/kernel/sched/stats.h b/kernel/sched/stats.h index ebe0a7765f98..d0d9cff168a2 100644 --- a/kernel/sched/stats.h +++ b/kernel/sched/stats.h @@ -137,7 +137,7 @@ static inline void psi_enqueue(struct task_struct *p, int flags) if (p->se.sched_delayed) { /* CPU migration of "sleeping" task */ - WARN_ON_ONCE(!(flags & ENQUEUE_MIGRATED)); + WARN_ON_ONCE(!(flags & ENQUEUE_MIGRATING)); if (p->in_memstall) set |= TSK_MEMSTALL; if (p->in_iowait) -- 2.34.1