From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from SN4PR2101CU001.outbound.protection.outlook.com (mail-southcentralusazon11012054.outbound.protection.outlook.com [40.93.195.54]) (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 79FA921B918 for ; Mon, 24 Nov 2025 06:07:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.195.54 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763964438; cv=fail; b=mlFxJZeNZbN60aRVzxAC8PvAILR0XHiViIJ8l91GUlJUbasKqHfsLiHF6cFfOyXL4jTJeUtCw4Q1GSdAL3g3+ODpu51ezxEbRkklWNcLy5Thi6i4iJpr4sY7xBP/Z/rUxYZGGQfqDsmStAaNkHdgOHwcXhbVAgxM0K0C12Wq7iA= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763964438; c=relaxed/simple; bh=I9q9pBNcZs0n1Y2+4uaOmnuRxxr3ZJoRkPDmR4in0hA=; h=Message-ID:Date:MIME-Version:Subject:To:References:From: In-Reply-To:Content-Type; b=ROnlDC+BL4Yc9fFgfGEj4K5MDQQlTFCE9OUn7KyCQoqt7heM5zQdSBAzxCFRubKoygbVPJ5zVyb5Iedmn6+2a+x+eo3+94VHdOtUCMWbtoFGHS7Lp0tUEtVNzi3vhTDaUPiIT6o2Iox5M7nypipon1DzBV0qIoNjk82hKq+I3OE= 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=VHuCzBkv; arc=fail smtp.client-ip=40.93.195.54 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="VHuCzBkv" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Ca9l1SqSrQidx9lH62jnofLcF2Fe6dsl772+2BCHysgAD5+dmt4hKczJG3x8v15Ru/qSAJapGWOEfxIPjD1ddbhNb/bYL0lT1xutd3OP6Ukrx7sJIUcqcaiFq3VyySJP2hA464solzTm+O6ceqF8rpt3KDkztGDr01f3h770+tVE/oZCLS6vffVyf6otY2kkNW99zJvEMohmviFTxirxg3PgaVhgst7Ggy3AqoyNLVW+InV0528+fjPn9rVIsvMB+eGqdUwE3BA0GBxt4IKVGLCsuA5rCc9IJa6ksfbjTaIMUITovzWNcrMgYzCaUPnr+8s8X/KKU9UfigCFq1pNSg== 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=CCE4emGMsixN4IZuG+iwotQ5NSSu3LrT07+DIJx5Qak=; b=aj+HieMAbhlcCY7ZFLeKqZBIYy1dEsPWzk4FVDlWIxElDqTdxpYy8g2TpaoV3Ba/HE6UylplA2Jv1PN1bxwqkyH2jSPt8etdZuxviHJc0kTm/cQavS5MBjZTMQP+hnnAf2LwXaAP5xdccmNd0NE/ClGZt5/btB7Jize7m3lTrUtPsQdp776JNgfr5O/zFIPj8EQd06xHm+iS3tKkt5Bh24Rdsq/tz/CzTiYXWdHHhOLs4hJi90fm7Op6nt2oC6YEgwtw1JLzBHCDmV+PnzsHywiKelAVZdti1ycHZNQv236yz4hEPQ9xyD7vqO+wAnrd+hMsi3bWjhs944CS92I9Ew== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=gmail.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=CCE4emGMsixN4IZuG+iwotQ5NSSu3LrT07+DIJx5Qak=; b=VHuCzBkv5iu+nphTwIndLHDlyXskeIIQPV+0uFaKsBoFCqVaTopmXsL7HFfseKds/OQ+gj5tbjp8OHedIA1iqcVzHjL0SBrdORa9LGTYvg38WCJqzmeLNOec4K3IF1LSX6+dWl19bJDeAXIjPql/FdnOohzoNtyDsmQwM+gRH+c= Received: from BY3PR10CA0020.namprd10.prod.outlook.com (2603:10b6:a03:255::25) by SJ0PR12MB6758.namprd12.prod.outlook.com (2603:10b6:a03:44a::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.17; Mon, 24 Nov 2025 06:07:11 +0000 Received: from SJ1PEPF00002319.namprd03.prod.outlook.com (2603:10b6:a03:255:cafe::63) by BY3PR10CA0020.outlook.office365.com (2603:10b6:a03:255::25) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9343.17 via Frontend Transport; Mon, 24 Nov 2025 06:06:57 +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 SJ1PEPF00002319.mail.protection.outlook.com (10.167.242.229) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.7 via Frontend Transport; Mon, 24 Nov 2025 06:07:11 +0000 Received: from satlexmb07.amd.com (10.181.42.216) 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; Mon, 24 Nov 2025 00:07:11 -0600 Received: from [10.136.36.40] (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.17 via Frontend Transport; Sun, 23 Nov 2025 22:07:09 -0800 Message-ID: <897a4439-ece9-4935-bb7b-0d8aeb5c4e6b@amd.com> Date: Mon, 24 Nov 2025 11:37:08 +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] select_idle_sibling v.s. DELAYED_DEQUEUE To: Tingjia Cao , , Vincent Guittot , , , , References: Content-Language: en-US From: K Prateek Nayak In-Reply-To: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ1PEPF00002319:EE_|SJ0PR12MB6758:EE_ X-MS-Office365-Filtering-Correlation-Id: f55fced3-71bf-4296-7027-08de2b1fb532 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|82310400026|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?utf-8?B?R01zNFMzOVlGa1krSFJVMEx5QnFTUXM5ZzU4WXhPZ1FSWnoyQ2F2WDNVekRy?= =?utf-8?B?aXdNZk04TExYaG40SHZScDV1NWdwWUgrWHRoNnpBb1BGU2xHWGxkNnlXcVpZ?= =?utf-8?B?aDk2b2x3MnZJZ3pkK0RNbk41YzRMSmZsTkIzSm1nbjFxK0FKWDNXQWRVeEhi?= =?utf-8?B?Rm4yaWd4K1E0Q0hFbm5CTlBzQnFZWWlobnB3NGZ4ckpBVUhHQzlRUXBoN1V5?= =?utf-8?B?NHM5NWdsNUJmeks1T2twSWtDUjVOeU95S2dYRy9rUjVHZjhKbWhQQzlIaU4v?= =?utf-8?B?KzE2NDZzMzF2V1B3NHhJRWl0dGYwbWtrRkswQ2ZOY3lGU2hEM3lGaThMcWx4?= =?utf-8?B?YWdZQndXOXJZaTFOUnlQRzlnUmNid09xNTdobFljTGlhNlhoSEQxMThja0d5?= =?utf-8?B?V3paUzVEZ2ZBUDRkQlkwY2ZPd25MS1hTOTdzbFBUaHAwVG1BYlo1RkxSN21y?= =?utf-8?B?enlZcjFzR1l1ZElqdG1VZHd4SnZxR1JpRzFJbVhvVGZJRDU0UmkvNGFmZFRK?= =?utf-8?B?OXlsYlBSZ1RlYm5laUdXQ2ZsempsZWRsS0VpT0cybjN1VWh6cWRYTGdMVGc1?= =?utf-8?B?czhpcWg4dnAwejBwTTRWU1o2b3l6Rmh1N29UWTViVkk3L3dzR0lzWXlhazI5?= =?utf-8?B?RWRZSDQxYmZNVE1NUkN1YUsvaitqcTVoSXc3aUFvb05GUGRsdDhTZ0NJdnhp?= =?utf-8?B?VnQrQXFFblpFRzVIcnBHSUkwN3k0c3RvQ2RjMHAwNExEbUFCS0NEN1NrZFd6?= =?utf-8?B?MUpHbkx2cDFUaS9Nb1NGbHM3NGVBYmhPNEMxdVdteldlQXUva0R5MVkvSzN4?= =?utf-8?B?QWxtQTU1QXhjL2V1WENmN0pRa1FZejdNdjQ4RTBwbm5EQnp2U2hZUDBCc2k1?= =?utf-8?B?KzVQZmhQZWJDSmMzbFRJcjZxNlRxd0llNUQrOUE2VEJ6b3VaVVJCV25iMitn?= =?utf-8?B?VFdqWERWQzBRQ24xSXQ2cWRLMW9nVzUyUzhWMGUxK0dGY0R4b2tjMGRyS3FP?= =?utf-8?B?NHY2cFhDaTltd0Z0QTNZanJlY29KajNUcVBOVmhWQTRMUlZ6blloMnphVjhh?= =?utf-8?B?Y0pkRjlnTWw5dGlzNE1ab1ZDRUFDVVBCSUdQektKekdUdTJUWHU0SmhteEp2?= =?utf-8?B?aU1tYndPQ1o3cXNOalphS3lXemhjMGExTDVnVFdsc1BzM0RxTHFoZkF4ZTJF?= =?utf-8?B?ZG5uQmNmNHRxS0plenIrU0pLSnpCTjF6SHJ4WlVxTUp3TERZN1RRa2I3N2Ur?= =?utf-8?B?ZXh0OTlybU56S2IzcUtXcHRKdnhTcXorR2NGNk5sSS9uRkplWG82cjZ1cGxx?= =?utf-8?B?L08zby9pTk9QbmVwMS9ONW5rM2lWV3R4T2ZWeENPVUdTMStLSGQ0QTJnbWxM?= =?utf-8?B?TTM1OTF0ZFZzcWt5ZTNIZWVVby9CdVlPMGx1NGltZ1dPOEd3VTFNVmxrRFlH?= =?utf-8?B?UmhtTVA2a0lPalU4WUJORzZKQkVHVDFlcDRlWWhSc2RvejZUcHduRVZNS1Br?= =?utf-8?B?VTFNQUFaOHJuSll2a2tkem5BRVFlaWhZaFdvUjBoVzNpdVYxN3d6WUFyVVlE?= =?utf-8?B?TlFNejN2QlQxY0pDOUNESHlsdTR4S0dsZVpML3ZBRm9qVVdZUFN0SzBvbDZX?= =?utf-8?B?MUZVaEREWGdyOHBJemZSWG5CZjBYaG5nRGMvZzFSQStoSEVrVUxPaTRCanBM?= =?utf-8?B?a2g2S1crcEtIbkdEem1iRFlXakt3KzBMeUw4OHl1VWNJaTZwUGdUNEpRcG53?= =?utf-8?B?ck50TzJDK1h5Rno2d1RBVlk3bFlSbkMwL3ZSMCtLdDh5NmkwR0gxK041bDIx?= =?utf-8?B?eFhQanVwWitUdnlrc1FXVlI0SzFaUFpXS1BLWUxGV2NDR0IwMi9OYnI3QkZ2?= =?utf-8?B?VkxsVTRid0ZMOVFqSWRoNWNzYnJwSlJRODBIUG4vOTZ0VGF3SEVQMkhURW9t?= =?utf-8?B?WnNtYmFrUXA4d29pL3dNcy9NSFEvZFMxZXVwWEs2R09pNXQyTDFlTnVGNXky?= =?utf-8?B?NUdYM2FxMCtSRlJUR2ltVmx4Nzh1T2t0L0Q3eXlxTHkvSFJMeXY0bnU5bVZh?= =?utf-8?B?Y3FOcFFrZzhnc0RWQVZFWm1laW1PYmF0MlFRQy90dmdkbHQ2RjVkVXpkbnli?= =?utf-8?Q?oTLU=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)(36860700013)(82310400026)(376014)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2025 06:07:11.6397 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f55fced3-71bf-4296-7027-08de2b1fb532 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: SJ1PEPF00002319.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB6758 Hello Tingjia, On 11/23/2025 9:34 AM, Tingjia Cao wrote: > Recently, we encountered an issue that sync wakeup kthread didn't choose the current CPU though the waker is the only runnable task. It is caused by a conflict between delayed dequeue feature and select_idle_sibling function. > > With the DELAYED_DEQUEUE mechanism enabled, a task that goes to sleep may not be removed from the runqueue immediately. As a result, nr_running may overcount the number of runnable tasks. Inside select_idle_sibling, there is a special case for sync wakeup: > > if (is_per_cpu_kthread(current) && >     in_task() && >     prev == smp_processor_id() && >     this_rq()->nr_running <= 1 && >     asym_fits_cpu(...)) { >     return prev; > } > > For "this_rq()->nr_running <= 1": we should use the real running-tasks rq to check whether to place the wake-up task to the current cpu. > > To fix this (patch attached), we can use the true number of runnable tasks by subtracting the delayed-dequeue count: > >         this_rq()->nr_running - cfs_h_nr_delayed(this_rq()) <= 1 This is a very transient state - tasks cannot be delayed without other runnable tasks at the time of dequeue and soon after the dequeue of last runnable task, all the pending delayed tasks would get dequeued. The window is actually very small. Does this make a difference in your workload performance? Once all tasks are dequeued, the newidle balance should run on the CPU going idle to help reduce any imbalance. -- Thanks and Regards, Prateek