From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from SN4PR0501CU005.outbound.protection.outlook.com (mail-southcentralusazon11021093.outbound.protection.outlook.com [40.93.194.93]) (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 1CB303033EF for ; Thu, 5 Feb 2026 18:52:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.194.93 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770317574; cv=fail; b=dtlEF2s3S9qyHc7bCotK4HlMQ6rsXFea8IdYkWI+DuDwzuIZoveJVEFSlCVQR2vPYaRzC/h/Ta4ho6jCVlJYXqJuowaeiWfJZi1lAtNFeLlC1phrQrSwOCGXHEE7L8OWPTfgwG3xJX4ZP7MhsxjGbYi14xYp3zFxZDszkadYnag= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770317574; c=relaxed/simple; bh=BsE3KQtgwbA3VcljZb1xp4ljoxLSNv3hboUWWE+FgAM=; h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References: Content-Type:MIME-Version; b=BlfXmaSAY9v0pKZL1Hq1KLycRFAVkqAZ2sRI5zD7TpEHnYbOrsb9NtC8K6AXu32Uqf27hZkHZJssUEm7qkt6e5ECXuQfxLAZtWdVm9eQZt2ctc2PBdMNqrNNjxfKKdFy/wSDxXdIisqaHd3t0ke1Calf6CkepGgleZSd6CWeGQQ= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=os.amperecomputing.com; spf=pass smtp.mailfrom=os.amperecomputing.com; dkim=pass (1024-bit key) header.d=os.amperecomputing.com header.i=@os.amperecomputing.com header.b=Kj9G6qS/; arc=fail smtp.client-ip=40.93.194.93 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=os.amperecomputing.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=os.amperecomputing.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=os.amperecomputing.com header.i=@os.amperecomputing.com header.b="Kj9G6qS/" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Xrgo8HZ1kbaxOxRZr4rdx50ZUCkYvtkhvbJP2//sJM1f1y9bOZVEgnN6KRe+mwkiML0NqF68U8zyjASl7k5LD3Zny96cu6IJLXKgDhZrK+0BCne11oa8O9Zvk64tKu4s/7zDF/w7moXBCibQy3HrF468HiFp52QkHVtvu+ieh24AW+/6uSwoj2f5u4wrzSWkZxhF3SpLslqWdp23KYw6t2zvmAwMSZJanzXYWu9q8Nn+XtethTJmcL5CLWVnODILul4+EJOfbgNQXi6KhYuZ2zO3h0PkZSmf8MZvWClfUFxotypUq03diGFSSp55sUTD7fbq/F3z9uH8HHurV6twqg== 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=9JPKgv0zBW2dUJFCfUsckANMZjbzv19X2Sp8QSlErNA=; b=TGcrcbkoxuYsY0JBB/NpEA2Nb4fVAImmGTM2bTo8PntQmdyAIfQnWhMF07MncaMaDzC6dO6rKNdIQweKdsINK9/N+jwL/uizvkSGUnglgqYeh5mKmx1m4BLny0/EX2blpXA0TMnjbOYuFW1/f20DIjbAC8FGiMF/xz4Rbe4InWVXv0EIm7y0L0Zx/kGQ5E9eJUTn8wheUBl2k6Zs1lHMbYb2B/XoOT0R3tRtdRzn+iA0zKUNI+j+f1NHZSMi2GbKU9Xy6tmNKOTCXCX9ybN+1xdXdiJWsxaoj7ugxQRrtAJk3jmPrccLBNMlkA9XhvdV3Dka95+h7LAbXkVu/jpNrw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none header.from=os.amperecomputing.com; dkim=pass header.d=os.amperecomputing.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=os.amperecomputing.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9JPKgv0zBW2dUJFCfUsckANMZjbzv19X2Sp8QSlErNA=; b=Kj9G6qS/dC2XQm7FSYydaQpuJZr6nGK6UExdovdWcl2Va7Vn45B46Wwnq87GBFLhFiEHEkfUaNjTcgsPdo/iW5U7zwt+nOZtkd8Dp2JCnKfM7ZulCe9fDyCuDbhvhzl2JdogIa72jKTmYzCmghVLP0c3/n2B+B2b6juCdAwMayw= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=os.amperecomputing.com; Received: from DM2PR01MB9464.prod.exchangelabs.com (2603:10b6:8:2e4::17) by CH3PR01MB8574.prod.exchangelabs.com (2603:10b6:610:168::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9587.13; Thu, 5 Feb 2026 18:52:45 +0000 Received: from DM2PR01MB9464.prod.exchangelabs.com ([fe80::8b41:b64c:97d4:ed48]) by DM2PR01MB9464.prod.exchangelabs.com ([fe80::8b41:b64c:97d4:ed48%4]) with mapi id 15.20.9587.010; Thu, 5 Feb 2026 18:52:45 +0000 Date: Thu, 5 Feb 2026 10:52:42 -0800 (PST) From: Shubhang Kaushik To: Vincent Guittot cc: Christian Loehle , linux-kernel@vger.kernel.org, peterz@infradead.org, mingo@redhat.com, juri.lelli@redhat.com, dietmar.eggemann@arm.com, kprateek.nayak@amd.com, pierre.gondois@arm.com Subject: Re: [PATCHv2] sched/fair: Skip SCHED_IDLE rq for SCHED_IDLE task In-Reply-To: Message-ID: <81418e43-22d6-9046-0179-b77e85234f4d@os.amperecomputing.com> References: <20260203184939.2138022-1-christian.loehle@arm.com> <7313b320-779a-f5ad-418c-9c15f0cc6986@os.amperecomputing.com> Content-Type: multipart/mixed; boundary="1275739760-738510701-1770317564=:1256736" X-ClientProxiedBy: CYXPR03CA0078.namprd03.prod.outlook.com (2603:10b6:930:d3::11) To DM2PR01MB9464.prod.exchangelabs.com (2603:10b6:8:2e4::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: DM2PR01MB9464:EE_|CH3PR01MB8574:EE_ X-MS-Office365-Filtering-Correlation-Id: 81766f0b-4287-4127-2ac5-08de64e7bf9e X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?utf-8?B?cHI1MUhheXZWTmNtNzlYNjhMR2F0VVFFS1JFRDB2NENqVU5LZW9zRzRYSllB?= =?utf-8?B?MTNWNlVyWTZrN3FNakFkWHU2OEpSRktwRFhnMHpnbk5RdllDbDFqVFA3QUdQ?= =?utf-8?B?Sk93QnY1YUt0bnpzd3BBNE9yanBoOFB4Q0VLbDBoUWVmNXNuOE8rYXd0NHZT?= =?utf-8?B?RVhaZUZKWDgxcVREYnhWNlhuaFBJNmtZaDNobHVCWDAxQ0R6NkdFU28vOTVn?= =?utf-8?B?YTBya2JwRmJaVE54Mzk1T0hYYjRPWnM0eDRiMEhGSzhNWnIvT0lmdVUxZ2NH?= =?utf-8?B?dWVyUEp2QVhyeDE5b2JPTjAwNjVIMUZrOC9oYzNSMkMxNU12N0hvejNEZ0x0?= =?utf-8?B?amNGWkhsdUhTcU85bU9jbVdGYkQ4RGl2TkpJdERINWx2VGpibkxwSGNuakQv?= =?utf-8?B?OGNhNWpzY3lITFBFeW10U0ZYamYzU2U5VGU0RWJ3REd3TUtSVkVzWi9vcTIy?= =?utf-8?B?c2xzRDRWMjJ0VjUwUGFEby9mZS81L0dVc252WVh6OUJndWhxSHNHb0wrRzkw?= =?utf-8?B?Q0NxVytxaUNRaVV2QTdMZVN1Rmp1Q0dNa0lBYU84YnBkUVJtMXY1STV0S0ZN?= =?utf-8?B?VUJ4bk93VDk4dGliNUE0aUUydnlybW1UV2E2UUtXTzBUS280TnJ3NEhpaTBw?= =?utf-8?B?ZkR0VjJVaHUrbW1mVnowTVZFbDVpb2J2czBxYTlpRXdaYzdyZUF2N1daM2Fj?= =?utf-8?B?MmRLQkNDK1BrMEFtTzU2TXYwcHlEcDRYMno1cjhwMm1TQUpFNW80NEVNVDNC?= =?utf-8?B?NUZZc0pGWmplODh6YzlOV1ZyalZUWGJVU2hXZHRudE1iS1NtOS85TmcrYk12?= =?utf-8?B?OVR0SndXR01mTk9CUTZhWjBwMXJvbHRMd0tMTmNzM0RVcVFlRFpkZml4WjZV?= =?utf-8?B?NE9rVHorV2lxSFJIU3FTUEVVa2hlVjZyVTZRcVpuWllFV1JIZ3E1K1lMT0pV?= =?utf-8?B?YURRTWdQdHRqeE52cGNyc0JkQ1pWaEVTWXZoOTF2UnlwSVRCRkpaZjJRbFRT?= =?utf-8?B?SkRlNzJ3ZW9CblRNTzdiYmh1ZkhxYmxnQUJvUUtYYzFaTlJObTFHTURUOGMv?= =?utf-8?B?dlJzSGpJdXNDSGtUNnlnck1xK1dSUThlUFdnQk9ZeEMrdE1kdlNzTkRtTVFi?= =?utf-8?B?aFVOQ1ZWSlVaeGRrWG1SakFrOVZwZXBQWlgrbkxETWpMbDQ0S1YwUzdTMU8z?= =?utf-8?B?RFlqMWNpcFVDRTBVL0pXVlQ2L2R0Nytuam91c2RwY01CbGkxLzJoSGNvckhX?= =?utf-8?B?ZTRrZXRpNjZOT0lzMGllSitRN0RiakZOL2lWdUFLS3ZRdHMwZHRNRkp6UkVY?= =?utf-8?B?NjRNbGlCQTd1dWV3aGZXNE9qWXlUSXdNN0FzcHViWGxCS2syUDJhMDNkVlZl?= =?utf-8?B?dkgzbEFUdUJVdVdwWWpMZm56TWptenAwVDJBYk9vVURwb2RXL1VoYmZpSktF?= =?utf-8?B?L01FeE51cGpna00xdUpSVTFJRlZrTTdRRWI3STZ6NTFoNFJtOXdHeXY5WGVz?= =?utf-8?B?ZEJVTmNVZHQ0eXo4UWFYa2VQZzhuSGlCSDcrdEZpNnRWa0orL3RqZEJ1NkJq?= =?utf-8?B?bFFlcngyeUdqVnkrUmV3a0lmZ2trVTBhOEdlN2pka3lxM3JsRGplK3BmVE1h?= =?utf-8?B?VFVDcUo4NmRYLzRURTBOZHR6Y0dkM1BPamR1SGhHakg5SGpUcCtRWVlQWElG?= =?utf-8?B?cWdOYW1Yek1hNE1QTkJkd2pPRTdSZFN2TW1SSVMzZTcxR1JLeVVTQ0pXbkVp?= =?utf-8?B?NDVJc3ovaGc4ZDU3N1pZZjFCSWt5c0FHeDM0Rys1a2VzVlI3c3l0TG5RU1BR?= =?utf-8?B?ZXFyYVlEMW8zdUhPcCtkWG4waVJKZ2hHQUVXbm5haTFPUzU2TTdYM2QxRUR5?= =?utf-8?B?OXF1cUpCdDdqU3JpL1F6UW5oRmpIOWphZUc2UUU4RHdQdU5pZ2c1MUFBSDJy?= =?utf-8?B?Unh0TDlHak9aNUdvS1BVQk1JcmgzSmNTYlMwY2x0dkVVVmQyRFpkR010TjdI?= =?utf-8?B?VFF3OEVQNTZxYnloaVdERkZJMUNNMlNybEJWZzUwK2VlU1pTYitnYlViSFY2?= =?utf-8?B?M1dQdjZiaDJ5OHlzcE05cW5HSXBnOTRwV0JkOEcwSnUyL3M1R2V0dkJSMGx0?= =?utf-8?Q?qMcg=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM2PR01MB9464.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?djQxYXI5QkhpaTd1aS9JU0JqcG12R0dlT2RyaUJ6RENiaWNraXZyaU84TVQy?= =?utf-8?B?cm5URFVuYXZuWC9hc2hkbkh4dXdrMjRJRml5QmI4c2FENXJRT0JFdUdxVmpJ?= =?utf-8?B?OEExYnBRTzhQdnpZOS9MZjJFR0Q1Njg1WlducE5WVVpEQTFlbjJqMTl5d090?= =?utf-8?B?U2hGemhyY3JtY0ZNajdPV0VhQVpyZnl6OTZCRTlWS1E3a3E0V3BTTUMwcThC?= =?utf-8?B?Z0F6MVZUdS9pL1RLNkpiTkRueng5V1pxL1lsOTNwZ3Q5ZWpjSFNjZWZPcTJF?= =?utf-8?B?MEJHUXE3ZDQ4dDgvYnRYUGhuZFhTQW5ONU8zRGNlaEZ0Mmo5bGFYU3c1N3A1?= =?utf-8?B?VXlhdFJSMDJVVFYxTnF1WTIzMEdzV2RKSTlEblFYTlNJTVZiYXIwbWZHUGFC?= =?utf-8?B?Qm94SjdMMHBGMytHak1vaVJsZXRDbzlzem1yY1FJeUlsZEgxMkkrbG1ENDlw?= =?utf-8?B?ZHpFK0pJRitwNzd5RWhSS2QxN3lKQW9kZ3ppTWVwL3p5dU1SUHVjSDF3SjU1?= =?utf-8?B?UFZMQ2ZZSHcydVVwWEJNR3pEMmc1NG9Neis4TXFHN0FCUmtFaTNaSGlOYTJo?= =?utf-8?B?RUYyaU5zWHVyRFpXUEhWVTJoVjFJMjMwdFFXdWZRdWxHZTArK0YxbG5MdEZ4?= =?utf-8?B?ejZ5MDAzUlpLRHhOeFZmS2kwWnVJcGZ6SWFWbnRnZWEwVHNxSjNOY0FHUjM2?= =?utf-8?B?L2thL0d1ZlNIVnFybWJudVRtVlhRc0VUaEFnWmttbDlCZW1vaTVTc3Y3dzlC?= =?utf-8?B?NlZZZS93NXNiYjExSUM4ZU14Zm9ZejNPZU4vYU8vLzVmNit1ektmOS9LUUwv?= =?utf-8?B?eFdNVUdZcUFUQTI1c3FvTHh5Q05yV0wrN1k5cFkxTTY0b3oreUs0eXVnTFF0?= =?utf-8?B?NjVYWmh6dXVHY1l5ODJ3RjQ0SVdDSTBMczNOUm5YMlBPZ2pDbytHbEZ0UFZu?= =?utf-8?B?bTByZXBOd04yeEhZY2d0bitEOUJoNlNPTkh3Y05WSDJsN1pjYWhjTDZKREpX?= =?utf-8?B?UzZ4T01wKzNWbW0vTTFwN0R2WnF6RkM0dlNESHNSVi8zY2NjR1JLZkRuZWJt?= =?utf-8?B?czFTNWFGSnlKdFpzbTdzbUJtVVZDMUsxdlN3TzNzQy9LbzRubVlBYmsvTVZV?= =?utf-8?B?WE5hQXl5Tjd6bUV3b2N5bStMTnJCcXozS3ZJcUV0SEpSYVJFMXZHK1gwQi9u?= =?utf-8?B?MmxTYThlWEd2SFlUOWl3L2RJdVREL1BRcVM1K3Y4RFdORCt5UUI4cXFXSXpq?= =?utf-8?B?bFREUjRjUWhPUHErcXF4ZUFLSTlWTzM3NC9DL0NCQ0RyMXdsQUhoMXBvK1g3?= =?utf-8?B?U2M3U0dYREhrVDhYdlFNb3dCNHZwTkJ1M1p6bWxZSnZ5MEdJQ3o0aWVEZG5r?= =?utf-8?B?RU9DYWt4V0ZvV1I5Y3F4a2lRWGdITkkvaTFvRFdlRUcwZWNqTFBWZDJEaHBE?= =?utf-8?B?SnZVdTF5a3ZCNDh6OVpTcmRhaFBWY0daMk10RUtDZmJTOFczTUtpZGVWUyt2?= =?utf-8?B?bktRV250cXU3eTZWWTZQNm95MkVCNmI4VEN5Yy9SanJPQVRVdHV3VW1XdlVa?= =?utf-8?B?N2hZV2N1a3BTK0xPMHRkVTV5R2hoVkMwejVZTFJRb0crWjhUTDQyTUdET1Mv?= =?utf-8?B?WjhnZ1RtUktneFFBUWVlSUtrWTEvY2xVdk1Rck40OXpXRmQ4SFBGTVROS3d6?= =?utf-8?B?NndBYTNRY1F1U2RhVS9sRGpCTUc3UFFYTlllV3o0Y1FsRGY5WXNlZ3ZXeUJQ?= =?utf-8?B?eG1MRG12YUJMV0hOYktvSWU2dk9FNG0zM3NGQngyZjV6aEpEbFFUOWFBNDBS?= =?utf-8?B?dmdEeEZKNFh1Z2l3NmJ3eVhGMmVsUUJUeHp3YUIxY2JuTVNYWVhUd3gveWhO?= =?utf-8?B?WVNMQW9mNFF5ZlQ3eDFwRmN5VnhuWXJmQ1RwakVGdkJ2bHo4NUdLdWNBaXI5?= =?utf-8?B?eUNoOHFteThGUVhQYytEQjZUY3NXalZZQVZTbnBXczVsQ2dVaGVuQ2hlWkU5?= =?utf-8?B?OUtPQkRVcStiV2Ewd0V3R1dnWnBSTjlyN2xqVElLOE5pa0hHYVl6SzNsVmNp?= =?utf-8?B?dEZuNFo4OHhyZ244TzBUSVJ1a3lSVFROVWc0clpsWHpRTktMUStPZGYxeDlU?= =?utf-8?B?ejgybFJHUzdRSUVJc0VaR1Y3QWRqb085NzNveGZWVG5CZG5yMkN3RXRJZzBJ?= =?utf-8?B?ZVJJM2YwVTZzUG5mNTBrcFlKdUZSZyttbnhPY0J6dEtVanh1SlRSaTdnVWxF?= =?utf-8?B?dWF0ZjFLYWQrNmt3VXBqZVE1WWZxMjVOMTBlNzJkTXVUU0ZOd2FQcUdleFBt?= =?utf-8?B?Q0hra1VmVTRjZ3JPckk0RDJPc3FkbDRmL0lZenFTbHdha0pKYWJXa2NrTWt2?= =?utf-8?Q?4Of4dUEQ02X25jXcBrJ0mnPHH6CpN3tTb+rWs?= X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-Network-Message-Id: 81766f0b-4287-4127-2ac5-08de64e7bf9e X-MS-Exchange-CrossTenant-AuthSource: DM2PR01MB9464.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2026 18:52:45.0763 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: G6jsrwyjEUtgBx4p64TKhXx0QYQEL+jcutFfRCwrAD92N3ia0EgVcMpUAMJBe8pS3rW7Nbh6gbXNLD0ip9XUHChljF4xnGt09CEwljdWSt/QoP4wmLCl+fhft0ugKZci X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR01MB8574 --1275739760-738510701-1770317564=:1256736 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8BIT On Thu, 5 Feb 2026, Vincent Guittot wrote: > On Thu, 5 Feb 2026 at 01:00, Shubhang Kaushik > wrote: >> >> On Tue, 3 Feb 2026, Christian Loehle wrote: >> >>> CPUs whose rq only have SCHED_IDLE tasks running are considered to be >>> equivalent to truly idle CPUs during wakeup path. For fork and exec >>> SCHED_IDLE is even preferred. >>> This is based on the assumption that the SCHED_IDLE CPU is not in an >>> idle state and might be in a higher P-state, allowing the task/wakee >>> to run immediately without sharing the rq. >>> >>> However this assumption doesn't hold if the wakee has SCHED_IDLE policy >>> itself, as it will share the rq with existing SCHED_IDLE tasks. In this >>> case, we are better off continuing to look for a truly idle CPU. >>> >>> On a Intel Xeon 2-socket with 64 logical cores in total this yields >>> for kernel compilation using SCHED_IDLE: >>> >>> +---------+----------------------+----------------------+--------+ >>> | workers | mainline (seconds) | patch (seconds) | delta% | >>> +=========+======================+======================+========+ >>> | 1 | 4384.728 ± 21.085 | 3843.250 ± 16.235 | -12.35 | >>> | 2 | 2242.513 ± 2.099 | 1971.696 ± 2.842 | -12.08 | >>> | 4 | 1199.324 ± 1.823 | 1033.744 ± 1.803 | -13.81 | >>> | 8 | 649.083 ± 1.959 | 559.123 ± 4.301 | -13.86 | >>> | 16 | 370.425 ± 0.915 | 325.906 ± 4.623 | -12.02 | >>> | 32 | 234.651 ± 2.255 | 217.266 ± 0.253 | -7.41 | >>> | 64 | 202.286 ± 1.452 | 197.977 ± 2.275 | -2.13 | >>> | 128 | 217.092 ± 1.687 | 212.164 ± 1.138 | -2.27 | >>> +---------+----------------------+----------------------+--------+ >>> >>> Signed-off-by: Christian Loehle >> >> I’ve been testing this patch on an 80-core Ampere Altra (Neoverse-N1) and >> the results look very solid. On these high-core-count ARM systems, we >> definitely see the benefit of being pickier about where we place >> SCHED_IDLE tasks. >> >> Treating an occupied SCHED_IDLE rq as idle seems to cause >> unnecessary packing that shows up in the tail latency. By spreading these >> background tasks to truly idle cores, I'm seeing a nice boost in both >> background compilation and AI inference throughput. >> >> The reduction in sys time confirms that the domain balancing remains >> stable despite the refactor to sched_idle_rq(rq) as you and Prateek >> mentioned. >> >> 1. Background Kernel Compilation: >> >> I ran `time nice -n 19 make -j$nproc` to see how it handles a heavy > > nice -n 19 uses sched_other with prio 19 and not sched_idle so I'm > curious how you can see a difference ? > Or something is missing in your test description > Or we have a bug somewhere > Okay, I realized I had used nice -n 19 (SCHED_OTHER) for the initial build, which wouldn't have directly triggered the SCHED_IDLE logic. But, I did use chrt for the schbench runs, which is why those p99 wins were so consistent. I've re-run the kernel build using the correct chrt --idle 0 policy. On Ampere Altra, the throughput is along the same lines as mainline. Metric Mainline Patched Delta Real 9m 20.120s 9m 18.472s -1.6s User 382m 24.966s 380m 41.716s -1m 43s Sys 218m 26.192s 218m 44.908s +18.7s >> background load. We saved nearly 3 minutes of 'sys' time showing >> lower scheduler overhead. >> >> Mainline (6.19.0-rc8): >> real 9m28.403s >> sys 219m21.591s >> >> Patched: >> real 9m16.167s (-12.2s) >> sys 216m28.323s (-2m53s) >> >> I was initially concerned about the impact on domain balancing, but the >> significant reduction in 'sys' time during the kernel build confirms that >> we aren't seeing any regressive balancing overhead. >> >> 2. AI Inference (llama-batched-bench): >> >> For background LLM inference, the patch consistently delivered about 8.7% >> more throughput when we're running near core saturation. >> >> 51 Threads: 30.03 t/s (vs 27.62 on Mainline) -> +8.7% >> 80 Threads: 27.20 t/s (vs 25.01 on Mainline) -> +8.7% >> >> 3. Scheduler Latency using schbench: >> >> The biggest win was in the p99.9 tail latency. Under a locked workload, >> the latency spikes dropped significantly. >> 4 Threads (Locking): 10085 us (vs 12421 us) -> -18.8% >> 8 Threads (Locking): 9563 us (vs 11589 us) -> -17.5% >> >> The patch really helps clean up the noise for background tasks on these >> large ARM platforms. Nice work. >> >> Tested-by: Shubhang Kaushik >> >> Regards, >> Shubhang Kaushik >> >>> int cpu = rq->cpu; >>> - int busy = idle != CPU_IDLE && !sched_idle_cpu(cpu); >> ma> + int busy = idle != CPU_IDLE && !sched_idle_rq(rq); >>> unsigned long interval; >>> struct sched_domain *sd; >>> /* Earliest time when we have to do rebalance again */ >>> @@ -12299,7 +12305,7 @@ static void sched_balance_domains(struct rq *rq, enum cpu_idle_type idle) >>> * state even if we migrated tasks. Update it. >>> */ >>> idle = idle_cpu(cpu); >>> - busy = !idle && !sched_idle_cpu(cpu); >>> + busy = !idle && !sched_idle_rq(rq); >>> } >>> sd->last_balance = jiffies; >>> interval = get_sd_balance_interval(sd, busy); >>> -- >>> 2.34.1 >>> >>> > --1275739760-738510701-1770317564=:1256736--