From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.18]) (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 D77AB23E33D for ; Mon, 23 Mar 2026 15:36:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=192.198.163.18 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774280197; cv=fail; b=kFJ2dB8BXy5a8MZYgrsXOVsIe8zHlBzQ7UMJOfsLtzXLNbmIOAwqoj5CniZSTXV/7thK8gWwk0ULlueLxFmqOee/K6i3qDDIJcjh0xecj5rzZrPU61F8W9yF8okdCaJCIszcMOcvcs0sWQxxuNZ2opnLQe+qeKc+r5RbVdG83hA= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774280197; c=relaxed/simple; bh=GchZWrNBMYbfRWFAAQEigVAv9dY3J+CoG53jmh7uQ7k=; h=Message-ID:Date:Subject:To:CC:References:From:In-Reply-To: Content-Type:MIME-Version; b=KYRVnIFLPPY6HUMrXPTPB5YfKEpjLXjm3tZMettih/Mee1VNGDSs2Evd3Sd4Hv/thNErdlH/Lqjvo/MZWGJB4DhxqvExJIlRoLAPxXrMHiQMDwzGI6YAldw60DXv3W1m6jtDeRYzZC912rnd7IAqQ7FB3NhEAd4Lu9VNw/oVkgI= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=nH5IP7cB; arc=fail smtp.client-ip=192.198.163.18 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="nH5IP7cB" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1774280195; x=1805816195; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=GchZWrNBMYbfRWFAAQEigVAv9dY3J+CoG53jmh7uQ7k=; b=nH5IP7cBq9vdDV1zoEwb7N/Pj5Z1yoyZT+ufI34dGRGesm6pcLtYXGiF xMFlmPLnj8+PB/8Y0BLxG+/DnA9JHeFbf3mkyoNtNHXnKeGX+VCG2NVBA I/ZIbgh48c4Dwt6CKh/LmXHu/tPddc3cU/1p6MjOL7tp8duZvr7HmFpw1 bhqS/KArY5CJli+tnVo1W2SVJI8JB08k2XTZOMH/AYGfCAQr4E+S4tin7 9rv7ifmGO1Walij5ohYiDBYPUvqiJbowxIxCMbFbsSPdf1JTUgd/O85j4 xdahG19DAFyGG4RlWySD+dhiX8sftY7KUycOanFpHYIWHsWnUzqOR4jJm w==; X-CSE-ConnectionGUID: pHmaFe7hQPSazoJlvaHE7Q== X-CSE-MsgGUID: RUNO9vOGQwuYm3ccRDIYdA== X-IronPort-AV: E=McAfee;i="6800,10657,11738"; a="74460708" X-IronPort-AV: E=Sophos;i="6.23,137,1770624000"; d="scan'208";a="74460708" Received: from orviesa004.jf.intel.com ([10.64.159.144]) by fmvoesa112.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Mar 2026 08:36:33 -0700 X-CSE-ConnectionGUID: 6RViTK//RxiGe+0RRJIFTA== X-CSE-MsgGUID: UEkmki0wTHSVyVZGkXeWnw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.23,137,1770624000"; d="scan'208";a="228536078" Received: from orsmsx901.amr.corp.intel.com ([10.22.229.23]) by orviesa004.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Mar 2026 08:36:29 -0700 Received: from ORSMSX903.amr.corp.intel.com (10.22.229.25) by ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Mon, 23 Mar 2026 08:36:28 -0700 Received: from ORSEDG901.ED.cps.intel.com (10.7.248.11) by ORSMSX903.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37 via Frontend Transport; Mon, 23 Mar 2026 08:36:28 -0700 Received: from CH4PR04CU002.outbound.protection.outlook.com (40.107.201.35) by edgegateway.intel.com (134.134.137.111) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Mon, 23 Mar 2026 08:36:28 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lh6vY2c7qMnwQmPyWK8PKmFfgtmitaDaxjJqZ/kDlDNnjQsAoxPd/azdO7rMUcmCsJIe35KGFuEl7UNBKa8TlxbqMlmGUnI/NAlp6TUF8agUow8Osqt2+d1RJgMrqF2s4I1Pjx/M+vK60Tv0iHHY3OsFjRgD/U1IdF27rA8LXrlaWJRXoMz6J4/2HiIK7zOzCdUuB4gf4ne73gGJnkxOeY6CkAz881VGQRaQwbd8nKFFyGahMf/aBuC5f2AI2rmrvkJoowORS0wR90gemx27vzjhJ4e6aGa01imkDKm3hRIQNF0LeK0Rlbe1I54+dPFPRUUsZ6N2w3f+LKSUYtZ6Hg== 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=QNvUiPwxQCUqKPsdHQ9TQsrn8MvGOx/QHDrS43rouAE=; b=WqQ54r32m1kx8WeHGU7mZAX3wJeCSNmbzIXJoJ1b9ZX596pCqAT+90fxjYdO65y2803voqndxNszZAZ7gP1ChLBZUjmFc8sxftYkDjVFfVcbX3cPMRVv3LRk06HAZfUxBfQyExmnJ5dENaH6sl60neWHQUbc5kynduQ3PgutCJRRewPLs63XrU/Y0BIUUnAg0ngN3rF/4Y3UgRnY+6ZHsNY8kvMcNcNU1ymX4tRnOUuBU2W9DtE5rZjI/XtQmz8uNzyzaKXhzNdDGMbiSODQOW5m3R+h/PHUqxf/xRYLo0s8QhmlRx22I6QB4mfD07fO9bqWCjc0YTRmbdVCgVzHlg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from DM4PR11MB6020.namprd11.prod.outlook.com (2603:10b6:8:61::19) by DM4PR11MB8090.namprd11.prod.outlook.com (2603:10b6:8:188::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9745.20; Mon, 23 Mar 2026 15:36:26 +0000 Received: from DM4PR11MB6020.namprd11.prod.outlook.com ([fe80::3058:1480:e4ac:5765]) by DM4PR11MB6020.namprd11.prod.outlook.com ([fe80::3058:1480:e4ac:5765%6]) with mapi id 15.20.9745.019; Mon, 23 Mar 2026 15:36:26 +0000 Message-ID: <468382ba-ec26-4146-a520-ae0ef469a1b3@intel.com> Date: Mon, 23 Mar 2026 23:36:15 +0800 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] sched/topology: Initialize sd_span after assignment to *sd To: Peter Zijlstra , K Prateek Nayak CC: Ingo Molnar , Juri Lelli , Vincent Guittot , Nathan Chancellor , Valentin Schneider , "Dietmar Eggemann" , Shrikanth Hegde , , Steven Rostedt , "Ben Segall" , Mel Gorman , "Gautham R. Shenoy" , , Kees Cook References: <20260320235824.GA1176840@ax162> <20260321163852.11102-1-kprateek.nayak@amd.com> <20260323093627.GY3738010@noisy.programming.kicks-ass.net> Content-Language: en-US From: "Chen, Yu C" In-Reply-To: <20260323093627.GY3738010@noisy.programming.kicks-ass.net> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: SG2PR02CA0133.apcprd02.prod.outlook.com (2603:1096:4:188::18) To DM4PR11MB6020.namprd11.prod.outlook.com (2603:10b6:8:61::19) 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: DM4PR11MB6020:EE_|DM4PR11MB8090:EE_ X-MS-Office365-Filtering-Correlation-Id: c0caa673-16c0-4975-f01d-08de88f1f1fd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|366016|1800799024|56012099003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: UDq0IUxjX2Xfz+GtZLipWzSp7ZVK0o6201IkoIpkYulOC/sD74vs5eWFrtA2R2VZCQFKy0iy+EtbBryPrkxr4BFTHc646Uf1KuT5qF+3/1MPM95sFqSni9dd7rY6hLRqsrDmCdysrUxJoMXW9PVkSSJTMKlddE4HcrhXR7mcnjVoLV0WJSrUIhKIrNl7obRg28LCYKrLnPSAGpVi1wJA9NOgnuxY+dc8sDba9JlaHJglBXq9ulgPJ830DlXi5D+S3BB6gOeksdv/J16wbeTbcbcZ4N2uTDohNhvfs7verucOMKMoSMDL9PzLPAONzgMZIUWSps154bv60S6Wyd6SEm9s+0/Gt4SmJetIxFJTd+MORITMXj5/9xtdGkdQvodMgkscrnsRnVZtph1I5Izpg0CVfUldifOD9zobnJjijBgjj/pRSwfHl7bXDClQpmZWbEccxC4FuW0gpygTXF4w2pfc8P1qlodOogwx4GhRDpv7LFvFtBmtWRibILX8ShBr9CssdpXYJVJ2kAsdV8aQMa4OX+gW+cqUnUgspu3BEVlIwD+NiYFzg7nZ4axNmV7BW16RcOOI8XrFmTHG73i3icj1N4xtd58+PD0qaDCtAqxsHwEaIq/fRYS5Kly7lKCFX2C166Vb5D0/UFIfnu/EEcb+lxZrNSudU8O+PlNWDdcaaWM1qnb2acvLpuPyTTFew+gI1IhjnI1dKYJcyd7oOnYFmstvKmW6odpsxD/7Gj0= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR11MB6020.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(366016)(1800799024)(56012099003)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SS8waEhqTTRPV2N0cFFndys4L0RpdjhoYUUvZjdjZGNLSkhjNFB0ckliQjhq?= =?utf-8?B?c1NPUXFiekVXNzI4TGV0RlhrTVNTZ0FWajJiNk0rU2xxRDZVR1JtcE9Sb09P?= =?utf-8?B?K3dNKzhvS3Z0WnRIVHlwRnNjWGdGdlJZSTRyNng0dHNSWk1ibDZlRy9TUERK?= =?utf-8?B?VDZ2dFNMZS9uM1lxMnk4RFh6cklVcTZZdTZWTllHUjAvMTJTQURhZE1CZTlN?= =?utf-8?B?Zm1ndml0NDRRQm1tdGNDZzM1WG9Id05mYzVJSDBHTDJLdHo4dnY4V1k1bUZI?= =?utf-8?B?N0xRazM1dG91a0lVOWlHVWVNZ2ZIZDd4UTFNVzNlbU1rL1VzT3E4MFBkQUhr?= =?utf-8?B?cUV3YVp0M0twOU9jcWVzdWxNRWRjQU1ic3E0amVDUkJjR0hLcnVMcCtKR3lw?= =?utf-8?B?L1Z0MHhuWkxvbm5KZmNaaU55ZytqQU1Hekd2c2l0MmhZODVyRU9PTGdpNWpM?= =?utf-8?B?QjRIZ3hCQXoxZXVFdkZKdTMwSEpaZ200TFVsbXN2Z2pYQkFEMDRZVFc2Zjg4?= =?utf-8?B?ZVBWZ3FsVXBaMitId3ppeUFBdCtiMlc4dDFrcHpvSFl0T2NtN2hhTHZLcGRq?= =?utf-8?B?SHlhcCtheUU3aUFmbDdFZHBEQ2RTamhiYVJQbXUwS2tFaWZhVDVOcTJ2TGNs?= =?utf-8?B?dDFzTmRSbnNjNE5qa3l2NStMTlRBMVRXbjkwV1lZMFJ4a3YyN25BSW1UcWFj?= =?utf-8?B?enM4OUJDdmgrRkFnenk4V0dRS0ppZnhHeEJ3Tmp0SkgxOVFpM2luQzJia1Na?= =?utf-8?B?cG1Ec0xOcHpXd2pWNkhjckxmcXF2N1c5czB3Z2g4RGpQNFlIaXJWYWdlTTZX?= =?utf-8?B?REVlbkJGVTNKb3JDSm1BQmhxakNPS2FwU1JEZ1hwL2lkejJpVGoxT3dJUTZB?= =?utf-8?B?aGRiZVhMbVZTMmZaNDBZLzAwdlNDVzFqRFhna093VXd4RWk5OVhhNGNiR20v?= =?utf-8?B?WU8xTFlDRGpaOXFmQ1l4NWdySjZnSXNNeWlWaHY2M0x2RXV6dnN5UUQ2dU9o?= =?utf-8?B?VGVjajJLVDBYMXNhNmNVdHZVSjV0V2dFUlFoZFU0V3VjZGl5VndLWWNveWhq?= =?utf-8?B?bDMxODRGZXg5b21xWFdFMjRrUUJ6ckJWeWRTTHNSTjFTU3RRL2d3djlQenpT?= =?utf-8?B?VTR3b2V1SGorSitaem1ueGtMVXVUTjJRZFFkYTN0LzVxUTE3NTV2ck9EL3gr?= =?utf-8?B?eUtHN09uTCthRi94dEdLSjRFYmx1UTBUMjJ5ckhrcmlGc0tXcUsvbnU0REN5?= =?utf-8?B?cWhnOGVNY2hNTU5GT2lWSFRnSmxpQ1JHTUZpVG9xRlhzR3pUVmwvWGFKbkk1?= =?utf-8?B?SmlteXF4NnF3VU80V2xWaHR0SFRBek1mQkJuakQ3ak5ZZlRPcUErTlp1MGli?= =?utf-8?B?MmZrNVVCNU8xdCtTbnFpcmxJOFJHNmwyc2FGRzB3MUk1VkxYd1dpTmRPaTRJ?= =?utf-8?B?cmhPWDZyM1daUHJMQUVkb2tsMCtMNVBKcXVSRGY3NVNxcG9OdUJBSmdPMndF?= =?utf-8?B?ZEFiRTFGYnNtemlmbk1RZ0xuTGE5TmRMZGR2K3RrQkx3ZWx4T1RNb0lBbXo5?= =?utf-8?B?WnJlWDlrSit3N085aG1Jd1FYSXVWSUxFMlVIaVROOVF4cjMrYkp0eGFzb1Yw?= =?utf-8?B?UXR4VkVKTHpjSk9zcVhyL1F6SEN1azFiQ0hOcUxBWHVFTTRUc1FKc2p0RGsz?= =?utf-8?B?WGlYeWlwaFF3ZE9WdkJFZFoyQXdBYXdKclczZVVVSkVLVTk4c2NMMTdYNkMx?= =?utf-8?B?L0c4NmN2cEJkRElNYXVtVEJjN2prM0hTUy9FcVNwa2RuQlYxUGRXcStmWFox?= =?utf-8?B?Znp5UjRuVitmOGNvMXdqS0hXWm8xZEZubFJUNWlucExZazQ2ZUo5WklYY0VY?= =?utf-8?B?YW9FV1llVFJSL3JQNjcxcGlTdkVab3loM2VFTFVSU2x3RUtvTVNKaEsvVGZh?= =?utf-8?B?NHVsaSs0c0dzbXVzbG1PNXFRaEZRSkx3dXNqdEJtaFVKSkpxLzcwL3FnanVy?= =?utf-8?B?Sy9qTVIwQm9FRjE4ZlBWUGlTWVUxRms2M2RYN2RqZnVmL2RvcmwxSkcyZXcr?= =?utf-8?B?NXJUTmJIS0VEU05BUVJWV2paaFppZko1cEdubmhhWG44aTdWSWRtQ05ib3hI?= =?utf-8?B?TUk4ZVRCa0JPTGhXRkh0UDRkcHdpcVBaNzRpb0JsQTdNVm80YldQcmlBQkt0?= =?utf-8?B?a21YT2M4MmIrcFdvMER5UUNtMUlINUVwZ0prd2Z1ckdSZ1VhK1hrOFZhWS9v?= =?utf-8?B?bGM3ZjAraERmQjlOVHI0T21RdGs1VzN2ZGNKcVJPaTAyWGNIOWJ5RmhkYVlF?= =?utf-8?B?OHkvd2pmRTNaaFBhNTZzcDk1eVZzam1rSmNrK3ZQbzdIWE9rSkoyZz09?= X-Exchange-RoutingPolicyChecked: eY1FRmrDSo+5i232s6t77wXdOcQav2G5+QuVz4ntDBDi4cbFm1ohPJGQSkcXZ5Tyo2r8qeQMalK8Rw27kyOuhDgzGXhsWilaAXPisPNs+WRfnxOwi7M7mmG90Pl9mTSrYOlT48pYEIAIVKJsxSGjvATUSNlM9RsZ2rLtiNSa/IzMpHyqPoeP2/OzyICrIoWW4TmA9dc+hfOeLSQTo4KIguDnQhv485rrK2cFF2kxtkgSnd9DFGJ+Z8K3LJ5LhZSP6s2w6SNZ+wDBGVZnkdBw6a2+1FO7Zt6PpemUg9wB8J7Mm+n9KxsZXJkvC4k+/11nqOfYNysJIvbvElBngKiaNg== X-MS-Exchange-CrossTenant-Network-Message-Id: c0caa673-16c0-4975-f01d-08de88f1f1fd X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB6020.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2026 15:36:26.4639 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 1Np92PgglXi+JszKVliJf8jXpiKAZBLPYIBaO3CE1WaX42zewIJ+26xHQQjpBb2Tu+gJ5tHVdtsUVBV/fIMeWw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR11MB8090 X-OriginatorOrg: intel.com On 3/23/2026 5:36 PM, Peter Zijlstra wrote: > On Sat, Mar 21, 2026 at 04:38:52PM +0000, K Prateek Nayak wrote: >> Nathan reported a kernel panic on his ARM builds after commit >> 8e8e23dea43e ("sched/topology: Compute sd_weight considering cpuset >> partitions") which was root caused to the compiler zeroing out the first >> few bytes of sd->span. >> >> During the debug [1], it was discovered that, on some configs, >> offsetof(struct sched_domain, span) at 292 was less than >> sizeof(struct sched_domain) at 296 resulting in: >> >> *sd = { ... } >> >> assignment clearing out first 4 bytes of sd->span which was initialized >> before. >> >> The official GCC specification for "Arrays of Length Zero" [2] says: >> >> Although the size of a zero-length array is zero, an array member of >> this kind may increase the size of the enclosing type as a result of >> tail padding. >> >> which means the relative offset of the variable length array at the end >> of the sturct can indeed be less than sizeof() the struct as a result of >> tail padding thus overwriting that data of the flexible array that >> overlapped with the padding whenever the struct is initialized as whole. > > WTF! that's terrible :( > > Why is this allowed, this makes no bloody sense :/ > > However the way we allocate space for flex arrays is: sizeof(*obj) + > count * sizeof(*obj->member); this means that we do have sufficient > space, irrespective of this extra padding. > > > Does this work? > > diff --git a/include/linux/sched/topology.h b/include/linux/sched/topology.h > index 51c29581f15e..defa86ed9b06 100644 > --- a/include/linux/sched/topology.h > +++ b/include/linux/sched/topology.h > @@ -153,7 +153,21 @@ struct sched_domain { > > static inline struct cpumask *sched_domain_span(struct sched_domain *sd) > { > - return to_cpumask(sd->span); > + /* > + * Because C is an absolutely broken piece of shit, it is allowed for > + * offsetof(*sd, span) < sizeof(*sd), this means that structure > + * initialzation *sd = { ... }; which will clear every unmentioned > + * member, can over-write the start of the flexible array member. > + * > + * Luckily, the way we allocate the flexible array is by: > + * > + * sizeof(*sd) + count * sizeof(*sd->span) > + * > + * this means that we have sufficient space for the whole flex array > + * *outside* of sizeof(*sd). So use that, and avoid using sd->span. > + */ > + unsigned long *bitmap = (void *)sd + sizeof(*sd); > + return to_cpumask(bitmap); > } > > extern void partition_sched_domains(int ndoms_new, cpumask_var_t doms_new[], While I still wonder if it is risky to initialize the structure members before *sd = { ... }, this patch could keep the current sd_init() unchanged. According to the tests on GNR, it works as expected with no regressions noticed on top of sched/core commit 349edbba1125 ("sched/fair: Simplify SIS_UTIL handling in select_idle_cpu()"), Tested-by: Chen Yu thanks, Chenyu