From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from BN1PR04CU002.outbound.protection.outlook.com (mail-eastus2azon11010029.outbound.protection.outlook.com [52.101.56.29]) (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 02D8234104C for ; Fri, 19 Dec 2025 20:46:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.56.29 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766177193; cv=fail; b=lXckwbL2QRGHbSvsgcjKV91LCBLKqEP2qLEhtU5cV9OfHx43/cPZtJCJcNMayeHxeFvhV9s6Uw8ACGMMDL5xMwT0YmF2Mh3AK4zq8UuuJbMMXx0obXMdD5fbpPbcpBVciOMDU4Iykk4850/gqDEWhSXDg++OkMK1I8DU5lnOK5U= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766177193; c=relaxed/simple; bh=WEeOWi38ZOJA/DzX8eh8Gwr1NB6H2xt7gVpBcBBMaAA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=U4TnQNAMnqv6kecS9uk7m18+CHuFuUNOt28Iwvc06rkgmzCAsn5aSkYN9mH/89TZaYG61H6AG6HRcdBsgJEh4GVEvA8QrQqRh/+HfStWdkO6Zw9lR2dCa2k+tWJIGUfgq94jRBr2KzWSiKIpy7YBm6yBMEgKijLE6NwCEs93DOE= 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=SdaVyX8a; arc=fail smtp.client-ip=52.101.56.29 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="SdaVyX8a" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=nqslAS05UiLP/SxFNPDU84qorE+odeeBK06HOrhno/A5Hho7vf0ugN+3JiEVQYNKNNCwAtE/IFdZgwyNGhC1DZxl67Wu0SQO52cCg1EjOiM0C/h3xIxAvn3inSUbM13bH9G4H/l/HqH8fWnzsBp9iYpN3CSLPnn+idi/ddG8AjVlOaLvHUekpnJxVUYqhYIFrjRT2HeqSFoooddBFWjdi8nGZgpTIe3SN7g7HdfGNh9d03zWvUFgJq6AUq7CxH4alShm5c+0Wu1bNysNU1Rou7EdwB0EYaqk4sGxjLBTyb87mlyPnFnJ+BQ6f7U8OHLM62lxGYMdRnLveJbIXudWFg== 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=0SL/40vg/QCjbZovak5zuzJ9feQRa+JaaP/sKtZaffM=; b=EQv/xtEnuxTeTn8QzozGTTkgKPXsQhfeZjjuEW3ZdeugN6ceZSXZAFh9Z6E0hQ5Fhnz4xEwv8K14gzu5cd+L4zrdaQy2Cb2XAdZI+wir5Eg/IDtxV2gkvAUN0C1pRjXhTXgCGyKq+U6VQN9tpKWwK2nff902t2k0qtHDJ6QJ/6n8cZYLHNkwA/L24j8dByNkrBNNtBCJxwEy5s+SKLaHyMT9WiyLfXhDZYY47wpncYP8MK/2Uwtj2hJD/s47+oxxDJIB2C+TQyc+4GoFMPtfVVtkQWXsdPzuoQJTncHwlhMZ1A2Mz4KY/bAN1GaF/O5y2hR8fKFmX7t3KQ7Sr6u/xg== 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=0SL/40vg/QCjbZovak5zuzJ9feQRa+JaaP/sKtZaffM=; b=SdaVyX8ay4Zr5eik8NcMQ9YGtHAK/UgZPlwxFoms4ZxD8Xn0arKWNbJHm/B2W6+vtR3vYB2lRjPG4kD1AzMzbywjCaUFBWbMit/uiiBrprmWK4szL8jdSSWWXSIRwhtSE0hH2Wsv+ToqlaSX9Z7fesr+NJPehbutZ1eJb7FrfmWsvEzkWmWlHYrxd35vUVi0jPRYRwKw8DMz7PybzWqMjMmIfrO3wXfA/YmKEWmw8QMnWVCcrsIIAs2oeSi4+1i1nyhZvWx9+M4RydHfskcQdwUCq2RuEOm/mCFbFCldGsv4aBzV2h0GhbDtTNgnd97y+f3EhXbgGa0WtVAl/Gu2+A== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) by CY5PR12MB6060.namprd12.prod.outlook.com (2603:10b6:930:2f::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9434.6; Fri, 19 Dec 2025 20:46:28 +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.9434.009; Fri, 19 Dec 2025 20:46:28 +0000 From: Zi Yan To: Gregory Price Cc: Wei Yang , linux-mm@kvack.org, linux-kernel@vger.kernel.org, kernel-team@meta.com, akpm@linux-foundation.org, vbabka@suse.cz, surenb@google.com, mhocko@suse.com, jackmanb@google.com, hannes@cmpxchg.org, osalvador@suse.de, rientjes@google.com, david@redhat.com, joshua.hahnjy@gmail.com, fvdl@google.com Subject: Re: [PATCH v6] page_alloc: allow migration of smaller hugepages during contig_alloc Date: Fri, 19 Dec 2025 15:46:25 -0500 X-Mailer: MailMate (2.0r6290) Message-ID: <7EED2D83-AE17-49CB-BDB6-954793EAFDBF@nvidia.com> In-Reply-To: References: <20251218233804.1395835-1-gourry@gourry.net> <20251219000800.tnpqzvcdyeqcwryt@master> Content-Type: text/plain X-ClientProxiedBy: MN2PR08CA0012.namprd08.prod.outlook.com (2603:10b6:208:239::17) To DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) 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: DS7PR12MB9473:EE_|CY5PR12MB6060:EE_ X-MS-Office365-Filtering-Correlation-Id: 2967a1ba-cba7-45e0-8ca4-08de3f3faeb9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7416014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?WRjdAyKH1bW/ieuBrDu13uvJkPLKP9JWpFF8f1Tfz6XglVYsbCTWdz1Whup1?= =?us-ascii?Q?LG+VrotGtk5gaXk6U9IuOevOLPrKyf4KPnbPl/jWvh7WVmd6sDFyZhHkhbny?= =?us-ascii?Q?WmiBo2yMEBlfdUuvyqKxKm4q6+kRkU2t1tvwnQXS1LP4mt4z783Js737+J39?= =?us-ascii?Q?tE12DELgU7NpURkKoAhQTBP1fJseS0a3VC1D60Pl2FYxCS18Ot7WfuPZstlz?= =?us-ascii?Q?xXUt8x4D0PRnruZbukPt8MOu2OyMHcuQk4HyZyWmlI4AT34hXnMN02hD3pHs?= =?us-ascii?Q?POzLT9QenT+mmINpnrWJ1OJs9zZp412XIhtNjlq1CZBDDG7h/ZQ2qaO66f01?= =?us-ascii?Q?FVl4pjn31GBCdY4LgbTiHzUPKSxknGz9psh4r3XoepHgc23amsfMUJUNoyfH?= =?us-ascii?Q?g/03gLBX1elbWckezLZ5uXgA/ShsShXGCtGjTVKh2FLp3aQEvmFtsj6bIBwj?= =?us-ascii?Q?t+XSf0hQSnXyEPIEDmL+j5BFx48q5/7mgfBll6Ht470ylrxavCQDj6XqILfr?= =?us-ascii?Q?rCzpVrzDQLC05SSPZaQh5XIQH6axDv0PApQLlxhLk6FBcbEgywyUleUI411G?= =?us-ascii?Q?YqovxsofjOWfLNoZw6O1wbuKAp7yScXu9tlNHebnfHfbS3sdqbgDJS1WG5JM?= =?us-ascii?Q?7rbvOW/APG1YDiBmDy7ojnHgSdLSlJ9tkoy7r+Q0k5R6DH5FA4fHaEQNQtj6?= =?us-ascii?Q?SEA5YqW1Zd1S64LNNRsVXzRz5tPHJ4yb0nUj7iTQI+aNyJ9YPMmEfct9gVu/?= =?us-ascii?Q?mitc3x0YRyj1okr4wCZ/0/YcB75xxYT1KSwqzGTHHbG6tX4NTv0HUTSR2+6O?= =?us-ascii?Q?Bw7/LWDNuwPoDOEZVXWTt+Ivr9IOVcuYMMw27gOejay4WuJOffxY5Rrmu56j?= =?us-ascii?Q?s6gYx34gssTRUS4WtfSB5Kj/TxDxxI6UJN9oMhTcXAlZ+ioNog25q1SZkqZB?= =?us-ascii?Q?nrhPCrV35j/XZa8aQJNHBWumfdOKIeh0jkau6KDVrq3Ul9iiBLo5Mce8TvOv?= =?us-ascii?Q?uSaE8B5N0w/KDyFAv3coUEpVqkdI5MEblBbDugszy8JyRhBCkGxTql8OT0su?= =?us-ascii?Q?6quz4+HGUO/HvhrqmFcQfgv9qQ4t/QXOFPoawIWoOeq46MQdHrYKuekaYzdk?= =?us-ascii?Q?XB7XCLKnImy9TmVnnXphBsip3HX9uCG9qt54LcZBVivCrmDPGJlzHlQu4Y41?= =?us-ascii?Q?EP+XqxUjLeKhpSZt/HIMY9jbgx2ktVUwvOnSRqw/xuQmUULtYgVMl5v36fZD?= =?us-ascii?Q?nk6EMUmTcXdcnKmBu9U4c8EptuNu1bThW1/0PbY7uPRvy/49+uA+wAUUKmq/?= =?us-ascii?Q?M82FOJtYa5NLqnDLYMqWuHGtw6l8ngBJXeElvo5dl4Y1Axvumt6uH7lPxy3M?= =?us-ascii?Q?QvGJQgZJ502Omn9mRUp/iUITmVinl/6F2fd94NbFl+at/VKguKvrx/R7GacX?= =?us-ascii?Q?xP3NA0OwI6WWeeBvbgrZF+yWBCAXvrre?= 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)(1800799024)(366016)(376014)(7416014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Hgb0jyPt6KS2PlrDKaHqJecWJ7XeuPzPinT8V1qhheaItAXUarQ86atprwHE?= =?us-ascii?Q?8hlyFnN9jPtY04jwbu1E6byM94rsg0uY/L72sqZlcfzIUtqnW11QBhq696aH?= =?us-ascii?Q?+Tdf+KEESZkZny0jYWzfmpY1djfQM8KI72y1O5uNMP0PFDHnmWVwysu5nbRo?= =?us-ascii?Q?tB702t3aqjKADHYlRXu/hnXP8AlUNmMIjO9+WBCdPSauj7APtHaUcwqS531r?= =?us-ascii?Q?WSjudz8Hr3N6vJCrN8Oigkqbwr+fTFarydgoFW8cu2g3SiTK7hQGwwV7Y/mx?= =?us-ascii?Q?FpBf2rveabz2SFjuCYdPhy6NMHaOQxDI5lJfGUCWT6E3HxeB4kdI5RtDJX2z?= =?us-ascii?Q?whlfSwkiRHsIscPhL35ZUxCqVgGw282BZCokNzGN3QJoLLSTMk/H6Q45afzG?= =?us-ascii?Q?g4gFKpwXsMZ/Gf3FE20fcfBqe58baFLusI1bVKem/K0110byh+vUZRu7pXB+?= =?us-ascii?Q?t76tqGvYyAmY9eXxB+BNEuMfO3xQNgJzpDcXLvhAV117Qmr8RaZqX7tEy/QK?= =?us-ascii?Q?tbXQ6RNFydl+Ou5gn3zugm7Ch/725Iv0kHhJpOWnkApB7uEB+de9wcnrOORp?= =?us-ascii?Q?WcrEqjLTDpCWbLDn2UGETGioSyeruFCrCkDEWL1IsYnzdMVO6HC9T6XgZacV?= =?us-ascii?Q?5avB9rtgenclFk8J8JJHQ/DmSAT8I/064CqGNwiJv8hdej5sqzY8OelrZyz6?= =?us-ascii?Q?/1NVjabrXhpcX3CfQ9S3VvmsbkN3BUrdK10qBBaWGf8zU7xPkyG50bizBljZ?= =?us-ascii?Q?usTAedskeATvK3VDCaFTUFYGjdCdLqActVgdC4/4FH8wHlLZBCzLlQLjdhUT?= =?us-ascii?Q?OY6pl2LYy3iis2rKNHyqisXOws3Kjdw9pru2LNHRPT+kVnbiNGWTKTIa5XMV?= =?us-ascii?Q?SDNivsONy30430zsE2+kMddFfusqzyaLIAwoex2S0n7aF/BK4MIPfvIJO8iN?= =?us-ascii?Q?ZNBFePMCmYBRxRmfvCrth44e3d2+LotWvw4J2TzDeg0BMCgyw+cOB8goAu2h?= =?us-ascii?Q?S39DZ83YJjgcewi+ABeH/DYVJx15TbcQoXqtzEFBu1dkrnIvIzBLF1Vftaho?= =?us-ascii?Q?U0CSIiA0V+j/cOahpL+gD/S7Qr9AlqnA7AcDSvLoQC2RUbDCIW40UIFUaohb?= =?us-ascii?Q?AN8Ca9CQNX8weBtT0OrnCfIvhRqE0DU9wEYcMIMnALW5dMw/a5vNXkXgtpV6?= =?us-ascii?Q?dtIplyOLR38tnGj6fmuJqjuaAgZb8/H6fDq3lYV9f40/REJPMrAqmPwMxX6A?= =?us-ascii?Q?Ln0Fnprnaj0lsy/Uob3F0+kf2tTXgjoEtbeZ7Fsecy1EoIT+Q1kO+Qmw1YOe?= =?us-ascii?Q?Fjm8hbYPU80FkAvRSB8JM+D7NOvjcjNMHqOTQyUKF9flHrxaBVquok9WacDQ?= =?us-ascii?Q?6iv4Hd5pZWr45NxkODxNAne5zAn+b7eHhZ09fyMsAlXNFg56tMzx1NA5u/Jq?= =?us-ascii?Q?xDm423abbzUR3da8A4Ch3U12DlkeIFp6lnijMZljnQdRzOLQMETTGm6FWPBe?= =?us-ascii?Q?DHYIqLnuY8bF+CxFKeuErZ3C9oJB+PwWC6yn6QYQbWi5L1lPgAzbevlYpbH9?= =?us-ascii?Q?r41b/TbUUV5GvKIqaSmf/Dpcw+ER0Dye8th+qESpcom6SqjaIaaaT2QYsrYy?= =?us-ascii?Q?6ia37H2cl79QXWc4xSDLQLptvB4KeFd83PNlzJZ27u92IbK+AnP2CVPrNCkW?= =?us-ascii?Q?FTNzsxJWkyLKy63q+2gvpAcGhbtY0dB034Rhb7Avu0KPYPCY?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2967a1ba-cba7-45e0-8ca4-08de3f3faeb9 X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB9473.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Dec 2025 20:46:28.1417 (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: lbBIietcVPt7bkDSI+BpP2Hf2wynf4UxJEz0kh01OwiAS/jheBbH3cLcESqShzSV X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6060 On 19 Dec 2025, at 9:26, Gregory Price wrote: > On Fri, Dec 19, 2025 at 12:08:00AM +0000, Wei Yang wrote: >>> + >>> + page = compound_head(page); >>> + order = compound_order(page); >> >> The order is get from head page. >> >>> + if ((order >= MAX_FOLIO_ORDER) || >>> + (nr_pages <= (1 << order))) >>> + return false; >>> + >>> + /* No need to check the pfns for this page */ >>> + i += (1 << order) - 1; >> >> So this advance should based on "head page" instead of original page, right? >> > > hm, I think the thought here was that since we're moving forward from > start of an aligned chunk, we'd never hit a non-head page - but this > may not be true. > > Will think about this for a bit. The sole caller of pfn_range_valid_contig(), alloc_contig_pages_noprof(), scans from the beginning of a zone to the end. pfn_range_valid_contig() should see head pages all the time, except it scans in the middle of a 1GB hugetlb when alloc_contig_pages_noprof() is asking for a smaller nr_pages, like 2MB. But in that case, the if above i += (1 << order) - 1 would return false without reaching it. Basically, to get to i += ..., pfn_range_valid_contig() needs to search for nr_pages larger than PageHuge(page) and nr_pages is always power of two based on alloc_contig_pages_noprof() requirement, but that means pfn_range_valid_contig() always sees such PageHuge pages as a whole within nr_pages range, thus cannot see a tail PageHuge page at the point of i += .... Best Regards, Yan, Zi