From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 738C5C77B7F for ; Thu, 26 Jun 2025 06:27:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E090C6B00BC; Thu, 26 Jun 2025 02:27:38 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DBA566B00BD; Thu, 26 Jun 2025 02:27:38 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C5A3A6B00BE; Thu, 26 Jun 2025 02:27:38 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id AAA3E6B00BC for ; Thu, 26 Jun 2025 02:27:38 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 563D7122413 for ; Thu, 26 Jun 2025 06:27:38 +0000 (UTC) X-FDA: 83596570596.02.3AB755C Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2062.outbound.protection.outlook.com [40.107.236.62]) by imf08.hostedemail.com (Postfix) with ESMTP id 9972E16000E for ; Thu, 26 Jun 2025 06:27:35 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=amd.com header.s=selector1 header.b=NCNeNy8U; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf08.hostedemail.com: domain of Raghavendra.KodsaraThimmappa@amd.com designates 40.107.236.62 as permitted sender) smtp.mailfrom=Raghavendra.KodsaraThimmappa@amd.com; dmarc=pass (policy=quarantine) header.from=amd.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750919255; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=E5IvHdpvAipueJVfA5kgFCdmGOhXiU83lc+4aKDBiN0=; b=aYmj/8jpiGX6SWVq6ZlxAmIv/dMc/8f8FiwallbPe3rr8orVGkWufxEPxsk07jGUxhPI5Q vRiUSk5n6BGYCta5TUEEeitzBwyAqVwskvm5uGI6G7rbIAKuv/L1E7463hcMTQ7aJDyffQ p4utUUPmFbXdATdez8cKsU4dS7RjmFE= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1750919255; a=rsa-sha256; cv=pass; b=RZnXYPZkZbYLvUeA3uUzACFabHa6Fpt2OVqUt2udU4N0SJqn9WvvynjjmEB6R5P5jFqkFt LZ6mL3qPkHM0C6kP1n1qIA1UrZaAO2U9vwAeTXKaREIot9s6CAqSbBQg3uKTTQ9oG/zP6Z TrbUJl49CAEFLzrsx2H6SyJq8SSeJnA= ARC-Authentication-Results: i=2; imf08.hostedemail.com; dkim=pass header.d=amd.com header.s=selector1 header.b=NCNeNy8U; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf08.hostedemail.com: domain of Raghavendra.KodsaraThimmappa@amd.com designates 40.107.236.62 as permitted sender) smtp.mailfrom=Raghavendra.KodsaraThimmappa@amd.com; dmarc=pass (policy=quarantine) header.from=amd.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=siuVMKqzIvqXuPcVnjWBeazuTXorYCrTSBULUuTOG71H2tKGb2JBmwowVZXSOeR3H2Cxi5kg/uutG2YGX2qjAxl3MtL150yDpOBp3plqMNMpNjAOfOYMdyYzgnO6TEdgwtpNcOGmL6egq5RyR32znE1/HhknAZe9DuZFxNRK5fpEKm4mjO4xkxlX0nyOIerZkbDcgzC8dzd9El9CqI0F05WJYAlIU3DeOkgXhrjqFNFKOvwIUqMqLGg6BU9ex4MilS2grlKW4l0LuD4Zc7CERWftuBQZWdSoYq9jt91bE0+kx594biK/h/w1J/mlzOy8Gxl5LD2ycv/WlXnXJLkHtg== 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=E5IvHdpvAipueJVfA5kgFCdmGOhXiU83lc+4aKDBiN0=; b=NQKC96G8Z4P7QtFpIqsGbi5qA85SxBiGjvueIsgT7M6x5IwZx/Hu0XqablfufqVb0+TXPvjfwgjx3rFkHrla9bxZnRrbj8RuEzB7lNr1YkRnYAhxXdDfdcCoL5s/RO9tf+cn4PnWuHkIaZoROomr4WGYYz1v4MnXIIKeC5J3WC9nwGykwp7wIWE4x5fAzIMK8cFmTKF4cuJEhhiIHzMhBya8VrxauaUU1T4yYe/tqoxQ/8cVCaX/VjGujazYCMN5dwkChYQvYM+QTbD7xGu5zIl3gr2VubS/FTYW7R4myw4nkyqzWJViAUIko9lUK+BRjVcXn8y2RaZhmyod33M3Rw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=E5IvHdpvAipueJVfA5kgFCdmGOhXiU83lc+4aKDBiN0=; b=NCNeNy8UbNbeEvwztPKZt8FfmAFYuhzy8mT4BA8S3uYCe+ZTlkJlDrImzM+3xJ/uZkIYjPIvNg8PvfznraO4WHElLA1bU9KYy/8GGlKkewu1uzpYEVP4QIU7FMMnXARdOl8skWJsiqXPyI0mCjTAu/VQBZ0d1D6dLM9P9ZKSwXg= Received: from PH7PR12MB5805.namprd12.prod.outlook.com (2603:10b6:510:1d1::13) by DS0PR12MB6389.namprd12.prod.outlook.com (2603:10b6:8:cf::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8857.25; Thu, 26 Jun 2025 06:27:30 +0000 Received: from PH7PR12MB5805.namprd12.prod.outlook.com ([fe80::11c7:4914:62f4:f4a3]) by PH7PR12MB5805.namprd12.prod.outlook.com ([fe80::11c7:4914:62f4:f4a3%4]) with mapi id 15.20.8857.026; Thu, 26 Jun 2025 06:27:29 +0000 Message-ID: <02c6c58f-2c2c-42eb-bde6-175de71f7d47@amd.com> Date: Thu, 26 Jun 2025 11:57:12 +0530 User-Agent: Mozilla Thunderbird Subject: Re: [RFC PATCH V2 03/13] mm: Scan the mm and create a migration list To: Harry Yoo Cc: AneeshKumar.KizhakeVeetil@arm.com, Hasan.Maruf@amd.com, Michael.Day@amd.com, akpm@linux-foundation.org, bharata@amd.com, dave.hansen@intel.com, david@redhat.com, dongjoo.linux.dev@gmail.com, feng.tang@intel.com, gourry@gourry.net, hannes@cmpxchg.org, honggyu.kim@sk.com, hughd@google.com, jhubbard@nvidia.com, jon.grimm@amd.com, k.shutemov@gmail.com, kbusch@meta.com, kmanaouil.dev@gmail.com, leesuyeon0506@gmail.com, leillc@google.com, liam.howlett@oracle.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, mgorman@techsingularity.net, mingo@redhat.com, nadav.amit@gmail.com, nphamcs@gmail.com, peterz@infradead.org, riel@surriel.com, rientjes@google.com, rppt@kernel.org, santosh.shukla@amd.com, shivankg@amd.com, shy828301@gmail.com, sj@kernel.org, vbabka@suse.cz, weixugc@google.com, willy@infradead.org, ying.huang@linux.alibaba.com, ziy@nvidia.com, Jonathan.Cameron@huawei.com, dave@stgolabs.net, yuanchu@google.com, kinseyho@google.com, hdanton@sina.com References: <20250624055617.1291159-1-raghavendra.kt@amd.com> <20250624055617.1291159-4-raghavendra.kt@amd.com> Content-Language: en-US From: Raghavendra K T In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: PN4P287CA0114.INDP287.PROD.OUTLOOK.COM (2603:1096:c01:2ad::6) To PH7PR12MB5805.namprd12.prod.outlook.com (2603:10b6:510:1d1::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH7PR12MB5805:EE_|DS0PR12MB6389:EE_ X-MS-Office365-Filtering-Correlation-Id: da1c8baf-e2f6-40cc-e64b-08ddb47a869b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|7416014|376014|366016; X-Microsoft-Antispam-Message-Info: =?utf-8?B?YjR4amdPUktPUlI0UW9vN2tpZlJURGt5S203dkd6bUxyY2VQckh5RlVud2tu?= =?utf-8?B?cDBMZEg0aW9Xam1qL3F4aFdPWjh2TUNFSEFKMlZRNFpUckV3VUZzRDU1cHc5?= =?utf-8?B?eHFMSVFObWlUbGhjd2xQbzFsd0FCMWRETHlPTEZVbUVpZnNBWEhJUVNTeHZm?= =?utf-8?B?TkU1MGk1Si83YjVLcUhMbDVueTdpSGc0bDcxLzZjOVRYMnVUN0h4cDBMbTBq?= =?utf-8?B?WEZIZFo2TklNQWtUWGJPc244WmpCQVNkY0RMeUtCQWxLanBQMXVoRWI3blAz?= =?utf-8?B?NHVudEZlRWhNOU5oMEVpUTlQb0xKdEZyd3oxbTZucmZUK24wSFlrMTVZeU8v?= =?utf-8?B?TnAvKzlYTjU1VkRDYzNBbmd3T2Ezc2ZmUXpzcmNweG9SaVVxVURQWjNjVVZC?= =?utf-8?B?SnNzWjJrVlVlN3h5cVFtTURXajh1N3pjTnpndHcvbzlHM0I5LzJCbHhDSksv?= =?utf-8?B?M3FUay9aaGdJdTJwbDZQNUh5dDJsNVBTOVIvdVR0MUUzUG1rR3RWMnNCZEI3?= =?utf-8?B?QVhhUWszRFB0cExDQ3V1KzBtZkNNVXllbEZFR2E0dVJVS2E4U082TzZNbHpK?= =?utf-8?B?QVpKUHVVR3dUcytXdXk3R3cvKzRRcGxoNHhSY3p3K3BSTDNJbWw3SUNPb2I5?= =?utf-8?B?aThFUDcvellWeng4eDZmWTJ6RUxidmlqMG9KVTBGU3pYSnA5eTQ1WkNPQmk5?= =?utf-8?B?Qm5qOFhMSUdLNzZsdDZXNVdKa25IemhXeGIzNjFhcG83K1BLWnBMNWZldDk0?= =?utf-8?B?T3pacjlUWHE5QzVrMnBjalArTzBVQTQyZythM0NvUlcya0p3eWtjUCtwOGxs?= =?utf-8?B?RTdELyt1ZEtSYXZRZy9CRUk2QS9leXg1QjZiQXc1Y1k3RDNOWlpYUXB5M0Na?= =?utf-8?B?OXNUc3laN0hkOVBaUVFYZ2FOV1pNMlNkbXcydTdYc3NGM0U4UmYwd0xRbWpt?= =?utf-8?B?SHFlekpQdklSTGRiRjJqaUZTUkZWbzJrbzV6bmFUL09aRnc2cUh2aWJGYVgw?= =?utf-8?B?U2NSb3FUcGtsWGw0WnVhejZPZzNTOTFBRW1BQWFGNE1rTUFSS3JiYk92Vm1J?= =?utf-8?B?ejc3TVdySWhvLzJtZDNNZXJrRXhETVBzOG1DYm10Nmhyb0pOU2hpbVZuV3dN?= =?utf-8?B?UmNqVHFlZXh1NnZFejZjNU8wRmc0c00yVWVJZ2NzWms0emRHS0sveTFtUXJt?= =?utf-8?B?QlJiVDB6Nmh4N0FNRkMrMEh3SE1GSXA0ZkZVZkpLS3RvdENoQUF4S3pJV3ox?= =?utf-8?B?emw5cmwrWFkzSEd3anFEMTJwaFRjaGpycGFpUFphUExRSGs2R1F5MzFVWXVZ?= =?utf-8?B?TENzM2JoRkdzZlVISDdmVHl6Y2dBRnJVOUh0UTZSZmNSSnJOTXoxNDNSazlM?= =?utf-8?B?ZzFYODRZK2J0TWprS1NLSWR3aTVDdkpLOTZaWit0eE0wTkdSaVF4dXAwMVhU?= =?utf-8?B?cU10aVZxSWlUenFwelpTVUxNOUIzU282SHp2QjJ1T2FuV1k1T0NuTU5PU1BR?= =?utf-8?B?Rmo2aE1CcXZqek50a0FHUWFlUHRSbkgxcFo4cWprWVpUZll3Ynp3VHJsR1M5?= =?utf-8?B?M2dENEl4dm1nY0g0SSs2dlZjUkRaK1VJbUxkRXVyZnVGdEZjMFY2RkdIaVhW?= =?utf-8?B?M3BMSG1NR2dnVFBVcncyVkNPdmVVUnpJZkwwOGVIaXU3M1lvSUwwK0tOOGVi?= =?utf-8?B?ckVERWNOdkg5T1RwZ0tpbVZTYmJYUjRmSlJWZ0JCb21kSzVaeDNYM2VWQW9v?= =?utf-8?B?b0lEZjRsQVJiWThUZ2c4Q2FYdW5GV3ZwYXFyZWVCK3hxaloxWHE3cDJldmtS?= =?utf-8?B?NElHbWdXYUxKZlZ4L2hsYnBzT20vaDJpOE1FMjBGZTErblREUUp4VndpU3pM?= =?utf-8?B?UlN4Sk5qMVJaM2ovdk0zaFg1Z2QvR20vOWlvc1pybFBFbUE9PQ==?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH7PR12MB5805.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(7416014)(376014)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Myt2dU1yWUZmWlRJdk5sOEo1VjI4YzhLRFN0VUkxNUZDczZPNUI2NWtnZTRM?= =?utf-8?B?cURSYk9UWERSeDhKNkh2S05MUlFwMWpvZml1RkloUklWc25ESnFEWUZsVWNn?= =?utf-8?B?SUhMbW9VWG8yY0JTTFB4K0N1UFY1ZGhHb0dob0dJYUpDYW56VXFKYlcxelRS?= =?utf-8?B?WEVCZW45UnhBbVEyTTB6a3RzK3NaUXdZYTRUY3lTRStjWnROKythOGRrcXFQ?= =?utf-8?B?WmhCRCtTMythN2dqaDRPWGhyWXU1bTdqL0pqM25aazZLZXJETkEyVnpUa3Jk?= =?utf-8?B?UzdqaUxGVG1EWndreWlyYU96OE9qRHdZRkljaHYrUGFSczdpTGxxZDB4M2Vs?= =?utf-8?B?TU9qZ3UwUEpGMnFJMlVwMy90SDdsRjl1Ny9qbHFNUWRjWFZoNCsrUkxUNW1z?= =?utf-8?B?bnFXUEltRUJLSmxKeUdwaFgzdnVKOUx0SmFLUU1NWHdYS3YxZUlIL1pkbnRE?= =?utf-8?B?NFpFRjgxMENqdy9NOG9yVHZDRXdWajBCay90S2tzblo3TzRSWElNeGZ3Uldz?= =?utf-8?B?MDVyNE5IZnV3MStDU1pya0F0UjJtMCs4NVNFOG1QTkhEZmRNWjFEbVQxWjFG?= =?utf-8?B?R05yU25CU2RPejRLZ3FRSmdFa2VLM3ZrN2pzMkZkcnArbnVhRjRCTnNiVHFI?= =?utf-8?B?WG84Z1d1ZUNhUTNRbWhWMk9YWGRTL1M1NTFmN0xKdmxtV2dRdmpxSXJKRnpu?= =?utf-8?B?ZXBmVElzQVRNOUZtNGNEcUsvLzl4UmVpR1doN1ZUbmFSOHZ2b2tlekpOVjI1?= =?utf-8?B?QXF1eXhEcVFEUHJ5NUZEMER6T1daVTVWbE0wTXZBbzZkL2FtQk9EbWlLbGNL?= =?utf-8?B?blgyZ1NPU08zSHZabGZqVHBtTmlHRTBmT3R1bTVCTXZXNHRxZDhaY1J4RUky?= =?utf-8?B?YmlKRUtNbzFXRVFyR1Q5SnFudEFVbWdxa3U2ekl3RlJFQkF6WDRVWTEvd0RF?= =?utf-8?B?Lzk2Zk8zWFhxTUI2eUlEZWVCRG1ESmtoWGIzQVJRd3EyemIxdHB2NjlrdW0w?= =?utf-8?B?UlJMbU1FQkJ3TW5GVEFuSjNNdXl1SHRXRWhXOCsyZ1FYdW1nT2FXVUluREhy?= =?utf-8?B?dG1Yb0dVMk9POEtXMHBLMmtuNGRtaEhSOW9NUkk3eVNEWVFWTmMzOHk4ZlFN?= =?utf-8?B?VVpESTAzSEJ6Q2RwcUkxRXdvRTZWM0NaSVdBQXhFK0xQcFZVU2JQeU9UOVdr?= =?utf-8?B?c1lpNnlkcjV6cnBkemNDWkQ2cHUwSnhWbzVSOHlSMkVBdk95Q0JFYmRob2I5?= =?utf-8?B?aGhGME95QjFXZnA4QndjOE5qYUFkWmJPQmxVNm1WWVhwV3Fmb0RxS1RIY3kx?= =?utf-8?B?VWJObm5UTGR4blZLWXVNS2FMaFNUUTJubmpFdlZPZWxGZDArSUJVZjBrVnFN?= =?utf-8?B?QWFPT2ExajhlMVNPNUM3SUo4MEVBT1NIR2VPZHlHZGxGa0E0a1pWTU5XbmJU?= =?utf-8?B?M2t4MDVCekFMWVpvZTJqZzVRSVM2RWw0SlpFYUNXeDdyMjZxWWdnK3JLbTZj?= =?utf-8?B?eUp4N2E1WGFiTnM4WWQvaUNVQkp4cURQQU13QTlYMFZuQWNnSXpxb3krWVg2?= =?utf-8?B?ZkhFMHdSMURPQ3hiWmtiNHB4Z0ltbzJ4Ujk4R0c3WjVaTHpDdVMzK0d1YWJv?= =?utf-8?B?T3lDNzhETmx3Z0Uwa2FMY0FZUFptSC9IUW0zQzNaNjQ2eDdOMVB4OWd2OTVj?= =?utf-8?B?d1gzTFUzR1hKVXc3R05RR1liS2ZEU3BvREZVVndyMm42SGhhQU9CTDdEdEJG?= =?utf-8?B?MUljc1BtU0RWNlYwZHBnZDNCSEZNaFZYMGU3TThIWDNuRFExR2JZSHVSRGRn?= =?utf-8?B?UXZudklnS2g3K0tjYmJYMnluc2dpUnRhaTJJOWNmU3NxOHN3MGxaMzB3RFBC?= =?utf-8?B?d1lVK1g0NzNrbFVFSXF0SlhabkpEZjQ5QXVjSFBUaUhTMXh2R29qWHlPTGs2?= =?utf-8?B?NU5SbFRPSFZyV2FySjF5QTc4MUFBWTEvbWVSVldPVmZIVjYyYklhdHlwZG93?= =?utf-8?B?czRwWDJmL09mTThTcG0zOG1ZZ0l2NHJ4TkdUOHBER1A3YzBPblk3dUhNUUw0?= =?utf-8?B?K2xQeFRLUnl3VTJxV1FBUlpKcmdzNGxVUEVSbW1LNFBXbU5aMzJIaXVkTit4?= =?utf-8?Q?lmkL3QdNEqslsGggsOk/MWT3X?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: da1c8baf-e2f6-40cc-e64b-08ddb47a869b X-MS-Exchange-CrossTenant-AuthSource: PH7PR12MB5805.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jun 2025 06:27:29.8176 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: NxVIZbA/w/lp1nIZjv7iAgqMD5IQnbJHcC+gMZULEDaBDhsNO7Npfk2BwAEa8D/NZulcFg5D0l1ZlnLMiF7QDw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB6389 X-Rspamd-Queue-Id: 9972E16000E X-Stat-Signature: mdqf1bkrt9fqohosd5ch14zgh53s144x X-Rspam-User: X-Rspamd-Server: rspam01 X-HE-Tag: 1750919255-306516 X-HE-Meta: U2FsdGVkX1+6i1/y85TVsVDFdYO4tcZwjh8ac++BE0QmhxiJe2ZQMj96XD5jprCzBvDi8WQ5tF1oqe9WdTfTY38EPttukcYjX3PdS2e427fAbn7mDHdq9mynBpedBDRQ4aVoVbbCLzZnboRfd/ffp5CyaK471JOhBarcbKaQIj52CIjevOVa97V48ka/CGdUhPakY3SXfmtSLR3XS69eEC7E2Ky5t3f/0TvH5CgDtnw4/7OtCAwiN143cea9morp09soqm5G00QY9Vl8VVFY1IsJX6rSyI7BkFbRhRGE8syhZuZMdTztiISyA6f8CQVO+uF/Ok/UaJ97g2jBSfMvNYUwRmudcL/5Chu5cQv+lWXi9HnULtAabUEDcewPrJk6Zlu1YVX9n6YgOfC+5ohNH7NUu8jVpMNllt+cTNGaxjSolODPJmngzJ5PFSEmj0CHKW7CjdFbgZN3WdjKaVV4QP/n1C13hfalDe6a58bzXF7SEYRPhgHOAPXT9rl8vs8lpq1FHpp5C4O8Sv5i+sihMg57lb5ZECnyHtp64L99tS3MdTssY2eiTrFtJHkQxpwkXHQfUn6ZEnpHeCVx1rVZOS231Z2VexgU86J3CqTYmtQBoTriGJA0mW3wtccUiAKCoE18CR1f27b36yXo+3sXaDeMMMViotb1F4Fk0/6uvUOKXIkXOYkPSPe8rsqMh7n7TjvnYi3wyboE3Y83CJlrpxB3q+vvuonnoJl4trew6TnHIYJqGgUkcPCE8tBFteRMLtiiN4rLzs/5GxZaxBqVytaYa21FR0FdOBHEl+sDK/Dj/1KRaL90yt9IIxVOfAACzRGYdb+5i2kKtrIqonzUcymOQXJQmSfWaPQ/K6IYLYAufDiT8oWYBKIVHBwnfVYfp/fa8fLpjUGYnVimGQd6t+bwMbDWLPx1oJ9dX4sRWD3DnvAtZSZLsA52qM31vQc5Ojc0jtpwZ1bc+t075Ly pLIKlVlv 9cxOcXYNyTwZzWMSyl0CfEqmZTwwvBl5LRUHFaEfhLpTNe310vVFGnU/h0HZHmiE6MAEy+fpgYL1hDqKfoPvc5bQbsImLCHRe/UurvfKQdZMQunO7zY/s2JAVvUj6VRDYr54ZirU6EPy30Z1Ia98co0CHbg0E+MCaaxk+MqDkR6MEqfx1iI8daIpGvQPq/5KWGRCzn7dAaWlfqLlKFTDIXlOo43qawpLbDOx2X5aBfOSyUibc0NYbYH9f+ZPK7sl5cMxN X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On 6/26/2025 3:37 AM, Harry Yoo wrote: > On Tue, Jun 24, 2025 at 05:56:07AM +0000, Raghavendra K T wrote: >> Since we already have the list of mm_struct in the system, add a module to >> scan each mm that walks VMAs of each mm_struct and scan all the pages >> associated with that. >> >> In the scan path: Check for the recently acccessed pages (folios) belonging >> to slowtier nodes. Add all those folios to a list. >> >> Signed-off-by: Raghavendra K T >> --- > > Hi, just taking a quick look... Hello Harry, Thanks for taking a look at the patches. > >> mm/kscand.c | 319 +++++++++++++++++++++++++++++++++++++++++++++++++++- >> 1 file changed, 318 insertions(+), 1 deletion(-) >> >> diff --git a/mm/kscand.c b/mm/kscand.c >> index d5b0d3041b0f..0edec1b7730d 100644 >> --- a/mm/kscand.c >> +++ b/mm/kscand.c >> @@ -42,6 +55,8 @@ static struct kmem_cache *kscand_slot_cache __read_mostly; >> @@ -84,11 +122,275 @@ static void kscand_wait_work(void) >> scan_sleep_jiffies); >> } >> >> +static inline bool is_valid_folio(struct folio *folio) >> +{ >> + if (!folio || folio_test_unevictable(folio) || !folio_mapped(folio) || >> + folio_is_zone_device(folio) || folio_maybe_mapped_shared(folio)) >> + return false; >> + >> + return true; >> +} > > What makes it undesirable to migrate shared folios? This was mostly to avoid shared libraries, but yes this also should have accompanied with EXEC flag to refine further. This also avoids moving around shared data. I will experiment more and add additional filters OR remove the check. >> +static bool folio_idle_clear_pte_refs_one(struct folio *folio, >> + struct vm_area_struct *vma, >> + unsigned long addr, >> + pte_t *ptep) >> +{ >> + bool referenced = false; >> + struct mm_struct *mm = vma->vm_mm; >> + pmd_t *pmd = pmd_off(mm, addr); >> + >> + if (ptep) { >> + if (ptep_clear_young_notify(vma, addr, ptep)) >> + referenced = true; >> + } else if (IS_ENABLED(CONFIG_TRANSPARENT_HUGEPAGE)) { >> + if (!pmd_present(*pmd)) >> + WARN_ON_ONCE(1); >> + if (pmdp_clear_young_notify(vma, addr, pmd)) >> + referenced = true; >> + } else { >> + WARN_ON_ONCE(1); >> + } > > This does not look good. > > I think pmd entry handling should be handled in > mm_walk_ops.pmd_entry callback? > Thanks, Let me check on this. Some part came when I was referring to idle page tracking. >> + >> + if (referenced) { >> + folio_clear_idle(folio); >> + folio_set_young(folio); >> + } >> + >> + return true; >> +} >> + >> +static void page_idle_clear_pte_refs(struct page *page, pte_t *pte, struct mm_walk *walk) >> +{ >> + bool need_lock; >> + struct folio *folio = page_folio(page); >> + unsigned long address; >> + >> + if (!folio_mapped(folio) || !folio_raw_mapping(folio)) >> + return; >> + >> + need_lock = !folio_test_anon(folio) || folio_test_ksm(folio); >> + if (need_lock && !folio_trylock(folio)) >> + return; > > Why acquire folio lock here? > > And I'm not even sure if it's safe to acquire it? > The locking order is folio_lock -> pte_lock > > page walk should have already acquired pte_lock before calling > ->pte_entry() callback. > I saw you clarified later. >> + address = vma_address(walk->vma, page_pgoff(folio, page), compound_nr(page)); >> + VM_BUG_ON_VMA(address == -EFAULT, walk->vma); >> + folio_idle_clear_pte_refs_one(folio, walk->vma, address, pte); >> + >> + if (need_lock) >> + folio_unlock(folio); >> +} >> + >> +static const struct mm_walk_ops hot_vma_set_idle_ops = { >> + .pte_entry = hot_vma_idle_pte_entry, >> + .walk_lock = PGWALK_RDLOCK, >> +}; >> + >> +static void kscand_walk_page_vma(struct vm_area_struct *vma, struct kscand_scanctrl *scanctrl) >> +{ >> + if (!vma_migratable(vma) || !vma_policy_mof(vma) || >> + is_vm_hugetlb_page(vma) || (vma->vm_flags & VM_MIXEDMAP)) { >> + return; >> + } >> + if (!vma->vm_mm || >> + (vma->vm_file && (vma->vm_flags & (VM_READ|VM_WRITE)) == (VM_READ))) >> + return; > > Why not walk writable file VMAs? > This is mainly followed from numa balancing logic " Avoid hinting faults in read-only file-backed mappings or the vDSO as migrating the pages will be of marginal benefit. " But I have not measured benefits either way. Let me try once. >> + if (!vma_is_accessible(vma)) >> + return; >> + >> + walk_page_vma(vma, &hot_vma_set_idle_ops, scanctrl); >> +} > Regards - Raghu