From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.21]) (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 3890F33DEE5 for ; Fri, 17 Jul 2026 08:27:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.21 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784276875; cv=fail; b=gZCLPyJFoVJbJtlEYvRDsK8/+U/GMjbAKlcFX6+9ROmxHqaTVQNfbyTjnaRqlcv99228PrpvM06Lfyvd76ZWUGtCTaSZe37job+WV6BbuRZrTW1scPXPih1+6Qmz3cdJd/THaD2eDMHnuO/e1Nx5Abi/xQhIu4MCO485W3HDiZ8= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784276875; c=relaxed/simple; bh=CyXBe5Kvy+aZ6oRkG10QkFKwj/hFxRZwWnC997K11oA=; h=Message-ID:Date:Subject:To:CC:References:From:In-Reply-To: Content-Type:MIME-Version; b=pkbCDv2jsS6OFHkeRgur9xPkUqExgnHOEJBEEmrNKo6wBkguk9ZqZnfs+l0EKGJo5ctxwvxnd5/3SkHnd675zmcjSPLPTSWCJfnPQv1MHaIfos7DC9DSfJD3WBhd1mazFcyV5REPqaZ3FPXABHlFxo34zQOM/oUNRb//O1Un9Bs= 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=blVNbbvN; arc=fail smtp.client-ip=198.175.65.21 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="blVNbbvN" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1784276874; x=1815812874; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=CyXBe5Kvy+aZ6oRkG10QkFKwj/hFxRZwWnC997K11oA=; b=blVNbbvNMq39k9CCrqoZokDkFnx2Uha2ZxCCmdkon+wIjC89VoY6C2i2 IJToHpfCqhItq/4Zx6C3rLJN0m6Ncp6auMF/x7/DlVVE5WgRNz7rF68lS 7W80ekNz8Wvmo77LOT3lVqQf/+Ri8wuIEOf/XzuZ9K6dpEAUHOPc5mR6A uCYLGvhbIKB1cytbKZQD1I2geMNmkjSJFaMUmxR+LlMvYJ2Oe8fuaC5fa i5DfLGBI+zDlKJQkyoMPCz68J6PHNFJf9PVSWFZgURVlbx21BRf9r0j+I zHHDuCzhaGo5IcJX5L8gunb3uVZlE9+i34obDXam6xlvACJx2D4A/opZm w==; X-CSE-ConnectionGUID: jd2A2V8ORN621KuswUhcoA== X-CSE-MsgGUID: fbgrUQZkQh+8e+MNOP2Hbw== X-IronPort-AV: E=McAfee;i="6800,10657,11848"; a="84801993" X-IronPort-AV: E=Sophos;i="6.25,169,1779174000"; d="scan'208";a="84801993" Received: from orviesa006.jf.intel.com ([10.64.159.146]) by orvoesa113.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2026 01:27:54 -0700 X-CSE-ConnectionGUID: giOc+xjORcuqEmtqh9m05g== X-CSE-MsgGUID: rAZQPTVpT0OAQVyZ1k+Qeg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.25,169,1779174000"; d="scan'208";a="254960246" Received: from orsmsx903.amr.corp.intel.com ([10.22.229.25]) by orviesa006.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2026 01:27:54 -0700 Received: from ORSMSX902.amr.corp.intel.com (10.22.229.24) 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.43; Fri, 17 Jul 2026 01:27:53 -0700 Received: from ORSEDG902.ED.cps.intel.com (10.7.248.12) 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.43 via Frontend Transport; Fri, 17 Jul 2026 01:27:53 -0700 Received: from SA9PR02CU001.outbound.protection.outlook.com (40.93.196.61) 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.43; Fri, 17 Jul 2026 01:27:51 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=uupbM0ZAU96VlufmjsMlvPRUUt4thEgCy76g7peEXOslfE5dk7UuqeuaT21AZQ+n9EVZGuj+osMP2mss+jz7UdhHrnN9QheYv5WTflEFavHWVCj6mSq5iM+IMG9OzxiA7T/VWx+Cj7sV9Ln/CzNupZasvNnGq7dvl1zG4TjbA7f9+FgK0anu8eC620J49gPoSGdUY7iC4j6JgF97qt2ltRcfHZ4Lk0pxop5wuBqZ5i5wp5qxz45N8wkowijc95eUJJMuA7LkET0Zdrk5O3mPjo50J+bneFOL1yi/JVLLsfkDDtpWpFjEumNnSkPmhZPSiN1G+2c3gRSNLlA6LzYCCA== 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=97AM8R5FGjt0pNMLqThLeC6CiRqS1+hs+WEyF3Lws74=; b=OevH46hTm79nahfiDx5kaKMjEs/iDLq2CMfyLTWd2T4oOUj1n1Kx1sO5/8RL8TQn7rvEydrIaShzbndv/WbjKk2E6ekD5QAqTMQ+BGSQNl8DxWtue5YFYuOGtxpd3VNG9Sye4iTWJYTtvp+/WIdn1Ps0WnMGOHCH0/rjNIRdj1Lp+YpfZZ5N0/Ehfg2YjjzJ7v64Kpo/OvFHk0RMLlDnuES5Ad9AJj962pauMwRppAl2huSI6bac1CRzO5f95Qv9gI/r3BKqA7NYvI0pSNJSBec6ZEaFCVKW4CIduehCPpPpQ+ViShQ5t+TaGIFXS4dFmk8fuuiThdoZ+10urJP+wQ== 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 DS7PR11MB7808.namprd11.prod.outlook.com (2603:10b6:8:ee::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.12; Fri, 17 Jul 2026 08:27:49 +0000 Received: from DM4PR11MB6020.namprd11.prod.outlook.com ([fe80::3058:1480:e4ac:5765]) by DM4PR11MB6020.namprd11.prod.outlook.com ([fe80::3058:1480:e4ac:5765%4]) with mapi id 15.21.0223.011; Fri, 17 Jul 2026 08:27:49 +0000 Message-ID: Date: Fri, 17 Jul 2026 16:27:38 +0800 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v6 linux 1/2] sched/cache: Reduce the overhead of task_cache_work by only scan the visisted cpus To: Luo Gengkun CC: , , , , , , , , , , , , "chen.yu@linux.dev" References: <20260717041231.3324851-1-luogengkun2@huawei.com> <20260717041231.3324851-2-luogengkun2@huawei.com> Content-Language: en-US From: "Chen, Yu C" In-Reply-To: <20260717041231.3324851-2-luogengkun2@huawei.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: SI2P153CA0008.APCP153.PROD.OUTLOOK.COM (2603:1096:4:140::19) 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_|DS7PR11MB7808:EE_ X-MS-Office365-Filtering-Correlation-Id: 59301aba-8365-4166-1a86-08dee3dd4944 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|23010399003|7416014|1800799024|366016|11063799006|5023799004|56012099006|10067099003|4143699003|6133799003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: 3XPpobwsoMFt1kgorIP7t+zSFJ4cGKTDHSoRjHNWbsPTrzbMO91QN9uYfRv/bIKR44vGIUu/U2X3VNIF4fDnA3hhI96UE0DQzVjBCvWlnnyhNRyB3AC6tPPW1o63PPwKRZ7gHf/jaGnbC4pJiYjNK/tdZHTAMTehesM+EGzWZFE4PLoLR9H0RM4duYCxFcxRxWFbLNOwzvQp8jaXhGU51zaqIOFDqjQQ82T4q+DDwvuMZvHph3YJ4pMXQfnXBidBOABC9708E8uG/aqj7sv7Kl9I4SxkdQieQvzYVIWmgEQx4rYFr6DZ6COwxgP4rzdSVTN+TIT7HNIGIZqAtPWjIS9ojWpLMGTcklGxTCcKDYUYrgeICw6AWDGlMmNmileE9fWodilpmf7VnmDWpqQ3Jwil4ZblHOaK3W67T33BGtTPhZQWGMJEFD6gbr8h0P+pXdxnTWNE19O8bc1nsIwvwIom0NffZqcHaXV/nyUFxubNdiXoa0UpvnHLUiTVgDTcIMEAnZLXFnzCYlKEQUdrTRY1Sm8hfubeTGlWfrcBnoEn+h8cSp5HE+g7Q0oGjD2X7xWAiGl/RFabN0Kd31KIfs2FwlqijxP0QRrDmg/FhXj9r9ceGrECdBlrvL6ZSC7xWg2HXSltsMm8kB/ERvp6yEYbPQDd3r7F4EZzz+tgLxI= 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)(23010399003)(7416014)(1800799024)(366016)(11063799006)(5023799004)(56012099006)(10067099003)(4143699003)(6133799003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RXhJOFQvTW5rTjAyS2tSd0ZLOGR2Z2tlSURNL0k0M2pVb2tacTRGYUk5eDV2?= =?utf-8?B?d3Y2L2l0RjZBVWRUSzJoK0UyaFV3WUlXSFVyQXJzWGdMZFFjbVBjQjY4Q2V0?= =?utf-8?B?dkk1czBtQU14cjVGYXdSSFJiaW9lL3hHaEdQTys2bDhtdlZOOHBpN0dYK3Za?= =?utf-8?B?UzE1clpHQXVzci8wLzlBbGJ2dURjZ3FjZlV1Mmd2dnA4eTNFOXJ5SEgyZlhN?= =?utf-8?B?STJOVDNqb0U1MFk0OGZEckM4R3lycUREZUpGRTVBaW1qVndhd1J0ejVxNFRm?= =?utf-8?B?dHBrN1QxM1MrZFJsRVp1YzcyQS9UNTcrT1Vwam9lZ0dsRUdGSEFUYmR4S21X?= =?utf-8?B?UGZBL2ZydlcwNlRNZzgyV2c4S0szaHYxR1N6ZzV0TVNBNWNvbDJoblhmb3h1?= =?utf-8?B?TGpoZkl0OEtsZW5yTzBQVUdzVE0wL0VlQWsvbk9lalpwaWFRdnByblpHTlRo?= =?utf-8?B?K3NweXJsb1lhc05pYmhmL2JaUVdkbU5BTFpoUTl5N0ROcDYvM1pKdGh1K1Rw?= =?utf-8?B?c01BZU5nOHR3ejRoamtzN0FBK3FaTEtCTHZWWUpib2VQNlhuUWxlWFhuM3hs?= =?utf-8?B?czF5VFRLSGtYcnhUWUhQTEp2cHhyOUxNcU9xYk1wWFhDc2JTN1ZBTDdXVVVQ?= =?utf-8?B?enAxcGthTVVHeitzRGJGUDJBa0hhbFpobGhYUWJqd2JyTE05bEJ2QzNBbGJ6?= =?utf-8?B?dGMxbnNMVHhNelFYdTRVYkhlVTdGYmIweldwU0pDRXcyVyt0ODBGVENDWmVk?= =?utf-8?B?UjdnV3VXRlRkVE1EKzVJYWJZWTVyeERQMzN1V1d2Zm9NQ0xnU2IxWnJwL2hW?= =?utf-8?B?ZjM1N01LSnppWDhRdDBZS2hidTY3Ni9nc0JaWDdkeHZrOE9Ra0Z5djIzMkd0?= =?utf-8?B?anRVUU15ZEJobXB4SnZHd2I1WU1rNStCU2hPbWJUallrc0g0aW9FL0hkenJp?= =?utf-8?B?M2RmWW16Z1QzVzkxWmFZMnNLWW9qQmZqbTdWckRPMkk5QzQzVkttY1k0VStU?= =?utf-8?B?WlpCOUdONDJYdUR4MUxyMW1INFpPMzFzajdQWTVDa0ZuOVc5L1YxSkRuOWFQ?= =?utf-8?B?RXRYeEprc0J0TlR1SnZKM254aE5xckRmbks1czFjLzdyVFZJK01NK3dSTWRW?= =?utf-8?B?cWQ0TFNGSXpNcnoxZ1JkY2hYVDdVM2ZvT0Y1TTF3M2xZTG9WcDcyZXJ4ZHlz?= =?utf-8?B?UjEvNUdkdWNPS0x0UkxNYjJyQjY0aDRLQ2ZsdTlza0hsODlZdlBPUHdWUlFB?= =?utf-8?B?TXJjWnYzMDRWYmNvT1hzUnZGcnRUY3N0d0d0OHpXN3JqQXZtaEhQZU8wTEM1?= =?utf-8?B?bXQ5d0FXSEZ1ZjhvUVBEV04xOGoxZThSd044WUlwci9RR2lxcmpkQXRPcURt?= =?utf-8?B?K0dSUEl0NFhzYnc3ZWhDRytGMnVNeEp2SE4rZ0JISy9abm5yQ2pUcHAvWU41?= =?utf-8?B?dTNLcGJDV0MxaGFoRVcrZVVlaWJXQU42dXQ5RXIxVHRSQ051WThvUnpNUU5K?= =?utf-8?B?RWovS1lyZ3dqYlA2UStNSG8xcFB1UnFVWjdLVEJmekgyWXl0UmVrWVUyU1BC?= =?utf-8?B?L0ZFcHJiS3l6a05SWGNDUXdqeE5aeFAycStiS3daRkY5QzUyN2JvQXgwR1Rt?= =?utf-8?B?bnA4TUJBT2s2WUFVMFo5eU5KVExVZ0paN0Fpb2lzY0ZNUUxjcUVDNTh2UFZT?= =?utf-8?B?Y0RRTWt3V3gxQTBjdHBKWm8zY2lvOTVwbDVPYkdVaHpqell1ZC93Vkp4UmxO?= =?utf-8?B?QkNRcitXMktJT25EZFhZVmpNMXJRUTFQRkxJWjgrck1FZndNd1hGWXljZ21y?= =?utf-8?B?QUFzYmNiYjdOOWwzaUZFQStCYVhFT3RFWGVHc3JnNU9MQnA1bXNFN0RwSC9I?= =?utf-8?B?VGdJbGFnSDBvMWIyS0hnam8vSCttTWtyci9aRHlxUzNtMkJlYkxON04xRHNL?= =?utf-8?B?Qjg0WFlVWXZrVElJam15ZXZCYytFZGdNNkkxblljWTg2d0tDZFAxVVF2MHdh?= =?utf-8?B?b2FPN3Z4cjNUZHpqQ0N4aUt4emhFZXRFd1dhMW91L1laMGQyWkROUGhIYkZp?= =?utf-8?B?RnpMdlJxMXdscHR6TVg5bDdjL3gyMHdtUG1icDhIUWh1UDR5dXdLakswK0hh?= =?utf-8?B?ZFQ0N1FtemZuUGJsOHZmbStGOFN6L2VaaUJPMHZBNmFDMUNVOVZ2UFNSR3FG?= =?utf-8?B?djc3c2dZbllpOGxWcVZMeUthakh2RHV2cko3K3hmQjlqRXZFcC9kWXpKcDZH?= =?utf-8?B?MlJGalBtMU1nSURzN0tOUCt0Mmdhd2NPN3hUbXZHTDk2WjNqVTZtY0FPdzVI?= =?utf-8?B?aDhxbyt4blhOWVVLUEdqS2lUTlBZWmZqSGxhV1RVL3dvdWM2bWF2Zz09?= X-Exchange-RoutingPolicyChecked: oGz/bmlMSqrdyXNFyHcqPO5cXA+TFcsnTBtqKx2KUxUZKblWrbGVaoriuFtE4Ha4wwMjpu3I5OkkFyLoVQ1nq7JUkZeImTXuU3Ut5TN3f6b1Q2IEyMYa1oleugQwM/56l1p/GJVeJBV1LGjaFiaBRwurdKUCzQVl5WDwhzdqSn/M+Iun6CjHG+MMQ/+p33i6JPMDM8fMeeJwq8sdxzD5Kl05G3WOGlS88gfAYolAJ2oW9AVyahkLHY3KSjmR2Krq0yEHZrYA/0vpvs2h2kRcwo3UnaU6skAEllMrKBLxfGBg0Cnzmu3Kxo+yog89+/8Ul+vnuS6cq6+3sPH5XTQtuA== X-MS-Exchange-CrossTenant-Network-Message-Id: 59301aba-8365-4166-1a86-08dee3dd4944 X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB6020.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jul 2026 08:27:49.0681 (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: u5KwsIaeBOyd6b+bY6y0a6Rapqz0bEBIUUCxiuL5sM0Bl0HZ5ud4ZvdNLvtGT8BScDCItCjsOYCQ11cldh9pyg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR11MB7808 X-OriginatorOrg: intel.com On 7/17/2026 12:12 PM, Luo Gengkun wrote: > struct sched_cache_stat { > @@ -2398,6 +2399,7 @@ struct sched_cache_stat { > unsigned long next_scan; > unsigned long footprint; > int cpu; > + cpumask_var_t visited_cpus; need zalloc_cpumask_var()/free_cpumask_var() in this patch. > } ____cacheline_aligned_in_smp; > > #else > diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c > index d78467ec6ee1..ab9010b2ec49 100644 > --- a/kernel/sched/fair.c > +++ b/kernel/sched/fair.c > @@ -1585,6 +1585,7 @@ void mm_init_sched(struct mm_struct *mm, > pcpu_sched->runtime = 0; > /* a slightly stale cpu epoch is acceptible */ > pcpu_sched->epoch = rq->cpu_epoch; > + pcpu_sched->epoch_last_visit = rq->cpu_epoch; > epoch = rq->cpu_epoch; > } > > @@ -1635,13 +1636,23 @@ static inline void __update_mm_sched(struct rq *rq, > } > } > > -static unsigned long fraction_mm_sched(struct rq *rq, > - struct sched_cache_time *pcpu_sched) > +static unsigned long fraction_mm_sched(int cpu, > + struct mm_struct *mm) > { > + struct sched_cache_time *pcpu_sched = > + per_cpu_ptr(mm->sc_stat.pcpu_sched, cpu); > + struct rq *rq = cpu_rq(cpu); > + > guard(raw_spinlock_irqsave)(&rq->cpu_epoch_lock); > > __update_mm_sched(rq, pcpu_sched); > > + /* Skip the rq that has not been hit for a long time */ > + if ((rq->cpu_epoch - pcpu_sched->epoch_last_visit) > llc_epoch_affinity_timeout) { > + cpumask_clear_cpu(cpu, mm->sc_stat.visited_cpus); It may be worth adding a comment in account_mm_sched() or task_cache_work() to clarify the race condition. As Tim noted, it happens between setting and reading visited_cpus. That said, it's a trade-off between accuracy and efficiency - locking would fix it but at the cost of extra overhead IMO - and the update-to-date visited_cpus could be read properly in the next invoke of task_cache_work(). thanks, Chenyu