From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.14]) (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 A1E4E2D321D for ; Tue, 16 Dec 2025 07:31:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=192.198.163.14 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765870272; cv=fail; b=KNTpwvocfej+gmxmFs88vmRyVYbo7xpxICn7ZK7sICBvKSTcirLBCuK+zK2EpLK0kL0rVc0rx/WFbBaaIZAMzuoZQhI5945Vu11Xqw9Cm2mDqVjNSzGRsxaeZFONVGWVRbuvSLU0K+olTXVeSuHS/nR20wCC6Vad7T1IcSwEyco= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765870272; c=relaxed/simple; bh=EZsJTGTgezJBhh5yRlvcD7sHxbfskVnNWKOMYwwTDAg=; h=Message-ID:Date:Subject:To:CC:References:From:In-Reply-To: Content-Type:MIME-Version; b=FoSl0bJzK9oav6UizdC3Z2arF2xMRK88RXyoeAadFecxzAMIRZw5U8opuQ8SBnCqgLA1gLpxXsqjeCT1Qgp8JaahKz9WyCl89Y4W0ax8qPRci86WDk6JLTvTV9WD/NI4JarmLkNG45FlZMnyaSsCqQtqbvW0XnX1jDKennzIoqs= 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=c5PwCLgb; arc=fail smtp.client-ip=192.198.163.14 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="c5PwCLgb" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1765870267; x=1797406267; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=EZsJTGTgezJBhh5yRlvcD7sHxbfskVnNWKOMYwwTDAg=; b=c5PwCLgbzf9slEns7MdNA1bjaz5zm86WWpCwHlXUA0HL4txxJ+TkYr5E BHSp2tArLQdKvSpoDRiuon1Ko56Gz0O4Ujo6cgTU4TcJ4dTcgCP2MxmjF cc9h/TJILfB4wnoOmTPrg78Nmv6NUy41JXHJQMmGYoDMX3Kr/VL6Kul3g ea6/DTdtGKeCXiP4cpE+4lABF8S0LCRfx/wZJNOXDi2Vq571haE3UiBsh wH+Z2OqDlXVBatHS7nnGIrKb3BWofQQklZCNceb9VnU4gewgm1ueZvSxQ 52cpwCT5/C5XAJZJgxQqjwNsUbswj50es1gfnmL/mhpnr4l39VRdIWGny Q==; X-CSE-ConnectionGUID: mTbAaLUqRNu9Hzys0hfd/g== X-CSE-MsgGUID: Tp2wzmmhS5uAUK69hGj0mw== X-IronPort-AV: E=McAfee;i="6800,10657,11643"; a="67818971" X-IronPort-AV: E=Sophos;i="6.21,152,1763452800"; d="scan'208";a="67818971" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by fmvoesa108.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Dec 2025 23:30:54 -0800 X-CSE-ConnectionGUID: HA8fR0/ZT7OAqd3npC03YA== X-CSE-MsgGUID: Xge+vglVRI6DXfEFlYz8JQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.21,152,1763452800"; d="scan'208";a="197227334" Received: from orsmsx902.amr.corp.intel.com ([10.22.229.24]) by orviesa010.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Dec 2025 23:30:54 -0800 Received: from ORSMSX903.amr.corp.intel.com (10.22.229.25) by ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29; Mon, 15 Dec 2025 23:30:53 -0800 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.29 via Frontend Transport; Mon, 15 Dec 2025 23:30:53 -0800 Received: from CH4PR04CU002.outbound.protection.outlook.com (40.107.201.22) 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.29; Mon, 15 Dec 2025 23:30:51 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=SnbPis1xpl7Z6SVAGtZwxlwqXtIUs79BNcEv97jtIVttRpOZIHy1QwgHWVjB8l6z/HqYdW+FcjSF5Gxb5I98apqEynDVKF9JPIi6JxYtHvblsr9Y2huMLLe/+02yvpCw3MZk7ptPXrsL3ULVxb7xyxR3yHACAhkkxjtZqwzsoxk17+qm5N+IfxQv3T011KDWRo3tWOmpvmfN6vUo3I0fA9MzbJKNRREvJirqS5v+eG4olbt3BGkIbcXOLsNxZSF/tYcgOT77ODugGA2+tQO5dSImymz98hrbitnKOwi7zpxE4lOSb3Yo7J92SS8fmpEv4yzHOtoW3Mh3Yh+6hsElbw== 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=cIAvTh1iOKftiQ64iD8mX0JwihvzeyRtFxwDMzC9VF4=; b=ifXcKyRy0MAUX6leZyZZ/RP82LQCWboZZPacA42Xcb1XlvHkw4IbeNANvY2SShF6vRr4oSuFiczlmv3e7pcHOdaCVVUE3bLXVDrRSMiO21BFpYYow60eMsY7RfLsHfYUiNfHnCud7/uXzBJkbnzrNtxddKyebxNpBjBD++lrClke/TfwpuPZrlJlJWbdzudz8cGVP2uFUOqGVQ9/zruw7wxDmKLQqKSyC6a94k94ggr7TwrAoaOOHa2kFizx9wAvYqdeaJf6ze+oHt4odZcIJ2CuBjXAd7zH7PtorfFnieIvru5K0lGMPurnke16Mvwsg9l1Ga0rRJhWup4HTqavWw== 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 SA1PR11MB8476.namprd11.prod.outlook.com (2603:10b6:806:3af::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9434.6; Tue, 16 Dec 2025 07:30:43 +0000 Received: from DM4PR11MB6020.namprd11.prod.outlook.com ([fe80::4af6:d44e:b6b0:fdce]) by DM4PR11MB6020.namprd11.prod.outlook.com ([fe80::4af6:d44e:b6b0:fdce%4]) with mapi id 15.20.9412.011; Tue, 16 Dec 2025 07:30:43 +0000 Message-ID: <8b1a4729-38d7-46e8-92d6-c30e3d9b1022@intel.com> Date: Tue, 16 Dec 2025 15:30:29 +0800 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 15/23] sched/cache: Respect LLC preference in task migration and detach To: Peter Zijlstra , Tim Chen CC: Ingo Molnar , K Prateek Nayak , "Gautham R . Shenoy" , Vincent Guittot , Juri Lelli , "Dietmar Eggemann" , Steven Rostedt , Ben Segall , Mel Gorman , "Valentin Schneider" , Madadi Vineeth Reddy , Hillf Danton , Shrikanth Hegde , Jianyong Wu , Yangyu Chen , Tingyin Duan , Vern Hao , Vern Hao , Len Brown , Aubrey Li , Zhao Liu , Chen Yu , Adam Li , Aaron Lu , Tim Chen , References: <1c75f54a2e259737eb9b15c98a5c1d1f142fdef6.1764801860.git.tim.c.chen@linux.intel.com> <20251210163013.GW3707891@noisy.programming.kicks-ass.net> Content-Language: en-US From: "Chen, Yu C" In-Reply-To: <20251210163013.GW3707891@noisy.programming.kicks-ass.net> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: KU0P306CA0074.MYSP306.PROD.OUTLOOK.COM (2603:1096:d10:2b::12) 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_|SA1PR11MB8476:EE_ X-MS-Office365-Filtering-Correlation-Id: 21a06531-ab3b-4801-057a-08de3c75058f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?utf-8?B?Mk5nT3JVVDBOUHIxZWtmOEVrOVQ2YzEvancvMndsK0hYS202YVpIeThHcDJG?= =?utf-8?B?SmdwcWJoM1BiTU4wUE9pZTVIYU9pZGM2eEh2WlVQQjRNWWpVS24wbEEvb09J?= =?utf-8?B?T3pXallHVnE5WUhPUW93TldKT2o3bXpvK3doNDhscVhFczNEZktwZEl6K2tB?= =?utf-8?B?cEF0aUNNcU0xVVVmMG9kWElxam5GZGpHaVhBbTFST0hjQzFJbHV0ZEdGME02?= =?utf-8?B?TjlOWGRrVXg0VFpUaVhmRHJJZzhjSnZiY1lvODMvRjJXSVFReGdEQm42bDcx?= =?utf-8?B?YkhsbytQSkhWdm4xWFM5UURLNTYvNnZuZlZnVUhlN2poYUxCQ0hsWTFiNGll?= =?utf-8?B?bFFNZmFuaEdxVFEzZUh5THN4N09sWlV1d2h5QXY3d0RBT010YW8vcndMRldo?= =?utf-8?B?TExXZHNzb2k4d3Q0OCt2Z3Vzak1VdEpGVkhmUW1XU3FiL3Q3SUtQRlU3SFJP?= =?utf-8?B?N2RWMDA1WDNqVER0bjRTUVprSTFWcXRlMVlzREdyQjBrajNqU2FnWGtSRTJR?= =?utf-8?B?b2FJNHRjdUduYUFYM3lXMHlKTUM2Q1FDVERQOENZazhZK09rVUxKVWxMMm9T?= =?utf-8?B?SWVFcDNuOWxoL05mZ0lmSWRqeVBtNXN4MkNDN01qQWhQc2x4bHBDYWpHdTM2?= =?utf-8?B?azRRcDhWUkd2Ky8vZmZQQ2wzOU9vbWFCandxeGZPaTV4c0l2cWR3dkF3NUVG?= =?utf-8?B?eWI0RjQ3UUJHblowUGFIbFhlVXQwMi91VkF0T2RBNW1oeFhKUGdpNDZqSThp?= =?utf-8?B?R25NbGlHR2ZyWklJMWRLQU9rK2xlYk9mYVp0SGNqUGkxeUFtWnVRckZEaXE3?= =?utf-8?B?YUh3WnQyazlESnBkdjNlbS9VbVErZzgvc3QzVTZ3eHB3OFFqVkQ0NXFseVBt?= =?utf-8?B?anY1N3RmRkVlbzZyWFBYVXZqeWpQSHhxc2hWem1ScklPZ284Rjh1MGtEYUg0?= =?utf-8?B?M1pMaEsxVlhQQy9xcFA2VGFzUFdkcXU3bEZiZm5scTZ3SXA2UEozSFVJRW5y?= =?utf-8?B?ZFJJNkZmYzVGS09oQzNJb3dJeW9HNFZsdGJibCs3MHU5NHh4bDlPa0hVRW1t?= =?utf-8?B?aGJ1UXBNcEVoL0FmbloxcTczQ0Q5YUE3M3B5Qnp6Y1BGL2xRcWYyS3VmUXJs?= =?utf-8?B?eHdsYU5ienBoS0U5YXpuTlV3MlllMlVaVU50RUYxVnB6TTh2RmR5T0pDaFFU?= =?utf-8?B?Mk9aMnhiRnBsUEMwWS90MnltYlFYek11QlRaZUQyRGhselA1eVM2ZVpXK3JO?= =?utf-8?B?d29BSFErSTdPQWpuMWdhMU5WWVhCVU9IUmN2NjU0anF6eTliZkVueHd1MFVH?= =?utf-8?B?UHYyYjgzZExMdnhpMU42RElhQTErZFFGM3g4bFVEdFRLR0w5L2VyUmpYUlN0?= =?utf-8?B?bkhOL1h3TE5rc3dyRXlQUGJoUmVjaGhsVmhDUlN5dkJ1VngvNzV1a3hwUE1r?= =?utf-8?B?cnhLN2dKTEZiV0xyekZBSnR2akd6Y0J2Q1pYdEJoVDY0ajhCOWVQQ3M1Vmgx?= =?utf-8?B?N2FueVhGL2tKQTZvamFTS3RDYmhLTGVncFR5YVArZERWUWkrODZHOWxVVDJx?= =?utf-8?B?cjlSTGduZ3lhNndnUVA3eFl3bjdud3VuNDhkTWg3YjVNeEs2MWNnSG9XR2Ux?= =?utf-8?B?d2pSbmVXOEdhTVZoUWRTS2U3OTFweGNxSW9VTENFVW8xU2x1bGc1bW5uRkZN?= =?utf-8?B?UGM1VDhieUloeFpIckFLdUJQVlc3TVVhalZjMXFPQjZmNUZoNVRpZDJZV0xS?= =?utf-8?B?T21Xb05qdXp1amk0SDkvU1piOVNWazBlbEdpK1NwbjhDQmJhU0lKZy9ncjBJ?= =?utf-8?B?TGI4TnhjZGJ4SlNUQ3ArRFl4NWFLVjM2cXJ4K0p1SXFoZ0xaU0o2dnBjOGlu?= =?utf-8?B?a05YMXJSQURGcktoRjNoaTFQYnFlVVFlZmE5VnQ5MmltQ2NBTEY5aExNVjNS?= =?utf-8?Q?Upgx4hJijW48fbH3y6UckqMxb1icNvO6?= 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);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?M2tJMW1ZK3M2ZFNUNlAxQWRLVjJaNkQ2ckZXNm9RSWNzdGgvZnp5cWpPejhm?= =?utf-8?B?dVhLRERyUFZ0K0JaeGFGb2NVVnBuVG1ZREsvQlNIb1d4c0NkYVZGUjhuRGhk?= =?utf-8?B?TlBkcTdYRUlQRmxpSHFwM1RzK1lucEphV2ZqN2FmN0NzODhWY3lHbFpaZDV4?= =?utf-8?B?Y0NWa1AvWWJLQWliaVlqN1dYaDVQU3Urb01Ncm5iOVVTVmhUQ2Z0aFVHRnBG?= =?utf-8?B?cGhkWXFieXRPUTNRWTUvVXVSeG9BaUI4WmVmeUtWZFdVdVVEaEI0Z05hUnJv?= =?utf-8?B?NXhEenNYWmgvL09aS09IMXkzMlp5a3NXd2lhZENmN0JWOTRWZ0ZUYU9PZVMw?= =?utf-8?B?bzVJQWsyOUI2RGFqZ0xhNWVXc1lzTk8yY2ZVbTh6aEhaaG5qWTBTaDczRUVD?= =?utf-8?B?UUU3QUpaSE54Rll5MjN5Z3RwSmRsSkdBYkNjaHBaZHVPZk9VMG1ROEdaOW8w?= =?utf-8?B?cXNjdW02SVc2ZkRUMC9NTjU4OUJZZjhzK0R5Nk05RndHTUVOellwZFlyd3JF?= =?utf-8?B?VVlQcExsbHFpM3pWdXVMRENZNzAxaFRTK2NWM2tYNWpMZWNyQzV0SEt2dGY5?= =?utf-8?B?SWVYMEdyMFlKOWQ1U3pvUnNKSjlnUzRPNEMzdzg2UUFuUlF6OGQ3TStrdVhj?= =?utf-8?B?VWRRMG0wYkhpVjl6MERsM0hUVzEwNUQ3MWVDQ0VMTjRyREo2Q2xWSHlLN0R3?= =?utf-8?B?SmRsV2dLMS9DU0xQSDdHbXRnbVZPL2hGbGJzNnl1NjEwbStWUFZES3JWRnkr?= =?utf-8?B?Mzh0ZWh5ZGlHbDM1M3hxL0xROVNseWhHanJ5bitlK2Y5dFNESnJ5OVk4Y1hB?= =?utf-8?B?eTU5MTVYbytya0lkWDAyYW1qdjdPM292WHFqU0JEdVRldkQwbk5kdDJLWVo3?= =?utf-8?B?OGk5NWNXcGtOenQ4NzY0N2pGajVEWlNEak15WmdkYWV5aFZlSzdRcVlFN01s?= =?utf-8?B?N1p3L1RuWEQwdDd6TlhNUUUvbFF4TUI4RnlwcE5manYrMkFlY29lUnhwQTlp?= =?utf-8?B?djhsNXdMQmF5OVltSVJBdVlROFBnbjVxVTZZRFBpdTBxaFVSMnhpSGFEbTdN?= =?utf-8?B?TE82NjFyM1pPRE4xQ3ZYTmZxZTlUUjNuNzVNQ2xDMHA1MnVqU3c0clpvMGo5?= =?utf-8?B?SnR1dTRrVG5idjB3NDJQdk1wNzdoazhRMUlEUVJkbEVKWlVXZDdCOFdZVFky?= =?utf-8?B?Z3NnRTVMUUJvRmlVMXhDZ1dTR1QzdEZ3V3NXdEI2b0dwUHNoT01QVS9QbFNC?= =?utf-8?B?Um1saEt1ZlFWa2w5Nm9LTE5OSjZlQk81VnJ2NVZkZ3dwWkkrczBIQzRVSHBH?= =?utf-8?B?emFVSHZMRzdjVXkyZjgwWlJKZTRrVjJlSVlvOEpXUFg2K0ltVmNOZndZTTVq?= =?utf-8?B?V1VtR1oxMVdzQUZ0Q2hTTk9SWERpbnFLYkRONzljVWlUVVFYbXdxcHZRZTZy?= =?utf-8?B?WlJMWU5YdHBsaXhJOG9aRUdnejhxbzAxallWemRIUHV2bVRGSHU3dkk4WGk3?= =?utf-8?B?SlhTY05JRVRGUTBBQUxvaTZpTTVKaHp5ZUpEMFpicXlyVis4SXBhZmVOZ2Jn?= =?utf-8?B?RktiQU5EalIzSnlsMlB2cU9URzZidUtBT3EyQ3Y5eEIvaWNzQ2EvelJQZDJy?= =?utf-8?B?TU1BNXFMRUUzU1NlY3QxRVNCM1M5TnV1S1JFVW9maXhjTjFEa2hBVFRnU2VP?= =?utf-8?B?ZUh1SGpTVVQ3K1VPai95Zno4TW5ZMThCY3JINkhyQ0JHc0hDL0pUQVJPd09y?= =?utf-8?B?SjhJenhuK1o3SEZPL3EyTUk2NWRsN1M2R2F2TEdhN0IxNFRFWXpkWWJlb0lG?= =?utf-8?B?ZXlRNHZFK1FmV1p2L29oelNEc21UVGMzdmVrQlVycDBFTktOdi9hRnpYejEz?= =?utf-8?B?dmVhV3h4WUFZZUtYWk1uZFZoOVl0M01YWEpkNWZlZW9RaVphUWNVUHFxZ09s?= =?utf-8?B?aDZiNldKMXJTZi9tano2QWluSzJHaHdIUkRwMjdvQ3l3cnE1SnMyeHJWZnBy?= =?utf-8?B?ODBXVytlZW9oWStIK0UvNTlnYStvb1ZLMEhzYkZwNDB1ZVg1OUhrRVJweWYw?= =?utf-8?B?SHZ2d3dRS0Z4QWFhbzgwcnF2cHVBd0dQdXd2YnpHWldReUlKNEJkelRxUWdR?= =?utf-8?Q?dtxAwjeVq925Mmq7fttSvela2?= X-MS-Exchange-CrossTenant-Network-Message-Id: 21a06531-ab3b-4801-057a-08de3c75058f X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB6020.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2025 07:30:43.8227 (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: QycylejasTfcyDdhC4KgfsVDaeISWqkEcorbtOU07rAjiXbUSo2+Vy1154vQphCW2LIsAReIPzIyxzKB7CTSRA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR11MB8476 X-OriginatorOrg: intel.com On 12/11/2025 12:30 AM, Peter Zijlstra wrote: > On Wed, Dec 03, 2025 at 03:07:34PM -0800, Tim Chen wrote: > >> @@ -10025,6 +10025,13 @@ int can_migrate_task(struct task_struct *p, struct lb_env *env) >> if (env->flags & LBF_ACTIVE_LB) >> return 1; >> >> +#ifdef CONFIG_SCHED_CACHE >> + if (sched_cache_enabled() && >> + can_migrate_llc_task(env->src_cpu, env->dst_cpu, p) == mig_forbid && >> + !task_has_sched_core(p)) >> + return 0; >> +#endif > > This seems wrong: > - it does not let nr_balance_failed override things; > - it takes precedence over migrate_degrade_locality(); you really want > to migrate towards the preferred NUMA node over staying on your LLC. > > That is, this really wants to be done after migrate_degrades_locality() > and only if degrades == 0 or something. > OK, will fix it. >> degrades = migrate_degrades_locality(p, env); >> if (!degrades) >> hot = task_hot(p, env); >> @@ -10146,12 +10153,55 @@ static struct list_head >> list_splice(&pref_old_llc, tasks); >> return tasks; >> } >> + >> +static bool stop_migrate_src_rq(struct task_struct *p, >> + struct lb_env *env, >> + int detached) >> +{ >> + if (!sched_cache_enabled() || p->preferred_llc == -1 || >> + cpus_share_cache(env->src_cpu, env->dst_cpu) || >> + env->sd->nr_balance_failed) >> + return false; > > But you are allowing nr_balance_failed to override things here. > >> + /* >> + * Stop migration for the src_rq and pull from a >> + * different busy runqueue in the following cases: >> + * >> + * 1. Trying to migrate task to its preferred >> + * LLC, but the chosen task does not prefer dest >> + * LLC - case 3 in order_tasks_by_llc(). This violates >> + * the goal of migrate_llc_task. However, we should >> + * stop detaching only if some tasks have been detached >> + * and the imbalance has been mitigated. >> + * >> + * 2. Don't detach more tasks if the remaining tasks want >> + * to stay. We know the remaining tasks all prefer the >> + * current LLC, because after order_tasks_by_llc(), the >> + * tasks that prefer the current LLC are the least favored >> + * candidates to be migrated out. >> + */ >> + if (env->migration_type == migrate_llc_task && >> + detached && llc_id(env->dst_cpu) != p->preferred_llc) >> + return true; >> + >> + if (llc_id(env->src_cpu) == p->preferred_llc) >> + return true; >> + >> + return false; >> +} > > Also, I think we have a problem with nr_balance_failed, cache_nice_tries > is 1 for SHARE_LLC; this means for failed=0 we ignore: > > - ineligible tasks > - llc fail > - node-degrading / hot > > and then the very next round, we do all of them at once, without much > grading. > Do you mean we can set different thresholds for the different scenarios you mentioned above, so as to avoid migrating tasks at the same time in detach_tasks()? For example, ineligible tasks check: if (env->sd->nr_balance_failed > env->sd->cache_nice_tries) can_migrate; llc fail check: if (env->sd->nr_balance_failed > env->sd->cache_nice_tries + 1) can_migrate; node-degrading/hot check: if (env->sd->nr_balance_failed > env->sd->cache_nice_tries + 2) can_migrate; >> @@ -10205,6 +10255,15 @@ static int detach_tasks(struct lb_env *env) >> >> p = list_last_entry(tasks, struct task_struct, se.group_node); >> >> + /* >> + * Check if detaching current src_rq should be stopped, because >> + * doing so would break cache aware load balance. If we stop >> + * here, the env->flags has LBF_ALL_PINNED, which would cause >> + * the load balance to pull from another busy runqueue. > > Uhh, can_migrate_task() will clear that ALL_PINNED thing if we've found > at least one task before getting here. > One problem is that, LBF_ALL_PINNED was cleared before migrate_degrades_locality()/can_migrate_llc_task() in detach_tasks(). I suppose we want to keep LBF_ALL_PINNED() if can_migrate_llc_task(break llc locality) failed. >> + */ >> + if (stop_migrate_src_rq(p, env, detached)) >> + break; > > > Perhaps split cfs_tasks into multiple lists from the get-go? That avoids > this sorting. Will check with Tim on this. thanks, Chenyu