From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from PH8PR06CU001.outbound.protection.outlook.com (mail-westus3azon11012050.outbound.protection.outlook.com [40.107.209.50]) (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 6E0F83382D5 for ; Fri, 9 Jan 2026 10:36:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.209.50 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767955015; cv=fail; b=Mrg+Ef8TddTJQfEA4HxpnjonsKfOWkM0wjCbmAInTqD6FZc3uJGSaVPF5CGwIddNhWNQMsjquuLSx1VYc2D8xotOfBorMBmrV8oXCwNGBgNRexFrkQSZimqWCDjFLeif9JtqCFBhaMHJLMj9aeV9lL4JfMf1uNDKXx0kGtgY9AI= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767955015; c=relaxed/simple; bh=jE+2KoqRZqtwxLSnEJk85ClQ3xfpJCVn5eM3BVMdfdc=; h=Message-ID:Date:MIME-Version:Subject:To:CC:References:From: In-Reply-To:Content-Type; b=gmf6DplIO0u/LrhU6e6frOYG64pRJYLu7VPy3MU+BvgCnmO2G4IxrXo4GXlMq15+aB+XP4Dhs2iryYkgdkmAs6rOZxZLVAMhb2EllzncFgYdugE9BOhD251moSJjmgY4RUyaVQALd3sSL3iz4706wciyyfmmMb/vNUSHC3dlvCw= 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=omi6MVTa; arc=fail smtp.client-ip=40.107.209.50 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="omi6MVTa" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=rCJzPDlc784T8rBD3Uo5EUfUEbgH45jrdCrgbwM5fN3SWf/gUAw1fGPnAWZp2kzbYojAXYy2kFB6sTa9HhTi4Y6EHZEucmnkPiWhXXxOdY5X4ziYLMDRtL77j6R6V2bUPqyNRKgdZxFakMe7M8TqqyLhkeupHbW6sIoaJlgEwlIO0XWnkPrKpf4vDwdBmyW37dGwxXcoBCvhApVnu5pWY0bf041sh2SxdAojSqlF6+A3i44RIrUgKf1gvpw3kliWty/7kOjxodibxzGomHOwUgygNrBHciJMuVt8Agp/ZMyBy5Nb/mpJ4apRtQak2YwH6Z5m0yv3aGiYse8TFJSNvg== 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=BJ/sQSYO3nlIa+TexN5qBpL23G7L5YgEEvAZWYYthyA=; b=zJbaMnyuzzwbBn9aV0BvOkLB9sZ473js/W5DFhY0WdPT4hNRlfXcbZl4VZWR0DWfKNm5tnFSU9NcuOTT/Bs71FJpWkp9lbz9obut98bk7/LNvIj78/FRoQMtTcPb/AfSh7Yb/0VbC+Zzk7InVq11Sa76rYXGh2WGICpSE//EWaqxaQTWSkEJwbkyo7MKO85SRz4+8zxExcis4KGz6VgY/ozrYuOhuFUwADEtYW3QQR8/5hjxgYVHwF1mQVY1ZJIXObuirwRNu4kWGxMsJdbE30p4kSCyxF8ZkUFtu73n+Bl4btnndXH8DrUEE4GQDr5AVjy8H1eu74FtjJHRsHUjGw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=redhat.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=BJ/sQSYO3nlIa+TexN5qBpL23G7L5YgEEvAZWYYthyA=; b=omi6MVTa7qFFPq7tOw/4/lOJqg7OyIwb/a3GoxVfog/QWkViVubkk4MvIG08SvTB95nyk/rZLucsCEBeS647Q8EaBkUg6hlFZ1ULRvXDZh3bJfqTAy4/U3xcww20ixE3lP7OZDHB4T3tk8R7RL5vdCq/BcY0aLTgNSzZsabfZGo= Received: from CH0PR03CA0424.namprd03.prod.outlook.com (2603:10b6:610:10e::21) by PH7PR12MB9150.namprd12.prod.outlook.com (2603:10b6:510:2eb::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9478.4; Fri, 9 Jan 2026 10:36:50 +0000 Received: from CH2PEPF0000013D.namprd02.prod.outlook.com (2603:10b6:610:10e:cafe::d9) by CH0PR03CA0424.outlook.office365.com (2603:10b6:610:10e::21) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9499.4 via Frontend Transport; Fri, 9 Jan 2026 10:36:47 +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=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by CH2PEPF0000013D.mail.protection.outlook.com (10.167.244.69) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9520.1 via Frontend Transport; Fri, 9 Jan 2026 10:36:50 +0000 Received: from satlexmb07.amd.com (10.181.42.216) 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.17; Fri, 9 Jan 2026 04:36:50 -0600 Received: from [10.136.32.160] (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.17 via Frontend Transport; Fri, 9 Jan 2026 02:36:46 -0800 Message-ID: Date: Fri, 9 Jan 2026 16:06:45 +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 v7 1/1] sched: update the rq->avg_idle when a task is moved to an idle CPU To: Valentin Schneider , Huang Shijie , , , CC: , , , , , , References: <20251226063203.5947-1-shijie8@gmail.com> <20251226063203.5947-2-shijie8@gmail.com> Content-Language: en-US From: K Prateek Nayak In-Reply-To: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PEPF0000013D:EE_|PH7PR12MB9150:EE_ X-MS-Office365-Filtering-Correlation-Id: 6fa1e3ea-3e08-4860-b6c4-08de4f6aff78 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|36860700013|1800799024|376014|7416014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?d2ZaVGdiL1lKU1lDSHdvN2F1YjRhdWpIZ3FzNWhLeWU3WmN4N0NiVWtoYlZj?= =?utf-8?B?MkV5cm1ISDlNT0xURGRHOHdpeVZxLzZmemNYQW9FRUkyNzZGSXcrcFZKRVJP?= =?utf-8?B?akVNdzRNTmN1TjZJRWJNSitGTUpRT3dkQlNSRGZhcWlYMzIwb2NUa29mZmZY?= =?utf-8?B?UFk5MHNsS2c0RWZFUFpOSjJzWUM4NGtUdmVCbHFvcmFYQ2laSzkzaDhRbWFa?= =?utf-8?B?OUI5eDE1RUlYUFhkYzBtNzVMSk8yZVM2VWxXeTVBN08yZUxBaFJIZGhaTjEx?= =?utf-8?B?OWdJbnlJa2FvYTNnVkd3Tk1KSThxZjc2Rm14dTFEWmtsSkZiTElyditibnZ0?= =?utf-8?B?TVV5ays4SVRtVXhhVUFJRDlyU1hmQTZDaCtpbWtGVksyUDF3V1lHcXo1ZnVy?= =?utf-8?B?U0hhWEwyQnFZUVU2U1NVTDQwOVVSK3BzZTlqTzJyOEVOZHpJbWxONlhsdWxm?= =?utf-8?B?VE15STZqbENpM2hpVVc3REFMeFRMWlJQOTNUTEw4Uk1SZ3AydHZabWNIRkZS?= =?utf-8?B?U2tlREsremZnS2YxUzg4aUxOR3NWT2t0Wmt6OFBTOHJoeTBmaDBMTGc5cUc0?= =?utf-8?B?VURlWFBBUjJsOGJ6bmZPWUtaeFRxSHhzQTlZNEVPVDg2ci9ORDl3L2N0MnJ1?= =?utf-8?B?V08rTUxDOVQ0NHg3OHpCK2FiaXRrSlhjWXdLbHg0d3d6ZE1MUXdRczhJWDMx?= =?utf-8?B?WHdsZXp0R2NnbS9QcVY0ZGJDQzF3S29kOHFQTW9pcWRtS09wSFIrL2RYeWFG?= =?utf-8?B?ays3N2pLUWJnMWhZanR0TVFacGVBNFQ1Z3N6YU1QbGJkUktnK3JjWEltL1pC?= =?utf-8?B?Y1ZIaVU3aXE2UCtZcXcwcys4cVFpWkNIOGZ2NlVnZktpVVVvTXBGZHZuMERC?= =?utf-8?B?TE1JbjNVTElYYU1abjVXYzJLdDlEVkdhY0N4eFduaTF6L2lGeTlMRXVXaW5a?= =?utf-8?B?TjNVcjVoOE5YUUU2MFVEcEl1eCtnODhFWEtOWFFNYnVuOHVWdzlVVytVSm5j?= =?utf-8?B?WkFIZ3dwZ0lESDVJUExMUjB6WXZqYk1nc1J5bFh0YXNpZGw3RFRtemZhTlF4?= =?utf-8?B?TjVTZTF3d1lNQUwvcTZKUUxzQ3VYZUZrcUhaVUJ6QmhFb3NjUzQxM3lXeUVw?= =?utf-8?B?M3VBdndXOVNibmJMUXFqSXJjRXNSVzkvM2NjUENLcElIVjU3RmdFSmFkVUZM?= =?utf-8?B?UU9uRWROaitXMkxMTHdreVRaejh6Nk9DK3puOFF0RFFuK1Qwblk5R0xSMCtJ?= =?utf-8?B?MllKN2dsMk1yanRDeEFQT1p2ZUFLSnBRdWZHTnJGREFPNUE0cUlMQnl3WkJr?= =?utf-8?B?QnVIWUVBQy9wenZTaTM3NlRVMFkzVEZlL0tST0wzUHYxWUprem5LNGxQR0Rp?= =?utf-8?B?QThJR0NXRk1ZVjhEZVhwSlF2YWxocWRuajNhcHFxSEdjS2YrL25Bd3p2M25m?= =?utf-8?B?T3R1ckt1NGcrekF4VWloa280SFlJaTVhREtOUU9seUVXaHRqNE5Obytqc0t6?= =?utf-8?B?V21mMWVqeUJJR0tkQlA5U2NMbXE3ZGRKNzlqVUs0UGtzS2tTOEtJck53TnNW?= =?utf-8?B?QXVIbE45N2lsOXZtdUdISjJyQy9Ydy9OQ285TFUxbGZNZkVKbDJMeEs3NnpG?= =?utf-8?B?Nkg0UkhKcVNIdzEzcDhUaWxaV0JhV3p2YVVLcSt4OHJRNUNtMTIwUFBLWStD?= =?utf-8?B?NWdmQ09iR0JBS2RXMmtyQklGUDJBWHpRZjluUW9nSXJPUlBSZE4wSG9XWFdW?= =?utf-8?B?aHRFV0JPM2NyUmMvaHB5blAxbm1VaStkclFlQjR4c1REK3hQRXQzOVk2VUxL?= =?utf-8?B?V2JHWUN4ZXp3R09QU1hzS2dHSU16WXliT2FkNXdsdWtkZ3hiWHI3VCtLRzFK?= =?utf-8?B?WE1RbFdtNVNZRmNpWmN4S25xRHFUL3VEUHBwNFN3cnNGWlBycTdQV213MS9S?= =?utf-8?B?c0xJQVNkZTEwdG56YjNZTnJ0QXNKZmJnVjBCQWdxV010M0RvcEgyMG10eU9n?= =?utf-8?B?MVVGLzAvajdhODNvV2dxUW1HMGFtK1VMV3hwclB1aTZjMkxRWlFCNVpWa1Fp?= =?utf-8?B?c3B4SWxaN1RMTGYvMk00bVFpVnNEWE1lbGpXUnhFcitGMmZnd01HSUFWakFa?= =?utf-8?Q?Q1lg=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(1800799024)(376014)(7416014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jan 2026 10:36:50.3868 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6fa1e3ea-3e08-4860-b6c4-08de4f6aff78 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=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CH2PEPF0000013D.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB9150 Hello Valentin, On 1/9/2026 2:42 PM, Valentin Schneider wrote: > On 26/12/25 14:32, Huang Shijie wrote: >> --- a/kernel/sched/core.c >> +++ b/kernel/sched/core.c >> @@ -3609,6 +3609,21 @@ static inline void ttwu_do_wakeup(struct task_struct *p) >> trace_sched_wakeup(p); >> } >> >> +void update_rq_avg_idle(struct rq *rq) >> +{ >> + if (rq->idle_stamp) { >> + u64 delta = rq_clock(rq) - rq->idle_stamp; >> + u64 max = 2*rq->max_idle_balance_cost; >> + >> + update_avg(&rq->avg_idle, delta); >> + >> + if (rq->avg_idle > max) >> + rq->avg_idle = max; >> + >> + rq->idle_stamp = 0; >> + } >> +} >> + > > So if we have this invoked every time we switch to the idle task via > put_prev_task_idle(), do we want to move sched_balance_newidle()'s update > of rq->idle_stamp() to set_next_task_idle()? > > That does change the behaviour as we'd now record any idle duration as > opposed to only idle-from-fair duration, but that would mean we'd > unconditionally record a rq->idle_stamp and could thus ditch the if{} clause. So I'm a wee bit skeptical of this - the avg_idle also serves as a bailout for newidle_balance(). If a tasks keeps waking up during newidle balance, we would like to discourage further attempts of newidle balance for a while to avoid CPU being stuck doing newidle balance while having runnable tasks waken up on it. There is no bailout past should_we_balance(), and for large domains, it can take a while to get out of balancing. If we move this to {put_prev,set_next}_task_idle(), we'll completely fail to capture that part of newidle balance bailout and I'm afraid we'll start doing newidle balance more aggressively. I'll get some data over the weekend for the different variants being discussed here - if it doesn't reveal anything drastic, we can consider moving this accounting to idle task's switch. -- Thanks and Regards, Prateek