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 E8196C5B543 for ; Sat, 7 Jun 2025 11:55:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C6E266B0088; Sat, 7 Jun 2025 07:55:38 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C1F0A6B0089; Sat, 7 Jun 2025 07:55:38 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AC0006B008A; Sat, 7 Jun 2025 07:55:38 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 898506B0088 for ; Sat, 7 Jun 2025 07:55:38 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id CCBC7E1AC3 for ; Sat, 7 Jun 2025 11:55:37 +0000 (UTC) X-FDA: 83528449914.08.933EB54 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf23.hostedemail.com (Postfix) with ESMTP id 4C531140004 for ; Sat, 7 Jun 2025 11:55:34 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2025-04-25 header.b=ZUG59XfP; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=yMKlpZxv; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf23.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com; dmarc=pass (policy=reject) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1749297334; 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=gpYevWfI1pvq2Kfx4Jmzy5EKRVni8soTeF0rYoi9LbY=; b=hgDA6UQ1sPQZWiXUoIZRDw3CXIca8Tt3Ib5UZjNKbtgur33URXFyLyVTb13SZI2QlrYAPH fWCzhOaD/ddEzqybPkA2DHcDsW8IRgtQYEBbzDZLAoRoOuWN5HPQ24L9N9ZipGYIPV4iwb 4ZbNfQTotPYzhQm8se5wh3a6ORPnU9M= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1749297334; a=rsa-sha256; cv=pass; b=0GKAsYLAsLMOhUa9qYGFKfCCPsiPHw9emjiGTmPbiBWnRi70pQcV/teDANzCLEiHPjddc4 IYZv9w2EirVR1Vg6UIuomdFfA3pMP3nK4VfumIg3bfrvI7TezYGFdOqBLHsXmA/fW2x6Q9 WojH2z079yaEgwiYqY+jsPWTW7tRyYw= ARC-Authentication-Results: i=2; imf23.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2025-04-25 header.b=ZUG59XfP; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=yMKlpZxv; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf23.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com; dmarc=pass (policy=reject) header.from=oracle.com Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5579RUDX016577; Sat, 7 Jun 2025 11:55:28 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=gpYevWfI1pvq2Kfx4Jmzy5EKRVni8soTeF0rYoi9LbY=; b= ZUG59XfPE1h5xd4LsyRxIvYIkioHCKza2AKb6jm+THd9oBoNYpmLtQ+DKlfOn2ME tWL1tsDf7aNpnL89nP0hwInj+b2q6jmzJi01tTPmrGYtNgACauFXjQzYiTFBbiVf 0SJJ7OnrBs6GpjMJg7nwbEm6ezP/dYOkGVJVyaiw8Tg1onLXjyPeEXfCXRgWystl 2Mi/0i98sVPgkldkh7N8EARAWYeyBM5D84EmdTcesHkAaVeVR7PcTxsDas32NcHd tjHftiM8jzwRElGxQB1795WTQd4x+ZDuCovNfVtg8l0qxTKnXQ9dmZMQGAYSThJ3 MTXEzEATRcc8At/swTGswA== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 474dywr6yx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 07 Jun 2025 11:55:27 +0000 (GMT) Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 5576oDoQ007435; Sat, 7 Jun 2025 11:55:26 GMT Received: from nam04-bn8-obe.outbound.protection.outlook.com (mail-bn8nam04on2089.outbound.protection.outlook.com [40.107.100.89]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 474bv5rbdm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 07 Jun 2025 11:55:26 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=oNp92mlYXbtHNviU/IBBbgXt7F3CH0KSMC9g9TfztbSQMEKqVfvs0/IG9GNn6yRyL1fo+mO9IcM2vwKCUdgAgg0ZSNR0HpC3ZaKgB3qmBvz6+u4KVte3pKxeSqe2QjejcF9IpqFJNucN8CBEyQG7VoWJwKY3JVZiqtEpSTChLoQhy+IcQQ6DnSuPVyX8PL2tyHeuDdskIh0AGcWyucpLbnsDctGaYL6HFZg9jaZI9Np6phu442pv0nG5soDFo6Au65cwrV6lyylyo61W6/iLLUrpRie/CTjsuaVTIdrvndlioUPJy4VNHrkJBNLV8DxRXCVbNWj5ynsV7mWsNTroaw== 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=gpYevWfI1pvq2Kfx4Jmzy5EKRVni8soTeF0rYoi9LbY=; b=FhvkR2pXE3CknVkhb79oquA1hLlZ6Npf4kFBG9rLs3aMnZawMFbpPsnaDnrMak2z3IYqEhxoKK6n/ArYzXc2pECCQUKaLKPOARODUh+v8+Lg7o0H/pBa02gOv7SYk6f1awYVFg9gme09RJYvlzqkmBgrj91Bu//7nGIPstngbNoOZJR5Pxy+bR2+zudfQiprr5U3Zw1eaL1jgTrc7DMN+76GIIjMkggxQboHKXSH4s3S77VLRC/BWZPU2PDBwO0wdxLZN0u9X6zReEGqj0XkQnWPycVykwcErH/Ycy0zOcxaDjoUpk4/Zt7YOH4m6ZN7vPN+cTud43SeSOXXew5lug== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gpYevWfI1pvq2Kfx4Jmzy5EKRVni8soTeF0rYoi9LbY=; b=yMKlpZxvNt3IsIo9MaQs3JKc1LVuSdsy/mZJyH2M5KnMvGMErxYteRIUInUjiQxZ+EqoTzrKx1T3+vbGbO98t5lPNzEuOiKJsRsc8d3gPUzonbNY4nTH3rjJXTNxwoemSjTiu6KqJkUZh/mbSWxLblSpF1vSYCuTc/21itrtrAE= Received: from DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) by CO6PR10MB5634.namprd10.prod.outlook.com (2603:10b6:303:149::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.33; Sat, 7 Jun 2025 11:55:23 +0000 Received: from DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2]) by DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2%6]) with mapi id 15.20.8813.022; Sat, 7 Jun 2025 11:55:22 +0000 Date: Sat, 7 Jun 2025 12:55:19 +0100 From: Lorenzo Stoakes To: Baolin Wang Cc: akpm@linux-foundation.org, hughd@google.com, david@redhat.com, Liam.Howlett@oracle.com, npache@redhat.com, ryan.roberts@arm.com, dev.jain@arm.com, ziy@nvidia.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2 1/2] mm: huge_memory: disallow hugepages if the system-wide THP sysfs settings are disabled Message-ID: <998a069c-9be5-4a10-888c-ba8269eaa333@lucifer.local> References: <8eefb0809c598fadaa4a022634fba5689a4f3257.1749109709.git.baolin.wang@linux.alibaba.com> Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <8eefb0809c598fadaa4a022634fba5689a4f3257.1749109709.git.baolin.wang@linux.alibaba.com> X-ClientProxiedBy: LO4P123CA0352.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:18d::15) To DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR10MB8218:EE_|CO6PR10MB5634:EE_ X-MS-Office365-Filtering-Correlation-Id: 29ca6f12-ed91-4eaf-c1fa-08dda5ba2e91 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|7416014|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?bEsxZlhEMjNNSnJxTnNUYi9VZTZRNmZJTUs4aWc0Yzdac2FaTkszN3EyaG9Y?= =?utf-8?B?cEZEKysydEwwQmNVTXNUMkFqT1BRQmVtL25tdTErbitSREtVeDRCQWMvd1pn?= =?utf-8?B?b1hyTzVXOHY3TnA5SHJWU3Fta2VzNFkwS1hzK21KclROUzJLYVRZUjd2ejZQ?= =?utf-8?B?MUlRS0tjZ21JSVo3Z3hDclRiK1hxb3JtUXNGVFgzb2xhMWUrbVE1NlNqZW9Y?= =?utf-8?B?SW9DejZUZTlTQ0liYnBGL3QyckMxMGtWNGFPVlppQmpzZDNPUWl3eGZ6WnR5?= =?utf-8?B?VEhIaVU3aUNOcEhtdGJ1ek5RZ2xNdHZuRlZWelVZQVlxU05aVVdXNzNBMTQv?= =?utf-8?B?cENKMTFYaFZUVENEZG1VeWNJamx1V0x4Ymd3bWxkTWp3WjYzZ1hwK1hoZXh4?= =?utf-8?B?bDdhb1pGRWM1eGMzKzRZZGY1U1JzdHF2eUdzbXluTGVlYmhLOHlQM1dmWU1J?= =?utf-8?B?T1poeEFJN3ZGQytJZWM2UmdEc2k0azNXQmxHdVZsZCtabHgyV2tjKzQwazBG?= =?utf-8?B?NkVmR1JROTZsWFFwNnJjTWFUSmdBY2pheUxLTDJ2MmRVZWp1cCtNR0pJK1BO?= =?utf-8?B?T2dRZlFuY21ycHpyb2FueWhkV3VmVDl4alh4b21STmxkMGRWZlpqeUZKOWsw?= =?utf-8?B?a0ljQktjRlQvWTFBcGpaMzFXTFV6WmdBZHk1K0RqakJKRGRRQ0xBWnJDMFhr?= =?utf-8?B?RzNrZU4wdEVNd2dSdEFoWkowSFpxaU1tZUN3bkdwZTg3M0hYY1B4dGVRcmdh?= =?utf-8?B?eVZsODJYdllOczJCNVNINjl0bmN2U2hBSUJBRUpvQll2NHYvNWY3MnowUEJa?= =?utf-8?B?NEJlMjFZRUhFL20xeWo4N0dsNE4ydytpbnZrN3VCTnZkMytQQUYrMHJqU0lT?= =?utf-8?B?OFZKY0IwVzFiWGdtclpTQ3pUVlNnYnJEVmdYb1NpOUtFVXpUcW1uYm5GMTY4?= =?utf-8?B?VEQrd0h0QWN3RExQN09tY0lyWGxKVjRtWUtUc1lvcjhLT093RDJINE1NaWlu?= =?utf-8?B?L1FSN1lZSnJseEtIWVNnMmNWQS9PTTBCMFZUSXJhY0l5MXI2aS8rdjNXVDZ4?= =?utf-8?B?UEh4L1VLZS94NElwZXBNUm5Ia2JxRjl4WXVJT2U0VXdPcE1CQTNOU0U4RWpz?= =?utf-8?B?eTdvV0hiSmsvTGszRWlmVmVOTXlYQUpvTGVJVmI5Ky8yb3pJTjdvVHZnSTlM?= =?utf-8?B?R2tWTmp1WjVpbGg2RldHZDBUT0d6ZXg0blk0K0RPcjVPV2UwaGtyUnZwWlUv?= =?utf-8?B?RThVSWJpSVJjZWZmRXY4Tkg5eTVUaXZteU9nNGgwNStYM2hnbUNvd1pHaTNs?= =?utf-8?B?WkVmSlM2eWttWXV4dkJlc2FweWFRNXkxZkh2ajZTWGdidFk2N3FId09ZTzNV?= =?utf-8?B?MFFHMVNMTkdNaTNiV1RnTXJUVk9KUDhyREZLYzgzTk9zQ3ZKZzE1MzFncmZU?= =?utf-8?B?YnlHYUl4amFXS3phWWE0WUloZHY4ell1blg5M2Q4S3VocTlkSXQ3clRKc2tp?= =?utf-8?B?RGVQM2xqWkp0WFRtYnJIMHAvVDhveWJQUGdWYzh1M0N2NHRVbE1PM1ZCUXV4?= =?utf-8?B?TmF1amgzdjFLMVVWb2cvTGMrSVQ4MXVuQWh5QU1rSWIveHBFRVNiS2oreXJS?= =?utf-8?B?Z0ZuaFp2U0FObVZmaHdMYTZDTENYbEY4MXdNU0ZFT2gxVzVZTzJXSHIvSlFo?= =?utf-8?B?UTRQaE0xY1FsVFk2NUpLa1JEZSsxSDR1ckZRKzRVNm1XUG5KV0ZudmJ0dzZt?= =?utf-8?B?WU5SSWN4eXdVcTYxS3M4aEg0Y1FTa0NSdmNiSFhNZmsyWmlINXNrWHhBeDQ2?= =?utf-8?B?ZHkwcVJLVlozdkROY2xGV0sydVN0amdnMXF6Y1BYeSsxNUg3b3BlRHV3NjZC?= =?utf-8?B?MW9jV3FVeWs2cmNUWkVBckl6ZGd0NzNUUzM3MGt2dWNBQVZUYnVibTJVNEJN?= =?utf-8?Q?6AG287X4Jqs=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR10MB8218.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(7416014)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?WVBueHhiVTVtZWRYbzhBKzZWVElmSFlBekpjc3ovM3JJK3Zrcm1TcGpvWjBn?= =?utf-8?B?dGxEcVltYytLUEg3ZlVjc055V3RjKzdlRE40V09Galo2NUk3M2ZBRWxnRFBT?= =?utf-8?B?SU1ONWFHbVJnUEd3QWIxNW1ZT2F5S0Q3RlBvYUg2WlNOamJvN3F5MGdQSWtT?= =?utf-8?B?OSs5Y2lxQ0p3cGJiNWRVQ2ZZOGpjUnM5a2lMbXpFK2VDK0FSY0lYWjN5NWxu?= =?utf-8?B?cTFVZC93dEpwTXFsNENBWnlrT2FmWFkxVXhMQVMvRGwzcnFZYzBkZ1Mxd3lk?= =?utf-8?B?bzh3RVZNaGJkekkzUWNZUXY1Lzk3S3hRWFBNV05qRzRPL1IrenBWVHRpai9V?= =?utf-8?B?UktYM09QM0Y4ajVaamZNdlRIV2R2cGdmTmRSZWlOOFVqRkdjU3FqaTdRcUs2?= =?utf-8?B?bWk0V29LdzV4Z1Z5ZkJrWmFvMFh3TXFuNjUvTGZuU3Z6K3Y1dURrRnl6dWYy?= =?utf-8?B?NkNZQ0dhMTdCQlJEMi9WSlpkNG1nakpQMks1c09WTlYrTHpZb0ZHNy9tVnNH?= =?utf-8?B?b2l1N2dML1lxcHJJZzJESTlsNDlrNm1XMWtmek9WYjhBT2kwaXFZWDRQSElz?= =?utf-8?B?Y01XSzN2L3VQc1lBWGVCTzZBYWUrZW1oazFVaXU3dlplNHYvendYWFZZa3Nm?= =?utf-8?B?dStZOE5teG1SR2JkZjU3cWhzMEVsUnRhUzNJUzhTMUhUWERnOHRwNGViWTBi?= =?utf-8?B?a21ydTdxRVg2TFNock80ckdQaTQ3SURiNzNDbWFiT2VZUGNnT1RvcmZuVXEx?= =?utf-8?B?MHkyZ0tZc2xqZVFBbXVTaUJ4YkY5bk9RaGlyRTFXSHZaSmlxSVdKK2hYSTFo?= =?utf-8?B?eUVTS2ZPc1BpMVg0aEwrVnd6ekIxdldCVnhJd2RDdTNiajVhUjY3WVFOdUli?= =?utf-8?B?ZUpuK1M3WitRNURzakc4ZlE0M1Exbm5vME9wNXVRL2w0WGd6Y2tWUUNHWDVR?= =?utf-8?B?bERpMHBIclpjY0lzRkhjYlVRSGF3RnpDa1BCT2ZvOFNzRmk1eERzTGM4dGtz?= =?utf-8?B?MEFtWjFYRlp2WlE0TjhSMWZqUE5xWWJMRUpBR2lHZWNjTzBpbVU5Vkt0WHBE?= =?utf-8?B?dHFRVTQ4bFcvdFplYzZTTGVpOERoUFJobGhmUHpHZlcvRFN5ZVNGRHc2SWtT?= =?utf-8?B?RUJKL0NtbDZWcHZTMS9Mb2c0MG9HSXZtM3h1K205aDFoR3M2cVVBMDEvK0lL?= =?utf-8?B?TlBkVGVpQWlEMTNIQ3g4c2pyUWcwTllwOUNjbks5dUEyb1UybVYrRDhyR1Zs?= =?utf-8?B?N0FpRDN0VktkODd1VnFXazA1VS83cFZicUxkR0oxWENhZ2V0aW1GZkExY2Fx?= =?utf-8?B?Q3lzVEloMU9DTGVRZzdxaXZaalpRMkZ4SXFXS2JINHpLUmxmTEo5czl5a3pN?= =?utf-8?B?Qlc0eTJpb3A0Y2E1NHFqaUZhSHA3dmNBTHpydGI4d0pNSFJORzRvTEZFVFNV?= =?utf-8?B?M0JiVXRUYnBuZitCMFhxOXBJVGk5TDYyOU40KzJodGRkVUROSEtuQmJSbGdy?= =?utf-8?B?NDVHTi9iV01YZ1NaOXhjM0MwZUU4RDF3eGhKRWZNbnBNanNKcWwyNGowTlVq?= =?utf-8?B?LzlocGZ0dDdmaW5VWTdBd0gyYTRUM1hHWjllckQyajFpSzJJVHVpcFd3blEx?= =?utf-8?B?NUlOT3FUbW50cm9kYjJJUTlMdGpxQjRmS2FXVERCcnZjc3FmMkhROE9Rc2l1?= =?utf-8?B?Z2taN1NhOFNlUnloSmI5OE5VNkdaeW5OWXdYdldDblQ4THJmZTZYdHZTUkV2?= =?utf-8?B?RUFjM3MxdkcvNW1hR0JqUkFsRk84OTZSSTZiNElYVExOWUdBVkMzQzJrNUlX?= =?utf-8?B?TGRuRUlPQklWTVZPRVJhV3NaTHRZaHZveEIzYmJ0V0NFNkVFb3Nic1NYOVVm?= =?utf-8?B?VTRVRnRUU3BjQkNwWTljZUJoODFoM2FFZGJla01UVzFxcHJQaG1NZmNKbGtn?= =?utf-8?B?cndleVRlZTFzbHlqQnRmOFNtSkZHOXk1OWltTGRGY0NtdzdWWXpka0svOTNu?= =?utf-8?B?bWNzV3ZwN2k4SzR1aWtpdFBIeEw2c0VRZlhSVVVEcUUxQkJmWFYwSlFySFdt?= =?utf-8?B?cWZlRDVMc0NieWJ3cUlmaEgvY1BjM0JuQTJmUERrTjlFT3FuWVRTdE5oQndx?= =?utf-8?B?SmNLczZRZmVwZGhBMGI3UGF1YzhraU5lb3ZkdC9BQmF1RllPYm5LSWU1TGJy?= =?utf-8?B?cEE9PQ==?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: IqKa855EeBl6FEqGYlmB1Xdr+sqUT/pBsOyhiz12yRplY5sbi5KnvkWtUS1zTUUUm5KxGjSo1n/IYbAIq5X5thdmQt5m8BNwPsW8xNgvxT1gjKqGF8GLd4RaiyqyKJ7uzXc3dv8i0dCQ08D9AD12F+yNkdPLuJKuEz0aOmWKECw+XwY14dl7oXZA8yh+3MMZjGkGZIuA43VekGgaSJ0qIPL9sfy8j90jGNvH8ZM/S8cfiKvcznp6fdc0gm7GIh44PaON0FFQDudmrcnHW/zrAG6B4evosMqBGgLP6G7vXVXf1DmcFnUNsSxaaARnrIVxDy7KsruvY6m2KuzvTc97qNhKwPUgg6loFBv73OJ5Mp36zWHE5s825nfJEslP6sY4Lw7FRKT+nfZzqqBPz6wRJE0Fk8HQAnGIDQ/b6TQwS49CRhk6TKacem56jziRhejZOhNT376g89elm/5A8NYXXn28+YqbuUJXLMw15aCI2GIQQq6ErKjEwpeg0PcPIS2OVda/FUrEo346j2jpugkVqagROGxmtTwp2e/nNN6GwZGN8Y+Wofpckr9N2131mdWCFVYNv+50+rprGClzNyX4XPTcCXCmv/OHJmps+XHVW/A= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 29ca6f12-ed91-4eaf-c1fa-08dda5ba2e91 X-MS-Exchange-CrossTenant-AuthSource: DM4PR10MB8218.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jun 2025 11:55:22.5381 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: sFEf+o28YoOaLOUJV4Imv7ds5CipOPtDSVt+bdxNL77O+k1nkq7uT8S43jgSxKHQ5rv3d0UkbujRFSJsT53sI6t0qJ0wDvzBIxQnqOtd3HY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR10MB5634 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-06-07_04,2025-06-05_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 phishscore=0 malwarescore=0 suspectscore=0 spamscore=0 mlxscore=0 bulkscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2506070085 X-Authority-Analysis: v=2.4 cv=fdaty1QF c=1 sm=1 tr=0 ts=684428af cx=c_pps a=XiAAW1AwiKB2Y8Wsi+sD2Q==:117 a=XiAAW1AwiKB2Y8Wsi+sD2Q==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=6IFa9wvqVegA:10 a=GoEa3M9JfhUA:10 a=Ikd4Dj_1AAAA:8 a=SRrdq9N9AAAA:8 a=3VIUYK0wnweDehpCAUEA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 X-Proofpoint-ORIG-GUID: cKMGPhgvliSIQPrlmZR9vOMmssAmb-sz X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjA3MDA4NSBTYWx0ZWRfX1g3nM48NFtce 9I7DU5qKjwYj/4WOBtX84rSyAbgZIQRvScQmhn4fTsznGVbGCPqs2Ho14WYNtHYIhtwMcbaeOrs ZY2HqIyoKRofd6ZYYeKseJf/OFKf90jg1gNNFy9IVBqmRkUTrYctjGSE30l1gCaw3UiMFF38ubZ NwV/SxsHxkrokMxO+nGAM4Zdj27THwiBJmzNhqls/LCFZmCq4y5yJNGmR/P3mLz34j9opw+2/63 hTc0x9SyYQe2JJRKjpvYVzxF7COBn5KinQx1piLFCnHALke30shKKZysV9nNvjjw0fkXavtw6Ul rPQeFHDRuH94YxHHWfV4BaNLZCw7GLldJtdao+dzIjM3VOMMr/mdhXhUgo0ASOw+HyChyWsvkzN HuW5OsqsPrEkQTQTZhFZn3Ajycp9rfigHEVuo+VyoxfyCxQsQj1Kzjn7SCEho0NOQRjmLQDy X-Proofpoint-GUID: cKMGPhgvliSIQPrlmZR9vOMmssAmb-sz X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 4C531140004 X-Stat-Signature: noqcm6bktgst9hxwgmyyq8h6bb4zx9o7 X-Rspam-User: X-HE-Tag: 1749297334-880701 X-HE-Meta: U2FsdGVkX18dcc5Jb63nO7MIDBbolq33CaKiAG6w/SvnCvcLqiyRQMphrRinhiJf5wRtGYIaL0jh+YkMEWWa5S/kTQBbx9CjYqR+OS1G745x6GNnoMR9KFV6or5WKn+29pvGLm7FoV5XhxjGLhLzjd4w1eFsxfech723dXVG/6Wu3fE5YkFyP6wBanUr7Q3kajX3Dws6QXrGsVvl5mCEeemWjSljNuAw8AkckyOTqXnMk49gNlUUt/gSXrOY8UX4YTdnkoXMv7QPWJZt+9+OWaRaiKnwgvjYMfCf5yE8fMS9Acc026agE7LNaj6kZy15QZuXB8KHsugKVk5CI/gmH17v9KnhxZhP8qNbiXuLYbDT+t3JcNpPYHC5kyaMRg0wKu8pUUZKg/d4maw/HFBlWDmfDF+e4ru1EOzPz+kOnuklOImhyiKk/tnW+AnJ99CIHbzjfWowEfEMyxIkVMMyIaSMQOpLxxt6qdCHd0qm7nkHe1yg4DkBBz8bzoQ0i5ewDIfbQGylveAXnlfxAjTcS5dCAb9GwdJsfjeaEh2UVbFnzA5xJ+PYRm/Tw/QXhiELwE1NDnpidKGPjOJf3srEQPMbJ6+AucgAOHV7mboWKWCP+wOUbQsROP3y+D/NguzEooYuQpEDteVdjqgz/cq0VVmoEb5QqCztSNFPOpYc5Vr1AP5eRs5B9upF3TIrULsBRXHnKt2wTdFvW4OB0ua2Cw/2OQewJRL0wfhiD2lRwHgCcNWB1UcKixJn3IVS7wuVsU0ubFVSFejhj5BVP79oN2xUeOa8TTXR3TG5bTkCgO0X9VWgkl2TQ0SsOzCuVhhZ65BRcJUkCeVir/b/xavO6vIpzTCxlz9eEkHE1xY5niRTq0h7/1PFNyi2uPWGLOuYLD4P7F1RMsOOGR+rfa1/WSVhLoTolgXRSSsIyMXZ4VuKz0IlawkUXC5iaDLm5xann97/AE21OdEHM7aSmW8 7/MW5K1N jYerzGP4CHdIsXhdiHt9N0VGt5s8OEuEbXf6IZ0Ez032UrnDWWkvfadu0G5K520utSkhRy8KlfE15DsD0OxufP9KgQz+HML2s/gniXAefSty1ZbQg1ckfn0GQtYdxMo2dtVpw66bwxaoL5vED5Gdff0i5/CCNxZhYVMz3DNlp3fikmu6Z7Kf0pqHvYexCC8wACAcXXw5IZ38oSZfQIca1FEjJ1mZ5Xtwcw/zBpf7mfSenBMGsy1bN/bdutugbp1a67Bmyglf2gW+1M6W82Ce9iQLYHT/WHx+c2v60+oiqjtj4weKSpMdQOOfUAvP3jstJxy3gjZ6OEday00NFKzY4+7Yr5wx23R+WZ2L4p3uRNNIwpsma6mnvQqE6prWzwuNAccg4j7pNZ+zV31fWptWq+mM26t4h1S2UgNKAfUKIRzrp3k6N4VClDDuK0dOLb0+bopWfsoaVzrZVWI/RMPJdtmr3XzhExLvdTIKF21TsTLQWhHXXC7iOxCJhYJoMsOIia2CvR1JLvl37WuztUCZp8Z+ZwKu2pdRlp7buHvPGoSsTuS3Xy5xA8eT9S+wZDgDtXLENO0uzs4lsWQgFjGi7KpwgG8qzOhR9UIxbpxm3JU2GYOBcrTfA6nLh9VJhwgOe+1teFwUnqMm1Rs65823m8aix94qrzEufi2hWLOAxHz8x+6TUtYfDEGBACuGx1+2eQHWXZYaP9z4XLNq0a21cANmIkk+uXRzsZHN4vLhXa/aRzerPCiddgkqZycRe0Nodiybm 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: Not related to your patch at all, but man this whole thing (thp allowed orders) needs significant improvement, it seems always perversely complicated for a relatively simple operation. Overall I LOVE what you're doing here, but I feel we can clarify things a little while we're at it to make it clear exactly what we're doing. This is a very important change so forgive my fiddling about here but I'm hoping we can take the opportunity to make things a little simpler! On Thu, Jun 05, 2025 at 04:00:58PM +0800, Baolin Wang wrote: > The MADV_COLLAPSE will ignore the system-wide Anon THP sysfs settings, which > means that even though we have disabled the Anon THP configuration, MADV_COLLAPSE > will still attempt to collapse into a Anon THP. This violates the rule we have > agreed upon: never means never. > > Another rule for madvise, referring to David's suggestion: “allowing for collapsing > in a VM without VM_HUGEPAGE in the "madvise" mode would be fine". I'm generally not sure it's worth talking only about MADV_COLLAPSE here when you're changing what THP is permitted across the board, I may have missed some discussion and forgive me if so, but what is special about MADV_COLLAPSE's use of thp_vma_allowable_orders() that makes it ignore 'never's moreso than other users? > > To address this issue, should check whether the Anon THP configuration is disabled > in thp_vma_allowable_orders(), even when the TVA_ENFORCE_SYSFS flag is set. > > In summary, the current strategy is: > > 1. If always & orders == 0, and madvise & orders == 0, and hugepage_global_enabled() == false > (global THP settings are not enabled), it means mTHP of that orders are prohibited > from being used, then madvise_collapse() is forbidden for that orders. > > 2. If always & orders == 0, and madvise & orders == 0, and hugepage_global_enabled() == true > (global THP settings are enabled), and inherit & orders == 0, it means mTHP of that > orders are still prohibited from being used, thus madvise_collapse() is not allowed > for that orders. OK so it's already confusing that the global settings only impact 'inherit' settings below, so they're not really global at all, but rather perhaps should be called 'inherited'. Maybe I need to submit a patch to rename thp_inherited_enabled(), or perhaps that'd just add to the confusion :P OK this is also not your fault just general commentary. Anyway, I feel points 1 and 2 can more succinctly be summed up as below, also there's no need to refer to the code, it's actually clearer I think to refer to the underlying logic: If no hugepage modes are enabled for the desired orders, nor can we enable them by inheriting from a 'global' enabled setting - then it must be the case that all desired orders either specify or inherit 'NEVER' - and we must abort. > > Reviewed-by: Zi Yan > Signed-off-by: Baolin Wang > --- > include/linux/huge_mm.h | 23 +++++++++++++++++++---- > 1 file changed, 19 insertions(+), 4 deletions(-) > > diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h > index 2f190c90192d..199ddc9f04a1 100644 > --- a/include/linux/huge_mm.h > +++ b/include/linux/huge_mm.h > @@ -287,20 +287,35 @@ unsigned long thp_vma_allowable_orders(struct vm_area_struct *vma, > unsigned long orders) > { > /* Optimization to check if required orders are enabled early. */ > - if ((tva_flags & TVA_ENFORCE_SYSFS) && vma_is_anonymous(vma)) { > - unsigned long mask = READ_ONCE(huge_anon_orders_always); > + if (vma_is_anonymous(vma)) { > + unsigned long always = READ_ONCE(huge_anon_orders_always); > + unsigned long madvise = READ_ONCE(huge_anon_orders_madvise); > + unsigned long inherit = READ_ONCE(huge_anon_orders_inherit); > + unsigned long mask = always | madvise; > + > + /* > + * If the system-wide THP/mTHP sysfs settings are disabled, > + * then we should never allow hugepages. > + */ > + if (!(mask & orders) && !(hugepage_global_enabled() && (inherit & orders))) > + return 0; > + > + if (!(tva_flags & TVA_ENFORCE_SYSFS)) > + goto skip; > > + mask = always; > if (vm_flags & VM_HUGEPAGE) > - mask |= READ_ONCE(huge_anon_orders_madvise); > + mask |= madvise; > if (hugepage_global_always() || > ((vm_flags & VM_HUGEPAGE) && hugepage_global_enabled())) > - mask |= READ_ONCE(huge_anon_orders_inherit); > + mask |= inherit; > > orders &= mask; > if (!orders) > return 0; > } > > +skip: > return __thp_vma_allowable_orders(vma, vm_flags, tva_flags, orders); > } I feel this is compressing a lot of logic in a way that took me several readings to understand (hey I might not be the smartest cookie in the jar, but we need to account for all levels of kernel developer ;) I feel like we can make things a lot clearer here by separating out with a helper function (means we can drop some indentation too), and also take advantage of the fact that, if orders == 0, __thp_vma_allowable_orders() exits with 0 early so no need for us to do so ourselves: /* Strictly mask requested anonymous orders according to sysfs settings. */ static inline unsigned long __thp_mask_anon_orders(unsigned long vm_flags, unsigned long tva_flags, unsigned long orders) { unsigned long always = READ_ONCE(huge_anon_orders_always); unsigned long madvise = READ_ONCE(huge_anon_orders_madvise); unsigned long inherit = READ_ONCE(huge_anon_orders_inherit);; bool inherit_enabled = hugepage_global_enabled(); bool has_madvise = vm_flags & VM_HUGEPAGE; unsigned long mask = always | madvise; mask = always | madvise; if (inherit_enabled) mask |= inherit; /* All set to/inherit NEVER - never means never globally, abort. */ if (!(mask & orders)) return 0; /* Otherwise, we only enforce sysfs settings if asked. */ if (!(tva_flags & TVA_ENFORCE_SYSFS)) return orders; mask = always; if (has_madvise) mask |= madvise; if (hugepage_global_always() || (has_madvise && inherit_enabled)) mask |= inherit; return orders & mask; } ... static inline unsigned long thp_vma_allowable_orders(struct vm_area_struct *vma, unsigned long vm_flags, unsigned long tva_flags, unsigned long orders) { if (vma_is_anonymous(vma)) orders = __thp_mask_anon_orders(vm_flags, tva_flags, orders); return __thp_vma_allowable_orders(vma, vm_flags, tva_flags, orders); } > > -- > 2.43.5 >