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 A63EFC36010 for ; Fri, 11 Apr 2025 14:44:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 49863680008; Fri, 11 Apr 2025 10:44:54 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 44728680005; Fri, 11 Apr 2025 10:44:54 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 29B5D680008; Fri, 11 Apr 2025 10:44:54 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 0810C680005 for ; Fri, 11 Apr 2025 10:44:53 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 2637C57D5A for ; Fri, 11 Apr 2025 14:44:55 +0000 (UTC) X-FDA: 83322034950.18.87D4B96 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2069.outbound.protection.outlook.com [40.107.236.69]) by imf30.hostedemail.com (Postfix) with ESMTP id 274298000D for ; Fri, 11 Apr 2025 14:44:51 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=CwTniI55; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf30.hostedemail.com: domain of ziy@nvidia.com designates 40.107.236.69 as permitted sender) smtp.mailfrom=ziy@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744382692; 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=mDuN5KP1a0UKjyALNH4c6ezBbcF91d83q78zTmbuR/I=; b=73A/6KaxH7dBp8A74awhfzbpa9cTlju4NieqmE4e9iBwviRlVMCB2EBof2R5KbcwEu44i9 RbW5MWbUl3C7QYkIineBSp6Eb34uwCupsyYS6T8Cmb8iEioWF6M+95P2QHvDfbYr1N4rCq XqIEl00Y81BKD9fFnqGccTIVaCgKmJY= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1744382692; a=rsa-sha256; cv=pass; b=zj886TTU95omdgZpa9+133nLRLbsJL93e7/ZSd4t+rCPIyt9tIpkERKiSWr+QhCiSBOzqo wFb8ZDsp3P6c09tgoWVYJUKcy/YvPW5ENuatUuf06eAgt/NckLIvEugXx7ZI8p9Cn9CCj4 fUYugM/G4r9P/rYJXuSeCVbHky094EQ= ARC-Authentication-Results: i=2; imf30.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=CwTniI55; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf30.hostedemail.com: domain of ziy@nvidia.com designates 40.107.236.69 as permitted sender) smtp.mailfrom=ziy@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=PkUpfoNNl6Mh1mfF5PCupPJYJ4xWsDvCrUF24ip5chGOCtZfnQVKJpHOMJ+3pDfU64oSG7ao8PZGdc++YUPLMz+Q1RsX72dBagxznW7XNP8w+dkWmZIIfnzCIyL10LNcbJ/0g7NXHB0tj5PoCZJdfiENdBUMjNUOvQGJUCknQTiqbYR/6aKuHA4btE1qehgtLVz9w5HKNKsQ+tvpIzKcJaDkyHOhr+4NV+Ko6MWqiP24mVENxSU2Xd5t+wbKjhFocSgdryp38ob3t8THHVD8SwhA8Q9YH1/dV4kqglk7EsTrWZyo2xoDLAh/Z0wwVwDH+qVcv5LTVrG+cJE+PTr4lw== 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=mDuN5KP1a0UKjyALNH4c6ezBbcF91d83q78zTmbuR/I=; b=pa8oC10CYTpLag2IzbEJXzX/zD0rMfABDOcNImLzEYeO8DxhwDYjIXRlTQhnzOO+zalL6RGE7EgiNNrUogCskUGa7TUNpwQr+KhgJWB1LAmxPXWkikfukUdlf49YtTh1/LBwpqqle4x9Xeous3W2TbZJ1M+KgtQjKWAxSnPtEP2Bf7vDOEahi1OPxQ45Q3XtO8ecW9SkDV2tIwh+0ICJRqdTTIkL3cGIIyN7iXhuIg5N8mP3OXm58zPj+c2IWkLQiektZrD7ByqYLBhSrPHVbx1fku2wfHgHjl4RmtWjynQfdqwN1MYNY6JLzZrZ1Ks0Y+dlBanxaPEM2+Ku15zb0g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mDuN5KP1a0UKjyALNH4c6ezBbcF91d83q78zTmbuR/I=; b=CwTniI559QIcHyQXK7HniPa0Ls/S+/13QCEYF1BrnhyrijJ0BJipLSJoz/0gMSMfNVZqEGLJiShI7FPlFzBp2rIiHwNUkoIXoI4GK93A6K0mEVfjRSZjZ3FsKuXnOClDgB2P5D4IfUw3ON3gOon3xWHXvGKhJT6qziq/xbQhBCE3bnt/JIe8WZsZMWJJDpyaARpM41w8XCtQyXQ64/2lsyMBxkn6whWzJb2yrrNDrpLchcVQPkTzDAQEDJZ+FNB8gxp2hiUEleFZtth64x3J//2ypNthAZ/yrfhHKESzjNPqmsV35sBLFGo/GcN076oPBSbeslIul1mqQYnCZlUS6Q== Received: from DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) by PH8PR12MB6817.namprd12.prod.outlook.com (2603:10b6:510:1c8::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.32; Fri, 11 Apr 2025 14:44:48 +0000 Received: from DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::5189:ecec:d84a:133a]) by DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::5189:ecec:d84a:133a%5]) with mapi id 15.20.8606.033; Fri, 11 Apr 2025 14:44:48 +0000 From: Zi Yan To: Barry Song <21cnbao@gmail.com> Cc: David Hildenbrand , Baolin Wang , akpm@linux-foundation.org, willy@infradead.org, ryan.roberts@arm.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [RFC PATCH] mm: huge_memory: add folio_mark_accessed() when zapping file THP Date: Fri, 11 Apr 2025 10:44:44 -0400 X-Mailer: MailMate (2.0r6241) Message-ID: <97612A28-8654-46C1-A2AA-C953C7EAAE4E@nvidia.com> In-Reply-To: References: <34bab7a60930472377afbfeefe05b980d0512aa4.1744118089.git.baolin.wang@linux.alibaba.com> <5c52b67a-8e7e-4dd7-9127-96944715d883@linux.alibaba.com> <1E123113-7A0B-4D3A-AC7A-01767D7BF2D8@nvidia.com> <247fca57-8280-41a6-85b0-03a32ea08210@linux.alibaba.com> <6b532646-041f-4077-b09f-ff6d43aa4a81@redhat.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: PH8P222CA0005.NAMP222.PROD.OUTLOOK.COM (2603:10b6:510:2d7::23) To DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR12MB9473:EE_|PH8PR12MB6817:EE_ X-MS-Office365-Filtering-Correlation-Id: 459715e3-5536-48a4-bfca-08dd790768a3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?utf-8?B?MGxLcFllbm51djhOcTlKNXpBb2ZVZjljSXd3b01NL08zbnhYZ1NMZXZ2SXpE?= =?utf-8?B?Yit2d1JBQVd6NUlqTFp1WlZ3cFcyMENJUHVXRnoyeGErZHBVMXdzcHpHWTBk?= =?utf-8?B?di96WWhaT0FHM29saXBLZUpXbXRwb1RjS1pqN2h6VHhjNlZlSWx4UWpnMUhN?= =?utf-8?B?ODBGM0NrYWtxaXNVTWRzd21YSml6WHMycXJzMDJGdVpGLzJQQ0VLSlBSbWRB?= =?utf-8?B?dS9sZnJxaEE3MVBHa05UckVoNFJzRzhPM015YkJkWld1LzNTWkN2YUk4bXVE?= =?utf-8?B?M2JzTkl5aUtDY3lRd2xXTXowUThuNDFLenN5a3VPNWt2R2xjai9oS09iblJD?= =?utf-8?B?cG1WR0FsMWZpUGNPU2J4eU03Q3Q3ZmsvOTBzWVhMdU9LeHhpeEw0UmtjMkhy?= =?utf-8?B?RS9PWlY3QnVTL1NNY09Ydkh3ak10a0JPYzNQTFR4T0k5MnM5V25nejBhOUdl?= =?utf-8?B?Vnl4bXdFOVV1SSt6dWlZZ0F4elNUMUdKMDBpZUV3bzJKZlB0THBIWWJvSlV6?= =?utf-8?B?bjhCQktCOHdQZTdvSUdIUklWTWVtVnZReWNaL1M5UThNekxHUHFReGdhVjdG?= =?utf-8?B?N012cW4vbm91QTNaUW11UUpzMkZlM2pGTVVuckZRRjBEMmFFMTV0M3JQdW1U?= =?utf-8?B?dHYxVEdLRE5peHl5TVcyTW9tMUhBeXgyS1orMmp3QU5oMmxIcHBBdVVHMktq?= =?utf-8?B?ZXhnL3BRZGVkcFdhMnhMR2FYcmFsc0VBZFo1R2l5a2JUNHcva1RYYlFWVGd2?= =?utf-8?B?UDlHdk5oTFlnYzVwdFNOb1RWMkt0Ti92Zjl0WHd3YVBvYy83UkZURWpFRE9U?= =?utf-8?B?aG9PcXE1M01vVUpvU3BJWFdBSmlkL0ZQZisrQ2VFMGg3dkVXV0JHWUF6RzB3?= =?utf-8?B?YUNFWlcxczhXL1l1Y2dzenBVR2cwOFdpbWhvQk9Mc0loZ25pQkVxUDF0azRr?= =?utf-8?B?Mm1WYzVaUk1ENEI5blZ1YmRlTGFKZHFTL0JjM3ZwdFRQWHhvbC84RC84UjBX?= =?utf-8?B?dGlBQzM5QkFQZ2hmT1hwRXlTUnFFQk1GU2xmdXhSdENBU09TVExxbk1qU3hV?= =?utf-8?B?SExXOSszOEMyUzJ6MW56anZkWHBoazRSL1FEaWVycmVTa0ZZZmJiZkQvNTEy?= =?utf-8?B?VnUyQnI5ZXpqV0pWdlVTS0wxS0xRbXUrU3JpUFVSVnU2aC9wRVVOTDJXdjJ3?= =?utf-8?B?SFpFOFBIK1QxNGVSMHYxWnExVml0ZjVLckhCdk9mQXhidVowRXBIVWtVWmN6?= =?utf-8?B?TmZRVE14alZGMmhJTlR5K0s0RE5LMHFVVUtDbTZUNWl5VXBmU25UaGN1Tlpu?= =?utf-8?B?UHpMbkNONjMwZUtTVWNGcVJyNUgwaDdIK1JkME1WcjJVa0dseHFPWFpLc1NC?= =?utf-8?B?QnFkMzdUZW85d3dmR2tEczlDR0ZVeDVmbHZZMlFkYVFnYnJXdWtST1ZTRklo?= =?utf-8?B?bnJncXU0WnJxRmRNcnVkTGxiSXNyaWp0bU5YVVlNdEp6SVFGSWpqYmE5bUJL?= =?utf-8?B?UkF2WndTMFYxeWxOQUh5K1RYU0hENkhKRUlLYlNPVGVzQ3FKTkdoZ0FQZ0Uw?= =?utf-8?B?RDNhNVJoL2kwbytKV3J1bW5aZjIrMGhXRDErNitYTUZqT3NhMEZYM05LZTgv?= =?utf-8?B?VGZ5M1puSzFSUEQrWlVXanBXVlhwRlVwa3JLbFA1ZGtlaDFGaWZObnhNeGtY?= =?utf-8?B?NkZGQmdCVTZ2YmRVUmNpNlhuYnRrckhvV0gvNzNGdFk0d2xuOVVsNnY4VlRs?= =?utf-8?B?VitFOTZhN2lGajJxME9xWTE5UC93OFowK1VkRi90Z0s0MDg0Q0RRcTlVbUJx?= =?utf-8?B?cmtSaXg1L05OOEMzTHZHbUVXaEp4dHdJa1dwNVdjck5TOERON1ROQkVxRUZR?= =?utf-8?B?YUxyejJvVkRqUHdhaDJYUzBaQjZBNmdTRjc5QVdEK3hjSFBKeit5NWFtVWVi?= =?utf-8?Q?SlwWRDxJNJU=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR12MB9473.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bkUwdzdsNlJhRUczcXZvL0p1cEQ1RFVJOTQ4V29HU3lzRU4vMHdsdzAyZnVs?= =?utf-8?B?RGxoOXdWU2xITWIzSmFDaml1bUkzdnpqOWR0SVB2a0xZaEU5RVZYdllicCtr?= =?utf-8?B?b2RFd1BlaWtDV1hnMUdmR2hYOVMyUzBDbURtaDdlTlVablM4eUNtZzBSdEtW?= =?utf-8?B?QnozQUZjeXdaenNDUzRHM002UEd3blhrRTQ3YjV6T0ZhZmJjZkN1S2dOVmow?= =?utf-8?B?NlBNOXNoemtDOHViTjQyb3hZRzJVanJoTGFTYjZ5NWFKc0UwNFEzcFdVQXA1?= =?utf-8?B?MkVDeGFtcnZXREFSamVCVmFjNVJNU1MvWW4xN3hvWU1UaGF2NVg1eU5NWDli?= =?utf-8?B?cVJnbUM0UVJsNjZab2FFNC9DSlNwaWIzZ0ViQUEya0tUWk1OTmV0ME5rUnlM?= =?utf-8?B?MFZacXBtRTVBOTcrWkE0K0U4bFV6NHFNd2t6aEFMZjhySlFHK3JSaGlycFZ3?= =?utf-8?B?OXFIRFI0cllERTZsVG5lb05zeEQ5R0JRTzA1YlhYendORGVMTS9pSWFxaTEr?= =?utf-8?B?V2tuZFdOUHlBSEVYWDE2QzJyVGhrZjBicURiNnJzREpoMGx6WitRcVlNeW1a?= =?utf-8?B?QzRIU2tsa3QvYUkrcHhYNTV0bkgxTG52bUdqUXhoQjA2TlJvb09sMGFMWEox?= =?utf-8?B?Z2kvb25oWm43UHRGbGJUL1JUVlViUHd1MmVCWENURGU5TXpiMlRSZ3RZZUhv?= =?utf-8?B?eWljdFlUSUdPcHZXZk9FOFhZdllLY0RnSEFBQlZJN2VKbjlpQTJ2ZjBVK3V3?= =?utf-8?B?aUdLYmIrL3c3a2ZpdDBHOEdqZ3J0VElPUEZvVytoSzBkN0Mvc3NpZkx3bVRy?= =?utf-8?B?Rm96K2lmSlpWd2tTRWhtUEpYaytMOUtTcEh3RU4xYm9NZDZPcmJDUDZJMGFk?= =?utf-8?B?UEtsTmxVYUI1Sk9oVzlPYnc4cmNibHptUnk0TGJmSXp5RHlJc2puNEJYVHNq?= =?utf-8?B?SkFsZmlwempIYU1sb05VVE5vM3l0MTNHd0VEci9iTXJSbmpyRkg1SHlkcWhq?= =?utf-8?B?UVRxVmx4MUUxOXNwZG44ZUtueTZEdGVhWGRoTjM5Vlg1Qk5SQVcvSEZuOHVC?= =?utf-8?B?bXdrS3JyZUJkUUlXYk1LREp6c0pVTXJRbVZkZTFwd096UnpIN1NQdksvalFV?= =?utf-8?B?RUp0WEJMQ0JGSlR2S1BZVnc0NEhqNjJnZVIwZVNpbWhMNWlZbEtNQmRVcWFE?= =?utf-8?B?WlY2WUV6akZNbWNxWDFvN283VWFFUTUxUGxkMzAvMDREZmYyeEJLMnMxWXVp?= =?utf-8?B?TmpnRVhFN2tEcElsSGg3bzNqTGF6ak5HUVhJbnRxcWFkcDRqb0xzL0JEZ2JK?= =?utf-8?B?VjdBbW0yUThnQ2lwNG9KT1k1WkJoZTRxQmxQazNiQmEyWDNwVDhNLzNpYWhT?= =?utf-8?B?ZUlQWmkyL0VOdzdaTDRmUnJ5Ulh6V1pSaWFTcGZzbmd2N2VoYVdoYmpPNERv?= =?utf-8?B?MjFiZ1hyT1IvdElLNTJnekRCNmlNbGQ5a2JONzB5MUMvaEVLWHlnWTcyTTFP?= =?utf-8?B?d1JEWjNDRGFjYTJ6L1ZSak4yTDZyaXA2Q3lRcys2TWJQWG53L2I5Z0FHb2N1?= =?utf-8?B?K1piSGRFUXNmSk9zTitiWGpvY1UzcWd5SXBvcVl2WnFmNHIxaDNqTVpKVndN?= =?utf-8?B?WCtlNUtCODdMR0hzTmtscmU3dDlVek1BTnBEV2RFUU42c21IRVVRZTJMUFRk?= =?utf-8?B?Tk9HWHZqNGJ5Q2pzNHczQWh2WWxlM1h4cUhxN0REM2laWDVUaU5LRnFxY2sy?= =?utf-8?B?Uk9zaUk0NFFjZ05ZOGZ0aG1hYVJmNmJIMGtjMDc2WXhlWVEyVWhSNkZEQmQ4?= =?utf-8?B?SHFteTNrd3FZSFZNbXlmWGJuYnZxKzRkeTRrY2pjNHZDRUNKVEhsZ1pnVnpE?= =?utf-8?B?THEwYUdPYmFUTHV6dU5KTTZ0K2FUb0ZiUk9MWVZKTGlDNktnUWZrcStmQ2xl?= =?utf-8?B?SHFOdGhLNHZDMUUrbVpmeUZGeTRiKzIrcjk3RlZXY05YNjBOa3k2ck1rZCs3?= =?utf-8?B?TE5MZ1I1WWpBblViRVlueCtreG9UNkVOQTQrYkY3QUc4SUh6MENGMnZjTTV3?= =?utf-8?B?bml6UFNJUk1yTGhKbmxka2FZUlZZTnhzWEYzNlpzV1haMkxwbjBmOVFDcmxo?= =?utf-8?Q?ef4e6pVAWzVDkfLKYe15Ws6E5?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 459715e3-5536-48a4-bfca-08dd790768a3 X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB9473.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2025 14:44:48.6164 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: cvOU6HkEjfhpVTDaxGJpi7BWhKAlna4eIcL6SzBpPtDXh5pFbjuS/OGaMr7po9Dl X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6817 X-Rspam-User: X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 274298000D X-Stat-Signature: 4zmaut5d944snkq5yr17yss5riunfw1s X-HE-Tag: 1744382691-101110 X-HE-Meta: U2FsdGVkX18wQUtSPzhZEZPDNBr6GUabWalJjKDwqIHsWUxkwpgJHKMUnabjoSMmvv4McUnXO+a+56eHxS+z4EBVrqcWy1hV43O6gXmiDXffMB/WgNFsfUCnMUXkP+nA7fgjKUSPIWa7XK4bLdRYsyP7s2jUZcys4tuntrCATlLTD6J2QMRHpHhm4tsJsIw3T13aI7yjxG8CR/hpfbBWPhr3VWVyHFnokjlT/66wqqjdxSI10BMDKnrhsgWKaw5gaRcXpWU9DcMhbbiNep4DcpWSsBcdzrnXYPW6Q/52++WEVVOC8lijGjGOtdMwLMzd9OJCo1BM+f6SmwgW/tdsQKP7Ya4ylK2gq6gSX9s+TVwpGXW2sPxYDYiG21ChzYccq7WpMG/3HK4lwqFYAXjB3p5+QwUa26lvDn9ZHlDRzUUYjiKZVtj0n6KTL8kEA1friNyehtTKuPlSYamCq4ScKDMPt0FUv4mmjRHmmeaTQowLmg/zdc9YRh2qwFoHi/2nWq7hyGsL1b83rbyaac3xoWcwdAOQZeai8R9Rk0CzqOXhHYT9xVQ9NDZkc71dafPHLnpRJ1MvrnZjAMOnoj+Zc22VxYnH+3QXp/aZqxQTjnOpJU466i1xYx0RVQpoSJa3UCkdWPHppB4yN+y6Y2+wKtD6HHSI3Q7v4Al9tGkZrX2jfyU1ULTVmSveW+VyFL4jyrxFkyIti8PHZr9kiRKBsGpudkAdovMBkqSSppK2ZgBKnGx4HBWqhr9eIMxLrL+TPSpXAAalGHYpyI0YdrNRKY6VFD8oE6Nl2IIV4M+o2bY3UUUl0AQTZl/LDFzgpXeg1z6Cxuz7wGZ+8kfFYjCArCTpInEXKCFAPqGJd+83isJZpkGYNWiTvia1RIHwlshnj/eUFqS0le2oWAqe8RYT7yt2vcR1w+YtFPCRqPIpY+clvT57neRMeRvNFJpULiWG6COYUDPrZAq96ky4P9d umj08mhz ZSOjvJwsC9V9H0ihzN1kNFoz07mwBafe1VhPFFYd4MAu/bLOH00Ss9Euy//DuyJ4o34iaJE/RuRZhgKB03/odKQvW+H9giQetD4RT9TufJG0/CJGFwND9z3d9CSpQyrAknfuPK6pf7ju/PVTFRyxfgrKqi/zqBe1ruF1tOf5Z6U+vV8Ft9dZxRh4quYZFAuE1z6Je6YpSqAc7iBKQP3sB3L38gaL/03VbHgs4pAwq6OMjXwWVfPzX4BGwD8FeW+t4nCbtzwDgjjWD2LmmHwp3QE9yMVe5M/1OazmsETFL95JZfgdnJYr9X9/6VDoa7k0wSC5IPv0ESGDdRoXkQ4dOu1bk1YR9x+e4qnGceVvNStIRR5ohkfoAsCNi6aSYdBkpGxwmQ4fVJ++XOw63SdER3hJTk4qBIWJxhV3vdN7JoS6bYgrZE//Cfpi5z7t+/Ez2c/o0rer5yohxM2TD7DKbdWxtL93yA9jfXP77n0ayEA9i3m3HDdYgx4tMs1UH0r024GXv 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 11 Apr 2025, at 7:51, Barry Song wrote: > On Fri, Apr 11, 2025 at 4:42=E2=80=AFPM David Hildenbrand wrote: >> >> On 11.04.25 03:20, Baolin Wang wrote: >>> >>> >>> On 2025/4/11 05:56, Barry Song wrote: >>>> On Fri, Apr 11, 2025 at 3:13=E2=80=AFAM Zi Yan wrote: >>>>> >>>>> On 10 Apr 2025, at 6:29, Barry Song wrote: >>>>> >>>>>> On Thu, Apr 10, 2025 at 9:05=E2=80=AFPM Baolin Wang >>>>>> wrote: >>>>>>> >>>>>>> >>>>>>> >>>>>>> On 2025/4/10 16:14, Barry Song wrote: >>>>>>>> On Wed, Apr 9, 2025 at 1:16=E2=80=AFAM Baolin Wang >>>>>>>> wrote: >>>>>>>>> >>>>>>>>> When investigating performance issues during file folio unmap, I = noticed some >>>>>>>>> behavioral differences in handling non-PMD-sized folios and PMD-s= ized folios. >>>>>>>>> For non-PMD-sized file folios, it will call folio_mark_accessed()= to mark the >>>>>>>>> folio as having seen activity, but this is not done for PMD-sized= folios. >>>>>>>>> >>>>>>>>> This might not cause obvious issues, but a potential problem coul= d be that, >>>>>>>>> it might lead to more frequent refaults of PMD-sized file folios = under memory >>>>>>>>> pressure. Therefore, I am unsure whether the folio_mark_accessed(= ) should be >>>>>>>>> added for PMD-sized file folios? >>>>>>>>> >>>>>>>>> Signed-off-by: Baolin Wang >>>>>>>>> --- >>>>>>>>> mm/huge_memory.c | 4 ++++ >>>>>>>>> 1 file changed, 4 insertions(+) >>>>>>>>> >>>>>>>>> diff --git a/mm/huge_memory.c b/mm/huge_memory.c >>>>>>>>> index 6ac6d468af0d..b3ade7ac5bbf 100644 >>>>>>>>> --- a/mm/huge_memory.c >>>>>>>>> +++ b/mm/huge_memory.c >>>>>>>>> @@ -2262,6 +2262,10 @@ int zap_huge_pmd(struct mmu_gather *tlb, s= truct vm_area_struct *vma, >>>>>>>>> zap_deposited_table(tlb->mm, p= md); >>>>>>>>> add_mm_counter(tlb->mm, mm_counter_fil= e(folio), >>>>>>>>> -HPAGE_PMD_NR); >>>>>>>>> + >>>>>>>>> + if (flush_needed && pmd_young(orig_pmd) &= & >>>>>>>>> + likely(vma_has_recency(vma))) >>>>>>>>> + folio_mark_accessed(folio); >>>>>>>> >>>>>>>> Acked-by: Barry Song >>>>>>> >>>>>>> Thanks. >>>>>>> >>>>>>>> I also came across an interesting observation: on a memory-limited= system, >>>>>>>> demoting unmapped file folios in the LRU=E2=80=94specifically when= their mapcount >>>>>>>> drops from 1 to 0=E2=80=94can actually improve performance. >>>>>>> >>>>>>> These file folios are used only once? Can folio_set_dropbehind() be= used >>>>>>> to optimize it, which can avoid the LRU activity movement in >>>>>>> folio_mark_accessed()? >>>>>> >>>>>> For instance, when a process, such as a game, just exits, it can be = expected >>>>>> that it won't be used again in the near future. As a result, demotin= g >>>>>> its previously >>>>>> unmapped file pages can improve performance. >>>>> >>>>> Is it possible to mark the dying VMAs either VM_SEQ_READ or VM_RAND_R= EAD >>>>> so that folio_mark_accessed() will be skipped? Or a new vm_flag? >>>>> Will it work? >>>> >>>> Actually took a more aggressive approach and observed good performance >>>> improvements on phones. After zap_pte_range() called remove_rmap(), >>>> the following logic was added: >>>> >>>> if (file_folio && !folio_mapped()) >>>> deactivate_file_folio(); >>>> >>>> This helps file folios from exiting processes get reclaimed more quick= ly >>>> during the MGLRU's min generation scan while the folios are probably >>>> in max gen. >>>> >>>> I'm not entirely sure if this is universally applicable or worth submi= tting as >>>> a patch. >>> >>> IMHO, I'm afraid this is not universally applicable. Although these fil= e >>> folios have been unmapped, it's not certain that they won't be accessed >>> again. These file folios might be remapped and accessed again soon, or >>> accessed through read()/write() operations using a file descriptor. >>> >>> I agree with Zi's suggestion. Using some kind of madvise() hint to mark >>> these file folios as those that won't be accessed after being unmapped, >>> seems can work? >> >> Is that similar to MADV_COLD before unmap? > > I'm not convinced that's the case. Although the previous app exits, > its exclusive > folios aren't useful to the newly launched app. For instance, Firefox's t= ext and > other exclusive file-backed folios have no relevance to LibreOffice. If a= user > terminates Firefox and then launches LibreOffice, marking Firefox=E2=80= =99s young > PTE-mapped folios as accessed=E2=80=94thus activating them in the LRU=E2= =80=94is > meaningless for LibreOffice. In terms of marking VMAs, can you do it in exit_mmap() by passing a new parameter, like bool dying_vma, to unmap_vmas()? So that unmap_vmas() can change exclusive file-backed VMAs to !vma_has_recency() to avoid folio_mark_accessed(). Best Regards, Yan, Zi