From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.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 1FB6B38D68F for ; Fri, 10 Apr 2026 07:29:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.9 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775806182; cv=fail; b=bXGlGFtZZUC+VF0+Wpq6Nsk1ise7RYSSz0NqVfn96sFS0sD637QcHBMBE0Isd3OpJj9MSriajVHjlLKOYATlGg1nY4Nj/GRl1pEZnIZs01vVGVOoZUns9/7j598tfM4YgF5CDzSn62ACWDqcrpgU0h+u06mQCAqZOW/bcHM4Eio= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775806182; c=relaxed/simple; bh=Ka4uKSR2PgHfBqr4BAIDbpdDHrk1TXDwTaMMoatnsZk=; h=Message-ID:Date:Subject:To:CC:References:From:In-Reply-To: Content-Type:MIME-Version; b=qUSS4dFh5V+QpYtnZPmZD5iQ+OOwmE9EYJ8bq3tbVJ86clkv8d5TwK3hSBN7WR4uVngjJrX8zHorfZi+EiRxJa7st8i8wazzqNA9jgYxOKtkcyGutrdICihp4gzBDJkxvPZWhZEQdO+q4wPesKtzveVsZv7aLPq4i6F9Cj22uXs= 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=RH+LGvHw; arc=fail smtp.client-ip=198.175.65.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="RH+LGvHw" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1775806180; x=1807342180; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=Ka4uKSR2PgHfBqr4BAIDbpdDHrk1TXDwTaMMoatnsZk=; b=RH+LGvHwieOIvuEPT3pfvIh9cJvEJ49+jYtQZYekgAXShjXXGITNBe2+ mq33heeeVWoKnO9csnYlvbH+dYEjdBV0ILjtC6rJG1ZdA9awi14vFz9Fh T4KyBA2z4d7gUNjPlDgVHOcDVp3C6Xgal6JEK77mAQHTIq041MJvbN2BY Lgj9tAHsSGMHnvY+JQdgg5g025xZhgchaYPU7Vsl2Z/rxwyfaMuPJIjkU 5AGRdGoWfjjgYfOPr9ld3FmgZnuBwOeYUNOeDK60hhvI9H+YPBQW/pqJs AvLut9rNZ5udg5Rwmo+yNCzm6VseE6nP9G0T7eoyZtxpZdOPEf1fYs9Cp Q==; X-CSE-ConnectionGUID: i0c1LLV3Qoy9dSfk1HGHNw== X-CSE-MsgGUID: RL7UdkziTb281PKk+8E9Yg== X-IronPort-AV: E=McAfee;i="6800,10657,11754"; a="99454173" X-IronPort-AV: E=Sophos;i="6.23,171,1770624000"; d="scan'208";a="99454173" Received: from fmviesa003.fm.intel.com ([10.60.135.143]) by orvoesa101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Apr 2026 00:29:39 -0700 X-CSE-ConnectionGUID: 8fMmAwm8RuW+9ibkZjDiQQ== X-CSE-MsgGUID: ftI6Awt6T1+RHaUUeODmhg== X-ExtLoop1: 1 Received: from orsmsx903.amr.corp.intel.com ([10.22.229.25]) by fmviesa003.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Apr 2026 00:29:38 -0700 Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) 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; Fri, 10 Apr 2026 00:29:37 -0700 Received: from ORSEDG902.ED.cps.intel.com (10.7.248.12) 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 via Frontend Transport; Fri, 10 Apr 2026 00:29:37 -0700 Received: from PH8PR06CU001.outbound.protection.outlook.com (40.107.209.8) by edgegateway.intel.com (134.134.137.112) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Fri, 10 Apr 2026 00:29:35 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=V8KXI8ktbQPHUBFwhiRaT12Vj0HhJDMp7OGUk7FswNw5C+bDOsJ+MhzWn/IHByJsKZONDUqO0v60GQG8zHYO5/XZc7bu3WIe5krQIeZIJDoXvlVautJLitIybEFDcdo23vL/y0XQzOyz4cOsuPgkkCP/E2XfgKkshiBoDjWs/BRl6XW3aix/BveTS4GqGrFSg4GNmMbeWjZEFatBNISCidZxJkxcrqGyX0vdSmlsyf0z2DynMgm+ZOHX8BiI2kBJkgej4RzWbqpZnL42KLBcuYiyG4iV1HiZ1XQjfxIQDayXy2hEMuOs0jqcyiggq42nK5JL0mAm3ckrJNYXFr9tDw== 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=KD6/v72BujRpKIz1UOt1QKGalBuBnUSKvESc/7e79y4=; b=MrNDus5WuyFvJNN1qNy8YcXBT9JgsY0gmc1jMjWh7C9lIZN2WetAC1dwV68yKNMfU9ozYVwZhFquACDuM8IPSMfB7is7DISIyIbZU2a0jhrL7EzRUP1FcihmUffyeYbKXXEXakE82/oAw36hy7nW+PvNTD838qofdOUm+QHS+80JVKDKNBoqwbL63JxyJd6hdRvHCJZoeBDkpE3pzCYebxp22GWgBK50NiLeNk01bfAmLWuwMQUm5hkcYfE3ZwfE2XvjHGkmuDjcbMqkAiiZJG8i5wSM6UrIk2iW+ClrPJvhYD/6Q3Z5dpzYfHN0zu7im0Ny1HBPIDk0yvkUBEvY1Q== 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 IA4PR11MB9442.namprd11.prod.outlook.com (2603:10b6:208:55f::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.15; Fri, 10 Apr 2026 07:29:33 +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.9769.041; Fri, 10 Apr 2026 07:29:32 +0000 Message-ID: Date: Fri, 10 Apr 2026 15:29:20 +0800 User-Agent: Mozilla Thunderbird Subject: Re: [Patch v4 02/22] sched/cache: Limit the scan number of CPUs when calculating task occupancy To: Luo Gengkun CC: Peter Zijlstra , Tim Chen , K Prateek Nayak , "Ingo Molnar" , 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 , Adam Li , Aaron Lu , Tim Chen , Josh Don , Gavin Guo , Qais Yousef , Libo Chen , References: <57ed5fcec9b242803fe4ea2ce6e7f3de6a6efc6b.1775065312.git.tim.c.chen@linux.intel.com> Content-Language: en-US From: "Chen, Yu C" In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: TPYP295CA0033.TWNP295.PROD.OUTLOOK.COM (2603:1096:7d0:7::17) 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_|IA4PR11MB9442:EE_ X-MS-Office365-Filtering-Correlation-Id: 8966f2b7-e94d-40a2-30c3-08de96d2e87e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|376014|1800799024|18002099003|22082099003|56012099003; X-Microsoft-Antispam-Message-Info: yvrTOczz7t32Wws4rsMWMUjaNv1ovE/TzFEtH4XcLC5ZCFJo5c1UeAD7lD12dFENIbe3tQ6O9jrvFz+qckLLN2MdtVV5qh81mIM/jyy/NY7ScgXi6GCCTMYSY07PX5/cxr0WUJI+8+hjdwbjDFnL6xAkFoY3y8W4BZyuOtMm6xdzrTH0SH9I8dX8A4gUvbsgKvY4zGZi234F2h7VDxkpVQC2DeB6UgO3a1XTrlZxzI6TeMW1yWwCaQ9F4mIuIWi+kkpYthSb6aqHT5ESp7npnF4pAQgr8uE1aWn0IjXsOMvfWuItn4cjMbKl8m7jKDEVmfB5pjbSL3nwuUW7SW8cnOjOA0VNNvfk1zGp32byMchIpEN+I7sTkgWtmvM+8myb9S0U8MY0s9RFK0MFZiYaextT7Hk0KVaKpecKzo86QbVcrHvPA6WJQKotEHbX2s+zXV2NL72S3oiKOUs/5EUwvGtbhJVGYtSMi5ATzNUDl9/YFOGHLhYFOm3QRPUrRFc2soeFnMJl5+9aOgWhwdp8nzd7pShfK5nq0TNmkPF5d76ELzG+mF5exiFxsbXxmocAYWYJW15Hoj668nLIhKAm53NcSMpHBJ7HzPmcotjImA9sVG2OIzwx+GHeOyfWSsNc3tNvtEXc7NKgCNWpwxs8DZv++ohJNAyEL6Hhtc+nmXXH2uTodNCnV/nTdu1trOKViWq8TW33xXgFIkoHDm/hf9ZtgxCq7U/qM+VSYyS26pc= 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)(7416014)(376014)(1800799024)(18002099003)(22082099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?alpzMy84QUJjbXVaSXNKa1V3eHFoSDdXL0hNbXNKYjkrdVVrVzZadzd5dzVs?= =?utf-8?B?UHBpcnhySGNwV25NSTU4Z05tY2MzdTJ1ZTl5V3U5MWZVKzhxL1VMLzBhMzhE?= =?utf-8?B?ai82VkloRGtKblByV2c3cVhSVm5QOUxTekNBRmhIMFAzRGx2Z0I4ekxsV2V0?= =?utf-8?B?WVVldFMvME8zMGtWT1U1Vzljdm5waEJ0WDVVemZHM3JoT2FZZ01sNFlyZUtn?= =?utf-8?B?ZllxandRQW8ybnBMWCtxWGp6NzlzSVRiekk1cmkwMUxxOWJRRDg2WWFyWmZJ?= =?utf-8?B?aHYzbEZ0QktuSXMxQWNwN0JibXMzdmhRaDNsTFh4ZHozM2FIVHZ2WVowRXJS?= =?utf-8?B?RFpHZGpIT3N5SE44bFBHcWNwMWNtUlZ6dWhLNzNrdjZOTFoxMlkzYmlwSFBQ?= =?utf-8?B?ZkR2L0dTVTJOUEF4WlB2Vnc3OTBVbzRHdE5Qa3hpR254eERzdkgwV3lVNVdv?= =?utf-8?B?QURVZVBMakdVUW83Z1R0VXBuM1gvNWRMZGV3S2o2VTVuT0U5SW0vOUtVNzZH?= =?utf-8?B?SWpUMktNTnhETGFuL1dENXM4QlJ2bXNLa3E2VEg5a2dkMzJMbXpFRlplS2E2?= =?utf-8?B?ZWxxbWduZUUrejJvK2xreFBaazRjRnlTTWI0VXpuOXhVcmZCS1hGeVhob25U?= =?utf-8?B?b04ySVZId1RoSjBzeVg5dTZYSEU0ZXhEKzF4NUFHLzNqQWNzVnRTTWZYN1Zm?= =?utf-8?B?RkVBbzh5WXUrQlVSN3JSU3FoTnFrMnI1cTJQams5VFNiZHE1MWFIS2d4ZHFC?= =?utf-8?B?SCtpQjQ4T3B1eFZJWHphdUFQb3RBVE5vN0JIVStCKzhyOXRGbmJEQk4yYkRv?= =?utf-8?B?ODBCZkkyWDBoVGhRNFNMNlVhRW51QkpaQWVyZzF5VEpYZTFIRU1vMlVHRW1I?= =?utf-8?B?NFRIaytMcjdGZkdUT0U2ckNwZ2ttSmpYZ1d4M1VUeGdORVJmZVVjSjlnWVVE?= =?utf-8?B?emZ6K3VmeGlJdFY5TG5ERlJhRWZ0WS9OMTlKbGx5V0tnamtaVm1mQnRpcnBL?= =?utf-8?B?d2dndlRieTgxQUJ4L2ZEc2NOWmdLSkVZUTdjTEVDS04rOFhIbUtsRFJwaFBr?= =?utf-8?B?SGxTRXFOV1lMZ2gwYWxZdUZhOVIzUndzUlpXSmF0eGFvNUducEFLWGlCWkww?= =?utf-8?B?MEkrZE5SK1czZW1iOTI1czIvNXhQQWEraU9HL24wUVhCTjJBRHZoL2lnWndj?= =?utf-8?B?TG92N01kMEEwQTVKd21qM0p5WFRDdExncldNTW51VnFIVkc1KzZWRzV4NnMy?= =?utf-8?B?b1AwWGNnV1RsMEw3TmhXRGM0TTVJeEZLUTFmWXZxQ0EyUzRPcFg2TS9CbzFs?= =?utf-8?B?WkZ1cXNNZ0o5MlRlRkdKbVRJajdMalV0bW9Hckd0aW8wR3hHVTBpY1dzWVFD?= =?utf-8?B?NjVjQVkrUzh2NHVuc2w0WklmeTRDZlJidEUzOUcrTU5XdFY2QXNNQXJjd3Ro?= =?utf-8?B?SUlxZmdTV0p5MjVLZjVnSHJKbnlWYzI2SitkQVdtTGNBK0drVFhVVGZzSGdi?= =?utf-8?B?ZWkzOWlvcVZONjdkOGdLSUl4bktDWWVSQXdrbWFhZWdUSVltRU1YU1JrMXdP?= =?utf-8?B?SHlwaStsYVB6VXRpZW5Sem5Tbmdld0pyWTJkRExGNEZGNGdXR095Y00wM1l6?= =?utf-8?B?UE1mTFdkRzBnL1VDdzc2NEtuMHhjWGFFc1JKUElpNm5Vc2lidGNhVTMzbDZh?= =?utf-8?B?UnhCOTg1ODU1NGdsaGJGeHp6TTJ5MnpVL1JrcFhCenppRzlQYnJ6TFpGdUlK?= =?utf-8?B?V3hSRDgwUzFMZ1ROalB6anE4MzNUV25sZFRqVy8xTm5ta0d3dkZwakRraGxV?= =?utf-8?B?RHlnRGkyTzVjNkczYldUYlVXZi9aQ3drVGRqTmt3Q0c5KzRpTUdFdVdPYTFh?= =?utf-8?B?cCs2MzdhZWt4bWU0WThwQW1yV1NTZ053S1FpKzVOS2s4N3k1WkZSZDRVZ2g1?= =?utf-8?B?SVBxaHJ0SjJOaXRpb05tR1V5dzhHNlRrZDFRUFAxcmxRRXViSUhKQnFiTm54?= =?utf-8?B?a1RRSWJiMkJSaFhIbEx3aENLandmSDZvZlRORmxUUVBSaTNudTBhU25WMHFw?= =?utf-8?B?OFFodzZlWW82K0E4Y1ZYZ05XemJ3V2w1bVZ3Y3kvS0FPQkc2dThFeVl1L2p3?= =?utf-8?B?U3h0TkNYdHRQeUlsMGFtU2pjc3JhL3Z6STJSWVVXVDJQNmpDeG1JMk8zYVN5?= =?utf-8?B?enBqTmZYR3hVWnE2ZE5XcW1ycVdiWENLS1drQWpuQytJOSt3cVdKNExGeXpi?= =?utf-8?B?alhwS29paWZ3Nk50cFJ5S2JwOEpISmE1Qzk3V3BpMDNrSXJyN0pZNnA4U0FZ?= =?utf-8?B?NjQ0a2hua0d1T0IwSTNucy9LaUpDdUd6V3pxVGVid0ZXRmZUS1FUUT09?= X-Exchange-RoutingPolicyChecked: e2C6LT+agjWPz+q4u2jLoxAXGpVCT/4D0XMIpzIN5S4lYhnUFk9q5nGl9epnh4rpoTIoPREbz+YzAiTAQqJ6JDBimZQK2we8j3/o7tNHhyvN727QWio6q8PvCdCEdSFV+79yU50XwgMeExF23HYDNc66byTn6HVg7FvEDPPCK62TViEqjOPJVocHzqPRYhmXkhyN90SFRz9tJVKAto/uJAFnAyc7/7TsSX952xCIYtY2s3Wj/b+IGgzBxJilQCUZscH8QUOpHGhNcGfnl0S5GF6dmgg0TK016lh2UNzEa9Gkz2Hh53UJC/7pBZ8VDm76/oVnsOqJFjZnbbkBAqE7Fw== X-MS-Exchange-CrossTenant-Network-Message-Id: 8966f2b7-e94d-40a2-30c3-08de96d2e87e X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB6020.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2026 07:29:32.3919 (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: aThEqeWqLucGS676lZit+PukQdFF+SDdFN8Y8SB7Dzvv2MARY6IIas09qdKAsQ9M0zY7Dfd/51DB0pU3ctRs1Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA4PR11MB9442 X-OriginatorOrg: intel.com Hi Gengkun, On 4/9/2026 9:17 PM, Luo Gengkun wrote: > > > On 2026/4/2 5:52, Tim Chen wrote: >> From: Chen Yu [ ... ] > > To address the issue of scanning overhead, there is a more targeted > approach: only scanning the CPUs actually accessed by the process, and > evicting these CPUs when they remain unaccessed for a specific period of > time. > Thanks for the patch. This approach looks quite sensible to me, and [ ... ] > >         /* >          * The update to mm->sc_stat should not be reordered > @@ -1582,6 +1584,7 @@ void account_mm_sched(struct rq *rq, struct > task_struct *p, s64 delta_exec) >                 pcpu_sched->runtime += delta_exec; >                 rq->cpu_runtime += delta_exec; >                 epoch = rq->cpu_epoch; > +               cpumask_set_cpu(cpu_of(rq), &mm->sc_stat.visited_cpus); I would refer a check before writing to avoid c2c overhead: if (!cpumask_test_cpu(cpu_of(rq), &mm->sc_stat.visited_cpus)) cpumask_set_cpu(cpu_of(rq), &mm->sc_stat.visited_cpus); >         } > > >         /* > @@ -1724,7 +1727,10 @@ static void task_cache_work(struct callback_head > *work) >                 return; > > >         scoped_guard (cpus_read_lock) { > -               get_scan_cpumasks(cpus, p); > +               if (unlikely(llc_epoch_visited_timeout == 0)) > +                       get_scan_cpumasks(cpus, p); > +               else > +                       cpumask_and(cpus, cpu_online_mask, &mm- > >sc_stat.visited_cpus); > I believe this patch will bring significant benefits(reduce jitter) whenthe thread count is low, since it skips many CPUs. The only concern is the frequency of reading and writing the "global" mm->sc_stat.visited_cpus from multiple threads. However, if Peter's sbm can be leveraged in the future, this overhead should be further reduced. Anyway, let me run tests on our machines to seethe results. Much appreciated! thanks, Chenyu