From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2052.outbound.protection.outlook.com [40.107.92.52]) (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 68C4B13D246 for ; Thu, 9 Jan 2025 10:31:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.92.52 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736418711; cv=fail; b=sXoL3WwCmxmnxrBqrJKuvpiYD9G3X/Ihp6HySHZNcH9NkB5dRwsBzJTkjOMKYYdFEmi8GRw0csKRaYObdxb1eIEkr6bCEZN+K25WRHqaBhsnVTal0W8+UPtZ87ioMq3nPw+wq6nrqTD/6VU5R2SKHYyBU3WLdPGTz79O6es7cDg= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736418711; c=relaxed/simple; bh=q1C7Yli2iEOTatVpBsoL9j2UlJ9VkTe2RWUfIW4G6rQ=; h=Date:From:To:Cc:Subject:Message-ID:References:Content-Type: Content-Disposition:In-Reply-To:MIME-Version; b=mastjP4YBbYtbDQiaHIAtc+XaQUA+rR9EPq/n70Y9JrRXImjm/h0sOL7B+FcEwt/uYUwuVBnHF8LFGKVqBPDGlVZa9qx9PQWZOhLMKddqxAJUUNtetXwnrx4BxWSXCbifLrs+dKT08O9n+2RwmcsdxjHpofGLbBYJSE3obAXBFk= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=ASxal4PT; arc=fail smtp.client-ip=40.107.92.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="ASxal4PT" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=NGWBU3dHJ9qq79WNasi7UvXxl/qmD+EAjhPCuoiPbkFjwIs+C3HIGbbq0rsD0B7E5PfJiKfs8Tos20gugE/++XMsnlsnlAg5sYVgh3VyCpqwrdMM44RssqsGXX3sfTABym92Ja1pMqQzkq9BMInAalknp6FSi7rk3Qq7HDnQcsZxHzN8nCSZR4wkRDOUpFw3FbP7yU9VgkxGyY/e91WjwcelmUqWRcKAt8WGrYjDpseDDQMM6hGLTciasKcd3hLkb+GddTGySVwBKLJnlb+5QP7Cs16wbDYnet8k1UCJRBoYs/mur74+DZiD7OHChzgWyYWpEf9wCjA+7mjNMr62Jw== 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=Ij5X8Kwu5AQD+xlO3CnROo0kP8wr9sw4iayQYaCFFuc=; b=eWS6/YLHeprETNb+wUR8+Aw9v8AdeB2KUiwWmOX94eb3PHRiFFVlGwWd237PnP2DqSsCYHXhXqPIiQwtIKCIZfcsVIbQwa79Cd/SiHQX4woNqbSlQnCjlyOv7Yk88oi5+LROmyzHXsZtNIt/YLRGxQjerPcqlPdXfj+wIISoa00qWA23BD1vP0G+0L1efBF+uz8N5wtL6/ZXNJM9JR+fSZ8NQOHUetbNOOaJ/fHrgDqLVBDmveQFnuS5Ap7l9radIx1ptuu1o8t9iZU0JZ1YUxurXkHHXd97dQmzY/pSIGsw8Hip0FP/EAvlMYywWgtX4lJI3sqYUZYUNa4gqVy8sg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Ij5X8Kwu5AQD+xlO3CnROo0kP8wr9sw4iayQYaCFFuc=; b=ASxal4PTJUk5ihpgmKdz0Wyi8i0ViczEGLtB8fjZt1j2bFnZ1L0W3BbceQ2YJAkOFu1bxeOu8X5VISpDx+7qamByPtfz/1odMaBiivKVuTKJA/qmxxLPAVsEotEj+raGESHciYNRoStmWmZ659ZVPwQZ480+CpSjplQmKH8Ga3kaLrSVS++l7xjIKDiVQmA3+CazxuG5okqH1C8et8mjGIh2QYuwbs7jWs4bKFYNoqQUGELfiqQeOPQq++OMX81adCkzIaa9N5Z8EYeJHJmKGYVU6BUvqNzV1B5LWtwD7hdyNIo+aNnawriW7ypsX3lu4h7SXg2OYrE/6f9xlONeHw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from CY5PR12MB6405.namprd12.prod.outlook.com (2603:10b6:930:3e::17) by DS0PR12MB9424.namprd12.prod.outlook.com (2603:10b6:8:1b4::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8335.10; Thu, 9 Jan 2025 10:31:46 +0000 Received: from CY5PR12MB6405.namprd12.prod.outlook.com ([fe80::2119:c96c:b455:53b5]) by CY5PR12MB6405.namprd12.prod.outlook.com ([fe80::2119:c96c:b455:53b5%3]) with mapi id 15.20.8335.011; Thu, 9 Jan 2025 10:31:46 +0000 Date: Thu, 9 Jan 2025 11:31:42 +0100 From: Andrea Righi To: Peter Zijlstra Cc: Tejun Heo , David Vernet , Changwoo Min , Ingo Molnar , Juri Lelli , Vincent Guittot , Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Valentin Schneider , linux-kernel@vger.kernel.org Subject: Re: [PATCH v5] sched_ext: Refresh scx idle state during idle-to-idle transitions Message-ID: References: <20250109101952.443769-1-arighi@nvidia.com> <20250109102212.GR20870@noisy.programming.kicks-ass.net> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250109102212.GR20870@noisy.programming.kicks-ass.net> X-ClientProxiedBy: FR4P281CA0431.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:d1::19) To CY5PR12MB6405.namprd12.prod.outlook.com (2603:10b6:930:3e::17) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY5PR12MB6405:EE_|DS0PR12MB9424:EE_ X-MS-Office365-Filtering-Correlation-Id: 47edc76f-7301-4c23-6a6f-08dd3098d160 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|7416014|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?+J+xmgo7gQICcO0aYfFB72vy6pAI9Dspz1xerguFPVtbWQRVsth+KfWKxSI6?= =?us-ascii?Q?N2EPCCCh44YHlki8MlQVTnRMoBn4Ftk48/VZhhy8yzlxu0pPMQmz8qijvkXU?= =?us-ascii?Q?43pU0KMqdl8ICWmNxDUVUTbkDNBeyWfrcsNboTP/BHwLtw6nwKoS0VrOz/0c?= =?us-ascii?Q?ymXfcIDje2OZO/+8swJTnwS8Dhfp5j96Poyzzv1YmjLGPNlYhsascDKznqjd?= =?us-ascii?Q?D9vRcsPC2yEOgiRNSba86YO54Af93sp9ShAr+u+PjBfvuhrydzgK3G4cdXl8?= =?us-ascii?Q?5a9xwlIudIWhMpJz3YmuX6HhlR33+EOoW+kylNMK7gbvOcjT9RRyOt53goBh?= =?us-ascii?Q?MKUDu3COchcNZrYGR4EMWEaou88eePTtCLmbz4rTnFyq4h3viSshfPF5Wghg?= =?us-ascii?Q?JskR3nvElefRDjQufn0b+y4d5rtJBhOKsfTmoA6CN+EmOpegiH/zsLCYzTU2?= =?us-ascii?Q?lWAGb1eoWhKocoj+ggEN8rGwXxREIuZMwTyxP1IUHDh1Xm0WBg+wa9iss/TT?= =?us-ascii?Q?9xXiCsulCbn504Hv8u+xdgzf3dlfPvA5rq9TmnC3T0w4vMoRIfTkRCXyCEwA?= =?us-ascii?Q?ToN2Oyladn4ts//J8cXnuCsLEaOAgqG9xpLKyom/Ox/eYTnieOwQN+5ySeYj?= =?us-ascii?Q?r8Gbeo6xGKag9w3H4Zsr8qSOy+Uk2aYQGvLTu7Ci07c0+VtqW+sxdRuuxhC8?= =?us-ascii?Q?WdsaveOl/noiliYl4lWgKpmchXR4PzGwWa1tr8x34vi8US56o2Ipae5WpA7i?= =?us-ascii?Q?E6VpBmWNYpY+kkxinGODmxKEC/7efYBXjIncf4ktzvfGirs3yXH4NB1TAEM0?= =?us-ascii?Q?mJdu01UVSAvwv4FGgBS7u98BKSye7D0+1xOo911fiRmpII0+avqCmh6eDJGY?= =?us-ascii?Q?1hyxlJVmiNFrc/k0zs++p4QncNXeJ0rN8z3bZNpKCRElkYcOiN6UcXKqVbaQ?= =?us-ascii?Q?vd4yjYUxxwGjAzk/fFUNVNJDzlVn92c+AYhPW2uRRs/358GnHXzxbZL0wTZY?= =?us-ascii?Q?mJKCABpeRNr+8j/kNVkGudq08jTMYRd/tcJJZWz3uoM6BSbSbTZvf4jAGLnU?= =?us-ascii?Q?mRAtB+/e9kgsrVia6wJ+TX6Cv2yYTPilgzugPJuao6gYlUnyxbnAwXuxe6JW?= =?us-ascii?Q?tAhnHGBKkqm19+0iB5PlYYwGjWSQpI7Knar5AYtXpcfH2dpdEGHloTe6O+Sm?= =?us-ascii?Q?x/oZGDzbGB2eL/3VR+qUcNJJA+Zeuys/5wP10+RTbWL1LdtjFCfRGfgovJgB?= =?us-ascii?Q?U0I60DBC46XZfzGL94vxB3SrSJCnCExAfEBCejy/jwN6wphxyiZ3XEzdfivn?= =?us-ascii?Q?p2b18UsAIWYspTcONb0f/PTaH6Qkq51IYK/R3i3wktpJ9+IKDle1jDI6RtBz?= =?us-ascii?Q?8Tf7tPY+wCJum94UIk4Cj+3BlYpW?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY5PR12MB6405.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(7416014)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?4XV4CZJ9QF8MR6KUb3CFx46z0mNXqqFMH4u4qYZddRJeGlfGFFi42uZ5Lo28?= =?us-ascii?Q?2MDe4pi/JH7HexPbEERAMd3H/erbo/5q7aaP2HDJomKQ2UqvkmqmRDMcAV9G?= =?us-ascii?Q?ZBKwbWuGzjn9KpzQr+nXuxvm/GD/BMe7mULgMtrGFEyUVziJ8t54mx02V7Iu?= =?us-ascii?Q?W2nRLbYcYVnWsutOgBNSmV0c6Vc9aqvEq0RzkLroteScL2bk9hPoGxKZq/5T?= =?us-ascii?Q?11FG9VWhf0ANxmH4DVGyHcO0LDsMGLQn3nW2KZyMMYCoFPaGZJ8Vvy9odAxp?= =?us-ascii?Q?T/b0P6ENacqSky+vQFjZddgcKREvP/Vt6xctXGbrdyovZ6AJ4a1mJ0XeC3Cl?= =?us-ascii?Q?bXpr3UL72uw+ssFqaRdikjOehvS+uHup4SRDeDjaXVm5606I6nQ1OYRzeruD?= =?us-ascii?Q?GP/5wxoJ9v8k7BfoJbIg/1buDEGMvL2JVdp1QmthXE40LvzuhGCt3rertvzd?= =?us-ascii?Q?yXdTJ6v/jFoMpLZYBq71RGWzPDVfb33djzlDdI7EQ7Tr0R7frr0INGj5PvGs?= =?us-ascii?Q?IAvpWJB1DyrEN3iKniocnxZMeFxmNIyE57GgTAYgSRj2jyC+PH3pL+JXbmP7?= =?us-ascii?Q?3jgQV05RczHCPJMeaIOCmWFMPnp1Z0xX6TcSKgn18n7vvJkj2MUTkg4gWcxC?= =?us-ascii?Q?McbZmj6UFiz3KFJpnsdyv5ZE6GDTF8fetNg7Bp1im19yOUgKg1r+aYGldVSX?= =?us-ascii?Q?GRzLmuNZYGrSishUk8vspKJgJBhhM+npPOcUFoXLe8RBasWncdYJyGj1QA2Z?= =?us-ascii?Q?4aKLO/WMlLoyvsGdyOQlRJr2Q21Vw7W1Z8ntytjd/YPMwM9sS3hfa0RrkNA7?= =?us-ascii?Q?AyKu8FsxS9Y1akPuDlZw++ze0PzY0zat3u4dsNVbeFVdpjGWdWz+QMoBBi7q?= =?us-ascii?Q?gSeoQA+v2UcfYdakbntQqc0SqkpyYV/9N1e7l0xmK1myaUV/QI/7ZpROAp5+?= =?us-ascii?Q?+/H9gSzwkwhPEcxyn71sMCa3Uw8zP6KlgDTqpr1UfQxAHvhMlqB3mhjupQY1?= =?us-ascii?Q?VZCxvW3pZecmuVbTKwjfttYBEbdeNQMsyV+buAi4WaJBGIyQ/l+PoTw3SFyH?= =?us-ascii?Q?PFmiTC6LyY3LIVqtulxvirUYoe4cJnXhYO3ssbC/g3TrWdyapVBCThsEkTOu?= =?us-ascii?Q?H614DtPnQyLFIUFindlqhLeZzdg1KoGem8eiYlDKpepnajhq7KeYqNWAmCnO?= =?us-ascii?Q?VIizur3O1TKHjuwnBkXBNC4804Ec2ddEC2MFhJF3aPleE34rz8lRib5dldzX?= =?us-ascii?Q?Nz33Xj0nrh/XbDQ2rdqlOxcuYd8Ai+Gj8IS7UaCIYkDRFIyifBtBhyUC5L8q?= =?us-ascii?Q?BsXDE9uFE/Z1MssPkTeQURzrxZjQLRKEZLvJ0qG0GEH6JZ3j6Up4+QxUwJmZ?= =?us-ascii?Q?PjzOU8Iend17uESBJidaSpkRKZHrnpiOXYmOO/0RC6vItNBdKG/29F9Spjat?= =?us-ascii?Q?FYkEnBQ3Xe8zR4KWJGP/zSuLFrQZniDCnqdgAvPkHawmfAREYUs6WohIHpbk?= =?us-ascii?Q?Ebv/dwpAHPYKCVjTZiig4tf52p307YNcJqeSQ5cTg2lHHZZr13gkET3hv7Aw?= =?us-ascii?Q?XKfJd0LBFIixq/UVc1bDCN7FrV7PsAPMrETqMXkA?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 47edc76f-7301-4c23-6a6f-08dd3098d160 X-MS-Exchange-CrossTenant-AuthSource: CY5PR12MB6405.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jan 2025 10:31:46.3723 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: wXqHCzVBu80TVJSJjl0ueNvseeYNsEwxunnKYimYIJYX0scyZKKFwvPgaSUwFrNvrRd2hExNbSRzuGxYL6n9MQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB9424 On Thu, Jan 09, 2025 at 11:22:12AM +0100, Peter Zijlstra wrote: > On Thu, Jan 09, 2025 at 11:19:52AM +0100, Andrea Righi wrote: > > > diff --git a/kernel/sched/idle.c b/kernel/sched/idle.c > > index 621696269584..ffc636ccd54e 100644 > > --- a/kernel/sched/idle.c > > +++ b/kernel/sched/idle.c > > @@ -452,19 +452,33 @@ static void wakeup_preempt_idle(struct rq *rq, struct task_struct *p, int flags) > > static void put_prev_task_idle(struct rq *rq, struct task_struct *prev, struct task_struct *next) > > { > > dl_server_update_idle_time(rq, prev); > > - scx_update_idle(rq, false); > > + scx_update_idle(rq, false, true); > > } > > > > static void set_next_task_idle(struct rq *rq, struct task_struct *next, bool first) > > { > > update_idle_core(rq); > > - scx_update_idle(rq, true); > > + scx_update_idle(rq, true, true); > > schedstat_inc(rq->sched_goidle); > > next->se.exec_start = rq_clock_task(rq); > > } > > > > struct task_struct *pick_task_idle(struct rq *rq) > > { > > + /* > > + * The scx idle state is updated only when the CPU transitions > > + * in/out of SCHED_IDLE, see put_prev_task_idle() and > > Idle thread != SCHED_IDLE Ah good point, in this case it's probably better to say something like: "when the current task transitions to/from the idle thread". I'll clarify that. Thanks, -Andrea > > > + * set_next_task_idle(). > > + * > > + * However, the CPU may also exit/enter the idle state while > > + * running the idle task, for example waking up the CPU via > > + * scx_bpf_kick_cpu() without dispatching a task on it. > > + * > > + * In this case we still need to trigger scx_update_idle() to > > + * ensure a proper management of the scx idle state. > > + */ > > + if (rq->curr == rq->idle) > > + scx_update_idle(rq, true, false); > > return rq->idle; > > } > > > > -- > > 2.47.1 > >