From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.19]) (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 6821817736 for ; Wed, 15 Apr 2026 03:31:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.19 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776223885; cv=fail; b=nkbyKC+3yZgBzWff5KmH7p9hb/TYAlxQ0vmnpUGlu/zzTGAOA45TOtfTjxcf2ldKJsFKvaVGxCh5mOkqPFb66jm+PBP6MIeXpNJBfcIxeHNU8Tny/Vu+epuwARxpOTQLFt8ZhuTsvH01uoeXd7LzTy00xcFqUECk3U6hcXIUZdg= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776223885; c=relaxed/simple; bh=cGB5Kl75u4Y6uqaONbNu/XZJyz0F9N0nbUWKU24V+t4=; h=Message-ID:Date:Subject:To:CC:References:From:In-Reply-To: Content-Type:MIME-Version; b=gReHhtYzQQYmYaxCvOuf0PMqQ2Z5zUQjiish+UmaCphiJ5N0KRBGbObxDTrY2ABjlNZzZaJbs3dgN0uD6GLfpdSRl8avvwUVIqJ+PHLHSV4hJ4Oz3AqjpHmnyEGvfhcdC2kWw7BhMy7JuzwCeEngXz+THAmH1hGSxjjrPs/JB4M= 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=IZmtpzfH; arc=fail smtp.client-ip=198.175.65.19 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="IZmtpzfH" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1776223885; x=1807759885; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=cGB5Kl75u4Y6uqaONbNu/XZJyz0F9N0nbUWKU24V+t4=; b=IZmtpzfHqxoTIBUlybI9pNHILT2x14Q9bAKAT2pnMRyVuf8wBXdvxVcx qA7SGxsM4Za2tWKF0K+t12mJQNQptBQoTI7wyIUr5+4Y5BkF6ecQJGoVu 4sotI66MO9ID0C2UqPcd3NRR24jSpuQ1MR4b7HRIx43ksIq0VP3ie2FEN v2dumCifZSwu9ouPvZWtpIl1hFaV+UG6ROXMSv1vPFs+RQ8Kq2GD6gcoB yQf2Sf+WundeF/7UjrErnES/AnahtijJ1dqrulBpUgZNjxmQqQTwX3+LG G9109wbb2z7Hycp/HJCsWlZZITUQw4TrtJHeKSvLR51eAhoqWc//dAUAe Q==; X-CSE-ConnectionGUID: xjY//cm5QS+EfoOJRc5tRQ== X-CSE-MsgGUID: 64f0KjhgThS1Q2pjOZDV5Q== X-IronPort-AV: E=McAfee;i="6800,10657,11759"; a="77098297" X-IronPort-AV: E=Sophos;i="6.23,179,1770624000"; d="scan'208";a="77098297" Received: from fmviesa009.fm.intel.com ([10.60.135.149]) by orvoesa111.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Apr 2026 20:31:24 -0700 X-CSE-ConnectionGUID: WnrzTjybQNGvT3oEx0d6dQ== X-CSE-MsgGUID: cAOaI466TG6kdbSke0uogw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.23,179,1770624000"; d="scan'208";a="223782813" Received: from orsmsx903.amr.corp.intel.com ([10.22.229.25]) by fmviesa009.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Apr 2026 20:31:23 -0700 Received: from ORSMSX903.amr.corp.intel.com (10.22.229.25) 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; Tue, 14 Apr 2026 20:31:22 -0700 Received: from ORSEDG903.ED.cps.intel.com (10.7.248.13) 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 via Frontend Transport; Tue, 14 Apr 2026 20:31:22 -0700 Received: from PH0PR06CU001.outbound.protection.outlook.com (40.107.208.57) by edgegateway.intel.com (134.134.137.113) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Tue, 14 Apr 2026 20:31:22 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=aFvX9AxniclnOMdGjAvvtr/0KtUT6mqZlhVZyQ6QIr75COYoAtPIrNkdxAXn+EseHffu0BvHsIiSkZ72oyASFIvBk+kapt+Y0+upFe7A6bUkVDrXmzdKVKPcPDhjxVtMIyYrOxgWMvA706TczqSoz4uydxmBUusx+7jpKyQlPzpqaaBS3Q5QplpIxQg1zHqCrLKSzalrOZDQxW7S0GS94ylne3Nm0+Ci4N11bh3+woKPv9YlP2fLthRRqqja2gZtNTEEmt/dQOVTVDapa1MuvBuT0Q35IFMbrnT2ircuEKGpJjBLrw0HlNSnFlHGsMhry1MIynduWPVx8mRqR2znEA== 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=GEpnzmLLqQPnbOL3J0B08nVMrpBUEWirqpzWrnbmMrM=; b=avCJNed3MwWUrpahwg9AUo301VzD0jehIGa2CuZu1hUMlkzOy52d9TNH0bRs5tZt8GR3GBvZboL+wEDCAzuPrub8d2iLOxbe/shJKbXjNnKDz951sb9vaZWg1wwO9oK/Y1nLtaCkyCngOTas3XtnOmk/fWcqPuSFlVx3fgniFfNcCyUWuI3swpb/epRaV98WcMaeQyImwm9feiMu0ErqCeeSyWjn8amHIrgSe/DkzN1FKpVhVsAEeshYEQev7In9lLcuWBc/LHdJerjS1Sqr5Mxb76bbqadk63m8TnJBRxEZum2i5QZUJ92gjPmLECeYuk9iThXrtYt2s0eezRWLdg== 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 SJ0PR11MB5069.namprd11.prod.outlook.com (2603:10b6:a03:2ad::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.48; Wed, 15 Apr 2026 03:31:20 +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.9818.017; Wed, 15 Apr 2026 03:31:19 +0000 Message-ID: Date: Wed, 15 Apr 2026 11:31:07 +0800 User-Agent: Mozilla Thunderbird Subject: Re: [RFC PATCH] sched/fair: dynamically scale the period of cache work To: Jianyong Wu CC: "peterz@infradead.org" , "kprateek.nayak@amd.com" , "mingo@redhat.com" , "vincent.guittot@linaro.org" , "juri.lelli@redhat.com" , "dietmar.eggemann@arm.com" , "rostedt@goodmis.org" , "bsegall@google.com" , "mgorman@suse.de" , "vschneid@redhat.com" , "vineethr@linux.ibm.com" , "hdanton@sina.com" , "sshegde@linux.ibm.com" , "jianyong.wu@outlook.com" , "cyy@cyyself.name" , "tingyin.duan@gmail.com" , "vernhao@tencent.com" , "haoxing990@gmail.com" , "len.brown@intel.com" , "aubrey.li@intel.com" , "zhao1.liu@intel.com" , "adamli@os.amperecomputing.com" , "tim.c.chen@linux.intel.com" , "ziqianlu@bytedance.com" , "tim.c.chen@intel.com" , "joshdon@google.com" , "gavinguo@igalia.com" , "qyousef@layalina.io" , "libchen@purestorage.com" , "linux-kernel@vger.kernel.org" , Huangsj , "luogengkun2@huawei.com" References: <4fb7a6da-447d-452a-a920-7cd39b939ccb@intel.com> <20260413072309.2663668-1-wujianyong@hygon.cn> <989b902f26db49d896b5301449d6e365@hygon.cn> Content-Language: en-US From: "Chen, Yu C" In-Reply-To: <989b902f26db49d896b5301449d6e365@hygon.cn> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: TPYP295CA0039.TWNP295.PROD.OUTLOOK.COM (2603:1096:7d0:7::10) 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_|SJ0PR11MB5069:EE_ X-MS-Office365-Filtering-Correlation-Id: 3bfe5674-256b-409c-e361-08de9a9f7592 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|366016|1800799024|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: KRQ1wyxPGKPJYTkp6RhIs5DtUb55Na5wHxUqJS3lS+3HUKEpv858dn7ksZ4PM9r0EFq5K0+n2lPn6p/zldyqVlpMHgJ6LvLAd0UK7ZgRcexxpSTkuEUHiZ32Brc4SkxNRIuXKGi88QsUumZ2qRKH+TPBudcRU5UttukkEsW5HlgPMAtfCWTleEZVxLt4fc13YqhThH8Vnd8LrsNvuw/hPVLPv8QHEVcczhBW+lYJYmWGHFkF7PyzIYgW+kUVLGTQhYB2U9a/iemkfsznLP8n0viic81dFId8KLilEDoXbgb3m4lX+/lS86gLgtSxtHrTLR0Z+rURjSIrjcTHYEOtd2Na9MTh/SsA7bnmVXkOKsXhcEo8YLsHKRtS5L3CUe0lGCc1xhjbaHfWu6cAdlJQ4r4BrZo3H5XHIBlU32T31dxgA0k2ItSc9j2ljNrA8d4XeyLK0XtUqaQpWq4+ToPBgh/9S7oJpVxw53s1rEPqTuqxmgRkobUrp3d9o2jdr/9dynBzCHQntm4Js6dTeT2L6qJVUoXKU2BhTRF5usJSnTW6lTAuqdPgqW7+TgtIGuGYnuP8Pjoz89WjeA61piS59d+j4F34VL8TGW/EDZU0lrvY96CAgSfcFegduaY6yINUH9oN5RVDzU9jJUetBl2WJER1648AjPU01UedPfr+PGj4c8/OkcCUvqXj9syOVuBjCLfIRUmqYa858V54DFCv0i4r6tEtwgqYeVoi/OHTnWg= 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)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Z1d6OFU2cUVXR3VIbnZqeTZJcExFY1JSa1dtdXVobk1ubWxSenVJK3BGZjRG?= =?utf-8?B?NWRBQWtZNHB4bXBIcFUrRGdDTjgyOWJJV3hPSStrT1ZDTTZrWU1RVUw4MHRv?= =?utf-8?B?UmV0NlNxMTU5UlJBaG9VenE2V0M5SnBoMHVxRHFHbm1Dd3RFTWhBVU1mWG81?= =?utf-8?B?cW5DWGlsRTU5b2RWZWpKRlE1Q2RjRmNlVE94YWJyOUFsRHdrR3Q1Sy9tODNp?= =?utf-8?B?aVlOVE5TVmM4UEZNNlcySS9KMDlCTm42bWhWWUY0Rjd4TmR5QWRmcVYycDhm?= =?utf-8?B?OVlUVTNKaXNLc3d5bU8vRnJzOTNkYmljV2pzR2l1bnJwMjJjK0pYWDVTU1Iv?= =?utf-8?B?bVlYRzRKODhIdTgvRUlzc2toUHhNMDhoa2NkR2dJa2FZZ2g5T2pReGo0N3F4?= =?utf-8?B?MW1iS0lwL044K1JZNWNYL2I4WGJNM2V2YmFCTCs0N1Mwb2ZOeUlkaVppTzEz?= =?utf-8?B?VjVST1NQRENLU3FpOStRUG10UTMyK1FFYmw2WVcyT2dwL3ExU0x0SUM5MFNx?= =?utf-8?B?dTNmU1VXWXhQQnVXTE1vZzNZR0FtdGxSNHAvUUVCM3gwTzkzamlOalp6c01T?= =?utf-8?B?TXFpRE4wR1B5UjkrWUo5Tm5aMlZmNzEvMjhmQ212MTFLUGxmVXI3eGVMUE5p?= =?utf-8?B?L0hGalNLUk1sZmZINllmZUh6Vkw3VVBaZmNyWXlsNGQyYVd4ZXRzajRuQjdC?= =?utf-8?B?aW5GY1d2MGJURDFwQlcrZ1R0MmRvMkd5cldRaWxtc0lRRFphdElzNEZKNnVX?= =?utf-8?B?alNPU1k5Wmw5QTlSZEFNMmxtMW16aWRWOTVNcFNUNjR0VEg2eFlnVnFIYVZj?= =?utf-8?B?ZWZIUkpxOWFmNEdZd2g2b1VNWFNJN2V0MURYaG53OTFDSjlGNzBOWEcxVzFB?= =?utf-8?B?cUVSSU9Dc293VEtLMGd4NVNKV1d3K044N094V3ZkYzFEajFCZFMvQS9FTkJy?= =?utf-8?B?SDJqQWloWG5WUWozTFZGd0QyVjduaDltOHEvUzVnZ3Z5TWtoNmhnTW01eGh2?= =?utf-8?B?emdEZnc5OFk3MVorVFpKRHg2K051QmJwbnR2UDBHb2d2a1E2M3BnT29JMU0z?= =?utf-8?B?U29CWDNQVHdWZTdNWTJLQW03cDR1WEhUNG9mWUNlSjhPMy9vbTcwc244MEQr?= =?utf-8?B?YU9YYlN2RXpPYVV0M1ZESithK0RzbW1ZTkNab0N1WjhwWkFEa2RuQWs4L1g0?= =?utf-8?B?U0trc09kemlpYVNXeEpZZit6cXFqb3hETFNvRFRFKzhsb3BDajFrRjIvZDVB?= =?utf-8?B?S3gzeFZoblp0UWM5MkxBeGU5YXFQWjlIZzI1WS9OcjJrZnViYXYxOTZwZms3?= =?utf-8?B?c1o1YzM5OG9DWVI2amYrRTQ4anE4WGdTbTg0R1JJOE01WUJLcEl5NkhnODBr?= =?utf-8?B?aDNIWVQvNmY2Q2xweWpnSDVqdjlxNm1oVVRRNGVaSDVOellDemNtWTdoNitZ?= =?utf-8?B?bEp3VDhFd21hUy8zU2ttZUpkWkZKc25iYWhURTNUbkFFVHowRUErbk52S09U?= =?utf-8?B?MCtadzBLMm9iaitCR1BxdzNEVHlYV3VNcmU1Umt6NHZGL1BVYlpWWGl5M0Ro?= =?utf-8?B?cTBvY2JVd0F2SFlJY0U1WmhQaU5mVTJyZjhzVkRTaTErcmwzR2RiczZlSTR1?= =?utf-8?B?TGFEV0RYQmVHUnoydVhENzQ3ejl1aVhaOXZEekFiVW1ldWhLSVROS0xaMzJW?= =?utf-8?B?L2Q2REc1dHVyM0NKWERNdHpZanR6MTJYb3dUSDNQenNYMmg5MzJGWXZKNTV6?= =?utf-8?B?WnhTMEN1Sms5ZUg5aGdzQ3NweU1GRDkvSnRNY2JxbDBHQkJCR1k3Nzh2dmp4?= =?utf-8?B?VVIvWFFDTmwxVkhzQlYzbjBKQ0RIeXJwZm1xVi9Kc1l3ZXRYTWRyQWRHamNE?= =?utf-8?B?azVKTmdBbFA0K3J1Z21rVHZwWkI3cWhFMDhnVU5RNVc5Z3pvN1k3VEdudWNq?= =?utf-8?B?LytlcnZBZ3BuWnhUY2xaMzhGV25GOXNpMTg0cGgzdzZNR2djakoxdm45R1pV?= =?utf-8?B?YWxYM1R5SG5LdU1PTElYZC9kaHo2SjBHRkJieHk2UzY1MkYxUThlU2NsemNQ?= =?utf-8?B?UkxCaFNxcnhZYkZEcmNqbnVUZkJwc1JuYlFNWkljTy9NUGpJa25QME9uTXlV?= =?utf-8?B?c0pDSHRpRWcvYkt2RlFOYUxsbTlzTXFxNjdEVlNnU2dDUG5nY1RRbVBNN0ZQ?= =?utf-8?B?Rk11d3F6SnNmekNuLzdQRzhsTnF1Q1lqOC9qVFMyNmFFRnJFTVBYd2NTNERu?= =?utf-8?B?a0ZjZ0NoK3BneDBsMSt1SVZGOXVvZHhKdENSaUh5cDJVdHFiVnhJN2tZcU1p?= =?utf-8?B?VXRIUUN6YldmemFkTmRaWUQreit3bjZ2M0VLWFhodVU5cEpSNktEQT09?= X-Exchange-RoutingPolicyChecked: MwKVHOx8+/dkd7NVa2gaTRdVPvaSqkDt36aHwTV78mGBHtrCrblg+qsG4gQrievWmSvNF+geX+OACb21EZUL3L9FWtim+YNRGOwVnCAwGNE6pkkHgEimx4mQz99voXNqgNROjgzUpfolcXeauR7OgEwKHsMUtTMmLcCfchkAhIg1uRhhqP+ailqFZVzdsPEUM/Zy3u+n++kWxMnvXt3bTu8fUYWxJAak23GrBTmVFZn4+3mK5+I6QRBez/Av/iW0sQbR7Wp++8LM9qstdBX+HXYTZ+5JhjPFe93rPGlXsaz+vBlqRg3KzY/8LLFCYuGxmZsRG6ZMkqxjF3eIkCX8hg== X-MS-Exchange-CrossTenant-Network-Message-Id: 3bfe5674-256b-409c-e361-08de9a9f7592 X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB6020.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Apr 2026 03:31:19.8375 (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: HldF9VIOwUZ2auZkAbeJU9creWIrKdrmpkdDYrTGDZD80NI2sfF8OBMs24ZLw7nuOk6u2bwnhQbJfa77eqc7LQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB5069 X-OriginatorOrg: intel.com Hi Jianyong, On 4/13/2026 7:27 PM, Jianyong Wu wrote: > Hi Chenyu, > [ ... ] >>> + WRITE_ONCE(mm->sc_stat.next_scan, (now + >> mm->sc_stat.scan_period)); >>> + >> >> I suppose the above should be try_cmpxchg()? > > Even though the update is not observed by others, it may not be a big problem. > However, using try_cmpxchg may incur more overhead than WRITE_ONCE. > So, I wonder if we can tolerate such a loss of "correctness" for the sake of performance. > try_cmpxchg is triggered not very frequently(10 ms) so the overhead might not be that high? try_cmpxchg "strictly" avoid two threads entering the same loop, and it seems that in the end of task_cache_work() there is a update_avg_scale() which involves u64 *avg += xxx which is not atomic so maybe try_cmpxchg could help with that? >> >> That is to say, with your above change, we have already limited the scan >> ratio for multi-threaded processes significantly. There appears to be no >> need to perform adaptive adjustment of scan_period - the benefit of >> introducing an adaptive scan_period may not offset the overhead of >> frequent writing to the "global" mm->sc_stat.scan_period due to c2c? >> > > If we can increase the scan period, the operations inside the scan work will > not be executed frequently. Thus, there is little overhead from writing to the global variable. > This only occurs when the preferred node is unstable and the scan work runs > frequently. If the preferred node remains stable most of the time, we can still benefit from it. > I see. BTW, why mm->sc_stat.need_scan is needed? With sc_stat.next_scan and sc_stat.scan_period, we should be able to adjust the timeout. Is it because you want other condition to shrink the scan_period? Like below: + if (to_pref && ret == mig_forbid) + mm->sc_stat.need_scan = 1; thanks, Chenyu