From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from PH0PR06CU001.outbound.protection.outlook.com (mail-westus3azon11011011.outbound.protection.outlook.com [40.107.208.11]) (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 E87DE1C69D for ; Thu, 1 Jan 2026 07:05:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.208.11 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767251106; cv=fail; b=AFSEKcWMgA4Uh+9f6atZ5su6stdLV8+vz5nCvIT9ZCS0EgorOAEq5d/3NXYOyZwthIqPgvZ9jUAwCGBmwu0kJA/B8A2Bst7z+mcY5Hm82sUnRPecF6peIr375oZI+C938h0/lnjEhX5X5v08njIk8sc9+eckCF6gcgNHsWp1GUY= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767251106; c=relaxed/simple; bh=HejZTpCCAoXf7OkvoWEC9dfgMEU/dOwho52YEmEA9Ws=; h=Message-ID:Date:MIME-Version:Subject:From:To:CC:References: In-Reply-To:Content-Type; b=ZJrXJUSeh3QtKgO6o2DzB7cOB+/f0W7LgycQ1kU4qjFGKjijiulnSwylotCjNqkkP6yQQ2wNidLWKhTookDhXwf7ct9AliCxqKfwVMP1/o8bUEXNXuSJ5QJk1U2wtUgX91dCnK3QoIo134DyWGnKLvzPVBunQPazVwxQiYpeL8k= 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=yuQkmBd2; arc=fail smtp.client-ip=40.107.208.11 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="yuQkmBd2" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=v2837nGkOfVTjZ6Rk8mPti1sWimmTb8QDoU/7mFTcnQ9+MRZOARUqq+VEYOnt8lKC3g8end1f3SUdj1QijFNyUzBU7mlTMaW+pk9ZrhZItH5mkmQI4gnsN5uFQFPJw892rrO5HHdCod1iq0zjrStheU6B6zU0RdUgE8E0zunBimdgEe2/YkEmDLAt5SMfD8L1hRIohK7JLvYNfeMDofKbWzfH5C4Y/4ORoStcdDDVRGMDPVLZTT4kygTIJ7EMPuvwkkM+A+pHdWA1N/DyEwefG5+F9Hd2NJkbAaGWKCkT9Cn24r9VSKlkIQWeX37CN+vWF4QFhA1nCR2s9KIwgkyHA== 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=Gq4hye4ROkhR+Gx5yJ9lG1pU1VdoNpE9IQ5/xbGe+J4=; b=gEIHS9nZ4oDOEiOblyjJ6JG8B/XkNKomYjg2kIbUVNJvyWjEqVBodfiLrVCqLggxy6Bmzb6rAexdPX9UefmHLH1NoOVWMG05MXt1JEHt/5ZdQL27+Flz2jTM1rcNq+l7+P2fYL84/KkvsomuZaC3Vsjuz3oyO2xf/WmlnQvt2KO/WQUVPQ6CLNGRqCVxLixkvDx7aAmSqlvTr6meR3jU6oTVL0eQxbHq/+b3A+6J+gEYYxja2F7KXzFF2ZjwEliGVLfxwdtxY3+r+nTo/I4fx75TWQFz8G/tM6t2QB8SLC1+ivcY8b/LQTECwASXidM7TmYHFqGyuMcPSt4za/SrZA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=google.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none 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=Gq4hye4ROkhR+Gx5yJ9lG1pU1VdoNpE9IQ5/xbGe+J4=; b=yuQkmBd2e47rMQezpwKwG3SfB1qm5K4NpIv8BG7x+jCOq9W5PglJaM2XMTTQ/Omxu7Q9NVdIXIz8Y5V0TqjgmPuN4AzucLKCHM8QFhakKYI29lVoyLa66/qXmZQjCVASiDpj/bmTEgEfpkehiXJwK9HQmwlSBOPkmPlfIr0+XfQ= Received: from BYAPR07CA0043.namprd07.prod.outlook.com (2603:10b6:a03:60::20) by CH1PR12MB9645.namprd12.prod.outlook.com (2603:10b6:610:2af::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9478.4; Thu, 1 Jan 2026 07:05:00 +0000 Received: from CO1PEPF000075F1.namprd03.prod.outlook.com (2603:10b6:a03:60:cafe::c8) by BYAPR07CA0043.outlook.office365.com (2603:10b6:a03:60::20) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9478.4 via Frontend Transport; Thu, 1 Jan 2026 07:04:58 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C Received: from satlexmb08.amd.com (165.204.84.17) by CO1PEPF000075F1.mail.protection.outlook.com (10.167.249.40) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9499.1 via Frontend Transport; Thu, 1 Jan 2026 07:05:00 +0000 Received: from Satlexmb09.amd.com (10.181.42.218) by satlexmb08.amd.com (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 1 Jan 2026 01:04:58 -0600 Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb09.amd.com (10.181.42.218) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 31 Dec 2025 23:04:58 -0800 Received: from [10.136.38.70] (10.180.168.240) by satlexmb08.amd.com (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.17 via Frontend Transport; Thu, 1 Jan 2026 01:04:51 -0600 Message-ID: <1efea269-3f46-4eb3-9349-9f29d23879ab@amd.com> Date: Thu, 1 Jan 2026 12:34:50 +0530 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v24 08/11] sched: Avoid donor->sched_class->yield_task() null traversal From: K Prateek Nayak To: John Stultz , LKML CC: Joel Fernandes , Qais Yousef , Ingo Molnar , Peter Zijlstra , "Juri Lelli" , Vincent Guittot , Dietmar Eggemann , Valentin Schneider , Steven Rostedt , Ben Segall , Zimuzo Ezeozue , Mel Gorman , Will Deacon , Waiman Long , Boqun Feng , "Paul E. McKenney" , Metin Kaya , Xuewen Yan , Thomas Gleixner , "Daniel Lezcano" , Suleiman Souhlal , kuyo chang , hupu , References: <20251124223111.3616950-1-jstultz@google.com> <20251124223111.3616950-9-jstultz@google.com> <91206b32-ac57-461c-ad0b-4b771448559d@amd.com> Content-Language: en-US In-Reply-To: <91206b32-ac57-461c-ad0b-4b771448559d@amd.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF000075F1:EE_|CH1PR12MB9645:EE_ X-MS-Office365-Filtering-Correlation-Id: a93a0a63-c62e-4530-d857-08de49041490 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|7416014|36860700013|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?utf-8?B?UzhZWmphVGJOb21oeVM1RnNOTnl3YkE3VDh0aXU0OXFqWnI3RHFmT0VsN0tE?= =?utf-8?B?d2x5aVdCSFljUk9ZekpqK3g4eVhxWnVLWnNpU0hVUkhJeHpFek14cjVKa01V?= =?utf-8?B?VVVTNnJtSm96SUIyaTF6NDZjdHhsVXpQa0Q5MTk1aVBEMVQyN2NqZ3J4OENs?= =?utf-8?B?NUpiYm5GcTBkSitiTGN1OG9obTZvNWNCUWEremhYZWg3Nm11bTErUGlSU001?= =?utf-8?B?ZDNqUitVM0pRRmNxSTduYnBBQlpFU2ZTSllyd3k1SU1La3NNc2RBSzE0SjRY?= =?utf-8?B?dmwyamNnSEc1Q2haUmMraXcwUWphdDR1a3ZUZENiUnp3OHl0Wkx4RTNSODFK?= =?utf-8?B?WU9qSHdIclpwM0hXUWJ0dUtPMDRZdFp2WStQR29nNUplS2oxWk5nZTByQm43?= =?utf-8?B?QmxaODBNbm5qZWMvZFIvdkZKZDZhZzNaZ2h2WVdKWnUvb240blQyYXZrSEwx?= =?utf-8?B?cWNnZWxRdVp6cWdibDQwKzNnUkIzSkh4bmNnREUxMFI2eTZWNEFHWjVQVGM0?= =?utf-8?B?eXVvZXVQd3NIS0JMOWxJcUdvMkthMkUrQ0FxNkhYci9SRXF2ME5zQm94UE9p?= =?utf-8?B?YVE1cHpWbnZEcWVUZFdxbVJCZkN6YXZsNDlkZ1ZlQ0I2aUl0R250amRGdTVR?= =?utf-8?B?ckhWWmlQc0U1YktrUjE5Tk5BSFNsak9IMGJhcEd1bll3c09SOXk2c3E2U2ND?= =?utf-8?B?WDB2MGYzbEZxZTZPKzhuSUUvVnY1K2hLclltTjAwWktQeEhzZHZCRU9uZEdK?= =?utf-8?B?ZVcyTXBxNUlvOW1WTDN1SnM5MkQ0MnhiM2Z0WnBpZi9tdUNkbkQ3SWFkbkdZ?= =?utf-8?B?aVRzV1VTMURIazlpekJFalJJTGY2R3VWSm05NHd3RENyV0diVmZlQkxqNFFF?= =?utf-8?B?UUo4S1BkY3VsUWRJYVlXK3d5UkVsMEYyWUpTOGllOTR5ZmpiWXk4Rnd1aUdq?= =?utf-8?B?Snh3RUp3ME9lVlF5NUFlWWx3TDU2Y1k1QzVUeTM1a2tZQ2NVaEpGYUF5ZmJB?= =?utf-8?B?MXNUVExqMWdsRXFGRVExZzErTDRMZGtaYkNlOVNZL3RqbkM3SjBYRGJsREg2?= =?utf-8?B?eS9MSUZBcHVIYTFUdjM5dzNsTHlBanhzNlFIczRiVmY0am51S3RsVU9GNGtw?= =?utf-8?B?a0p5TGVhYXhtSyt6dTgzMVVoc2xuSHlQdlFXM1VkajZHKzR0UGpMZnFmUEU3?= =?utf-8?B?TDk0S0lUekd2UTI5UWFQc01Pd2RnK09CdUV5aCtHemJGT3VIc3N0SzAzRWV4?= =?utf-8?B?anRvbFRYcktXb1VhYjNOTE8rRFBIYnVWR0liSVd6anNGRzcyN1pENnNtYVpB?= =?utf-8?B?OGM0cEdsNFB6a25WQk5CNkNyaDU0RWU2dFZpbjJpdEh2MVFTbW9mWW4yVXB1?= =?utf-8?B?QzVmeVgvVGZNV01vY0tXeWlrLzdPV1BKdzU0VXpxelVrY3pvcElpRlNEUVc4?= =?utf-8?B?UmduQitqcnQ0VTBKMC9lN3J2cnE2RzMrUjJmS0U3K3NLMVNvKzVJLzUvVG05?= =?utf-8?B?RnpZTmFPZlA5MGRGVHVOYUlTSElnZjdPVUpZeVBnM2prRDk1aXlEREV2aFVw?= =?utf-8?B?RkxibWVYcXBhY3A0b1lFbS9mN3MyOHludU0ybkRHV2NOK2Y2L3FmbFFkeHVr?= =?utf-8?B?eS90OFE5T2czVUYzZUE2WHVNNWZac2xKNzNUc2kzazd4UHB2aGNmeDAya2px?= =?utf-8?B?bFI0Z3FTTFBzM3ZSMkM3dklKZDcrclZteENIUVVoVnVtRHNIRFR2bW9mK01s?= =?utf-8?B?dUxIOHl5RVFqWlY1QmFCWlZ2MFYxMkRSOEU1RmJqL016YXVleWk5V1BVMmtU?= =?utf-8?B?ZWU5YndLeHFhbGc5OGZZM3ZTNzdqVTJXQUszVVYxT3RFWEFqcU5admYyMGxl?= =?utf-8?B?R0hiS2I0TVlSNTE4TDlDSzVHOEliUzBYUG1tbXBnZXhWTFp2MXFTb1hoQm5h?= =?utf-8?B?TWlFZ1B5aTBtdXVtOC9YKzJmMk1YQTg4TXV3dmQvakpRdHhlaXVQZFVXUERh?= =?utf-8?B?TGNGTk90K08reEl5anNnVDlia3lGbWdnVFVQbUFMc0Nndmh0cSt3c2pwSWNM?= =?utf-8?B?WUtSaTlRMFA2dUEzRDNGNVIvRlZpZDNMdmZuOTFnSmRVY2J4UjkzZVNFS3dq?= =?utf-8?Q?yiek=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(7416014)(36860700013)(376014)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jan 2026 07:05:00.5484 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a93a0a63-c62e-4530-d857-08de49041490 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CO1PEPF000075F1.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH1PR12MB9645 Hello John, On 12/30/2025 3:22 PM, K Prateek Nayak wrote: > So I think I found my answer (at least one of them): > > find_proxy_task() > /* case DEACTIVATE_DONOR */ > proxy_deactivate(rq, donor) > proxy_resched_idle(rq); /* Switched donor to rq->idle. */ > try_to_block_task(rq, donor, &state, true) > if (signal_pending_state(task_state, donor)) > WRITE_ONCE(p->__state, TASK_RUNNING) > return false; /* Blocking fails. */ > > /* If deactivate fails, force return */ > p = donor; So I was looking at my tree with some modifications on top and that above scenario cannot happen since "force return" just falls through to to NEEDS_RETURN and that'll migrate the task away and return NULL forcing a re-pick and donor will be back to normal. > return p > > next = p; /* Donor is rq->idle. */ > > > This should be illegal and I think we should either force a "pick_again" > if proxy_deactivate() fails (can it get stuck on an infinite loop?) or > we should fix the donor relation before running "p". > > We can also push the proxy_resched_idle() into try_to_block_task() and > only do it once we are past all the early returns and if > task_current_donor(rq, p). > > ... and as I write this I realize we can have this via > proxy_needs_return() so I guess we need this patch after all and > proxy_needs_return() should do resched_curr() for that case too so we > can re-evaluate the donor context on the CPU where we are stealing away > the donor from. But this can definitely happen. FWIW I think we can just do: static inline void proxy_reset_donor(struct rq *rq) { put_prev_set_next_task(rq, rq->donor, rq->curr); rq_set_donor(rq, rq->curr); resched_curr(rq); } ... instead of proxy_resched_idle() and we just account the balance time between stealing the donor and the resched to the "rq->curr" instead of accounting it to the idle task to stay fair. -- Thanks and Regards, Prateek