From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from SN4PR2101CU001.outbound.protection.outlook.com (mail-southcentralusazon11012062.outbound.protection.outlook.com [40.93.195.62]) (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 F31013A7F62 for ; Tue, 18 Aug 2026 03:05:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.195.62 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787022340; cv=fail; b=Ck1cdAyZ/OUt0Aei433WyFmQO5gF3ggfuvUpJ7ZnoyKDJh34zghfKt0izoCVK+YXGCnhg5I7dto6NFfOwJH7NaAVcqfo96O27toImmaK/6OmF2k/B1iyM+1XJLBzTL3dSUwMBrJgfaMxTrhrGFyujyP6wUzhOgBqaj5JeN3buEw= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787022340; c=relaxed/simple; bh=RhG+H1CJFFXroD+OSI1lyY/NTYkOfh2yb9cg/2eLH8c=; h=Content-Type:Date:Message-Id:Subject:Cc:To:From:References: In-Reply-To:MIME-Version; b=g+7J+L0mcQVyMiPucYl4zAkgF2G6WF9ckCcDD25WxPLJ4/rUdNwfbBk+iigECVYS9Hmbv8elHIyeTG42NB9psQGGgqtiKD42YwtORBjYUiL317Ido58wNABZrG2JOm7M+/nFFyy/xB48X+GyoymssfKsnFdSzuC33RKUXFvyVdc= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=YRhqIJra; arc=fail smtp.client-ip=40.93.195.62 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="YRhqIJra" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=J+F6TokjOsugay/Xq+27NCL2a4XJFRARyQhv26KWD7YYnTnFGG+764edcXsMY9omfNzLjiKuYqIxxZJ9xDE0CjjeHairbKj4Ld4/sC/zR+Tm4Q5DeYRqktz9zbjzUVDNWJKfliwlsoW9ZhE0XT64E31Ai3+DTos7gEgBfS1KRiXPPTUoKxb9wL+9b1Hj+/4iGWfe5t6IPdsvw0RTDMJ59lZSgEe0y1b3sRsEW2KFT5AZAlGmaKfpOYo7nLWwZ9kvArEGNXlLE6TtRCQVJqIi5lIUUgQ6wOeUwt/oWz5vIiDwoyGkAEgj6zcTWYh+ag6TW5U0y3jrgjod7bcIPgdbRg== 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=QCoxR5yIPT2U452UB+MOFIbJAtI3HJ9BVBY9Zxy2sGk=; b=HXVc+Ip2Wmzf4CKYuhwh0FzRVKulyHH97hVjUAzTKzA+oQ84C2tanm6lQGcn2UFeyPXVywTh8Wf7+p/ZwBq/SdYC+xa0pfotqyOfyF9JN89fyJWM4Yg6OKmCuZNa6PcOfyxoY5fR2cxakgI2e0V8fZPieN6UUDZCp8RPtZPiqyIaIHtBdetUOhuUCiVTB5WBOs77qnhc3ycqVqDERiBeA464EjXqvBgzxbThWrCWxnmlzag2ZGphX5aas1/B0KmaVirUETfWfAKA+ku1aF79QWVqiBmnbmUxiHrPMjdlm95bCBMsHsQM5XV//bhXQ4Qlp9gjkIYTnHJf9pHEadvinQ== 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=QCoxR5yIPT2U452UB+MOFIbJAtI3HJ9BVBY9Zxy2sGk=; b=YRhqIJrarHmvbeIqW62DAQxpcA2Sx7RdR3tJiBvxaH1h2T+nqoDlatia/GC+76WeSLkyJRKSk7JHpRzk86k+IMPR4pEv3juZ3MA83Npd+iDBZPXrE+Y6T+WlXDhEY7UGilZ2Tp78Sb/uNLX8moK+fsSGjf6rUclq0w0jtKwQBs2yfDVQWfSkf69q2JTcdMEBCMclkA3FzJYJKU1Ah49XA+ph80fYRLdJLO5FzfV0siLnvnooqI8+dPsGLVcWBNrwZ3zCG4HG3emPRUxxYHt9dC2JiblHV2YXr8VhN31u8gE6hnH3CN8jhtSeaFUcD3QrL4z7KrPqtIyIvv+3v2wwlw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) by DM6PR12MB4337.namprd12.prod.outlook.com (2603:10b6:5:2a9::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.13; Tue, 18 Aug 2026 03:05:24 +0000 Received: from IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16]) by IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16%5]) with mapi id 15.21.0315.016; Tue, 18 Aug 2026 03:05:24 +0000 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Mon, 17 Aug 2026 23:05:21 -0400 Message-Id: Subject: Re: [PATCH v2] mm: fix incorrect vm_flags usage when checking allowable orders for tmpfs Cc: , , , , , , , , , , To: "Baolin Wang" , , , , From: "Zi Yan" X-Mailer: aerc 0.21.0 References: <7d5b5eb27be798f89d563b06254c947ff53db0b2.1787020910.git.baolin.wang@linux.alibaba.com> In-Reply-To: <7d5b5eb27be798f89d563b06254c947ff53db0b2.1787020910.git.baolin.wang@linux.alibaba.com> X-ClientProxiedBy: CY8PR10CA0011.namprd10.prod.outlook.com (2603:10b6:930:4f::12) To IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) 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: IA0PR12MB8374:EE_|DM6PR12MB4337:EE_ X-MS-Office365-Filtering-Correlation-Id: 8f6528cf-c505-4c84-de03-08defcd58c4c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|23010399003|7416014|366016|376014|22082099003|18002099003|56012099006|6133799003|5023799004|11063799006|10067099003; X-Microsoft-Antispam-Message-Info: 2V2eUTP95ePsYFZMuNe/VkZ1S080VTFs9OZmeTQHod9pto+CVOH7fKBw4vn3/EcDr1fyha9ZG0O60pc7aZU9IPdr+hR4kFssPCoiQ1OJ7L3FizvVfE/0mXf75peaugHSnimK5JX05BMJdo6BceAsxlFTXY4Qw4ZdBASsm/fC1J/8sSVlRcTCoEaKruaH17z16X7gv4qu1LjVoaA15HozhPmNPKPRcl+nOETGvpt7LjGdB++4VkHD2WjGPac55N0o9ylQC2FVXrAOwmsvC9BEDcYYuKLGLF+WgccgAET8FPZhsfvezRaXhGXPtx/do/phgM8MpQDtU9IdRzL0T77QTxil3JS73ewiM5BRUb/HiX+O2JQVQwwOkWskxx/1EP2nAf8D2iL8Hq9POtPkKUd8rPHhwcF98RTdkkEPdfijc0pFM8K9+lLQVY/AJHDpr5eXqXoxdaiO/sDTTHoMy0UWlV3v9LSXEhM/8NRL7Q2tBLpquyivhm6St92KOyy2En11X+HfAnQVJDEDKQIL/+rub+UcrtEz1AF3ex43uh3kGzpT/YPp9hMJlPdZdl8o/1Qj7hoXsFr34OE5LS3RJ2Vp4//6PGy6qPmAwLlT5HQ3JfrB8Q6YjAExzrjuLOEC6dDXHlXVqAGHDyh0pTtH0Wcr0iVqbwabsZnkGVoGQNPfKgg= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA0PR12MB8374.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(23010399003)(7416014)(366016)(376014)(22082099003)(18002099003)(56012099006)(6133799003)(5023799004)(11063799006)(10067099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Qmk0U0lXZUQ0NkdIV1ZNS05uRW1NbFBKakNpRkF0T2MzQk84NEFQNG9VNHI1?= =?utf-8?B?dWh6OGsxZ05BSTBwbW0yZldwSjN2TGJXL0toWHJHaWNKRW5JVmljSkFTVjdp?= =?utf-8?B?TzNjM2VzbU5GY3F2RFZFUldlaHZkclpLalVTTzV0Z3AraDV1dE9EeFYzVTBB?= =?utf-8?B?R01WdUZxNUFTK1RESzAwalV3bTl2dHdZUUJPVDVCdlAxbG5xbEhaaVQxdW1C?= =?utf-8?B?VktPWm5mT2s4YjdoZjFTazBoQms4U0JHR1BwRkQxNGlDTk1Zb09zMWoraFpx?= =?utf-8?B?V1laSGZEbnd2MzBFaDBvamM5YUNBaWdxNjZ2d3k2bFpHMmRoeFJyS01rVEFj?= =?utf-8?B?SkJkb1ZqZ3MwcHc4NXRHczVXV0I2b090NHcvWXljeGVVR0EvNzhqVkVxWFh0?= =?utf-8?B?V25ialk4VUJDVytheTFGUEc2Nkh4aHppUktsMHVuSnNGVmVMVEpYRVM3V0xt?= =?utf-8?B?UmNrQUpIV2dTZllJTU9TV0NkclRscldqOWxTcFFwbHVDY0kvMVVKaE5VYjNm?= =?utf-8?B?c1FQalJRMHFLT2ZLWHV6TUdFVHBKMmJzVFhtS3d0cnFHSGVrV2hLVThOMU5l?= =?utf-8?B?Tkw1WjU4Y2dDV2IrSXd1SFBka2VUSER0bWI2eGQwRlR4SkNzN1dsRWlPcjQw?= =?utf-8?B?TU9PSnNJWFBBbW5NZjh6UjNzWCtzQ0VlTnlLMGJkbE1KTXhnWEN0S0pLTGFk?= =?utf-8?B?Z3d5UlhlWmJ1a3N2aWExT2tpcXEwRnI4SFBVUlRRMnFIODVGK3k3WXpZcmlp?= =?utf-8?B?djFVZjM2Y1p5NnpyQTJ5NVpiZ044cWlmaGFHL2Z0QldHRkhnU3FRY1BPR0hB?= =?utf-8?B?ajBNYUoveTVzY2tDTjJjcy9rODRuRHRPYVl0YlZKek01SHpRZ1oyZGhnSC9U?= =?utf-8?B?czFrN05waEJ4WHhwUldRWjV5S3RDekdqaUJZMUI2d25TUW52ZGZQM25JMEJk?= =?utf-8?B?ZUdXb3BmR2l3RUxjZVFTRVhCd1lyVlZpRDQ2MzdRQk1OT2picklpcFhicEFm?= =?utf-8?B?MWhSYUhZbDhlKzlMQ3EzSTNEZ0ZRSFZweXpvbE5uRWl4YVcyc2dqQU15OXo0?= =?utf-8?B?bVpBUk9BQzJLTm9KaUEwODF1VTIwc3BNd25KNDZMWVBLZWVYWHlNSEN6aGsv?= =?utf-8?B?ZVhkYVZQRFRJYkV2aEEwRnFaVURtZ1EvMTh2dkYzaEtWSkFRbzdNZldwL1hJ?= =?utf-8?B?Z2h4WXV1MXowU0dEVzA3Qk1vWGNQL3YxQXY2UStETGZLWE1sWW1NejQ3Z2tE?= =?utf-8?B?VWNCbVRrUEYwTG5RNytTcDRkM00wZlJvNlVwY1RvbjNiUGEzU3NORFRqM002?= =?utf-8?B?bWRVa1lTcE1HYlMvdDh3WUpqREZxb1NpOFJPOTZRcUlDRnN1dkFLMHdWWXBZ?= =?utf-8?B?eWtMRDBTQ1VhWGcrOTVlRTd5NlB0WTR6NHN1Z2pyR0tRK0tnOU95UFlnNUFl?= =?utf-8?B?TkQzK2szaTQxcE9ZVXRjL25wTU1aU2wvUW9oTkhiNnQ5RWJNZ1JPTWZsWjdi?= =?utf-8?B?SDBRZjRFajZkMFA3bE1PN1FPWm13YUgrREpmVHRVMDlCOG5wMSt2VWNVSXJu?= =?utf-8?B?RnRTaWZsejU3RWxldWFRdk1SSXNEbjAza1lXYitoTXNSNlFrcVo1TVF6L09I?= =?utf-8?B?RG95cC9mWnhtYnd1MUtFSlNCKzNjRUVQaXd5L282OG1UYWFRVmZydVJZTE5s?= =?utf-8?B?UWpQaXIrN1U2WTA0MXQ1UW1Ca0p2UWI5SkhDeEJXdVE4ZTgxNmlBeEJCOEdO?= =?utf-8?B?cndYNjNrRGhQaUJ3KzNFZllxOURHR1pWMG1KalpGelo2a3l0czJ2TjQ2UmhC?= =?utf-8?B?bEtZdUVaV1NBV0ZTWEU1UWtvaXZ5Q3c4ZEJPWHhaNXBSbEI3cFRRYU1FWG9t?= =?utf-8?B?cXcrblUveTZ4MlNxYy9rL0prY21aR2JQQkdDcEYrMFRxTG1xRU02N2pCbUF3?= =?utf-8?B?a2RtUS8yY2hGMVZHbGtlL2tuOFBaRDdvdnd6SkhxQTRjbVpGK1Z4UGJwTFBu?= =?utf-8?B?V2FPNmM3SVk4M0E0WWJFa0s4VU9kdFdDM1RyZ3dWRllJOXdVQlZuanlWVEJT?= =?utf-8?B?ZVhqZkw5UjhtWEJKa1RsZ3pqMTYzaFdiNEsweG5TTnFmQzJ2b3VRdVhpM3Rv?= =?utf-8?B?ZkpQUE9iV2Y5YVBjSXZSVzE0aFZxbmd2OTlpN292K0E0RGFxVkJKTUJhOWVM?= =?utf-8?B?SlV6ZmQ3SHhZcG1HdUJGVTBGYjFybjA0TWZNU0UxZWQ5UDZlcGVDWWNJRkM2?= =?utf-8?B?dzd4bEtvdzVqYzBNb1lhWDNPb0w0a2pGZ3ZmVTFqczJyeU8yMmhKL3NNeEJ1?= =?utf-8?Q?dnawPDEsOZEN9CpUc7?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8f6528cf-c505-4c84-de03-08defcd58c4c X-MS-Exchange-CrossTenant-AuthSource: IA0PR12MB8374.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2026 03:05:24.6542 (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: q1KpU4TqHTmtDk6A6uYPFGIiXahOLNHvWcqFneHcTuoEBnk/Hczp9SK8PGa+LCxE X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4337 On Mon Aug 17, 2026 at 10:47 PM EDT, Baolin Wang wrote: > Lance reported that when nothing else causes the mm to be considered for > khugepaged collapse, an MADV_HUGEPAGE-advised tmpfs VMA alone does not tr= igger > scanning. > > After commit 6beeab870e70 ("mm: shmem: move shmem_huge_global_enabled() i= nto > shmem_allowable_huge_orders()"), the shmem/tmpfs allowable order check re= ads > vma->flags directly. However, when MADV_HUGEPAGE is handled, > khugepaged_enter_vma() is called before the VMA's flags have been updated= , > so the check uses stale flags and incorrectly rejects the VMA for collaps= e. > As a result, khugepaged does not collapse the tmpfs file into PMD order i= n time. > > Fix this by calling khugepaged_enter_vma() with the new VMA flags in > madvise_update_vma(). Meanwhile we can remove the khugepaged_enter_vma() > in hugepage_madvise(). > > Reported-by: Lance Yang > Closes: https://lore.kernel.org/all/20260815181632.21453-1-lance.yang@lin= ux.dev/ > Fixes: 6beeab870e70 ("mm: shmem: move shmem_huge_global_enabled() into sh= mem_allowable_huge_orders()") > Cc: stable@vger.kernel.org > Suggested-by: Lorenzo Stoakes (ARM) > Signed-off-by: Baolin Wang > --- > Changes from v1: > v1: https://lore.kernel.org/all/ed34ca03ae7d65e89467fb87bc961f5497049c00.= 1786948410.git.baolin.wang@linux.alibaba.com/ > - Update the commit message (per Lorenzo). > - Call khugepaged_enter_vma() in madvise_update_vma() (per Lorenzo). > --- > mm/khugepaged.c | 6 ------ > mm/madvise.c | 8 ++++++++ > 2 files changed, 8 insertions(+), 6 deletions(-) > > diff --git a/mm/khugepaged.c b/mm/khugepaged.c > index 5a06e3942e88..79effd3f3da4 100644 > --- a/mm/khugepaged.c > +++ b/mm/khugepaged.c > @@ -454,12 +454,6 @@ int hugepage_madvise(struct vm_area_struct *vma, > case MADV_HUGEPAGE: > *vm_flags &=3D ~VM_NOHUGEPAGE; > *vm_flags |=3D VM_HUGEPAGE; > - /* > - * If the vma become good for khugepaged to scan, > - * register it here without waiting a page fault that > - * may not happen any time soon. > - */ > - khugepaged_enter_vma(vma, *vm_flags); > break; > case MADV_NOHUGEPAGE: > *vm_flags &=3D ~VM_HUGEPAGE; > diff --git a/mm/madvise.c b/mm/madvise.c > index c179938097bf..cb93cf82d8df 100644 > --- a/mm/madvise.c > +++ b/mm/madvise.c > @@ -178,6 +178,14 @@ static int madvise_update_vma(vm_flags_t new_flags, > /* vm_flags is protected by the mmap_lock held in write mode. */ > vma_start_write(vma); > vma->flags =3D new_vma_flags; > + /* > + * If the vma become good for khugepaged to scan, > + * register it here without waiting a page fault that > + * may not happen any time soon. > + */ > + if (vma_flags_test(&new_vma_flags, VMA_HUGEPAGE_BIT)) > + khugepaged_enter_vma(vma, vma_flags_to_legacy(new_vma_flags)); LGTM. Reviewed-by: Zi Yan --=20 Best Regards, Yan, Zi