From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9]) (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 2A9CE28469F for ; Tue, 16 Dec 2025 07:40:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=192.198.163.9 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765870828; cv=fail; b=hwFMHIKbKgb0dHizVk2Ch3nTPsQtnqdXS6nR0LsLl/OQAEp/Nhgpxwva2bL4zD2bclhO70M+g8pVLyZc4lc7dCAMmXkyqXUde//2+ES1TzYyX43mTqgyW++05WszHSYOCQtXx860dL4yDpk0/TWP/Db79KJSgnpH2ERaCuvn3Yg= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765870828; c=relaxed/simple; bh=0Kl2Dqq8JsRXpFAl21Q4F1lW8zJn3ZDxJhBCIfvCQLI=; h=Message-ID:Date:Subject:To:CC:References:From:In-Reply-To: Content-Type:MIME-Version; b=JRwl5W1nIA6dEVrb3e+7lykcaeuMhW2/ELfEEdCHW+mINq4aN/FG8ehlsg+Cgq9Gpu0kbDfmlEEn98aIIO02F0zErx/D9JHPsKH1lhqE+xpDWjz5rwLdFl/oIsT/ZvZQ2rp2Je/xGkhjlw7JfwH438a4yTPHEG0sY9m/BqHBPNY= 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=jiEaC99Q; arc=fail smtp.client-ip=192.198.163.9 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="jiEaC99Q" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1765870825; x=1797406825; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=0Kl2Dqq8JsRXpFAl21Q4F1lW8zJn3ZDxJhBCIfvCQLI=; b=jiEaC99Qs4MWgdwCfILVDHT2Xyl85F8ybMFXPVoGk0EC/YNAhBWG/7g1 u3tMQRkwuYG5OoXQxQvk8f81Z4E2//vcduAKja/Jr3pu/Ywhs25vDc5gj XsUWF4N8cOPKppave+/aLXbiNDzqPZ5GmqgrI8yopRJCjRJC0/yRuN7r9 K3BffgNJ92/CEOipVlwIra7rMNO0WQLXFwh8ngXdY7E5FzWuDDf+H4+EB H7vJdkxn/ybJLV12y5goVlgn+dqHT8/rW7/oBRbvZvA0m9aCNd63oDnUk WPzuTgwb0iWv8x4PVsrto1ypCH/8C0d/9Qj55id0iiKJZSL6Vt2j8vhHj A==; X-CSE-ConnectionGUID: szQDwm6ySD+6YlJcWEKjeA== X-CSE-MsgGUID: TnW2Ov80RwShcSo88tYORA== X-IronPort-AV: E=McAfee;i="6800,10657,11643"; a="78493380" X-IronPort-AV: E=Sophos;i="6.21,152,1763452800"; d="scan'208";a="78493380" Received: from orviesa009.jf.intel.com ([10.64.159.149]) by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Dec 2025 23:40:24 -0800 X-CSE-ConnectionGUID: 96bbKJIwTNi6/wMDXi2mkQ== X-CSE-MsgGUID: 2o2HXYAvTAmeQ7ABhCQW/g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.21,152,1763452800"; d="scan'208";a="197699569" Received: from fmsmsx903.amr.corp.intel.com ([10.18.126.92]) by orviesa009.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Dec 2025 23:40:23 -0800 Received: from FMSMSX902.amr.corp.intel.com (10.18.126.91) by fmsmsx903.amr.corp.intel.com (10.18.126.92) 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:40:23 -0800 Received: from fmsedg902.ED.cps.intel.com (10.1.192.144) by FMSMSX902.amr.corp.intel.com (10.18.126.91) 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:40:23 -0800 Received: from DM1PR04CU001.outbound.protection.outlook.com (52.101.61.2) by edgegateway.intel.com (192.55.55.82) 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:40:16 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ivhaAs6FMBgiKiewTqbamwcyuLOLLn/QeN2BZcvAvazkGa1jSLN5jc7QpGFFZlenO/zX94haw5kMLemSeZoyOlk8vCY7KG2fSJfKL4aOFKRVeYoP87VBwDNsONLgOuenXiY10ESh8khF2PtXJnGgUZg2LR2YHuuldmtxkx8/vSl1aG8DKgkig5veql0vlwMa8PkCNVQPFlHAeG2epJSL3DfoDBTr7fEgA4smQWEAt1a9CF3VRSbcmoBaybJhvq3zQHDwmbQ74sgqbXMQrQsIYQANb5n62ez0Wa44HYZS18kEDWh2jnHGEZqgyLISX8nrUdPhKiVDfOIs+RSz5XOsQw== 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=1JxpIXVLSSOT5ebDhMXzUcZCDIGJJvbrPEZwkB8OCnk=; b=hAuePsjRLUDb3gmDDX38tLKV2vppOPIBaMUyw3F/GAB5mOhnQ36ktczUJRk1WYjpEXog2Sdvm9mxJ1/ZRiUWGR0GvrPORkEbQYIr4rD9WVkq515PzHdnQ1fr6hDLPSE9mH0BxWFLdeXihMwBrdW+ZKjhXW3hjKb/MrkCuSlzsUFw6yA0lIgtBbm09NfoQWMOo43Y/yhLK4KaVU9hfEBUhEzX2XEpYspDxYwueJotZwqx7q6I/YLzCqMkmGVsCk3RZefv6gMFSCKp7ZktkgSzfPd4wEef5gcPolJCokunOwRoq/LWDBz0fEOe4I95yF0ptO38mg8UkBMFX4GcnPETSg== 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 DM4PR11MB6118.namprd11.prod.outlook.com (2603:10b6:8:b2::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9412.13; Tue, 16 Dec 2025 07:40:14 +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:40:14 +0000 Message-ID: <60eb87ce-1a1b-4eff-b179-25736e3c8e60@intel.com> Date: Tue, 16 Dec 2025 15:40:00 +0800 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 17/23] sched/cache: Record the number of active threads per process for cache-aware scheduling 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: <20251210165119.GY3707891@noisy.programming.kicks-ass.net> Content-Language: en-US From: "Chen, Yu C" In-Reply-To: <20251210165119.GY3707891@noisy.programming.kicks-ass.net> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: KL1PR02CA0034.apcprd02.prod.outlook.com (2603:1096:820:d::21) 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_|DM4PR11MB6118:EE_ X-MS-Office365-Filtering-Correlation-Id: 9040ba2f-f499-45e5-a313-08de3c7659ac X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024|7416014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?bUE4OXJOcmlvZ2NKTFAxMDdqUU50b05yaTVmU1hpUnE3MC9zNm1EcUdUZFhW?= =?utf-8?B?d25iSkRQSkxvRk5xbW0rRFZ6UEEwTE4wK3gxUUl4YmNDNE1PVVVOYzRNUmFG?= =?utf-8?B?QnQyVWlJZ2hGS251eHBMM0pmcFI2cFkwWmF6NkpUbWd2akVrcnlia0tvYWF2?= =?utf-8?B?M2RBTGdocGVpaWRiZDF4cWx5d0tIVWJWOXRsMEViYmRJbkdVOVY5K0YwRVVu?= =?utf-8?B?UnpOYTVpbC83MVUvZWtBVUk2MTBlQzFJT3gzR1VDaVRiZWFWb09Qd0NsRmRG?= =?utf-8?B?TlpHVWt4RitZcHdrT3VkcVlhTVpmNld6NndoWHphQ0g4NXdZMC80dHh4OHdk?= =?utf-8?B?bEN4VTJ1bDNnWmhpZGJhK0xNZjN1eXlCRWwxOWNsRVUxV2Zjd2xLZ1VsSVUv?= =?utf-8?B?czBLaHpnZjBXTU9FZ09VQlFLNEJ6Z0V2UTJGeFAxcklPZjBmYWo4YUxYSWFx?= =?utf-8?B?OFp4bXdnV20rdHRWTHRrOHJPMlRZOW55UEV1WFZQTVZPdWF0a3NqZk51Z3Jt?= =?utf-8?B?Vm85U1hmSDk2RFhlQzgzYVhraWR3V2RRaHUzanYzYVpiZENTb3RyaDJkQTI1?= =?utf-8?B?dUl2aDh3UVFSY2ZxZW5RSXl6aVpLaVRwdGlkaVRleWtZNmtqWHFJcjl4TlhP?= =?utf-8?B?WW1IalJVNE9oU1dPYUtsaUltSVZIN2xyei92aHp1T0I1aE1tdW1acnNjN1ND?= =?utf-8?B?NlVGaTFtQVdyeTNUTDVOQmphWDY2V0VGbUJiQW53bklKckNjOHRGb2hJa3p2?= =?utf-8?B?ZHUxOG52VEJvTjVhNFgxbzUyaUo4Qlpha2JpbjBIY1gydW95S3hRdXg0U29t?= =?utf-8?B?dlBjelR2VkRYVm9XVTlsdmNsYmZkTHh2VXYzVU9zbmtEdDAvWitmaHV0RFVM?= =?utf-8?B?YWJKWWsvdXR4dTFlN1lqbFhUWnpBMi8wcDlCU0Q5cHNIV3hINWxIRGRxcWpT?= =?utf-8?B?TEN2UDkxVXBpZkZJKzhVZjNvbHhSSXMyUHNkMllKM3QxcHZuZGpoeDF6Njhr?= =?utf-8?B?ay9zcTRxZFh6cE5iZzNNSnNpUmFicHM1a09lYXdVY0dPbExWSm14TmJuTVdX?= =?utf-8?B?SldNRlVqSS9sNHJabll5Si9mVmpyZ1BnMHlmZnFmU2NqTnBTbjh6YkVNTlRK?= =?utf-8?B?Qk5hbUdZOUY5R3M1bVdNNkhTQWVFeStXcGc1eEM3d0h6SXN6RFZXNjNJYVhs?= =?utf-8?B?dTBDZDArTWxMTUNOTUlSRGwxS2FRQmx5bXY3SzBTUlBCSHVoQmZSVm52U1Q1?= =?utf-8?B?QldkQTdhNVpBbXgrM1l0dHROUzlkdkRralZoYWw4VTVTb09qaE5YZmczOWs0?= =?utf-8?B?NWh5eFFCUjV6VEh5eXg5N1NPN1lqWHRHYlE5b0FpeTZNR0pPeWJsVlpnY0V5?= =?utf-8?B?ODI1dUlOaURydlpFbTFZcHFBTWRNOFFaM3RnWDFQdnVDVjk2K0hhZUkvNmtS?= =?utf-8?B?TGdLcWl5Q3BSMktUenNUaUxZZXpoSVpzODl3S3gycDFTZFl6V2kwbTI0a3lJ?= =?utf-8?B?VGhLUGZFMVYraHMrRUxiQUE0UWZSeDJJMDhhWEplLzc3MU1VVVZhcnFPaXVH?= =?utf-8?B?Sm5HSTJya3JOZ1lFZWp0TVVFSGY3cm1FQk9YOG1BNWowVnBCWTBmUFkyTXcx?= =?utf-8?B?MDRqS0srWmNwL3l6N3NScXQwUUViY2VzMHRHVW1kcTd5bmx4dzVGWS9KMDU4?= =?utf-8?B?c1pGK0phV3ZKRHJKelhoanZFVlV4UFhqTkZnZWZycGNuUndraDg1YmlJSU5Y?= =?utf-8?B?VEl6ZGluRlJoODNKMUlGYkRpOGFIL2Y4dFh4RlJ4dEUzUlJsT3dYRDlNYVVi?= =?utf-8?B?UEF3ZEdOVWp1YWdRRURNQzZ3YnBMTTFxd1dNd3pNd0lNZGk3SmFuMksvYldt?= =?utf-8?B?cjVkNk52NitTTzZQUlJrUzZpaVhQUG4zL1NPbElINWJ0cWRGSFo2K1RqOG4r?= =?utf-8?Q?dNU8saK8BJ6mTdqTVcyUVXmcynzjgoUf?= 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)(366016)(376014)(1800799024)(7416014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VXB1L3V6aUdZZGNSZmp4UHhkV2dBUjh2UDhwaU9UdmpXS243M0laMlNocENm?= =?utf-8?B?enN5VllidXNEVTgwY2VMODNxYTd2c2ZOdjIwbmNKNkQvRUppeHcxVTNuNkZ6?= =?utf-8?B?Zis2RE5MVXlDZGNSUjFTMDJwZUx2dnBmR2xWaWRKcXpXdlAwTXlzenJYWnJn?= =?utf-8?B?SWZkRDNIVGhhenBrNXNiQUxENVdEcHFINmQwU2NtbGtmT1FzNHA2QU9paFpi?= =?utf-8?B?aFRZZ3V0a0NhSmprb3dIeHkyNzRvY3JHcGJEbk9JY1dtdlFSeGNsTE5FM3hw?= =?utf-8?B?akJaWG5acHUxUlRmK1ViQndiOFFWUURabGhTaG01VDJ1NW9UcFUwN2U0alVl?= =?utf-8?B?MGtzay81Z3R4TWNEcnhtMGVUVGRBci9JRHo0dUtJQ0ZleTI2b01yS1hyc1ND?= =?utf-8?B?NGVvRkpXTHlkakF2ZXJ3OXhpS3lNR3ZDRHNhR0Zib01NSGt5RkNad1lXVlJQ?= =?utf-8?B?OWdVbXM0Y3ZjWVhhVmlDWFFlckFWL2RlZi9LWFl2ZHZFaVpXWjZYb2VaZ3dT?= =?utf-8?B?bDN6ZFNYQ0tVQ3U0eTQ1TXFpK25iVVhVRGZMVm1DYUdOVTNaUlJ0TFR3OXpI?= =?utf-8?B?bE50WUJrMWhCNktta0g5SmhySUp0ZHZTUEQ3enhmQVpESmNsUkp2R1JTNVo5?= =?utf-8?B?eldGa1NnTURmb1lJS0dpSXNoS1VJbWdEcnpBYTQxdFpxWUJ6b2QwREdCbUk3?= =?utf-8?B?U0NXR0xBbUdTbGZMN0gyNkRtT3dkTXJQTUdicEZYZllsd0tqekV6ay9WMTV6?= =?utf-8?B?M3Y1SThOQzZQOGJHeXU1QVFMSHMvbTJNUGFWakxmY3hpaEJLZE5za0pWWlFu?= =?utf-8?B?SzNVQ25ISXFUa1FuOUJIUW1DQStQNUErMTdaTWpHd1M5MG9WOU5rRlNHMW82?= =?utf-8?B?NG9jZUZSTXdoTVN1M1hBdWtSSWozSVVHUkxmSjloTXdpT29KRFhnT2dyOEpz?= =?utf-8?B?SVJVVUtuaENKdmJzRmxpUlZVdXZudVJVbnFVMmlaZ0d0dkNXUGdrems0N2lN?= =?utf-8?B?UU5ZcHVjNGJWTTkraGlZUENGWE9EdmplUHVYbW1CWHlPVTgzK3hpZVBwK2JC?= =?utf-8?B?WGUvTENaZ0d3SlVqcWZrbSsvUWhMTlhheUZ4N3NGbXhSVnFnK1FvN1p3T2Mx?= =?utf-8?B?aENzVlZWek9EZ1ZIYjA4U3ZlWFRXTmRFS3pBeUFkeTNHK1VmWWxzMFhxNkVK?= =?utf-8?B?UzdWQUpIYTRna3VhaitVc3pzZldVV2UyMDJFY0hlUlc2TW5GWkFWRnlVSTNI?= =?utf-8?B?aS8reFEzdUdkU3dNcGI2QmRZTGhjdWRObE1PejVqRlhjTGJZR2VXeG9XR3pm?= =?utf-8?B?UmFYRjVFeVNYQVBMM2RLZVh4ZENQVGNGZktmaGxyZ1h0ZmllZFE1U2xvVDJ6?= =?utf-8?B?WHNxZ0ZSN2VIN0w5WFV1OXVVVDh5NHdQbGwzdTZiSnJURWRWdTZYRHg4cGZa?= =?utf-8?B?WnNpZ2VsZ09la2h0cDZLamFlN2RCbERDTzYyRUY0TEhqaTRCbUVialNEcytm?= =?utf-8?B?bHVOZXZ6S3N5QlZVcW9ZSUorcGlhRWpqaGNGNUxiY2RnOEQyMnJvYzliVm43?= =?utf-8?B?a29Lc3RPTUFSUlFuTnZSb0pHQ01lQXpjMzQwMC9lbzlpQWg1aCtsRkNUaVZt?= =?utf-8?B?czRqRTRLaFBZbWIxcXhXdWVzRWJ4NDlOcWZMTUJwblJCd2c3MjIyUEI0S0RD?= =?utf-8?B?dlB2ejQxTU5yNTBGRDk0NzF5SER0TFFhQ2Q1S3hETThZNVVNVklvK3A2TnJv?= =?utf-8?B?NFZxRkpUenFnNVhZcjJJdmkydm9pWUZPRHhNdkZXeGVweXNEbTB1SjJsSzdZ?= =?utf-8?B?Sm1hbGI4RHppQk5oWmhIOVExVzBtZHhyNEhLYkFiWTlob21NUHdwRE1NbjVJ?= =?utf-8?B?MGI5VDVDd1VteGlFcG5kSllwbVRod2NxWDcxL1d1RGsvdlZDbFJOTG5ENDFK?= =?utf-8?B?cGJlSzg0ZDhxSUdqWk5ncTNrUk95ZEtUZXBOdUZZVGM0MElvY0Roc0d4dlhh?= =?utf-8?B?V3FnV2t2SThlVGZMRW5ZVWppNVNxRk1uM1Z5Y2drNFBTS2pRaWNFTWdKaWlp?= =?utf-8?B?dVZYT3lRQlF5d1NjWXVHUzBwTnVUR2pqVEh5aDMwRE5udmhqSmdZQkdiTm5T?= =?utf-8?Q?P7yIfgUTAaV0nWn38egsQWJDV?= X-MS-Exchange-CrossTenant-Network-Message-Id: 9040ba2f-f499-45e5-a313-08de3c7659ac 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:40:14.4527 (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: /7lCQO/CxTQQMD8fOcp6AsFxxsx0LeKXRsPlqyGOcpniSjA3Nx/TT9P6bgHlvKYgqe51lwILl3Z0inljvgzEdw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR11MB6118 X-OriginatorOrg: intel.com On 12/11/2025 12:51 AM, Peter Zijlstra wrote: > On Wed, Dec 03, 2025 at 03:07:36PM -0800, Tim Chen wrote: >> From: Chen Yu >> >> A performance regression was observed by Prateek when running hackbench >> with many threads per process (high fd count). To avoid this, processes >> with a large number of active threads are excluded from cache-aware >> scheduling. >> >> With sched_cache enabled, record the number of active threads in each >> process during the periodic task_cache_work(). While iterating over >> CPUs, if the currently running task belongs to the same process as the >> task that launched task_cache_work(), increment the active thread count. >> >> This number will be used by subsequent patch to inhibit cache aware >> load balance. >> >> Suggested-by: K Prateek Nayak >> Signed-off-by: Chen Yu >> Signed-off-by: Tim Chen >> --- >> >> Notes: >> v1->v2: No change. >> >> include/linux/mm_types.h | 1 + >> kernel/sched/fair.c | 11 +++++++++-- >> 2 files changed, 10 insertions(+), 2 deletions(-) >> >> diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h >> index 1ea16ef90566..04743983de4d 100644 >> --- a/include/linux/mm_types.h >> +++ b/include/linux/mm_types.h >> @@ -1043,6 +1043,7 @@ struct mm_struct { >> raw_spinlock_t mm_sched_lock; >> unsigned long mm_sched_epoch; >> int mm_sched_cpu; >> + u64 nr_running_avg ____cacheline_aligned_in_smp; > > This is unlikely to do what you hope it does, it will place this > variable on a new cacheline, but will not ensure this variable is the > only one in that line. Notably ogtables_bytes (the next field in this > structure) will share the line. > > It might all be less dodgy if you stick these here fields in their own > structure, a little like mm_mm_cid or so. > Got it, will do. >> #endif >> >> #ifdef CONFIG_MMU >> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c >> index 580a967efdac..2f38ad82688f 100644 >> --- a/kernel/sched/fair.c >> +++ b/kernel/sched/fair.c >> @@ -1421,11 +1421,11 @@ static void task_tick_cache(struct rq *rq, struct task_struct *p) >> >> static void __no_profile task_cache_work(struct callback_head *work) >> { >> - struct task_struct *p = current; >> + struct task_struct *p = current, *cur; >> struct mm_struct *mm = p->mm; >> unsigned long m_a_occ = 0; >> unsigned long curr_m_a_occ = 0; >> - int cpu, m_a_cpu = -1; >> + int cpu, m_a_cpu = -1, nr_running = 0; >> cpumask_var_t cpus; >> >> WARN_ON_ONCE(work != &p->cache_work); >> @@ -1458,6 +1458,12 @@ static void __no_profile task_cache_work(struct callback_head *work) >> m_occ = occ; >> m_cpu = i; >> } > > guard(rcu)(); > OK. >> + rcu_read_lock(); >> + cur = rcu_dereference(cpu_rq(i)->curr); >> + if (cur && !(cur->flags & (PF_EXITING | PF_KTHREAD)) && >> + cur->mm == mm) >> + nr_running++; >> + rcu_read_unlock(); >> } >> >> /* >> @@ -1501,6 +1507,7 @@ static void __no_profile task_cache_work(struct callback_head *work) >> mm->mm_sched_cpu = m_a_cpu; >> } >> >> + update_avg(&mm->nr_running_avg, nr_running); >> free_cpumask_var(cpus); >> } > > Its a wee bit weird to introduce nr_running_avg without its user. Makes > it hard to see what's what. OK, will put the user together. thanks, Chenyu