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 2B22ED729E7 for ; Fri, 29 Nov 2024 16:29:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9D4456B0088; Fri, 29 Nov 2024 11:29:16 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 984836B0089; Fri, 29 Nov 2024 11:29:16 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7FE046B008C; Fri, 29 Nov 2024 11:29:16 -0500 (EST) 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 56E8E6B0088 for ; Fri, 29 Nov 2024 11:29:16 -0500 (EST) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 23CBB1601D6 for ; Fri, 29 Nov 2024 16:29:16 +0000 (UTC) X-FDA: 82839666882.17.E2800EE Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2043.outbound.protection.outlook.com [40.107.92.43]) by imf03.hostedemail.com (Postfix) with ESMTP id 8ABF120019 for ; Fri, 29 Nov 2024 16:29:09 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=YUmNnjcl; spf=pass (imf03.hostedemail.com: domain of ziy@nvidia.com designates 40.107.92.43 as permitted sender) smtp.mailfrom=ziy@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1732897749; 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=zROfIIOux8GOEz2ulUeexnQz13UKKNIixh2wooRLNag=; b=XQKR5kJovsMiImWa5ET2u5RD5FOt1As0CutEYDstrL5U9WpLVTHSybQy0g4dV5BaHg3irN rBPTnmrthNND7xVlR2VuCi+Lsx/HGCyumH9MwqSsYwQd5MYrsjDIpj2PQClCG6BPcgOTOS DHH3DHoM3hpy9mJMK0H6L0bchNHhqZw= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1732897749; a=rsa-sha256; cv=pass; b=zr0BlUH+Wt2CKYpyU6yt77uCX1Gip8Ryvnk+VtIdjXmh2QWa7Jj/3zGZyp7WqaLY+Z73gu WsxoS40ehX64ji+qWn/sCvGCq12W3RBwTbVOcUOWV/RGt73+szUNnB510PhCntIOeXk93z /cfXHkUVcXZiorQ6uxfyhAocwLEfY3w= ARC-Authentication-Results: i=2; imf03.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=YUmNnjcl; spf=pass (imf03.hostedemail.com: domain of ziy@nvidia.com designates 40.107.92.43 as permitted sender) smtp.mailfrom=ziy@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=apxHcoTNUQ7VOrnoKJn2bErMliLzUPcQXvWy3h2tk57J87Nro88HngMJ+M9AR5mXtM8pWW6iB7CPTXl8b+mFgQi0h4eRnFMzPX3trHIkp9R4WbLwpKJwdEWDTOxZaP/XIBhSmBlIzoTVAkFY0tMq97rcQrKqMOgti1A8XrGtwBwyAfgqbkUauzsuxh7Kmimrw0Z1Cc1/m5EvOwC3o/opwv/41EzZSJkINyuM4DRIWOZPq6Ew/QyNlLXYbZ+82Oz+bgHDD8tNNtPOk6dwrxiugsJmbj+d6bStInpFPWm0Fn+f0CnTRbIWW48UuRz3SzzL69MI/85yS/6XZ0f8bJ1NLA== 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=zROfIIOux8GOEz2ulUeexnQz13UKKNIixh2wooRLNag=; b=n5wsULsTU4R4pJ4JrCxBRzfLrlALboJz6at9R47inXgZ32nuC6aSXkLcOm4JSGVMPgOEFkJtQpIYxXB2c2VMKefpTf2p1rLoBFRJfavav/1sbZJdo2YIrPfLR6Kd3cce5kePTaTLvSgjQzi0fW6JbjUverqCxmR6SNtbCzEVbtnee0KK1gv32BtRf9eeCE9tuY2yquFuGFFsQqac5WOcM6yj288k+Y7B8bYFNnMeFGPGi6b6AxjIN4SWdKSpYZXPYTl4/JhpnSrigFmZJ3rL7q627MHP6Xj4D9chyg4Iph0YtkaB1WUtHxRYo8f8LWwxtpq0hBKgitKOUhEHXax3yg== 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=zROfIIOux8GOEz2ulUeexnQz13UKKNIixh2wooRLNag=; b=YUmNnjclDfx3HnZvuwaiIWP/kb7Crxs8aG08gVtCgTT5869cPee5Yti3etwBkeT4gY2wH2TetgHveZXTY/j1vLvbLKEEzUb0/WwpWeDJ447g0GzwDbW2aNim2Fd2R6g6GQKf/f/yE3cD4kArWBjROIKOo7vjuXGF6jNmc/9Y1OSdjJtK77pSVswgLis1KLNjmRONzUciEFkear+N2FA8XY1N1OPDVMZibcSdV3hf8ZuZvBLazkmEPSLSvJnZfdWiZt2XnR+bCHbyeUmUMFxes/+vpY4viGTERoZBUvUbQQPodeYc0YnojAd9wNeLuMqcHodgPzYw672I62a2npQNTw== Received: from DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) by PH8PR12MB6890.namprd12.prod.outlook.com (2603:10b6:510:1ca::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8207.14; Fri, 29 Nov 2024 16:29:09 +0000 Received: from DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::5189:ecec:d84a:133a]) by DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::5189:ecec:d84a:133a%7]) with mapi id 15.20.8207.010; Fri, 29 Nov 2024 16:29:09 +0000 From: Zi Yan To: David Hildenbrand Cc: "Matthew Wilcox (Oracle)" , Andrew Morton , linux-mm@kvack.org, William Kucharski Subject: Re: [PATCH v3 14/15] mm/mempolicy: Add alloc_frozen_pages() Date: Fri, 29 Nov 2024 11:29:08 -0500 X-Mailer: MailMate (1.14r6065) Message-ID: <2A0E6E69-5765-411C-8667-C49A2392F10F@nvidia.com> In-Reply-To: References: <20241125210149.2976098-1-willy@infradead.org> <20241125210149.2976098-15-willy@infradead.org> Content-Type: text/plain Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MN2PR01CA0040.prod.exchangelabs.com (2603:10b6:208:23f::9) To DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR12MB9473:EE_|PH8PR12MB6890:EE_ X-MS-Office365-Filtering-Correlation-Id: b195e4bd-00c4-4ac0-c192-08dd1092f375 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?u/vRBeC6Gi09/DfU6QV71WDJttwL7asQ7uC+UY0Ew9LBIhH6iumcfeZCJGsL?= =?us-ascii?Q?5Tz5G1p40wwq91KBJpti3822RC55vYjdXA4tyn2N9DkCvGK0iZac/Q4xyFqc?= =?us-ascii?Q?4AF3MjlCIQmtE3Gk62nD5F7PkEDbq00HNOJ2w+LxvSA0BzRpi1Ga7CXEAa5I?= =?us-ascii?Q?9PklsJ46Ej+VFFs/MZpyq9XGswxfNYWUZa3PVhb2tqi9riEy2ITWNvymB5I9?= =?us-ascii?Q?sF82kI9/MUur3cvC8m5hCHOZC4ZAmJDJH15zR8e3DiZim5BXMfbCnhuCvXua?= =?us-ascii?Q?gMxkPTE/j/d7GSdMY+ir2JMKE1XzUNxVZ1p8gigGCaW9P3R2D+lwu56XgkO5?= =?us-ascii?Q?ZzAgY3VujBmM/GFen5wAA8L0rk3u+q9i4ukwfHESDwUMNweyorMCGN8T4ZeH?= =?us-ascii?Q?d5G3VsTtCOariUa7CxRXCv3LJR1d3yDTcXylMyjzXQXz0faYjklRwt22x1wo?= =?us-ascii?Q?huQWb2n2NiIaaPY+MNMwp6HQT1qmFAlivmdY3+OOruwqg9Epqd348to8UbOP?= =?us-ascii?Q?NhI9X6qRTp5Vr0KJwqFKJ1lZH3BGB7I3w8FHJAZ3N+jMeuQEwankBYxNfLfl?= =?us-ascii?Q?756cgiqsGtDpqCKOJhiogBzFY9OReGS4Uu4Ay8ubbBtnF1cYS+KiIb2KiXxM?= =?us-ascii?Q?4seO42a8S1zkTE7dPAVeaNWbErb+w+tsw90F/HeScQ46xZiTi5zPVYayNrD7?= =?us-ascii?Q?8UYrbCFmseBaLZo3kF23Nl/ltUPJSKibU71sqmZUMp0fUJbacD5qM4RIgQUb?= =?us-ascii?Q?GZwG0sKk02Eit0DWzje5vAj9HG317YSkMSRtRekS8Gvw8qv0f2dY8m2QNWJk?= =?us-ascii?Q?lQoD2LoPaa+hidi3vx2vwyYlvEE7LgnjdXzkd412b+DuHHBsRtC09sDZ5jAs?= =?us-ascii?Q?Hg5TV0DN1Nyxy+5BgqgIVWNZmpfPnbTXxDJfGVSy2byru2RwIdJC1F4dt29o?= =?us-ascii?Q?b6VNKyGDSGKXjqFFQg7XptPyhlA9x+VaUEivNQ6VyM510jsxCDxARSoCsUJj?= =?us-ascii?Q?uxDc++jicOqf6c32VIvbLx3n3oQs+9rUdINHN9aVPM1yrX5wjhPZvoX1uBQy?= =?us-ascii?Q?BlJhl8shtQuAdgwRVPBNTY8O2ra/llyYNYc9benaZrmMhLd/fQtb/Gk7iyWa?= =?us-ascii?Q?REqmzKPOSoUML/F5cyIi35iQLLhlkELNsc3m1TZVoXOjB+pVME+vH9y7j5TU?= =?us-ascii?Q?p/S+tmiyUkwREFBy6Z3ZhID53OxB+nLcQLArw5Ozq3TTORLmYOdRqYA8yzP3?= =?us-ascii?Q?iCP/Mq/44+GQBmG88iQUfuQhLUp+7Gv1PZa1msynP/6aelCcHqyfYD8MdKeF?= =?us-ascii?Q?v8hpFudjV/bEZAuaT7Q2eSQBO414/dPYxiI76fMtCsaAwQ=3D=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)(1800799024)(366016)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?wzHrm3MNFm4lmHxCsW216JOlaj6tJS4zXpAOcfT22ljlkVovgeVdT7xHiwqB?= =?us-ascii?Q?T6g93/HOnk3lSs76Z32KhEY36GUWdPj/1twlznS+ljd0Pg2TCwQPDbAhzecA?= =?us-ascii?Q?6WHDEAdfsS95yz2cEnkHi0vzxcK9L27mMXBUt+ggODnKbpbM0fEztSZ5rBrY?= =?us-ascii?Q?rlT8nOU8qBvYUAi4FrnOCCA/rn4b6twhyA/0/1XI8GuUK2J7Q0vRa+DYyDgB?= =?us-ascii?Q?Zc7ntNFvhWi4zVUJ3jgvi4Gy1Boox//pYKEKRCoyel4WcbmKkJ3OG8go6Nfo?= =?us-ascii?Q?T1Jdu+v2Ej+SZoYGg4DNfmw+GxBg0JqX2qCMvSxpHVl9i383eLy4mIEBzqiA?= =?us-ascii?Q?DyxOaG/0ibYrnMy6/ow17cC8Mj5dziNZaN5YtfOc32MQAusaZaQt4yZfoaEL?= =?us-ascii?Q?2E5+fMWCTD1LX0Zh6cqOCMoervl3uiKN3O/7DtEvK7rzcjYUD3ZtZkfFS06/?= =?us-ascii?Q?MZhVO+GenC4I3X4cL8xjvIrbFuQF9op1E51LnBZgSNa3FuvCEIQ2OoelgzUQ?= =?us-ascii?Q?cvWDkZE7d1dWzpWBYMvshhlu/IZU+CCa+dBrhJk//u8l1SMVvBkyW1LfWl8y?= =?us-ascii?Q?9hJ9UN60/K0Cb9wP4gvHg3Om+l3+IOSdd97B3trljq37BX3IrVc2q03oZu6J?= =?us-ascii?Q?q6McZLi8HhBxhOiCUSUo4wbRJcCHa8hhnNsFBf8o6jjFG1CyNqAqqZqRR7mN?= =?us-ascii?Q?cVbLQX75RY8yKlj/X1QzQygbaD5sS9PQoWWKobM55iwOvtV5QifT5vndA60H?= =?us-ascii?Q?lpdaLDBZDuTxWwMYz8Y04e4hj6rsfp/fqsDWj/4PVXytqBO5oU2FENJLplsQ?= =?us-ascii?Q?tWvIafdxaGfdZ9JQvjpDd8PVY7nEhspdz2mFnpKBXP+vU4rblWppIyGFgrgh?= =?us-ascii?Q?FGQptWi2gXdz0Ya+TX8inqWdvjmH0/vJqVP7WEEz61KDzvFfiT8kVHHRwqC+?= =?us-ascii?Q?XttlEKl93CfWPaue0P7ehon6u7vasKtekLzRPxomgs06RLOuLMsQaCKiwVJd?= =?us-ascii?Q?d7wMhSSLtNZXczZNzrBOe60Bhm/asNZndn7qsGS9iU36QMZzoPVBsIOSfjwK?= =?us-ascii?Q?Yrx5itd6xZNj2jvo1/vSeM5rkn1uEH6RicQH3t6qKfxxrQOJe4AQLw2N9e6d?= =?us-ascii?Q?KJDz8WG+St+i1y6WdNEg4Tv6XqCT/15sacj9ZWEFF9Rc+jZSHADRCpNcfccF?= =?us-ascii?Q?qZjoxlBtjKolr57n9O99H0QZb37xjxqdBGIjfKeFqozpl9Rj6mxFe6l7MYEF?= =?us-ascii?Q?PSRFyi6qrvyr/pLioOxy5vsJBlmVW5gCU55yhHh2/Mo4geY0TqONhblvg6Yv?= =?us-ascii?Q?pJBjlKZgZkFQ+Gs0pCyiSu0zbJeUAVIHr7rYA9AOcvrYnWo1x+X+Bk6O4nn7?= =?us-ascii?Q?wcwZfkrDBWGP/uzisG8714GsfCgygLMA8ChXM43Wf0Sx71yZWUwoUBOqOJ7K?= =?us-ascii?Q?Ej5ZqBpH5hchZ9ZnW0XpFu7ODW4INInEMk4DqeRAHAeVov0BJW9OjV3w73hZ?= =?us-ascii?Q?ogKZIRlnrWLqMlaEggaZb/fo/AhZ0Gp9QxtxUH5cGsmm2Vwide0Es1n39QkO?= =?us-ascii?Q?0FHh7eYZlREP40pJhXqdZl+ckTtnaYirDVdNT592?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: b195e4bd-00c4-4ac0-c192-08dd1092f375 X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB9473.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Nov 2024 16:29:09.3444 (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: qe7fPBCXHURUEl5QDXTjxdNp6oRiVa81iUp9s58fzAMNZPeve7BMpKq0/Sd/XWD8 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6890 X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 8ABF120019 X-Stat-Signature: s66i9sm35meso1mwzsqu8dfu4wpfcf5r X-Rspam-User: X-HE-Tag: 1732897749-837230 X-HE-Meta: U2FsdGVkX19rQnpdwNmRWkAhvO6flOfi0UJFNk6Dh9p5ynPBeGkOheo4I82AII9SlmOiGJPOo8XQkh1cUM/qGN5NuXkA5qO0Hmc+ZUEvYlKhZQlnahmngHBdhDkwPEvuftTm/wt7oOTA1zG5RsbMIRavlV+Pefw9dnHacFjt7aMGFYlVmjYU2AtFAS7+UnxrM21dPsqet0IaOR8SLHbBbsk/yiAfiBu9chJkVZ9XtT6ELXwWjJX1iK5G0mpcqQ5rds34AVhtGbXI69cdHn9JwBlU+ShD11FJjvwaOMGe2CGs46WsULZtJEWXSJKnCfbYw0fpv5Vda+4FPOGjQVDHHRvfcWl6bUhPVItPhFPXREjz2Ut9C42rE+/GGpiKK6mNjuIQ6pxPog32RoRJ2DX9pvJnOATYX7lFxru7OpiHndOni2Fi+Y+MtNwAYNfUuPBuijzO32htWD2k7jfo9Y52Nbo7uIbMKdnFEEx5A8PDZ+8IMy6GxX3TfDpZbbDhvvSUupIdvQNY8BFAdoVm39TnSJy9EX9ZF8U7aWLdyh0KX4bboiYhJ+vb5vdJIQ4dXa9jtXdkgMoABRJp1XgbNHOaLti4bO6Csai53G55rOsujRe2hUBfQYpaHl3oAmBlh8uVFO1iqRUoCaHZDSrz0sNKBmlsuGjWjkq1HHVYDFRd9JRuPeUpbrkBonRdReVnzQQBBDbzsnjDvZsD+6wuTOdb/Lz8S01SgJUGyTaO+Z3U+X+E9btAKATxVsnyBpbv5G4ZYp/k90JihOqB1DQU/Q35tr3lCM8D0Bls8Ab6P239PnwX7btk2ID6XbkjiMfnGGMqLJUYRWKt5D7vS4UwIGx1WEvdJeLGkFabi+jAJO9d1I29LFI41Eu7JEvpl8F6KoE8mDBq5vD1Kc+LlpCfP6+xmfb6A07ex3C8SMvWfLzfe7ZVLfleHuCXG7ROegi8uOwQDPt6C/CYwQrNL8Mslwp jdm4pNKK nDTOR+mlQuxuX+DvhoP+d9SWZJzxBtFBtaK/SaNGt2b5a1BruMfL+Nh4Z7Wt82WvKzujUOyUeaHX79MOj0htg+MDf8B9yAh1KZU+ZJbIUW3SjZxxtXZWvGQM/L7v2zSE9ikLNrxHj3wvIawJt85qXb/4WLS0ZiPMsJDzbOlRCHGirqFH3M9movo97lT5opDXkOe6nuLYt3NaUS/ATlg6gWc/ejzEtMVmPsWGYucDf1OoCbeH+/HTTwoBDYB0sPOR2cTUuBc+13O84rDc1vcNSG8zbRIdVKeADykO0UB9rd+yjiXzUUGHAUsZuvJB5knn7C+dC3KLqeqZdxuQlyfIwJ2eN5dFuJ7FF2EtGrWfFv9r5rymMZFmSofkI04nQADarkBwPeUxz/9A3xzket0VY8rB/m3pET7O02TTAl5iTHikCbKxkR36bJdVCSqENDPd5gEgp 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 29 Nov 2024, at 9:44, David Hildenbrand wrote: > On 25.11.24 22:01, Matthew Wilcox (Oracle) wrote: >> Provide an interface to allocate pages from the page allocator without= >> incrementing their refcount. This saves an atomic operation on free, >> which may be beneficial to some users (eg slab). >> >> Reviewed-by: William Kucharski >> Signed-off-by: Matthew Wilcox (Oracle) >> --- >> mm/internal.h | 12 ++++++++++++ >> mm/mempolicy.c | 49 ++++++++++++++++++++++++++++++++----------------= - >> 2 files changed, 44 insertions(+), 17 deletions(-) >> >> diff --git a/mm/internal.h b/mm/internal.h >> index 55e03f8f41d9..74713b44bedb 100644 >> --- a/mm/internal.h >> +++ b/mm/internal.h >> @@ -747,6 +747,18 @@ struct page *__alloc_frozen_pages_noprof(gfp_t, u= nsigned int order, int nid, >> void free_frozen_pages(struct page *page, unsigned int order); >> void free_unref_folios(struct folio_batch *fbatch); >> +#ifdef CONFIG_NUMA >> +struct page *alloc_frozen_pages_noprof(gfp_t, unsigned int order); >> +#else >> +static inline struct page *alloc_frozen_pages_noprof(gfp_t gfp, unsig= ned int order) >> +{ >> + return __alloc_frozen_pages_noprof(gfp, order, numa_node_id(), NULL)= ; >> +} >> +#endif >> + >> +#define alloc_frozen_pages(...) \ >> + alloc_hooks(alloc_frozen_pages_noprof(__VA_ARGS__)) >> + >> extern void zone_pcp_reset(struct zone *zone); >> extern void zone_pcp_disable(struct zone *zone); >> extern void zone_pcp_enable(struct zone *zone); >> diff --git a/mm/mempolicy.c b/mm/mempolicy.c >> index cda5f56085e6..3682184993dd 100644 >> --- a/mm/mempolicy.c >> +++ b/mm/mempolicy.c >> @@ -2201,9 +2201,9 @@ static struct page *alloc_pages_preferred_many(g= fp_t gfp, unsigned int order, >> */ >> preferred_gfp =3D gfp | __GFP_NOWARN; >> preferred_gfp &=3D ~(__GFP_DIRECT_RECLAIM | __GFP_NOFAIL); >> - page =3D __alloc_pages_noprof(preferred_gfp, order, nid, nodemask); >> + page =3D __alloc_frozen_pages_noprof(preferred_gfp, order, nid, node= mask); >> if (!page) >> - page =3D __alloc_pages_noprof(gfp, order, nid, NULL); >> + page =3D __alloc_frozen_pages_noprof(gfp, order, nid, NULL); >> return page; >> } >> @@ -2249,8 +2249,9 @@ static struct page *alloc_pages_mpol(gfp_t gfp, = unsigned int order, >> * First, try to allocate THP only on local node, but >> * don't reclaim unnecessarily, just compact. >> */ >> - page =3D __alloc_pages_node_noprof(nid, >> - gfp | __GFP_THISNODE | __GFP_NORETRY, order); >> + page =3D __alloc_frozen_pages_noprof( >> + gfp | __GFP_THISNODE | __GFP_NORETRY, order, >> + nid, NULL); >> if (page || !(gfp & __GFP_DIRECT_RECLAIM)) >> return page; >> /* >> @@ -2262,7 +2263,7 @@ static struct page *alloc_pages_mpol(gfp_t gfp, = unsigned int order, >> } >> } >> - page =3D __alloc_pages_noprof(gfp, order, nid, nodemask); >> + page =3D __alloc_frozen_pages_noprof(gfp, order, nid, nodemask); >> if (unlikely(pol->mode =3D=3D MPOL_INTERLEAVE) && page) { >> /* skip NUMA_INTERLEAVE_HIT update if numa stats is disabled */ >> @@ -2280,8 +2281,13 @@ static struct page *alloc_pages_mpol(gfp_t gfp,= unsigned int order, >> struct folio *folio_alloc_mpol_noprof(gfp_t gfp, unsigned int order,= >> struct mempolicy *pol, pgoff_t ilx, int nid) >> { >> - return page_rmappable_folio(alloc_pages_mpol(gfp | __GFP_COMP, >> - order, pol, ilx, nid)); >> + struct page *page =3D alloc_pages_mpol(gfp | __GFP_COMP, order, pol,= >> + ilx, nid); >> + if (!page) >> + return NULL; >> + >> + set_page_refcounted(page); >> + return page_rmappable_folio(page); > > What I don't quite like is that we now have a bit of an inconsistency, = that makes it harder to understand what gives you frozen and what doesn't= give you frozen pages. > > alloc_pages(): non-frozen/refcounted > alloc_frozen_pages(): frozen > folio_alloc_mpol_noprof(): non-frozen/refcounted > alloc_pages_mpol(): ... frozen pages? > > > Ideally, it would be "alloc_pages": non-frozen, "alloc_frozen_pages": f= rozen. > > The same concern applies to other internal functions, like "__alloc_pag= es_cpuset_fallback". Or all internal functions (with "__" prefix) give frozen pages and extern= al ones give non-frozen ones, unless with frozen in its name, i.e., alloc_fr= ozen_pages()? -- Best Regards, Yan, Zi