From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from BN8PR05CU002.outbound.protection.outlook.com (mail-eastus2azon11011061.outbound.protection.outlook.com [52.101.57.61]) (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 73A3B493644 for ; Wed, 26 Aug 2026 06:32:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.57.61 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787725953; cv=fail; b=SZ3oOIhPNR8xrkrdNv9Za855YDnSfTMSbmtgXJgoxR2d9hB4hGtkW6OUi9cbnt7IXDPrlta4mphNX0VSEJ2D+l/gHME6k3zZy6ymEC9SJbGqfoBIjoWk+YrwOtBloGAszVwly5P8ertRXWMt6IxXgVJQTyQGSWSltb13Q1cFqiA= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787725953; c=relaxed/simple; bh=giC1iICNCedhTFOYbPbrQRdvrU7XymKvi2vwmkJQFtk=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=j3/LdgCjUTbZml6miwaE0OblpVCxNSORz/bGmVg9535oMZxS2fIxPeHF4+O+w2PA5o3BYan/BYqeOeq33N4COUwhYvnostbyzD04V+yIslLuexJtkE6jbErEqiYt1eUzjqjSLF86lRJIwbGQGaC7To/NRm6gZ70JMy1mEbWqSmE= 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=amHvVRRT; arc=fail smtp.client-ip=52.101.57.61 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="amHvVRRT" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=G8lp4KvMEAGy2Zie0yTLlC4JYrD36nHkGN2YqWZxGEfXb0TQf6pZ9pJMGmH1nDBcPvvQeqf1gg8UmGI4hVdQYj5wU9CCf7X8CQcUohCSNEZ+BsqH1So5c89KwUcOjU3iVKfFgL6UFbh8uP0IngSAp/86jI0Jo1KF3aDHl7il6e/l2zIuCqIejrQ4F1ODLEZV1QkhBhjkjTsZvmpBfVUVM1NrZoxcUY82kGm/+9ZJBUCcL6+8G7tBgSKRNr38WKDEUWi/NqyJUp4NmfZ5VxDevCVJWFmRBM1ktShF3Y4u+XEcyk2yh770Qp/dgHYMhLcZukciT6e2OEXJGsTuiEU88A== 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=0pQ/Ntwg+e+dxUzJ6Idw6IUV9Bk6PgLTdJc1rCkiiDg=; b=BFu1QowTeGVR8oh2nc1FtOUMJiVaa6pwn7TOh+rL8bgth2kIRWgxwR0P3pYpkFhT0k8VAMRuoSqqcwve5Eb+N88rcF640ePvMn0cEaRlivlhwHeaKD5mAvvQVviN9GIZrt8AtuF/WReT3jsab3n2m2yrqtbvsoE+iU0/rY+EtZoUbAK7yaxnEVZdL0yFLuFRGX17/m3fwyNqFj2Puy8zGQUTnC3lPKyDPEBbcuj0asCSWwVTrILm11WQcoAqk3bzMJ9Dn6bAmVxcNz/NCS7Htt9TP1ZUpXJLIXUa6R/gEeMcx4OUdvTxgpnKOSnoI+nJPeVwbwZVlhUexnn7oRjsDA== 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=0pQ/Ntwg+e+dxUzJ6Idw6IUV9Bk6PgLTdJc1rCkiiDg=; b=amHvVRRTDrFhpUdNFqHsEmZFYzkwunuDygQ3oNgzHF66XjCHcNe7ZRbDnBKQ7lFQYg0F4GNKS/w1HF+QFLsuXYdv67pmBrVmB1WgMd/qh0rU1M3XIi0HYmBw+Y5LVHvj1S8PKOZTv+6ECTBoTytXN5ZMLaVzW6+npDvPScm9r44= Received: from DS7PR05CA0100.namprd05.prod.outlook.com (2603:10b6:8:56::23) by PH7PR12MB8016.namprd12.prod.outlook.com (2603:10b6:510:26b::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.8; Wed, 26 Aug 2026 06:32:26 +0000 Received: from CY4PEPF0000E9D7.namprd05.prod.outlook.com (2603:10b6:8:56:cafe::1c) by DS7PR05CA0100.outlook.office365.com (2603:10b6:8:56::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:32:25 +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 CY4PEPF0000E9D7.mail.protection.outlook.com (10.167.241.70) 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:32:25 +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:32:20 -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 08/16] sched/deadline: Prepare for blocking and proxy activation with MIGRATING flag Date: Wed, 26 Aug 2026 06:28:52 +0000 Message-ID: <20260826062901.2137-9-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: CY4PEPF0000E9D7:EE_|PH7PR12MB8016:EE_ X-MS-Office365-Filtering-Correlation-Id: 759a5867-d74d-4262-598c-08df033bcb40 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|1800799024|23010399003|7416014|376014|36860700016|921020|10067099003|56012099006|5023799004|11063799006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: 1zocTk2tNzhxFVHwAKa8FM0eiEfBQm4ueW1et9Rda4URVpX2UgskQX+OIfhTvbdkSel3o2bRrOjAmNb5jvlTRMKPQEB+mm/l64Utg2R+ZodnH2G000PCaovdwELyTzSj8lHZ1bFtAgNCKLyy9Ln0+IWwgBGVo0qRqJTwKfo8Mxq2mPzua/lYHq42xWiBJvsAm6TObicB7IYqTZfVnnRFLOosewG5qe6lG9fyU3JUUFhLseHQksBFEezTuCkJWtprGdpKpchWCn/2qpj2jNby+OifEyZvUHJjL2VGvtFXZQ/f8gOoouyppfvQzv12/NUKvs42nrYXIoZgq1QJwMVQQmgO77tjgR3BSwjDBpn01KXXp8+tzqTDsVzGG3+TCiCCXWmA6vIAw9q8PmuaPzpp/Ojei2PGK1oxzdj5MXPhs2+0QxCAeqmSInfwf9KBksJfNBHfkSvA/spsTeFttyvu+WLbYZF78t/g7EM0zmIbhmzjrENKJJIvGmhq1jjgqBYV8UPZNuaV72Aj0armEzhu9kIe9DRgPnse9wvRJadK61LF6TujwtMyTkM+4e2PbGzH/A39oPJzQxEk9h0VmaD7FfJyKrO+dOlXZDZNj7G3iWKXh25fJz5FhrTY+qxyYarR26yMlgBQUx/wvU64gHW9xJ/NAV71c8Jicd3l/P2+COtLOu0E4YD+QMhpZ01LdnsB5eRh9pbD1BApUIhNizWZyDoR3ZDzV7rmByycJn2ejppbgmhTH7YFcpctEk6oGKex 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)(82310400026)(1800799024)(23010399003)(7416014)(376014)(36860700016)(921020)(10067099003)(56012099006)(5023799004)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 3jb+kc+2HPtBYRrSvPkFg1CwmPAGwKPMT9W5W8P46rE09mShUTqQjnkn2NLbXa2/RfnK+28P20bou3t2lOOJTK8IhyUJ5C2//ZKghVwPAONPO50TKL5CphSs0cFQNByZDOYnqveftAmyXLgBSLMYWrU9W0A+pW9eeRU2v9Rq8Lm3drYlKmqWV98BOWGYt3hp6y1/0+/iz391leIPDIxZy8kHhqeB2cAFNxSMZv3h47whjJFleqAQ3tXJrndnt5Siki9BMBh0tEbcv2nK6pQeXxibSbgVELjI1FzIPUsnk+3iuJIp7nUdDEswLTEBmmGO/fis8qKSUlBKTKehtW718CkfnPRa8WvfvT+Wkoa3VrILgo4RsxlUlvFpGYcfkeIq9D7c9fx6XiRTxUu5wY52Iq2rE6mmLCBRzy19D/6McAgUwWNdZWgzQDLA1fSzxxEH X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2026 06:32:25.6942 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 759a5867-d74d-4262-598c-08df033bcb40 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: CY4PEPF0000E9D7.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB8016 Blocking deadline task sets task_not_contending() to retain bandwidth and start zero-lag timer on the rq and depends on migrate_task_rq_dl() via set_task_cpu() to remove them if the task migrates at wakeup. When DEQUEUE_SLEEP is coupled with DEQUEUE_MIGRATING, the task_cpu() can be switched via proxy_set_task_cpu() after the task is dequeued. To balance this, enqueue path will add ENQUEUE_MIGRATING on the activate path for symmetry with migrated blocking. Treat SLEEP or WAKEUP with MIGRATING as simple migration and prevent bandwidth modifiction, inactive timers programming on the rq since task_rq() may resolve differently. Signed-off-by: K Prateek Nayak --- XXX: Does this break EDF if we are blocking with 0-lag point still ahead of us and not set task_non_contending()? --- kernel/sched/deadline.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c index 9abda560c633..886ba6bfa868 100644 --- a/kernel/sched/deadline.c +++ b/kernel/sched/deadline.c @@ -471,7 +471,7 @@ static void task_contending(struct sched_dl_entity *dl_se, int flags) * If this is a non-deadline task that has been boosted, * do nothing */ - if (dl_se->dl_runtime == 0) + if (dl_se->dl_runtime == 0 || (flags & ENQUEUE_MIGRATING)) return; if (flags & ENQUEUE_MIGRATED) @@ -2477,8 +2477,13 @@ static void dequeue_dl_entity(struct sched_dl_entity *dl_se, int flags) * way, because from GRUB's point of view the same thing is happening * (the task moves from "active contending" to "active non contending" * or "inactive") + * + * XXX: Proxy execution can block task with DEQUEUE_MIGRATING and + * switch the task_cpu() underneath without going through + * migrate_task_rq_dl(). Do not leave any bandwidth or timer reference + * back when DEQUEUE_SLEEP is coupled with DEQUEUE_MIGRATING */ - if (flags & DEQUEUE_SLEEP) + if ((flags & (DEQUEUE_SLEEP|DEQUEUE_MIGRATING)) == DEQUEUE_SLEEP) task_non_contending(dl_se, true); } -- 2.34.1