From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.10]) (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 A8438385509 for ; Mon, 20 Apr 2026 07:54:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=192.198.163.10 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776671652; cv=fail; b=IdvV1ZDkJD3yU4/+msWdt+5wHb4yP4vNpfvlD+STC9TcEuRJwFgv7Q9KewaG+a7H3C6sRemQqOg0SR0llHTPPMiWHmlFWpre0Ms2gdb6Kx7rTrAa45jSM9lHtoUat90DDxUxplSboC7DVXPx3pACQEWgxxNzvbvNLihlvaOPBbk= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776671652; c=relaxed/simple; bh=Poy8/eriDPEJU9ZcodN30/DT4YAFLtIGbOfTUa7zRHg=; h=Message-ID:Date:Subject:To:CC:References:From:In-Reply-To: Content-Type:MIME-Version; b=VsRjE55bk6udJftSs6SIlGdJ0L6vvtN8Koyc6nuntltuaOBlGUMZHexIJcfO7gXviitGcSadY57URrQeusp9kYMpnV+xs2fTUMYY1AnZiTKHiYmuxW+wdS5VLG6rlTXx6fPp8rXlueUcAlXMNHNVL+1pfRA18jAxkONoot95gck= 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=iRO9XcDg; arc=fail smtp.client-ip=192.198.163.10 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="iRO9XcDg" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1776671650; x=1808207650; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=Poy8/eriDPEJU9ZcodN30/DT4YAFLtIGbOfTUa7zRHg=; b=iRO9XcDgtbxHKkqm7EIrWs3CTdB+nRh5J/ZCR7pnAbt9mGiCyrIkxH36 wR1WLgs1yYdqwv6MW/GW8tn6XaXFDA9OtyhujdIK7T+dsLaZkijWTsRjk pAMFJAKBFqcQTbPB0If+8aDeIyAXGHbIXOyNxOkFaOYJsJRele1jI9sA2 qUMwEwVAkq5iZ5Fy/fqL41MRypwW2yKcMoZvihF3z8tqEiYpiVm/2d+bn uiD9+k+BOP01eziqr8UWlYfp19L1D9RL/oe5gg/FaaKh+ouambAlC3rZM K2WtFy0fkFAnwP/3EiKoC6w3YKgOAXK6K7hU+nhv5BfeSETH5/zzjD0r3 Q==; X-CSE-ConnectionGUID: iHlG+FLURsObezFhq4+YVg== X-CSE-MsgGUID: zyESIKW4RMizccqUO6eG9A== X-IronPort-AV: E=McAfee;i="6800,10657,11762"; a="88956772" X-IronPort-AV: E=Sophos;i="6.23,189,1770624000"; d="scan'208";a="88956772" Received: from fmviesa007.fm.intel.com ([10.60.135.147]) by fmvoesa104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Apr 2026 00:54:09 -0700 X-CSE-ConnectionGUID: 64tBhm4gTjCWae5nnarggA== X-CSE-MsgGUID: ofe+RfgHRKCBHq2msWnyZg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.23,189,1770624000"; d="scan'208";a="228504168" Received: from orsmsx903.amr.corp.intel.com ([10.22.229.25]) by fmviesa007.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Apr 2026 00:54:09 -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.37; Mon, 20 Apr 2026 00:54:08 -0700 Received: from ORSEDG901.ED.cps.intel.com (10.7.248.11) 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.37 via Frontend Transport; Mon, 20 Apr 2026 00:54:08 -0700 Received: from SJ2PR03CU001.outbound.protection.outlook.com (52.101.43.14) 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, 20 Apr 2026 00:54:07 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=PQwWaJKnWO05DSIDMv2Fi/j4dxTRCVtqkJtyr7+Oum2K79E0skucuGhsiu4a9pwixu7Bx137f2P0mdsRTt3KHON2vk0I0p/Mg1uE3YDUe+AJn8aKBOrzvIPp5wUafLK7DlpIyThSLjZPJsx0wKNFyzA7SQSDpe144QEV/PwdyUAMI5esT6LdPexFQ2tAyzNadWl8uXnRUJbyqD999rxmyh+Lte8URDTS+iMfVoX/chs2unw/Eqc/IvDDdWjpJS7irt8MlVh52um8Dv0a6jDxPmgP1P75DOh153sB8YMRgACrPwCo9RT2JUJGMH0qQwvFLb5fLGbyuc3pqfB7IcVcKQ== 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=qcn3JkUW2OQky9I/wd0yGes0GRZtqyemlyJD5FhVCMQ=; b=npD9ySTte5lyzJwy8X9GI50w6WLL4q6WrwbgXD2MPFtJEP0L6hNDBMw+OlU6kk03DRlbmKXf+buYRdXtdmgHDZKWSGM3FZJ+2ZLFa2aar6NoL4NDT2Wt0NTacqWcLmTjYcCUOugcvoP2r0yjaTs8ftm+HEOZIIU4QgAFPBEpnRiiAooP6jizybvmCNHqUeaozZzceU0qYoLqO9y/hoK412Qv5NUKEp5wgGJf/nZv7zDA1SO/KLZYELyA5vyANxuE9Hm6EcYuSwU9JRzaUonYgbtRJ6UjNfMcb0o99w96aFeyO5JkGF90//E9ig/RMznTRB/ZT2LgmE4v1YgRKVih5Q== 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 DM3PPFE9989E69E.namprd11.prod.outlook.com (2603:10b6:f:fc00::f5a) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9818.20; Mon, 20 Apr 2026 07:54:05 +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.9846.007; Mon, 20 Apr 2026 07:54:05 +0000 Message-ID: <041d3afc-c308-481b-824f-46170f564707@intel.com> Date: Mon, 20 Apr 2026 15:53:52 +0800 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2] sched/cache: Reduce the overhead of task_cache_work by only scan the visisted cpus. To: Luo Gengkun CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , References: <4fb7a6da-447d-452a-a920-7cd39b939ccb@intel.com> <20260414150745.225416-1-luogengkun2@huawei.com> <1ae149cd-7b36-4625-8e93-daf45aaac080@intel.com> <1be805ac-789e-4db4-b458-977f55901369@huawei.com> Content-Language: en-US From: "Chen, Yu C" In-Reply-To: <1be805ac-789e-4db4-b458-977f55901369@huawei.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: TPYP295CA0004.TWNP295.PROD.OUTLOOK.COM (2603:1096:7d0:9::13) 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_|DM3PPFE9989E69E:EE_ X-MS-Office365-Filtering-Correlation-Id: 90252acb-586c-43ae-4b66-08de9eb1fe7f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016|7416014|18002099003|22082099003|56012099003; X-Microsoft-Antispam-Message-Info: pRivadXeJheBv2jN4xQt5uvE85TMRgR1QUJ0pv64Y0wsYMjGYHa1jTe2fz8HQfEYDgl0yDGEaHZt63WSMp2sLyIl0fm6oEQhy+xSh9JpA2fRhCaOd6Fze3FNXlUau6yubL7jhVYgoMF+MCuYYGVy95OCwd4EXexKWxopDwpFvRRol8ZwIvfotSmQvcZzKgzCqg9mXEGCKQENC7i2HSNXUJb3mYtYTI0zEKGzV2GfDRFgKRQPXvFXGgrP+VdMCGLQQ0xbEEWeTAhum4/0mrnai1PBav0A2hCYkXGckglse9nmJcnldqBWUzeXkLDSiqc3acCnxccjUVJszjaC8Ngm5BNt4KJBkUJHv/219c1iAnq9j1OOpu/JFV9AnlsrXybGtmMAUk2w0TajfyB/GdpzrGvH5X0FP+tj8tnA9P4YgybXGkPTv2nGERHSlUjMXXZXGXex+U/tPauZ4hv0gaNF6unsDZtY3lGbAVEPV4zCGW9QQ0FU4j+664V4fPt3JIMoHiW2OdD4s/gABRrU7BDpJVdT6Hoa/7sskx4uOYjO3GBUjJRes7UzdNV9WH8BaiqT5yd/vZ8bii9QiKt0oicuXV33EdVRQaVMRwYCDamNTDZWH4Kp63qvdNp4bALgh1HvlIx6nzHpypRoAe+Lwlk6z8y7O29gA8NYzpFTel3CkqGZBQvpIcn84CTN9zyfirxKA//3ZHf7oiw0hSO7UF5O3oosufNnqgfJhS8Hmu4s0s4= 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)(1800799024)(376014)(366016)(7416014)(18002099003)(22082099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?R3FpRzUvS3NWOXhobWY4Ykl6MTJuUkxqVEVoclRTcTljUElnZjRZSE12Qmc3?= =?utf-8?B?VHg5NFR4VnN2YSs2a3NIUkZ6dWhKbzB0ZXF2VlIrK3c0NmdTVWxwL0pUaHdr?= =?utf-8?B?UERWaXNtMTcwN3VmL1FJZHdnMGdNa0RJTjFnTnNjTWE4N29KNVRhZjJqSGFQ?= =?utf-8?B?OE1MQlltN05LeFZ5bW9ueWtOQTVXVkRsYzZVQzJPQ2pEdHpPdEJHYmh4b285?= =?utf-8?B?b0liZGNwN3dPby8xbXpNeGM0dTNyREpCZ1gyN1JNSXR3eHpJU3F1QW1VSVh3?= =?utf-8?B?VFovWnFjVjZtZWdiVzlPMlMwYVVsK3FON0ZVTVpCZFhBVDNQdDc4QTZXYUYz?= =?utf-8?B?Q0dIdXRpVTZOTVNqMFFHcGV6bGZobk05RkdIUVh6Uzc5ZkRFRmszd1ZlNUZv?= =?utf-8?B?TlcyWDRzTkxmUVZrSHk5SnFRQzNRQlBmZ2pKUWpOd2xyZlIzaDZ2bGd0ZnNW?= =?utf-8?B?cm9HMmUzcUpKZTduYWdoSTFmbjg0bmw0MDRZMTEycFgrSEFFWDFNVURNenNu?= =?utf-8?B?a0pDL0RBUnhOTGZyc2plY1A2Q2FuckxvNzhwTHpHMU90MjdRSStMYkcwZE0w?= =?utf-8?B?QUpVSU1GOGZ4Tnp0WHRCNU1NdzA3amVJTDBLalBhQ0dqaEp1VXE3NXc3dkpQ?= =?utf-8?B?N2cvd01iSUhXc2taV1FJRlo1ZzRld25ZTTBMT1FDSVN6MEhVdmxOWER6SWpt?= =?utf-8?B?QjBoTEtFMzdPeU5sSDFUR1RETDZKUytZaXI4QTNydVk4c1k2elhMcmNqV1Nl?= =?utf-8?B?bWU0QW9wOTlUQlFTY1B2aWxmYUsrMzZvYjJzSHd6czJyZlQ4YWZNK1QrTzIv?= =?utf-8?B?VjNydnpTRkVLQU1KQ2FWNGM5QzNxYXMwa1p1QVoxcjJHclZrSFlGbzlWbW9i?= =?utf-8?B?OHUyeGR2QTBwZzlGSmxUL09UK0NRaDNzSGdXeWlzUEs3bTBLNnpFOVRCWTVB?= =?utf-8?B?WHVlNmw4TWFTcHZSeWJwTGNhQVAxSEswWFBibEJTcDlRZVVrUzlhQlpOdWxo?= =?utf-8?B?ZmpobHhSN1U2U0ROTjE0MjJTVHFsNGNYV1VLcHRXVjRPNzhJLzVnU2R6VENz?= =?utf-8?B?d0NFWkZvcHNVN3FzM09ZK2NxajlxUUVkZTNTM003ekw4VlVOTnJQODJFMmpw?= =?utf-8?B?OHBuVnArdHVxM0wvc1ZoY1VUTkxQeUluajNDdkxVZ3hielUxOG43TWl4b2sv?= =?utf-8?B?WDRUa3lFcklRRnY3NlhmZVdCWENkdnVLd21mWnFkNkJYUEkwcjRrV2syUUJV?= =?utf-8?B?bzZiY1NFSmp6eFFDVW4yVnJzd1RtK2hJT1YxUFl0VE9NbDdtUXFKVmxUc2s5?= =?utf-8?B?bXpTQ3BuUDBtSEwrUEpoS0JCaDk0aHdDa1BwbEVDYTg5SVBidWhHUTdyQzkw?= =?utf-8?B?SmxNbUNKSHZwdzFyUXlCMjk3c2Uvdkhvd3RmVUFkS2Nad0VOMlluNTR2N0J2?= =?utf-8?B?dEI5UnNsZWtoVytaWndqSU5LN3l0dDd2NjNzOGUzTWNDTmJQdFpFZ0duZS9z?= =?utf-8?B?VkI0bjB0OTB6cVd3bUszbzJwREYvU3RDQlVpMTNJSHBrNitBb1oyckY5dytI?= =?utf-8?B?aU1yd1o0RnUxQWRQdmRlVS9wV0d0RWlDbmd4WHpmQU5oNzNSUWE4TEw4OXhK?= =?utf-8?B?ckR0MHBjQjZhSHVNNEJlK3F4a2s2UktWdTg0YXU4bTFCTWJLTHJXUXltdk5P?= =?utf-8?B?VW11Y1g1UnRrTmFYeHdOMUxnNytwNm80N3ZSN0ZhU1Q1c0kzLzRVM1plcWJv?= =?utf-8?B?TXJEZk9DWFFGSWVNa0w5by9oQWhxQ3VPRFNjUjdRWkJSODRBSkRwK0Jvd3pm?= =?utf-8?B?TXBYazJCS1NZaFFVUmR0Y3ZHUjZLdkNsc3N5Tzl0UE11ZlpKd01pdkhJRWd5?= =?utf-8?B?TkoydzJTZlpVcGtvWncxbUhxWnU4YkNKTDN3ZUxRZTMyV2kyZzBsbUc3bFAz?= =?utf-8?B?UHRvR2k5M3dMWXcyNFkwbXRtUGk4elN5WEFnTEh3V2tSbzFVUHAvWTJmdUQ5?= =?utf-8?B?bzVITk1ObGNWdDlsZkZwUFpKUVFRR1VHWjE5V24rQTVxNDY4ek1hVXMvUW9j?= =?utf-8?B?NzZPaXdvc2owZHNHN1IzcmdJZFZ1SkJ2V1Jlc0JrTVlpNVplY2trWkZsY3Nn?= =?utf-8?B?ckk5cDBnQlFhSFNMVUtxOVk3bFZHYTMwTXJlOUlrbVNJYlBoRnViTzVOcTFW?= =?utf-8?B?Y21zdHA1ZHRVM1V2TUJIOGFDWVBwby9FbUwvMXd0VnczaW1SV21pd21OeTl6?= =?utf-8?B?TExKZkRET1c3c3lpbW9CM0ZRSURrNHl3SitvU2ZzK2o3OGNhaTlWMjQyd2o1?= =?utf-8?B?SGNNY0JTUm1oUEErZHB5Y1dpam1uK1RmSEFWcmlzZC9qU2lwbWRDQT09?= X-Exchange-RoutingPolicyChecked: V8+dooIy47oEwLcj90gGCGUszq/q77EIHjqEk0kseaLUvD8biOPNh2B5BqNrratrB34C/mSDBr1bSly2dtmcPvk7MsoQGFFx4G2TLjBYVLzB3/ZjB4t+2mwvAp9+2fMOYxoo568B6OaGreMcYrZFWsCIDXZr+2zSzKTXf4OFeQdbmRLdjDqxsExOjQ5Tl1RP7O8oGpNa1qjMjI4EISkPxxszcSEb1HvgzoXkhKUOhsmHT2P5khnDWMLiWozQez0DoDjTEDjL4YJlj0R4OfrcxwQGNqJRq4CfyOjaH+nN8Dju+0LYeIYTVknYl5d/8taki8sVavOhoawJwm4X/tnmsQ== X-MS-Exchange-CrossTenant-Network-Message-Id: 90252acb-586c-43ae-4b66-08de9eb1fe7f X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB6020.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Apr 2026 07:54:05.3558 (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: ye7xJ6nhleb21TJn13QpC+e45OozBeDs4gXK0ALubmvxTKKmML4q8qm8/zqdf+x6eie+hM15deil04Eo3cHJPA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PPFE9989E69E X-OriginatorOrg: intel.com On 4/18/2026 5:01 PM, Luo Gengkun wrote: > > > On 2026/4/15 11:10, Chen, Yu C wrote: >> Hi Gengkun, >> [ ... ] >>> @@ -1736,8 +1746,17 @@ static void task_cache_work(struct >>> callback_head *work) >>>                   continue; >>>               for_each_cpu(i, sched_domain_span(sd)) { >>> -                occ = fraction_mm_sched(cpu_rq(i), >>> -                            per_cpu_ptr(mm->sc_stat.pcpu_sched, i)); >>> +                struct rq *rq = cpu_rq(i); >>> +                struct sched_cache_time *pcpu_sched = >>> per_cpu_ptr(mm->sc_stat.pcpu_sched, i); >>> +                /* Skip the rq that has not been hit for a long time */ >>> +                if (sched_cache_timeout_enabled() && >>> +                    cpumask_test_cpu(cpu_of(rq), &mm- >>> >sc_stat.visited_cpus) && >> >> cpumask_test_cpu(i) should be fine. The rq access above doesn't hold >> cpu_epoch_lock. >> I wonder if we can safely calculate rq->cpu_epoch - pcpu_sched->epoch >> inside fraction_mm_sched while holding the lock? > Do we really need to access rq->cpu_epoch under the lock for read > scenarios? > I noticed task_tick_cache accesses it directly. Plus, moving this access > outside > the lock would help reduce lock contention. > Good question. task_tick_cache() access local rq->cpu_epoch with rq->lock held and irq disabled, while task_cache_work() is running with irq enabled without any rq->lock hold, and might not be run on local rq - see __exit_to_user_mode_loop(), it checks _TIF_NEED_RESCHED before _TIF_NOTIFY_RESUME, so p could be switched out and woken up and run task_cache_work() on a different CPU. That is to say, I just wonder if there could be a race window that bring inconsistency between two reads of rq->cpu_epoch - pcpu_sched->epoch - not necessary a critical issue though. thanks, Chenyu