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]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 249E5F588E4 for ; Mon, 20 Apr 2026 14:58:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8C6846B008C; Mon, 20 Apr 2026 10:58:12 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 876F76B0092; Mon, 20 Apr 2026 10:58:12 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 73F316B0093; Mon, 20 Apr 2026 10:58:12 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 5E73C6B008C for ; Mon, 20 Apr 2026 10:58:12 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id E5A1F5BE14 for ; Mon, 20 Apr 2026 14:58:11 +0000 (UTC) X-FDA: 84679239582.09.16AD83F Received: from BYAPR05CU005.outbound.protection.outlook.com (mail-westusazon11010055.outbound.protection.outlook.com [52.101.85.55]) by imf19.hostedemail.com (Postfix) with ESMTP id 013621A000C for ; Mon, 20 Apr 2026 14:58:08 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=eaAgl3op; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf19.hostedemail.com: domain of ziy@nvidia.com designates 52.101.85.55 as permitted sender) smtp.mailfrom=ziy@nvidia.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1776697089; a=rsa-sha256; cv=pass; b=zz6DliKEx09Xdr8WgBz5o/4AG83CeFlsXJVTIVn5RlernGIkAVVO2A0Qu/K6y2DdaUSJAt rnqykn97//D2mIUOa+azPJ/lLSHO5syOwny0ILmg8TYQ84wEq7bJIHINVCMGHMuZrs09Hb ZE08jJwJzTxqZMwFqLeu/6lhsIPHvvc= ARC-Authentication-Results: i=2; imf19.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=eaAgl3op; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf19.hostedemail.com: domain of ziy@nvidia.com designates 52.101.85.55 as permitted sender) smtp.mailfrom=ziy@nvidia.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1776697089; 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=rV2ui5RiwbqnqhAG/H2cKfmgsW9iYVPlP17qHeTumio=; b=1kTMXzfnVis27w+IVeucAC7wccif8W4KFEToTSGNYs7JFBxjFTSOVtccGlMM5PxGijZHck hUQO3nJFmPwYYc0nCdj4jXtniIkVfBgTcJ7Qzk3OsJXc94Yxlw210mSWgDDMx4ZwmBcV5E WyZRIpPnswPBmTiIAJATNhvFHxOUGuI= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=tp38ERwawBYzQmFGHwj9QCY2efsnu1AKpOAGi7JwjRi+dozvIudbujlETlYlzgiH5ukewLzjbjP5Ys62FUloLcNcoQsuhlvshUrl8yATjWS+EsuCu4t63BAMibTTy/w0+ucVLto4LuMc/vNrZpWD5CZQlsUIUhNKuTApXqMomRTvLNIAWqw1biY0fytO951s9sL4xCfbcfhMxGkUsOwFWtYYZgem9CpMxjerYy9aBKkYq8pvnrmmNXg22377nlNGFP5V0o587HL6KxQWT8mrBL8L25a2GGhrKCNMFqEMpkteYjkGFyz0Ubu33/YqG5p3P5n3k2mgOjPZoXuWoeyzFg== 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=rV2ui5RiwbqnqhAG/H2cKfmgsW9iYVPlP17qHeTumio=; b=V3HKJoUVI5rX9mUPiwA/RGSUrxTqPaMatf4D3MduI+ahDcIUndHXTLXQEPkORM4sKP4bu/qMYKbc5iCc6swR3lIfZ8rPXi3sGcGy7ozx+bdvd7vu0b3POTVILZ5rX+yJebDnnzyVRfx7VGoMybWyRMEt/peVJSqgR1ckNqCl//JiWmHqfKuSFMLvR6hAxeh5SJjkmFgeUzopYZNkfsXd7Js+i/t6V/YlS1tf+Ls/JXEK5WCO95Ucewwrf2no2VYrypQD4PpnkDbH+BumbaqeZjQa5ul2cbnR7dsyuVig8d/vD67Hxeegld//jdRW9o0hxfAoQ76+eRizSZzhNjHZuw== 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=rV2ui5RiwbqnqhAG/H2cKfmgsW9iYVPlP17qHeTumio=; b=eaAgl3op++ngnocs5RRBy0PYUEyirCCgtU8WhUS+XoGAewgf1Fwpx9p++qiy8Zn/+QuYeh5kZhVMxutjdTBeLWP7F2eE/IauuS3F/xwfMUE4Zow65CjkFDr5qmuMS2Reeaxs3UuPQ27DhieNa8GBs/l9iQGh7AVtTsbHFI3qaKXDIODBP5FdofRj9LEs5FDyCn7OE/BH3fSDM7gbaP8dyvcLe6mqzB1uixb1I25Kp69ubXdonN+HNW9wk0KVAdxPEKwrmTO+Ycm90NUf6w6bwbn0ZgYiA2nCNmB+jdfIv/1hpKPBoXCSGbt6gokK0MmYWGLnUvfoun+peDCEOmVDNw== Received: from DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) by CY8PR12MB8065.namprd12.prod.outlook.com (2603:10b6:930:73::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.15; Mon, 20 Apr 2026 14:58:00 +0000 Received: from DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::f01d:73d2:2dda:c7b2]) by DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::f01d:73d2:2dda:c7b2%4]) with mapi id 15.20.9846.014; Mon, 20 Apr 2026 14:58:00 +0000 From: Zi Yan To: Baolin Wang Cc: "Matthew Wilcox (Oracle)" , Song Liu , Chris Mason , David Sterba , Alexander Viro , Christian Brauner , Jan Kara , Andrew Morton , David Hildenbrand , Lorenzo Stoakes , "Liam R. Howlett" , Nico Pache , Ryan Roberts , Dev Jain , Barry Song , Lance Yang , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Shuah Khan , linux-btrfs@vger.kernel.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kselftest@vger.kernel.org Subject: Re: [PATCH 7.2 v3 04/12] mm/khugepaged: remove READ_ONLY_THP_FOR_FS check in hugepage_pmd_enabled() Date: Mon, 20 Apr 2026 10:57:29 -0400 X-Mailer: MailMate (2.0r6290) Message-ID: In-Reply-To: References: <20260418024429.4055056-1-ziy@nvidia.com> <20260418024429.4055056-5-ziy@nvidia.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BL1PR13CA0412.namprd13.prod.outlook.com (2603:10b6:208:2c2::27) To DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR12MB9473:EE_|CY8PR12MB8065:EE_ X-MS-Office365-Filtering-Correlation-Id: 739a8025-12cf-4cec-64d7-08de9eed36d9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|366016|1800799024|18002099003|22082099003|56012099003; X-Microsoft-Antispam-Message-Info: 1zx3+u5OeTfU7z5v9ZNQGQITBtUPTwvtFVEgNuojQg2bT7GEmfUCgRPrBmQ32LxY7Q91v2xp5JxbBO2cvIGRajbcSHvl+QK80FkmKjqrCXlikBbXcfsbbB1sfzPRh7nLVAVns5eT2niSAYBTbg6mY/8gCUyird0dzzkQYCWan2sqWeYgBOFNS3GV+NaNvEGLPR11/Kf8CmyERNCRYZLDGFF2dktxWk6ZJaB5F88a5rMKbiNdCO6anqZvwgRXaP7ERZKmZla3p+MBOLo7vg+kDD4xZNrh76IA8xRYuYU2HqfWYT/r7vpqROukhxRFayRLQgZ0AYI4Me8m0adEPDwpl6jYdgr9cSecU4nVDoRxOFFLBoiLEDzOlRMGmdxtAarJkZAekdWa4uxq41kYgIv6CEfXzQyQxmdJXI2cpQiCtTIHAxPyKkFUPO6W6enN8BuWiCmdvomtqXrqAkfJHl3ro/R0juQlII2+Am+HxHitZjWkZ6g1QAUIotZrkx7g+2LgZk8NVC/pOjH7t13ySu3ccagDWZokgBD6sxBCZTuaMIgrgIJ/Gq584h1FuP6GtRn6E97WanKka7PIZ78QBpcS+PPxUBRBRffYh4ilHTrcJsLjSB0Mxl7DffvQoxz8ysCQrFnlrxFGQwXW4mVErf4F3G6NNTbYSbjpFNqXVx0bqabdW0mXrHHqU+m2VBTg3RqO0Nui5cn5HU2PT1Xgm9FNwGaSNIHB+51yvpoio55v2YA= 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)(7416014)(376014)(366016)(1800799024)(18002099003)(22082099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?K2pUSGNLdjh1QzNUMVJvTDk0WHBZbUpmSldiVVArUDMzL1lXNDN5a0N5NHlH?= =?utf-8?B?clg3VHdnUDlwT05EZWoxNDJnelROWlpZeUF0a3FtbE9XYVV2OVBMYXVub0xl?= =?utf-8?B?ZUQrRnE1SThDOFA1WDF4djFSMjR6UTNHbXE2K3lKQ1UwOUJzNU54M2wwemc1?= =?utf-8?B?bDBnWnFYZjIxbC9hUnpZM1R6cEd5eHdiQmY4WWhKN0VkSDRYWXlYMGIxVEZa?= =?utf-8?B?blNUYUZJUjFQSi9aSmdaR3BEYUo1QS9CdjhtSEo1OWFMU0g5SEx6R20xaDhL?= =?utf-8?B?VHgwdHlSZzIxUzQ1VW8vZ1lYTnhxZjZuTlJhVnF0YndqYStENndSd2t0WUpu?= =?utf-8?B?SWg5cEJLRlpFYmFCaVQzWFlNU09pQ2QzelVNUmVLQzg5V05PSnRxYTkweXhR?= =?utf-8?B?N3NtMnJzY21lTk1CcTZmVGV5OE4ybTRaa1dYNWNPK1d2KzVUVTBLdUhMSHRm?= =?utf-8?B?QUt2SW1ncVE2Q0d2R3lva3l3NkptTTkwRzQ3UDVPSVMzVnNvdlVmQ2J0UzFm?= =?utf-8?B?OGdwQ2M4dmhFTHJkN3V3a1RiYUlxeXZPVFYwN2FyaFNoSmJtaWZSc0dHQTlJ?= =?utf-8?B?UE45R2tTSVFsbDFWaTJnUmhwcmVzLzlhWVhMNUhld29jN3ozRXU0YStXQXlP?= =?utf-8?B?SG02WmtHMlVCK0kzYzh6UzgyeFE5cGk2ZDFyQVlxMjYrdDcxTDRtZ0pJM3BG?= =?utf-8?B?c3d1TGhXcWZ6YWVXeUdveHRydnNCby9nQi80NHZUcjNqTWkwRWdIQmdlbmpH?= =?utf-8?B?NjRJWW5hdDZycFJ1dHZmM1BjOVhMYmlqZnVxK0dGcXNYc01mUDhVUUwzcXhl?= =?utf-8?B?RlBHc29xWHB6MFA2WG9wK2xHUmxXa3JmVGlxQ21DeHJLMzZzNWJ4WVA1WUlF?= =?utf-8?B?MnpTYXRrYUhxR1phd1B6RGs5NTJ6V2NyKzZvOTdSVGFZYkVlV2RaVHN0eHZ3?= =?utf-8?B?QmdpRElHeDczc1dGRUVOUkhFYUVVeEo3YUVJUHRsa2d2NitKNFBmeEdvWEZF?= =?utf-8?B?aDRsT3dTdHpjb081Y2JSZFV1VnJoNCszMi82bEpQTkJZUDkrTUpuUUNMVU5R?= =?utf-8?B?NGhodzVyRFRlNHJwbHhaYk5IdlAxNlhKaUgwMWNHZzBSbCtLNkdpY3huNGdv?= =?utf-8?B?NmM1Z0JmT2I0bm0wcWQ2NmE5eW1VbjdzRXl2TmZvV3RYOEFTekVmY05Ea0U3?= =?utf-8?B?R25qYytqTnliSUhnSHdCUEtuZVlsemQzUXlaY2ZkdFFsL0cvTStPSUpoSEpS?= =?utf-8?B?dWg3UlhMaEFwVmk4N0J5YzM0RXd5RHBhZGQxUnZEQS9UTG5RR0RJRHFEYjFi?= =?utf-8?B?bjNKN2dWN21JNU8xRGFXUnNhSDUwM0RLVDlMVFZackRLVjRJZGU3YUYzbW1E?= =?utf-8?B?RnpacnZqL2tsRndIejE1VCtsMm5KbGE0Tzc2WlJGN1oxRFlBTyt6ZzVxbEs0?= =?utf-8?B?NnRIZTZQSHVWTjZXTW1JaVA4Wk0xanBMZzNkWkcya3hFeVU3VzRBa3RITkRz?= =?utf-8?B?ZXBGZmc3eWFyUGFzektuTzVNNXIySmd1bXA3L2VkM2FnVHV2RXIwaFA4dEI0?= =?utf-8?B?Slc0aFBLZE9ZUW1QS282VFk0SXhHbHdDYVdyRFh1Mm9kaUhpWUJueU5LY25m?= =?utf-8?B?SVc1THpNbFRKVVpFL0NkeHZqdzdIREk2cW1yaUIxWWRWOUhMa0NPZHplaGZI?= =?utf-8?B?UjF2WG16Vmo4L09yOVlqQm1DeTdjaE0ySVNrL0xzeUoyaUQ4eDU1QlVneFlo?= =?utf-8?B?MTR1bXpBWDhwVXczaFBmbDZKelNHUHNGdFR0dEJnU3FBTVdsdy80Y1dWK0JB?= =?utf-8?B?bzZycm5JNHFManI0Uy9WbDFUNzdDeGkrcm5GVElpaWNld2R3TFVwQVRiM1lz?= =?utf-8?B?RWNXeDYrbzZoelJNbHBuTnlZR1FNeWtMWElxY2pjZ09ta0prQWVoamxnajUr?= =?utf-8?B?R2hmaGVzR0xyS2NYS3R2T1RqQ090RlNxQVR6OXFKOXlxc3Y3OFFZZjg3ZWZY?= =?utf-8?B?d3Y2NStxcThFZEdXSURzdjEwWExrVVNma0V6VHR2bXk5azFPbmhocUZTZ0F2?= =?utf-8?B?Q1lLUUZCTkk0QUJFeUJrVFRLOWNseGFaZU9yUXYySFZLRzhMSXplN0R4OWhw?= =?utf-8?B?Vy80eS9HbHRhWWRRUW90dTdoVlNPa1FUN0hHNXBCL1ZBWnpyN2xoS084S0pq?= =?utf-8?B?OFpYMU9zc3pvRitzYXJhckhLdE56S3NnaGwzVlVSZjNMU2hpTTh0SnJPaU52?= =?utf-8?B?STc3MGJDbFpSM2g0TWR2WVJ2anZyOTVseTVPZVlMMVBMYmdIa3h1MFF2ei9H?= =?utf-8?Q?PrjBiEVHWDiYn34YCP?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 739a8025-12cf-4cec-64d7-08de9eed36d9 X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB9473.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Apr 2026 14:57:59.9889 (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: jOwWt+nwr1Zvu6eSNsWyU4NHYWW5tf401AU2djEYznYR05953FvZxjlS8RCW+T7N X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB8065 X-Rspamd-Queue-Id: 013621A000C X-Rspamd-Server: rspam12 X-Stat-Signature: piiyn5r54f917y61jn7ghoehjbuppxsf X-Rspam-User: X-HE-Tag: 1776697088-473472 X-HE-Meta: U2FsdGVkX1+p10TGAe9tVRSA/aVVm+xvQWaWICG1pEhrYC3sahtz6NJNnG2xUPgE+myYzXW7b2EREmiFTghWTr94P86kHq+Z3QHWvwrBzuppNMNmCNmaKRxisSuT5engMtNm2PFQz2DdKI600uxQG8D8xIoSxkXN//ZCQUk3LMlU/qVMYwgbFWkwSwmw0QNu7zSoYncTfIZ8dQVQmjPYq1FrtldNtVk6MQmY8x51Fpg9GVcLqPVwxluDMi9MI79E1VaTbMNkfuLwl3dDF1e96XkW/7Xfr3wOENQqFeHFYCsDR6GTfDkyXbnRUoahGU0pG4/AOsCHCTv+ZRui8Fdiw1iterB3V5YVsLFNsw90JUAVjLUe7Qg/2DyqSc6oiKALQhk/WkUgSsS+EXeKo/fZcrxQ8I1YrnCIh+FpisQ9j9hVmiEaKYW9xL9Pxf8k5OtU3pQNteiP1ShfRKyofFakOG+jR3MbO8qRPyFsAMSudkVSwO0wj7KaT+/GqapzjicXoeWOubJqFwQ9GDkqwkfnYiAWZhcCVrukREW1n3jIl3ZsszpW6+b+zOpu+Ro9yvucnZZnAM/z8csxeJg9CAOimKVLbDDcsiE3o/Q8olZEyuXsxcSA82cIMZcEv1so/3BegdXGSvVv7BwrF9/Q9LmmtitFjcbm4K2DPdGJUNq8oX0oSs8J/bh+4gksNwc9I7Cm/D4b5O4hMLtMHjx3utOm3t5Dg5409FutEfQQbT37/GvPdFuUokRFjouNRKzR+gWPxxx95ziYNfF5dgQ9td/jHK+/4ttGExRNzW4k6dnpS+HX9dUWdtSJ5mZwa/JPGQpWOrBzCZm0Olo3ioFV1jUCq7zmCkCe1w2Y/gNQQsV118xQkDfdIHbUp9OuMzVpTrDK4uEumODRds0KvztyoWmEdfaTBfdv8In55q3kvwEIBIa0P8duALJklQ4fpszo3hnSGwAeZVjPtZGgbq8Yep3 LjkARtOE h4ZNADu56ganCr0w8H9FijGyJHFMzeEocPRMxRREAFFwMERj3pSuI8M+40b11bYi6rTPOiCsZjV8CIx1anao0+zPOcVQFhI7Im5ewic3/0334W6MB8Z+MOX/HTZD1tPWkCDNIZHAJFF6o85cORZOXIv6SIrk1cMbAUcTfBszHutt0sD6Yma4i8axCqiYunFRIfF21YWaWZsLzzGorcdRWsiw9CuViuwM9da+ADbwEnXuCNtCNLq/ZPGOOPzhNR39z1kvdtPT/mhZomTkNnjnu/0tiQGgDgIC6s6LFdB8SmeLonOKiRDVKjYrbaUgMZW9ic+GHosJYZMuk+TJvKyxLm/HlqmbHSZ6Urx8jXszSlPUY/XxnBVBZFllNQuR5ga/+DgjloHhVVHFd/B3Nukzkd2YCZIAdBZTZhNVxYngPZB/K+hdz58voN2CuILEIoqon6sBA Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On 20 Apr 2026, at 2:55, Baolin Wang wrote: > On 4/18/26 10:44 AM, Zi Yan wrote: >> Remove READ_ONLY_THP_FOR_FS and khugepaged for file-backed pmd-sized >> hugepages are enabled by the global transparent hugepage control. >> khugepaged can still be enabled by per-size control for anon and shmem w= hen >> the global control is off. >> >> Add shmem_hpage_pmd_enabled() stub for !CONFIG_SHMEM to remove >> IS_ENABLED(SHMEM) in hugepage_pmd_enabled(). >> >> Signed-off-by: Zi Yan >> --- >> include/linux/shmem_fs.h | 2 +- >> mm/khugepaged.c | 28 ++++++++++++++++------------ >> 2 files changed, 17 insertions(+), 13 deletions(-) >> >> diff --git a/include/linux/shmem_fs.h b/include/linux/shmem_fs.h >> index 1a345142af7d..dff8fb6ddac0 100644 >> --- a/include/linux/shmem_fs.h >> +++ b/include/linux/shmem_fs.h >> @@ -127,7 +127,7 @@ int shmem_writeout(struct folio *folio, struct swap_= iocb **plug, >> void shmem_truncate_range(struct inode *inode, loff_t start, uoff_t en= d); >> int shmem_unuse(unsigned int type); >> -#ifdef CONFIG_TRANSPARENT_HUGEPAGE >> +#if defined(CONFIG_TRANSPARENT_HUGEPAGE) && defined(CONFIG_SHMEM) >> unsigned long shmem_allowable_huge_orders(struct inode *inode, >> struct vm_area_struct *vma, pgoff_t index, >> loff_t write_end, bool shmem_huge_force); >> diff --git a/mm/khugepaged.c b/mm/khugepaged.c >> index 1c0fdc81d276..718a2d06d1e6 100644 >> --- a/mm/khugepaged.c >> +++ b/mm/khugepaged.c >> @@ -406,18 +406,8 @@ static inline int collapse_test_exit_or_disable(str= uct mm_struct *mm) >> mm_flags_test(MMF_DISABLE_THP_COMPLETELY, mm); >> } >> -static bool hugepage_pmd_enabled(void) >> +static inline bool anon_hpage_pmd_enabled(void) >> { >> - /* >> - * We cover the anon, shmem and the file-backed case here; file-backed >> - * hugepages, when configured in, are determined by the global control= . >> - * Anon pmd-sized hugepages are determined by the pmd-size control. >> - * Shmem pmd-sized hugepages are also determined by its pmd-size contr= ol, >> - * except when the global shmem_huge is set to SHMEM_HUGE_DENY. >> - */ >> - if (IS_ENABLED(CONFIG_READ_ONLY_THP_FOR_FS) && >> - hugepage_global_enabled()) >> - return true; >> if (test_bit(PMD_ORDER, &huge_anon_orders_always)) >> return true; >> if (test_bit(PMD_ORDER, &huge_anon_orders_madvise)) >> @@ -425,7 +415,21 @@ static bool hugepage_pmd_enabled(void) >> if (test_bit(PMD_ORDER, &huge_anon_orders_inherit) && >> hugepage_global_enabled()) >> return true; >> - if (IS_ENABLED(CONFIG_SHMEM) && shmem_hpage_pmd_enabled()) >> + return false; >> +} >> + >> +static bool hugepage_pmd_enabled(void) >> +{ >> + /* >> + * Anon, shmem and file-backed pmd-size hugepages are all determined b= y >> + * the global control. If the global control is off, anon and shmem >> + * pmd-sized hugepages are also determined by its per-size control. >> + */ > > Personally, I found the previous comments clearer to me. The statement "A= non, shmem pmd-size hugepages are all determined by the global control" see= ms somewhat confusing. For example, if hugepage_global_enabled() returns tr= ue but the pmd-sized sub-control is set to 'never', that means anon pmd-siz= e hugepages are not allowed. You are right. I will revert back to the old comment without =E2=80=9Cwhen configured in= =E2=80=9D like below. /* * We cover the anon, shmem and the file-backed case here; file-backed * hugepages are determined by the global control. * Anon pmd-sized hugepages are determined by the pmd-size control. * Shmem pmd-sized hugepages are also determined by its pmd-size control, * except when the global shmem_huge is set to SHMEM_HUGE_DENY. */ > > The code changes LGTM. Thanks. > >> + if (hugepage_global_enabled()) >> + return true; >> + if (anon_hpage_pmd_enabled()) >> + return true; >> + if (shmem_hpage_pmd_enabled()) >> return true; >> return false; >> } Best Regards, Yan, Zi