From nobody Fri Sep 19 02:18:45 2025 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 10F35C46467 for ; Tue, 29 Nov 2022 22:51:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236974AbiK2WvQ (ORCPT ); Tue, 29 Nov 2022 17:51:16 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38422 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235957AbiK2WvK (ORCPT ); Tue, 29 Nov 2022 17:51:10 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8DFFC1EEC3 for ; Tue, 29 Nov 2022 14:51:08 -0800 (PST) Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 2ATMDsOP015137; Tue, 29 Nov 2022 22:50:46 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=tGmuZTBNbre96NHUK8JjH0uovdu0VRYw1Si/RwfIyuI=; b=mq0c2fsLy5cLmwupFkkaJnXjfa9zYMBaPrg9037SbEnDUQm5rgzI2/7j5eNjp/MHBPiz hKih/AB/PB2+3P06ke4/tKubolti4/ej10YLGGc1UxBuye0eLkv1qscxo5ZFmYCoZY/c bqLyyPf7dT/9WxPRU/p8wf1c2giUrVviXdyKDX+1b0mu7M7K9Nbd6DvrpdFV7f7MKODP V7Os2IPnOpkRB8Mp7JrBcJmlWz8Y2DYXrPKsf5ivZ1mp2T5j5d4H2MOp5KHb1JOvDX8M YrUUJ2eZH0ZE4LzrSp8L5w22L8owWxO1orgjkwuxNg0NCcs3ZR4++QTpI86PokU6wySA XQ== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m4aemepjm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 22:50:46 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2ATLF0FH027905; Tue, 29 Nov 2022 22:50:46 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2171.outbound.protection.outlook.com [104.47.57.171]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3m39881gmu-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 22:50:45 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=U26riPB8rzpZD/mVj7xcQmCmmSme7gVs69ABJoz1+o4R3aGcIu+MQAWe3AhA0Jhb6BiwoCL+dB++cLpwj63JUes3P5oCh7OR1MHyd+ynco/o3btc85rVbt4PS1ub/qZ3/n3tWKw7i7CG+0XEjsn0WE/zkPJz3s89UVPHxKTvZqUPdWUoxVnH9WRUlsAoi4uSm6KU/stYb48HbsZTx3kBxOXCbSfet8iy6qPKLrSxnQNbkFRWCIE2hGgQPFZToXYBn0PbSaRGQiyVv+pJqN8+HzDCPz32rcyvltKVGeCx9Upg6JS+fArGEOUh4mlMLvJF+ngFof1TjNRrie3G29lzow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=tGmuZTBNbre96NHUK8JjH0uovdu0VRYw1Si/RwfIyuI=; b=krEfZmyNKJ4y+YokliQLhMoy4CU8y8x2XxulJtlPdxz8zo3eyCHBJKTqt4aR+EhN4Ox2dD6QhERmODSWCUce3RuGJRcOMBQouCXpaEd+q1mP3BK4N9TcLiY6x/5Zcv0MnKXsmLv6iFc5XmxVdRctrX8UNFn2xA4dw59YIcdMzG3x+qZe2BUwYAR42Zv8Zd5iiUnRazk5slUIlDI0HNKBYxRlglDm45aJhw1lgyyN528WWueOWLEW0ra22w/2PTvpbkzHL4XMEucn9Qwv7pIjv8RgOP2I7NrM0bQ5VHJ9NKH8Rb2b0ZV29YVUiLwX7QSUkWkLl+KSVu0JYJ3FMEFjqg== 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=tGmuZTBNbre96NHUK8JjH0uovdu0VRYw1Si/RwfIyuI=; b=btFQdzpreugE1+lrF25lSUv340mhxEHm9tpb512aC8S0k1OadUrQ5014mIQeTYgcKPW7KqiaE6KMnqbiUuKWLTg1uTZS6eg1TvfV19fYu2+caURdxoXE1lZavY00nvarju9C21O5cN5m/+RdJTk8LCdCGVDgRrq5NeTEzPvlOao= Received: from CH0PR10MB5113.namprd10.prod.outlook.com (2603:10b6:610:c9::8) by CO6PR10MB5586.namprd10.prod.outlook.com (2603:10b6:303:145::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Tue, 29 Nov 2022 22:50:44 +0000 Received: from CH0PR10MB5113.namprd10.prod.outlook.com ([fe80::3702:7db0:8917:9954]) by CH0PR10MB5113.namprd10.prod.outlook.com ([fe80::3702:7db0:8917:9954%5]) with mapi id 15.20.5857.023; Tue, 29 Nov 2022 22:50:44 +0000 From: Sidhartha Kumar To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: akpm@linux-foundation.org, songmuchun@bytedance.com, mike.kravetz@oracle.com, willy@infradead.org, almasrymina@google.com, linmiaohe@huawei.com, hughd@google.com, tsahu@linux.ibm.com, jhubbard@nvidia.com, david@redhat.com, Sidhartha Kumar Subject: [PATCH mm-unstable v5 01/10] mm: add folio dtor and order setter functions Date: Tue, 29 Nov 2022 14:50:30 -0800 Message-Id: <20221129225039.82257-2-sidhartha.kumar@oracle.com> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221129225039.82257-1-sidhartha.kumar@oracle.com> References: <20221129225039.82257-1-sidhartha.kumar@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: CH0PR03CA0397.namprd03.prod.outlook.com (2603:10b6:610:11b::30) To CH0PR10MB5113.namprd10.prod.outlook.com (2603:10b6:610:c9::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH0PR10MB5113:EE_|CO6PR10MB5586:EE_ X-MS-Office365-Filtering-Correlation-Id: 7c488c91-f80a-409b-e44f-08dad25c25c0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 4tVBZRxKrWWNI02ikFOjc22TlbxwdcGSSV8d+RCfoqU2sMGnUcWiO9ceXTvmzjHZ8AsGevv2FlXUuFkSIpuaP8cvvvEBFdjkzPEy415g65KHjN45v8kOdeSnb0hBWJuRDsjIWoitIyqZSWbYV0hrSVpm94iZu90rh/9i5giSB/EEtQACElPL8gcJJfybjiUCs4htToDQFETRcuyKYPJtVSIqUscfozxjxEzyBOwbpuJHjd6oQF1jt3hhvY84ZB2tackTbXbzZxuaaLbZRxIUE+eRcGcEUwcLqZ5Iuetaa69WeaAzorWOZoFv9ERTgX1UoZQpcT5w3WXP57pwMsjnZWf3LA2Ifl2kBYfQXe64itfmDCqY0K2FNz3oxsicEsdWN5sANGolyCJEskz1OtNwUHiyX197Pk0ZyDhVK94YHzZl0G94M7iUG3aVCwHt0FD7xEV31QLJ+hW5EmZ+V/qkpdq8nSZLxBT8aJ//M36M+GW0lTQgvZMwcqserY8zokKOWFm/pZPFNcH78lQ/MIAgAlcZ38owgT0GcSM+vsj0EbusggBvEzyOun3y80uNuxj0hlQVdPqRQH2rT8wgqif7icKFL1RzMBtADB+9QAIn81T+Z8zQMXBlxkRld8Xw2qig X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH0PR10MB5113.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(346002)(366004)(39860400002)(136003)(396003)(451199015)(2906002)(2616005)(6486002)(186003)(41300700001)(1076003)(478600001)(36756003)(6512007)(86362001)(26005)(7416002)(83380400001)(38100700002)(6506007)(8676002)(66556008)(66476007)(4326008)(6666004)(107886003)(44832011)(316002)(66946007)(5660300002)(8936002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?hSrcKvGfsyqr07KCR4Jld6R0dVwsBaAsOpwsEPxk7jgFZctCHnJFdMpaZRyI?= =?us-ascii?Q?Psm6IklvnDr1HhakFHrV/TlVS01JdWk6dOLI7QOQftMHygGjK8mKMkHUpAis?= =?us-ascii?Q?AvXHUGggah2XnfDpqnm0YvO5rgdoNv+o6AANO7Z4eY4da0RuxwxgiwvvKD3p?= =?us-ascii?Q?M3Y9Rjk1MIFFEJp7HiaaSaSDMg9ciRyeIUoyXMVYDKhnKREBLHLlH4qnmTTB?= =?us-ascii?Q?GMb7CA7vB+jHpgILQyzSwpha9rC7yG7VnTTIte1j2PzPQE+IZX7PlGzSTVtQ?= =?us-ascii?Q?YetwbS7NvZ7ReOM7xYEQmdFP+OsZLt939JnfUtU99KS2PzWanDiP9Wvldyoe?= =?us-ascii?Q?hwCPNLxomemH7/HPGQ4l80cbL3YS06Ps6hSn+0LllYt377+uRma4a43JIsdo?= =?us-ascii?Q?8IgqiqS3EY/8wb4KcmEr2Y0s+P8CAhgqZiuQ5ykiU7gkj7rYNIyJ9mqV84C9?= =?us-ascii?Q?TeWw+x1WeEFw/H1ItkFCmRPbKy08vryUxcKD8f5u8v3bKeShXO48+4a3PnLw?= =?us-ascii?Q?Iu8ZzSMXwHcVWFUgZIZ7z5LKYHkjlxghxN0PiKO/bova4Pey4da4jIbZRMtn?= =?us-ascii?Q?J3xM1LMK1omAGSq+EocBO04wJrfTuOZACkYOchk5x2deifL6OX6XgwilqiPw?= =?us-ascii?Q?9JKD9QuhcqMfHUGZhXNzQuVT+UW34afjPNbC+pFQbOn1g4/qBBPsBJHDsaGU?= =?us-ascii?Q?hpaZoycZcTX7PqMf0wjCQZJdOmmuReutVLcAlbB0UOQ6oGoNh6qUC5WLDboY?= =?us-ascii?Q?Ti+FRNmV2FI+5QHfcWVJmiIt09XmQqL13/aFEL+/Y3WViO747faTENb+JjBy?= =?us-ascii?Q?DtcPnOUZ8wLgIoBehfhNhj2iVRX96nREf8wSaC1cElQ+jDKYq9OzSfCPUilY?= =?us-ascii?Q?GGfNX8OUo9HnGW8ZSUJ6nlvtWznMtDp6Fk73c9Ax14cPRM6dZKR0BV9tT9YH?= =?us-ascii?Q?nUx1Xc71/jzB2DxO+2J0wFk+UzC+AS0MskqHpsI7NaP+xURfCmEN0DZkTZsf?= =?us-ascii?Q?VLx1WHps+Q0cixd4R82J7tBqZkZLDst44up1i5yQ3bHddf+aikGGleJ543lv?= =?us-ascii?Q?xybCE0RRBP6JOfxCp85MbS0S10IXfYImYQP1Vy8xRRHrmzStQGRf3L6OSTBY?= =?us-ascii?Q?6tY3T8HHmAskHa+GvBe9GUN0YMume7V4lVlzoKjTmKmpF6FXh8oZfmHDsrSq?= =?us-ascii?Q?1BI52u6lrTorYqHy/hFeWcM16BWVsh6L2yOu6ViSkS5W2xR/N9XWqEBAeyAm?= =?us-ascii?Q?21BVNN4pV8EOHrAoXIqR+pgihMcmr6XNXkJx85JLQnPzPUvym4UTidN+mnH+?= =?us-ascii?Q?nrnb1xlzq72Gs0QaQV/3FLiYPOtDWy8hOaGk3AjRfmoDdZE4E1hchuCkwS/f?= =?us-ascii?Q?1cu0OWzcpd7or5+Q3rv1CBqBBk2hcTWZASY9x7AxsXEOmD5UrBlIVtd1/+6C?= =?us-ascii?Q?ah3lEtL6d/SJJZYc7gZL6z5RLwG6YL1tFF23WJm+YPA2LDHfcEPy8MkzWaqd?= =?us-ascii?Q?vDfmONG+yBSgwzEQIGbPBfKUZKHy9tyzvTPUpNUmcd1H3rj8O11Z8ld5dvV9?= =?us-ascii?Q?3p0mSejDLLyPy4SiqEMstNlxXDPRr6QmZsczhZlX1sr6HB6U7jxs0X9t8BgE?= =?us-ascii?Q?tg=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?zw5eKEqYUMj5vYO9d0dKyNUC4BnQ9HaLHzRJXHZziK2VdGLnl/lnIoNLol+t?= =?us-ascii?Q?O55ihEIurlhh5F8nMwhdX27OT8azvTHnWPxYCH+zQmbFZDADoFFMWWytzuqE?= =?us-ascii?Q?fy8QxcPB2UJXKrA00EsHhhdKocc0uJiVNW9aKPduDwPhFJo3BeQ5TKSLNPmZ?= =?us-ascii?Q?IQS0t53m+TOs9/iLvzWhtDFwvuYyNiKALWUfKy6gXODSyOUmDn1izE+7L5cU?= =?us-ascii?Q?OTjlXPo3hR+43zxTRksJ9nnFA27UnunMMTkjUy8cfwwKGZqG6hhm/2cslcaB?= =?us-ascii?Q?E3SHvf7ZAUUkGP1vUdBJYhA6IdM5FR3cKgzSrimfJGaVMw3BLDnGVEClzFNa?= =?us-ascii?Q?N5H44ayvOq/PM8PJ9UIOHIiBL+7fWYE4AkHMNCCNJOOzprDgfJaTHZDQXffI?= =?us-ascii?Q?h0W4Rsol8Z19Ouh1TTg7yUgeF5xwoOTxR1YXYwiScJZ/SfKq85/UjJx/1FVG?= =?us-ascii?Q?dx88ep4lrsG4NqFRVaxeu2dSOOAo9PfJFsRpk5Cof+0yVo0l/WOpIy9UTTgE?= =?us-ascii?Q?W23N8HA8kg1KirAI3UCdkMohAxx2appQxgx9TnopnEv4rSuzvgrF9wikhdd0?= =?us-ascii?Q?KKvOj2tvu/wuwnxI8+s8cz3m2nVmflw6Bi2wRfm3KQcHyeoM76T4zoy2BvSv?= =?us-ascii?Q?YGCJwSl9ye4FufMGTjBwldv40Ll7n5qUyCYcTCSJNVH2hkRb/7maHIeh2KgM?= =?us-ascii?Q?6mxvdN60/ydDnfuNkXE0AiJaR7hjFRVyPwjPJMhtvzN+p+cdLaHPGCje0lfI?= =?us-ascii?Q?saxCjFXLHqGSrIjPhYACPf1+WC2ywW1i9jeksFfATS0EGhE9vTl5sj3/mdoO?= =?us-ascii?Q?+PU5wsmDCqlMd2AzvnGp0zs/Ys359p9jWen75+hUfxd/zZFavtblTZRSCEl1?= =?us-ascii?Q?I+QpH5ZyAydGh1dEwSO4PBwBOEuIyNgk/yaqHnmGIkltbnpAhwT5LNqWZrnS?= =?us-ascii?Q?uytJXAJoEU737I1fIMx3lnvs4i4BuCEBgt0R0ZqxhQEy/E+xrmNVZ4uS+uSV?= =?us-ascii?Q?S0YzVqaJ/g0lSFZ7+bRIh0T2kydYh9QODXi7WqWYSkkI5xsiVeziyeRoWJd0?= =?us-ascii?Q?v7bb0+RZAR3YpN4tilTEEsarx2nQk8C8c+QWZorDiZCn0gZ+8Ec=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7c488c91-f80a-409b-e44f-08dad25c25c0 X-MS-Exchange-CrossTenant-AuthSource: CH0PR10MB5113.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Nov 2022 22:50:44.0130 (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: ykDOd7EDrmXoFetYWuu43ynh5LPKcPZ9mg+D/axNHBDvQNopxDWiJNjJzsQae4sDhuadQlKnIsnfnYk0tIKQgtE1ElX1RZ/hrfiCIfPUNYA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR10MB5586 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_13,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 phishscore=0 mlxscore=0 spamscore=0 adultscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290137 X-Proofpoint-ORIG-GUID: VufT3BYM0vTRovhzMkprFtWtqClY2Vd3 X-Proofpoint-GUID: VufT3BYM0vTRovhzMkprFtWtqClY2Vd3 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Add folio equivalents for set_compound_order() and set_compound_page_dtor(). Also remove extra new-lines introduced by mm/hugetlb: convert move_hugetlb_state() to folios and mm/hugetlb_cgroup: convert hugetlb_cgroup_uncharge_page() to folios. Suggested-by: Mike Kravetz Suggested-by: Muchun Song Signed-off-by: Sidhartha Kumar Reviewed-by: Mike Kravetz --- include/linux/mm.h | 16 ++++++++++++++++ mm/hugetlb.c | 4 +--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index a48c5ad16a5e..2bdef8a5298a 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -972,6 +972,13 @@ static inline void set_compound_page_dtor(struct page = *page, page[1].compound_dtor =3D compound_dtor; } =20 +static inline void folio_set_compound_dtor(struct folio *folio, + enum compound_dtor_id compound_dtor) +{ + VM_BUG_ON_FOLIO(compound_dtor >=3D NR_COMPOUND_DTORS, folio); + folio->_folio_dtor =3D compound_dtor; +} + void destroy_large_folio(struct folio *folio); =20 static inline int head_compound_pincount(struct page *head) @@ -987,6 +994,15 @@ static inline void set_compound_order(struct page *pag= e, unsigned int order) #endif } =20 +static inline void folio_set_compound_order(struct folio *folio, + unsigned int order) +{ + folio->_folio_order =3D order; +#ifdef CONFIG_64BIT + folio->_folio_nr_pages =3D order ? 1U << order : 0; +#endif +} + /* Returns the number of pages in this potentially compound page. */ static inline unsigned long compound_nr(struct page *page) { diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 4c2fe7fec475..6390de8975c5 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -1780,7 +1780,7 @@ static void __prep_new_hugetlb_folio(struct hstate *h= , struct folio *folio) { hugetlb_vmemmap_optimize(h, &folio->page); INIT_LIST_HEAD(&folio->lru); - folio->_folio_dtor =3D HUGETLB_PAGE_DTOR; + folio_set_compound_dtor(folio, HUGETLB_PAGE_DTOR); hugetlb_set_folio_subpool(folio, NULL); set_hugetlb_cgroup(folio, NULL); set_hugetlb_cgroup_rsvd(folio, NULL); @@ -2938,7 +2938,6 @@ struct page *alloc_huge_page(struct vm_area_struct *v= ma, * a reservation exists for the allocation. */ page =3D dequeue_huge_page_vma(h, vma, addr, avoid_reserve, gbl_chg); - if (!page) { spin_unlock_irq(&hugetlb_lock); page =3D alloc_buddy_huge_page_with_mpol(h, vma, addr); @@ -7351,7 +7350,6 @@ void move_hugetlb_state(struct folio *old_folio, stru= ct folio *new_folio, int re int old_nid =3D folio_nid(old_folio); int new_nid =3D folio_nid(new_folio); =20 - folio_set_hugetlb_temporary(old_folio); folio_clear_hugetlb_temporary(new_folio); =20 --=20 2.38.1 From nobody Fri Sep 19 02:18:45 2025 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 634EFC433FE for ; Tue, 29 Nov 2022 22:51:28 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236609AbiK2Wv0 (ORCPT ); Tue, 29 Nov 2022 17:51:26 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38442 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236359AbiK2WvL (ORCPT ); Tue, 29 Nov 2022 17:51:11 -0500 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 488B72339E for ; Tue, 29 Nov 2022 14:51:09 -0800 (PST) Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 2ATMDZ9W028263; Tue, 29 Nov 2022 22:50:49 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=RHKiiVc28hJsMCo6RKUzQfHyZDcgMk6bAgu3H8/3i84=; b=r9w3dbG7TSR6TN2fb/vclzw35RakdaIy4611qheWx9441QKyjPMeaPrR/LeQM+oMkLoT G4r58/W5ps/K0U+fguXW8DelfdHxwJ78Uv8X/unLBGLdmPoxQWK/SV8iFIPwz54rYhjh PpLa0JM7lVi80OXQWCe4eWqwnSHX2MPxZ1+ThA1/zmWfUxSBoqyK5QgssHqkCRfgcd70 26SnJavydXt6gb+tkc0jMGhAOmm/xh0sfDAjQHB53qrjNk6PK44XP/QUbyqAhi7M7Fyw T/jOXCzfDLNmbBpUiJHwG6eZh8xiIUK/WZ49flDMG9vg8BApgGmZ/09lYLtUBTXmTK41 9g== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m39k2rh7x-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 22:50:48 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2ATLsMgu026761; Tue, 29 Nov 2022 22:50:48 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2168.outbound.protection.outlook.com [104.47.57.168]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3m3c1w6781-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 22:50:48 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=F8unrmBFWsO7tmLUWe6b4AoRtv8rnUOfYFnZeUM7MhPRS0MadDp130GZ8ZzdByqBDeGeprX17gbXTYCdRV1Hinn4Mh3jICNInxSbzDWyNbltss1QDe5VO1PxSpkyXgvlcT465kPbt9L+bgnn0Oa9L+R1KJbZqAFKAg/+sHuWdW2FUP+/EdAfYPaLllbqGSHtYA6FQ7oj7lYo2SEgjcuYJgUV8kRJLDpX3BiympAQxXLnvue/7HDO0gKtdXoCT4J6Qfb7Npy7LOUdV3Fkx38R2uczIlCogGjV1BvLjprLuSrWQhFlK63TeiYRegnlLxCcjlqMq/ERKuRITmUADTAbtQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=RHKiiVc28hJsMCo6RKUzQfHyZDcgMk6bAgu3H8/3i84=; b=eknpWuFzjTFYdCk+wJBcsKdzM4BOLtoveu5JMCwqDjtj1wsM184VZo73SPn6Tce+2kHDRlSyev7N10C9lB8igKIso9lynxBygpjzCZqhvew3Idw1fRzed8IGDMPnGLYh3IDEatcUnU46hp+iVCauZ19L+BRlAiRURV0342mCFBUsQMcMaAovyOcFEu5KqZolGohGCEKnd0X7WAtJwW1uo73mEBIYWWwaQF4GFZi63fcvusXIdiFpWnIhS8ZhFxF7v0iZ2KQpcBfn7POqEWiI/8ZH755XR5cFBzXeeSCQ4w6bchsu3RS2C7To80sUzONpgSJqPhaBdEKdbDJmyaorBg== 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=RHKiiVc28hJsMCo6RKUzQfHyZDcgMk6bAgu3H8/3i84=; b=OohiyS2oUOOC5NoC8LxmlyASspANHmnoiDbJOXfyCwUzSzh1HM2XpBuKdNSuPAOnR9wIuH6D4plxqVyqgY9R/zlroLKKTXk+qWrTeaLiOTV94Og6JLlcDJGmIDAtX4Pm/sLXOFnJmLssKO2UMWtdQ84trEEqHrXRjNA6XcpjS6U= Received: from CH0PR10MB5113.namprd10.prod.outlook.com (2603:10b6:610:c9::8) by CO6PR10MB5586.namprd10.prod.outlook.com (2603:10b6:303:145::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Tue, 29 Nov 2022 22:50:45 +0000 Received: from CH0PR10MB5113.namprd10.prod.outlook.com ([fe80::3702:7db0:8917:9954]) by CH0PR10MB5113.namprd10.prod.outlook.com ([fe80::3702:7db0:8917:9954%5]) with mapi id 15.20.5857.023; Tue, 29 Nov 2022 22:50:45 +0000 From: Sidhartha Kumar To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: akpm@linux-foundation.org, songmuchun@bytedance.com, mike.kravetz@oracle.com, willy@infradead.org, almasrymina@google.com, linmiaohe@huawei.com, hughd@google.com, tsahu@linux.ibm.com, jhubbard@nvidia.com, david@redhat.com, Sidhartha Kumar Subject: [PATCH mm-unstable v5 02/10] mm/hugetlb: convert destroy_compound_gigantic_page() to folios Date: Tue, 29 Nov 2022 14:50:31 -0800 Message-Id: <20221129225039.82257-3-sidhartha.kumar@oracle.com> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221129225039.82257-1-sidhartha.kumar@oracle.com> References: <20221129225039.82257-1-sidhartha.kumar@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: CH2PR11CA0027.namprd11.prod.outlook.com (2603:10b6:610:54::37) To CH0PR10MB5113.namprd10.prod.outlook.com (2603:10b6:610:c9::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH0PR10MB5113:EE_|CO6PR10MB5586:EE_ X-MS-Office365-Filtering-Correlation-Id: dc35281e-6164-4698-3f7b-08dad25c2682 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: wOIcUtWIJX3MsRm8fNEE6PdjTj6JLOMkZffp2k9N0DHxVdhQtgZ7aaLRtX/qY2W41CTO9DOidzkAb/FQSa237mBAVA1leKkXfn4ca6Ex3OFij4XpU8Oeu6UgOlrZX5qPP/b8W5eCYSvnOqnCd2pL/ADq7J/BtVUDeJ/snfW88ptjoWS5PtV2OJyKjnNKpf5wFj36NllfnutXvIWr/7moEU3/HwmGbGY6wmQV+K5EwXts7keWikc/A0qJ7WaDglEaDxHB8i4SgDYqOW45LRwv/hqxR6l7f7bhGyBkQIrBjpVmvFuZJu7R6j8CZpLwdwqPB9/56vm5pDEjuVnDBSELLSUPvNty+ln9OBCYAbjfvXKZ+Az4MutiBXAwMMAX027G4YzQ3fQVo3Ckf0wrQ7zD2WlcY4ZkAtFxXmeh/vFtYp14MpBrJkidAE1Dpep/R4KNQWx+03WK6oI6SNoDbzwlwoRvZcoZMZvChjEGsKlYA4D3efDSe9hGNFtiSZ0RSMB2L2en4A3k+ILKDO7lCZfTR67TplfXlnm3Uv7Xj1Dok14P2ZepXN+XV7ZdOAPtbraT2HpH6sDwIDuxtWkeei2gknZLtnlYaTnOTiAm/d4flEIK7ihEHAjIRJqjDXbSrcmd X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH0PR10MB5113.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(346002)(366004)(39860400002)(136003)(396003)(451199015)(2906002)(2616005)(6486002)(186003)(41300700001)(1076003)(478600001)(36756003)(6512007)(86362001)(26005)(7416002)(83380400001)(38100700002)(6506007)(8676002)(66556008)(66476007)(4326008)(6666004)(107886003)(44832011)(316002)(66946007)(5660300002)(8936002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?3ek11STNTtbVMFqmcR/u5D8IaLcFZHYMt8cyrUfi7crct5GKPtqh6DT8cD9D?= =?us-ascii?Q?HIqZgr8GI3s4TgAjWj+QPybra60J4YhQxhF2heE/gLV6HWg7XgMbw1TQFy8z?= =?us-ascii?Q?QFYLG6RqBp/wnG9X9YZ9lGtEr5ubTKrHVzIlMVX09jyFT/ClFZB7kFQ7hcZ1?= =?us-ascii?Q?rBDZY3TvBGXet3iGA8ZQI5MtwMRHiRKCdn6de0qMTHdSgU/NNyqxz8MfJ7Fo?= =?us-ascii?Q?oSsT341atIb66UfpectN+xwxhaAtaoJQ8p9BtmpP9Wu5KGcq2HD+jR4u+46e?= =?us-ascii?Q?yOPZdZ3zNAGQTEGDpEa2nf3RhET5zY231huiICFYZwPG55YWs0daVTwRdcg5?= =?us-ascii?Q?Y56vpTgdgl9ffgDOVAF+YvY0CzCvODEJ/35qfDwj4K41qXAkNWOafNV/G6NS?= =?us-ascii?Q?okMzSqjGFptISoMWSxgjufBlfZw0dBQujQcIT+wAkfjFWyQBoeSYPUrQZAKa?= =?us-ascii?Q?heiQQYEKM9o/d0rtF27UKoLO86UwPtNN3EEi1/LB6xYwCfsfM6MsXNmPVF/i?= =?us-ascii?Q?2JY34lrre0ZGw7J1UDRYEp5NqOSsXGDNb3qZZY6sg+JV1eaGBoNeaTwC3ttq?= =?us-ascii?Q?kw0u+/rfu4FVPRZ0Bwoq8pPO5V/AxV4uF5EYiZcDDvrReOuKel44Z8MJoXL1?= =?us-ascii?Q?SEg2vjrDNiQU8Be7nH7u23EYAIzEbNtu4GG0/ITB/FQlLFCR7IZjZKB6AnKZ?= =?us-ascii?Q?dSDakNpVowdI2DD1zrlJhhvyFe82I3J9FK1CplEOpC54xN+oHenf3IajPGky?= =?us-ascii?Q?bObFbwCp8XK0jnMiOUEB3ddOfzIY+roDmd/V49eTZmIxdP37kffr4IBzcSsS?= =?us-ascii?Q?xsOKffu0Vbz0JfXHR1bjAkKKCD6SLHGZi62YUWYD0s8ZVR1ONuxtfXrzuaGF?= =?us-ascii?Q?n6bWvfBz7kqq/R/ssJKkQL4zC8tru1uidJKLPYhzkcDbS3N4uvbtK7TkHC1B?= =?us-ascii?Q?EKoB1DQ0+5aYYgZshYmKMTI1NEhOx3n5YGPvariBMHTfvphz//+1SeWWuura?= =?us-ascii?Q?5Arl9R4dLtpZDhWpG5Kv5uVOmMZySsGE1BSf2i8jjh2CQ9G3+sKvDQLGzTFh?= =?us-ascii?Q?fRRbIh/0Qi2lJJjp14E94/V/XZxw7a3tEPDx/LYoKN5T2FAhFmSSmFDv/KQh?= =?us-ascii?Q?jR8G31PkLCB15xQuEF8MV8rMf2GREFpjoDfNkAJxL834tydSXt6aNkAUM+fL?= =?us-ascii?Q?9owACazWqL5sBNabzJkmHGMrEe9bzN7VGSCg73oHyFJESNfIKo76aSQcXw9k?= =?us-ascii?Q?+1vYssSnmov3xFwjqJmmgjzS5mRLMrLnWDXXfhD6u5TZsZHQ/xwnSuqXTCWd?= =?us-ascii?Q?3FMu+uuTDJTQLn0ZlXQ57QPmENgX7SeUqRvdsC7ZiawknRVNJ1PqFN2NdEDw?= =?us-ascii?Q?4QakACxlS5fMu2ZP63NWXLVfWsRjDgRSzEIwynnnuhwzB689lbLrOUAxHjwE?= =?us-ascii?Q?ErDkrg8XbP0uk+hVEWEJlo0Uitu/SgLpKyz/rI4ip1TiHIStI6lMaeDLmWwi?= =?us-ascii?Q?5La6GiUAh+I7jZWqXUkVyET8h3KQC0wGlJcj0lt57h6ba/2xOTTbVAw7dS5V?= =?us-ascii?Q?yNPZxnCjvlKRR3gcug66XdW7h/B88ttj+CZ/yV5vMc0nzPCFL6Wl5a3Ep9jq?= =?us-ascii?Q?HQ=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?yEWdOMcsFLSVnejXcNE4HIkuehjQJI7T2bKyOqG8b1FDs76JTgOcNeXXmUCT?= =?us-ascii?Q?0UsYlZ+RzdhJnuLCIx4Js3cXBxH4+qy/4UbuKkZJgvgZOCES4GdVE3hA28JR?= =?us-ascii?Q?gckrzIEeSY6pHX2SOjiKp5nJ/vNT3Rr07NLz/VXhQwhzHbn1IMm69HuZ/i34?= =?us-ascii?Q?N7mVoxFFhaLfr8hN0OUJ4mt56y47SCgf1jkSxh7aQCioX4XRqoPgGlckFbxp?= =?us-ascii?Q?09q+re+CqHc6E4Z+8/I7JqdtYlHasduLWKlYRQzd0OCiL0u55CtB53ZZHgSl?= =?us-ascii?Q?hXcOHbSTRLLUAT7h+lm2I2y5KWf2agFyP6wkc59RScgvre9bY/iQQ/TvUIPS?= =?us-ascii?Q?UHtyX1rYxvO4us5jkbJm5hoami1b8ScL9Y+COQvhcs9rKqSvj+pFTIdPRrnh?= =?us-ascii?Q?iDIVhwm8eRl971+t8CmtQrgc8PNJbUcDsKernBgCbTF9R/P3YnF8mEZnvhso?= =?us-ascii?Q?c3ID6vHVt+lznWqRf/akbGyqQFF79WmYTNNRjj8KdQf1SHRf4AeMzpoGVOVI?= =?us-ascii?Q?16JmNwiB4og1Hx0RkSEoOGzNTnOaNJjAKuKfq1BUS2CIt7MypKmK3dCA3GE4?= =?us-ascii?Q?lJAxZVbumj3LrZLTJEuWeNJxloRl0zvVuX7Jjqhg/FIo1yqAozhyhK5pn8EI?= =?us-ascii?Q?MGHCMjUyLDq9nAtKsiQXdkoSaNA+2zEPCGUoXFgKhiQu4zoe/aYoc2FMoqL5?= =?us-ascii?Q?GR5yfpdIRykg/i5U5DrXzdsrkHgBV/JW5N4uUM8ooEzoGk69ybKH6/hOR1Ox?= =?us-ascii?Q?SEi32yctA0t3WhLOTVcViunFhBuaTHf2YPgEtbfQoWg6wAOnO2BJQtPSSvB7?= =?us-ascii?Q?wROtyWWBrvbQ+PJDTOnhQi0jFOLT5gP+yerbj/oO8Bfeq/FIZ+iPdfQivCNK?= =?us-ascii?Q?oYwj8+bLb5mrWuroiXEPuUccow2fjlVtmrMtsBGZkmq8HhkrlHIuEbGaIHgq?= =?us-ascii?Q?AU/VrdrjONKwo0f1y+cUnYc5pXqOg9HvO2BJsiiSgejG56lidofIXMLlKg4E?= =?us-ascii?Q?C1lBnTo6Bln+4fWWn4de16gVMr7B8XBA3kbS/JsRA7wghh81JYLJsYJF3tJV?= =?us-ascii?Q?QZKSZLcVll1mwVa1SNNg0rqxaqso1LWCHCmUhW6r5q9+6nWvL1s=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: dc35281e-6164-4698-3f7b-08dad25c2682 X-MS-Exchange-CrossTenant-AuthSource: CH0PR10MB5113.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Nov 2022 22:50:45.3887 (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: XncKkNa/2ATXoXYBUnGmRKfgZhbTNGW75JoxAGfeRe0f2epD+0saNwSyURySTUFPnluKlGZRSKkU5pHZtIanGbyt7kGzkpxjrCB0LWn04FE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR10MB5586 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_13,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 phishscore=0 suspectscore=0 bulkscore=0 adultscore=0 mlxlogscore=999 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290137 X-Proofpoint-GUID: 1eo6L1hS93cB-ftH5VCKollboVXuz5gg X-Proofpoint-ORIG-GUID: 1eo6L1hS93cB-ftH5VCKollboVXuz5gg Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Convert page operations within __destroy_compound_gigantic_page() to the corresponding folio operations. Signed-off-by: Sidhartha Kumar Reviewed-by: Mike Kravetz --- mm/hugetlb.c | 43 +++++++++++++++++++++---------------------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 6390de8975c5..f6f791675c38 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -1325,43 +1325,40 @@ static int hstate_next_node_to_free(struct hstate *= h, nodemask_t *nodes_allowed) nr_nodes--) =20 /* used to demote non-gigantic_huge pages as well */ -static void __destroy_compound_gigantic_page(struct page *page, +static void __destroy_compound_gigantic_folio(struct folio *folio, unsigned int order, bool demote) { int i; int nr_pages =3D 1 << order; struct page *p; =20 - atomic_set(compound_mapcount_ptr(page), 0); - atomic_set(subpages_mapcount_ptr(page), 0); - atomic_set(compound_pincount_ptr(page), 0); + atomic_set(folio_mapcount_ptr(folio), 0); + atomic_set(folio_subpages_mapcount_ptr(folio), 0); + atomic_set(folio_pincount_ptr(folio), 0); =20 for (i =3D 1; i < nr_pages; i++) { - p =3D nth_page(page, i); + p =3D folio_page(folio, i); p->mapping =3D NULL; clear_compound_head(p); if (!demote) set_page_refcounted(p); } =20 - set_compound_order(page, 0); -#ifdef CONFIG_64BIT - page[1].compound_nr =3D 0; -#endif - __ClearPageHead(page); + folio_set_compound_order(folio, 0); + __folio_clear_head(folio); } =20 -static void destroy_compound_hugetlb_page_for_demote(struct page *page, +static void destroy_compound_hugetlb_folio_for_demote(struct folio *folio, unsigned int order) { - __destroy_compound_gigantic_page(page, order, true); + __destroy_compound_gigantic_folio(folio, order, true); } =20 #ifdef CONFIG_ARCH_HAS_GIGANTIC_PAGE -static void destroy_compound_gigantic_page(struct page *page, +static void destroy_compound_gigantic_folio(struct folio *folio, unsigned int order) { - __destroy_compound_gigantic_page(page, order, false); + __destroy_compound_gigantic_folio(folio, order, false); } =20 static void free_gigantic_page(struct page *page, unsigned int order) @@ -1430,7 +1427,7 @@ static struct page *alloc_gigantic_page(struct hstate= *h, gfp_t gfp_mask, return NULL; } static inline void free_gigantic_page(struct page *page, unsigned int orde= r) { } -static inline void destroy_compound_gigantic_page(struct page *page, +static inline void destroy_compound_gigantic_folio(struct folio *folio, unsigned int order) { } #endif =20 @@ -1477,8 +1474,8 @@ static void __remove_hugetlb_page(struct hstate *h, s= truct page *page, * * For gigantic pages set the destructor to the null dtor. This * destructor will never be called. Before freeing the gigantic - * page destroy_compound_gigantic_page will turn the compound page - * into a simple group of pages. After this the destructor does not + * page destroy_compound_gigantic_folio will turn the folio into a + * simple group of pages. After this the destructor does not * apply. * * This handles the case where more than one ref is held when and @@ -1559,6 +1556,7 @@ static void add_hugetlb_page(struct hstate *h, struct= page *page, static void __update_and_free_page(struct hstate *h, struct page *page) { int i; + struct folio *folio =3D page_folio(page); struct page *subpage; =20 if (hstate_is_gigantic(h) && !gigantic_page_runtime_supported()) @@ -1587,8 +1585,8 @@ static void __update_and_free_page(struct hstate *h, = struct page *page) * Move PageHWPoison flag from head page to the raw error pages, * which makes any healthy subpages reusable. */ - if (unlikely(PageHWPoison(page))) - hugetlb_clear_page_hwpoison(page); + if (unlikely(folio_test_hwpoison(folio))) + hugetlb_clear_page_hwpoison(&folio->page); =20 for (i =3D 0; i < pages_per_huge_page(h); i++) { subpage =3D nth_page(page, i); @@ -1604,7 +1602,7 @@ static void __update_and_free_page(struct hstate *h, = struct page *page) */ if (hstate_is_gigantic(h) || hugetlb_cma_page(page, huge_page_order(h))) { - destroy_compound_gigantic_page(page, huge_page_order(h)); + destroy_compound_gigantic_folio(folio, huge_page_order(h)); free_gigantic_page(page, huge_page_order(h)); } else { __free_pages(page, huge_page_order(h)); @@ -3437,6 +3435,7 @@ static int demote_free_huge_page(struct hstate *h, st= ruct page *page) { int i, nid =3D page_to_nid(page); struct hstate *target_hstate; + struct folio *folio =3D page_folio(page); struct page *subpage; int rc =3D 0; =20 @@ -3455,10 +3454,10 @@ static int demote_free_huge_page(struct hstate *h, = struct page *page) } =20 /* - * Use destroy_compound_hugetlb_page_for_demote for all huge page + * Use destroy_compound_hugetlb_folio_for_demote for all huge page * sizes as it will not ref count pages. */ - destroy_compound_hugetlb_page_for_demote(page, huge_page_order(h)); + destroy_compound_hugetlb_folio_for_demote(folio, huge_page_order(h)); =20 /* * Taking target hstate mutex synchronizes with set_max_huge_pages. --=20 2.38.1 From nobody Fri Sep 19 02:18:45 2025 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 872C3C4167B for ; Tue, 29 Nov 2022 22:51:15 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236132AbiK2WvO (ORCPT ); Tue, 29 Nov 2022 17:51:14 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38424 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236354AbiK2WvK (ORCPT ); Tue, 29 Nov 2022 17:51:10 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 48D3B70DC9 for ; Tue, 29 Nov 2022 14:51:09 -0800 (PST) Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 2ATMDtFM003623; Tue, 29 Nov 2022 22:50:50 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=41NsoJ4o2oqWcaqkV/bF829aaUMi6RclrIsMH9Q0ko8=; b=MEzXMj+e2rAJwiq41FwXHk/3oOGxSQqXGozWRenMSmvN2nSMI9Bf5988AVZ10dEoQqvd va7IInA5xi6+NK/DUfbVD4IqBeAv94hdin05AC9URt5V2AjmZhbuaPoqytRPLgwBDOTA R6LpKly7Jct61Nikvqtw6fnZMlD2mm3q35YPeXKyej0g2gOjfBvyHHro6CN/F5XYBHM+ EU3QPXscRRnW5e+hLcv9TmYuVFGVyTPaZ67l4ikACRcXNun0nYUPEykFJ3TFZ2IiSTb/ PsKddk/N10N/3Fxyw8VLva5O1ut0iidCf4KidGiZxUrik30nlca+9B69erZs0eMLegsG JQ== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m40y3yddk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 22:50:50 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2ATLsMgw026761; Tue, 29 Nov 2022 22:50:49 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2168.outbound.protection.outlook.com [104.47.57.168]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3m3c1w6781-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 22:50:49 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cP/SeJ5uo5D6E9ZvfdzS6acOrQkOLBfyDHLssIFtNPPH/c0Vfcoe+wj/XYZjbRWqHRjmwVga35x004lYXmvZxT5UBlV3dyA3wMSAnKzY7SV83eRX/sMODpnfR3CV5WZJ3g/BIFYIzusGN8CNdJxcUvvax946IvfLEiz8EfYtlPaSgP0D+CyWmaaIpdDhz4FANnqh1bxz86THZ5bt86Luh/C66lI7BIZgBGX0OwWu7n1nqEbByFBvnwxcBgWCCJd672NPZsTk1Nx4qBwWG7bOjn+20SNeqfsfG7tkQD3kNNmNp2XyVESQPg57REno/J/uVKzYiwrXXOMMhX1h4Dj+yg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=41NsoJ4o2oqWcaqkV/bF829aaUMi6RclrIsMH9Q0ko8=; b=oJX2gp+6Z2XrrzqyQzpX9JP0faIhCWo0K1iUOBLAkK5qpptyrHST1rA9zXbV1FnG4NN/829wNvGYIBCEpIJPMx0N7hcEhuEg1fjAHl35iMFS2RquUlHgnCXRI1DbSZo8rnxL0tYJbisMBQjYIH9CDAdrd6MQ8aP11F+sqDYTueJ3ojZHrk5u7C+uYtqCZE89b72DL5i7N6FQVgaBuuRyV/c1R+8H2Dgwdjq8ZS44o2LQZG2ege7b6ER9TzSXTMMzf7xWyOxIFaupk9Gc5pfmdCZGvnp3nSh799++iUZHMMpCAqAw88ZN2X2Cg0EIrtzNCROe/CtXkpKhLmncZ+w/OA== 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=41NsoJ4o2oqWcaqkV/bF829aaUMi6RclrIsMH9Q0ko8=; b=JSMSZ/+FW1M4X1VHktpKk96qLwm97+9EorCe+baCvrDvTHoAMwQTJT721V08GLA9JbXYhfQE8I3tgUkq6wZtDP46lHyfc9mSLtm3iu0JCROK+hcILNuk0DyqWvA1IUP1/F9WxeECXVvLZtSZpqtjZxZJ+BkB5Ozw1JedOA6hEe8= Received: from CH0PR10MB5113.namprd10.prod.outlook.com (2603:10b6:610:c9::8) by CO6PR10MB5586.namprd10.prod.outlook.com (2603:10b6:303:145::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Tue, 29 Nov 2022 22:50:47 +0000 Received: from CH0PR10MB5113.namprd10.prod.outlook.com ([fe80::3702:7db0:8917:9954]) by CH0PR10MB5113.namprd10.prod.outlook.com ([fe80::3702:7db0:8917:9954%5]) with mapi id 15.20.5857.023; Tue, 29 Nov 2022 22:50:47 +0000 From: Sidhartha Kumar To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: akpm@linux-foundation.org, songmuchun@bytedance.com, mike.kravetz@oracle.com, willy@infradead.org, almasrymina@google.com, linmiaohe@huawei.com, hughd@google.com, tsahu@linux.ibm.com, jhubbard@nvidia.com, david@redhat.com, Sidhartha Kumar Subject: [PATCH mm-unstable v5 03/10] mm/hugetlb: convert dissolve_free_huge_page() to folios Date: Tue, 29 Nov 2022 14:50:32 -0800 Message-Id: <20221129225039.82257-4-sidhartha.kumar@oracle.com> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221129225039.82257-1-sidhartha.kumar@oracle.com> References: <20221129225039.82257-1-sidhartha.kumar@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: CH0PR03CA0415.namprd03.prod.outlook.com (2603:10b6:610:11b::26) To CH0PR10MB5113.namprd10.prod.outlook.com (2603:10b6:610:c9::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH0PR10MB5113:EE_|CO6PR10MB5586:EE_ X-MS-Office365-Filtering-Correlation-Id: 6cf304ed-02ae-45e8-bcdc-08dad25c27a2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: AObkcQOxBh/yPRut/BZvZPBsV99NP9vvz6bBWZPh2AsdsweHHtjLgf/rLJKkcTtDeeaZitgO8f3ZPXPD637oBtzuUPLXrUlb1TdEdzd29OZQT9Nqr6x7qMzvOHQfqQYGDztYUJUOh4kNkysRN4aj5z/G6AN44hEaIXv7RUTxjf5dugb822prpnPhYXxiCa/MlJFhHfVJZ1RbYrrbQxWastzb7XMyFcxCWTL+hauZDUOOKd3/bZ9OiX/OHPd4JT2EsVrOXZqulILbvtkTF7st6ndstmuHSB/UXIb1LqkSRMietOhegq/p7s0stmug0kuIYeOJKJPO4tjkhuWwUB+qrUbpbr6Upw6jG8nNbL7mqLqi0/Q6YehMbxCVuwlLZjwvYFDZ3F6o62N8R/n1QUvXvPDoLqANYdj0tq9udc+sREZCuZaF6FAMOink6L8dm2XZqKEvd+E/Xp03U8FQTmHVWSNIzEs9pqMbqVF0lYQCYdsn8hswRYMTgR5YUiz71nyshlYvfwPqe3I6Zdo7NqeuGOYR/2egTiEj+cgPEVfudjGAca/sqlIGsIVwsjk9oyyzswUJYKe6GzBIo7UQ1KcIwKjCcjQYeO07JI8xvvIhaBE5k5rgqDYfKKb/XxLp5E3s2l8fXXMELfkrEbYzMVIbL+7UCPTD9jrQY8a/cs+ESj+o2/82NaXY8IvlpxGv35D4 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH0PR10MB5113.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(346002)(366004)(39860400002)(136003)(396003)(451199015)(2906002)(2616005)(6486002)(186003)(41300700001)(1076003)(478600001)(36756003)(6512007)(86362001)(26005)(7416002)(83380400001)(38100700002)(6506007)(8676002)(66556008)(66476007)(4326008)(6666004)(107886003)(44832011)(316002)(66946007)(5660300002)(8936002)(14583001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?hlKzssi+8tjWZEw8jwwuryEoI0FquqE75Hx45eBVU1jIlvsqpv9UoaoLH9d1?= =?us-ascii?Q?vMZrn2nFlIQcC4HKS3p+dzC1D3L4D7+ytnQw/GLcu84AWbiFYxiN4bso5MtC?= =?us-ascii?Q?bRMs7gUEa5gQUNMBn03BeRToijooinVmcSAxwCfIbk0oMVWRTcHOizAS4wTx?= =?us-ascii?Q?QfE1gAAZWF1Isy3CaeFGaU0/tlKSKpzkH2mLFlmhlk4pxJxonUWfLX9SBzj1?= =?us-ascii?Q?BfrOqjt6Nic7zE3izVBDTv+MpM1sMSVw5PYoyvpIe5E2XB9KqfSEjTWwW+Tx?= =?us-ascii?Q?gf+Ywlab8ob5gwwbIcCSIqr5Qh9qYG8Y+HasEIpkv5VKxnyGHt0gMN7aLs7F?= =?us-ascii?Q?vkZvlDSqAtDQOyeHgD5KIm8xAgTocTq4vNB70MwM3Fs2U4fZp0/zHIX4Kgx2?= =?us-ascii?Q?gNXYMHMtjmI/qmOcFoYuowryHCsUcYx8mjKBLpYZEGBiqlU3x3/l+P2yhDZU?= =?us-ascii?Q?p+Ly0nHMuSdWT+hEe1a2rc82Qf/iO+Enf0u3FAP1a4N7jRNWXL7Vn/CO7/0L?= =?us-ascii?Q?rIXSPpfzL+selFv1EeNDtfY8eQ2R+s4MKzrPNgaldvlBm+cpI1cVw2DXR4JZ?= =?us-ascii?Q?wj5eLoo2iwzstTTbhxZ+jgvQAahr/XFmPInvF3AQFYAU36MLiScHH5uvVPpM?= =?us-ascii?Q?zPTqVZNObe2FcPiZKzy8ixEWrMvTjSP5zoZVl2ZzOjNlEnbM+cK2HA6Miqrv?= =?us-ascii?Q?uIECI9Em37fuccqsESFBN7V+9M3MEklLeApICJvyBLuZAmj6DcBJlgJZIHNE?= =?us-ascii?Q?CxCh/MoNFCDixYsKsYS0UZiQ2wrndvRMYt5V1FzrpboZi3MktZOq6YelhpRD?= =?us-ascii?Q?smu6FKwTy5zwojJadHRxa8chcXftmfylCMnOkA5eaVviyHtsZvjlSdyy7CDQ?= =?us-ascii?Q?gYGYYSW3FYzLyo4UzViDN+Nh1L4q87S9HgV8TkkwP2qeM8AOySD9SZtVUxuP?= =?us-ascii?Q?4ATMxuIGbh9RhSn4xaekLkjSbyNC+CpofL19cGZ7gQUrCmM/Xk8k1MTxANWD?= =?us-ascii?Q?5zZo2UkeKXA0LSMakaVUKpDGHzct8cpHtNeFosvNi2midbC2WA7JlFrxHGPi?= =?us-ascii?Q?CaRJ5w4AL/pdmKyKWX0t9Q0QwhSOuw2DPRFJhG0QSEMOoRDWqUDvPEoZ9vCT?= =?us-ascii?Q?mLggT9FLcLD6J7X+d/uPrkjXZkZ9qsh0iSB9DptWbmbNl2h99+qm5iBZtT2I?= =?us-ascii?Q?aaV8srbnZpsSjP/U+h47B07cEuYVqaexXLeNhQwQfDd+IBePU0PKEZi9qbJX?= =?us-ascii?Q?x8AW1fkRak2dhALxIS2IcZ2PTz7x32DT7mRVW5h+ZM/7mUeTM2BypB2A2exm?= =?us-ascii?Q?SQujdrjI7jEdoJIkomkzbYj4hUPYfhtZgjOlFI2Dp62/ZOxKzCD52vVe5w/9?= =?us-ascii?Q?60Dkbru9oITUS38QTJKdKgICnJ5bw/KdAGKP4lyi0NnAJwVhwZxiQXKrNmus?= =?us-ascii?Q?l95Gi/xjqDj0iXp5q4GYuki1zHr6oUpH2IY+la6Qcel6E5djDCh+P9dqm9WP?= =?us-ascii?Q?QCg+Qf9tq59den5ZvsAfqtbvaMg3/jki09qNGUW/YTTw/Y3n76aY1TgFFXlc?= =?us-ascii?Q?wm0N55P/kI1y+2RkswL1i+wfnrfHYZSGwCLPhwJw8J/98pwCVhdLBNl8jiYy?= =?us-ascii?Q?CQ=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?rbPLmd4AS4Zs8U1P8HR4UDU1Jc7T6hBhWWCqcvQum6a9cVLHeDwIrBy+K3cy?= =?us-ascii?Q?FzDiKX6+KqzvdQvd/nEuMzFazZaYKSoUMX53ddY5u2Gz3NhwHaXlaaX9jPQY?= =?us-ascii?Q?VMHGdgnC40a8eI9cfke+M3/w9/3t3t7+GsQZ8kV1UiM8sb5+iLUlSRPtZBbW?= =?us-ascii?Q?SlkxkBccCS8rYlnCEsX8q7PFqQe06e9uYg834iJD1gSsir6bKgsjx2KuK81j?= =?us-ascii?Q?HcKhZ5JufuAGTRu73/tR2KYcH8bNY16YIGSybuJGuIUVXCPCOo4Mu5Arntgi?= =?us-ascii?Q?yVEqfv5Is9kLgWUVgBlVmSPGJ4+XfXO5VmeeZ2S92by6n6LdlRNofbscNiDA?= =?us-ascii?Q?DIgECrY+npftyMw+g6qkjl3uLnYoHxXOfDwYuMa3bbUFk5rqhXKeDJ0ipe3F?= =?us-ascii?Q?7BjHP+WTaBFOfBpvsu/mnFZn7d26YHdsJ+Y5Ws62lQaLY9NMyWn+RF27kLWX?= =?us-ascii?Q?zNLx/YDwU4iurWnrCCKjhS5XD4lCUMDKLNdmHiOqQ4+tVGnLf4oM1BmOQiE1?= =?us-ascii?Q?MekG4B8ULL/j26niR2hUy0jILUxmeltiXBP+6A18A8Drgmh0nOed95qm/a3K?= =?us-ascii?Q?qrK9ffgGT1t+tLufTi1ustE4sVquq5weAe7pxTkEl6lGamM9Kgt4bMHKjIxH?= =?us-ascii?Q?Vao0LryFy/mBwYgFrWe16lCI9UYbp8ABDkDEPfT7g1WHFxzxqA7NH0Se9Uoa?= =?us-ascii?Q?uj9r2bT4a5D2qGzDGNsHWUM7sCt5NLRRmqqyUtSIzEpIzKb/wNDMSkyxfI1G?= =?us-ascii?Q?b8HeaF3O7g4SGslyZ1Btm1GbwsmuZvYRjcLBg1sbJmQO2l50w2S2I31W6WbY?= =?us-ascii?Q?g7OXdxzp72axS/hjvirG7OZHp4qlGZfkHGEP8k0aotAeSC99vHeEnxCg0rXF?= =?us-ascii?Q?QYmdlVzGRoZ9SMHl03L5nDw+PmmJuNjshx0YxLqOq0oesXV/bQ4cu1y1U0WU?= =?us-ascii?Q?vZU5w+//R1SQLJtzUNUv0yXX7AGrcuzdvpwrf+l/qEGgbNgTo96lsSWevypH?= =?us-ascii?Q?hwffsnL7bPUbyvwJWN2Z8mg8W2zXMz0hkA1K1ZhD01Du6sDFbDy6LwEk+C9L?= =?us-ascii?Q?+UABXJYaWR8apNV7YwnAmGYt5AdhgWeQHsUkDIpJFfyTJvjENCU=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6cf304ed-02ae-45e8-bcdc-08dad25c27a2 X-MS-Exchange-CrossTenant-AuthSource: CH0PR10MB5113.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Nov 2022 22:50:47.1709 (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: c5Z3Cgo6oQSmF2bdmQ1SBCtVIDKuWixSUKKf4Qs/k7dY0UR9Jlyk7axBuAJyIq52apsKeP54I/cCw2wndLB2M6A8d5gXwmhkkrvmTLnJw7w= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR10MB5586 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_13,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 phishscore=0 suspectscore=0 bulkscore=0 adultscore=0 mlxlogscore=999 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290137 X-Proofpoint-GUID: sUO7fuynA6dTTnH-9Ia3zAJch81AtlSr X-Proofpoint-ORIG-GUID: sUO7fuynA6dTTnH-9Ia3zAJch81AtlSr Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Removes compound_head() call by using a folio rather than a head page. Signed-off-by: Sidhartha Kumar Reviewed-by: Mike Kravetz --- mm/hugetlb.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index f6f791675c38..d0acabbf3025 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -2128,21 +2128,21 @@ static struct page *remove_pool_huge_page(struct hs= tate *h, int dissolve_free_huge_page(struct page *page) { int rc =3D -EBUSY; + struct folio *folio =3D page_folio(page); =20 retry: /* Not to disrupt normal path by vainly holding hugetlb_lock */ - if (!PageHuge(page)) + if (!folio_test_hugetlb(folio)) return 0; =20 spin_lock_irq(&hugetlb_lock); - if (!PageHuge(page)) { + if (!folio_test_hugetlb(folio)) { rc =3D 0; goto out; } =20 - if (!page_count(page)) { - struct page *head =3D compound_head(page); - struct hstate *h =3D page_hstate(head); + if (!folio_ref_count(folio)) { + struct hstate *h =3D folio_hstate(folio); if (!available_huge_pages(h)) goto out; =20 @@ -2150,7 +2150,7 @@ int dissolve_free_huge_page(struct page *page) * We should make sure that the page is already on the free list * when it is dissolved. */ - if (unlikely(!HPageFreed(head))) { + if (unlikely(!folio_test_hugetlb_freed(folio))) { spin_unlock_irq(&hugetlb_lock); cond_resched(); =20 @@ -2165,7 +2165,7 @@ int dissolve_free_huge_page(struct page *page) goto retry; } =20 - remove_hugetlb_page(h, head, false); + remove_hugetlb_page(h, &folio->page, false); h->max_huge_pages--; spin_unlock_irq(&hugetlb_lock); =20 @@ -2177,12 +2177,12 @@ int dissolve_free_huge_page(struct page *page) * Attempt to allocate vmemmmap here so that we can take * appropriate action on failure. */ - rc =3D hugetlb_vmemmap_restore(h, head); + rc =3D hugetlb_vmemmap_restore(h, &folio->page); if (!rc) { - update_and_free_page(h, head, false); + update_and_free_page(h, &folio->page, false); } else { spin_lock_irq(&hugetlb_lock); - add_hugetlb_page(h, head, false); + add_hugetlb_page(h, &folio->page, false); h->max_huge_pages++; spin_unlock_irq(&hugetlb_lock); } --=20 2.38.1 From nobody Fri Sep 19 02:18:45 2025 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A7098C4321E for ; Tue, 29 Nov 2022 22:51:37 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236752AbiK2Wve (ORCPT ); Tue, 29 Nov 2022 17:51:34 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38448 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236812AbiK2WvM (ORCPT ); Tue, 29 Nov 2022 17:51:12 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8F5EF1EEC3 for ; Tue, 29 Nov 2022 14:51:11 -0800 (PST) Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 2ATMDsRB003558; Tue, 29 Nov 2022 22:50:52 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=b3PQObH1nF66pRxTQNIQTkBEH8mytBqt2q8Yl3YFS+0=; b=Nin72qJYi6Zk9IHrWlVZXZs8hKIcY7DM8sVvtdIq7tclso4UZYzEaslguWgt98S5hMu3 QchTKhzj9RWkOidkKahkXgg3Acp9nqSRDh70TpB/ButHR+FsfjgCygXy7LWrVuD+d7mY UuMa62GeMMVeDLEebG8/Dmf5dRKpwC3W7XGBIN4IjEAFvywdAa/l6xdf5V+SOGK1IdoA zErOdnYTSz0whM3m8LtWKquK0J6Aefb+9BizttmSg8AaH2t2+2J19YrJGQbStY0IZE/K tDvr514V2xZWinAxxS3Z3XdwW619vXsJet9Wm+fJhhiYnfVJMvvHjhwJ4fZGYJMokqnP yQ== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m40y3yddn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 22:50:51 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2ATMJiCC011526; Tue, 29 Nov 2022 22:50:50 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2168.outbound.protection.outlook.com [104.47.57.168]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3m398ebb3s-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 22:50:50 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jUKSxc4qdn8/OL/zAbOAJxIEUyqx4YIc8pdOQmbGMXGeu9uUbNjV6LI66PR/I5egfxxVJs7XSMfSPc7oZTVbf+6rO/DmGvzrzoTJPi/NviQbtAKa6pPefxRi3kHFPFQqXy5mpFRpwjDmBJuk5fSf1qWHAuosm2UGEaoCZ5lWZQrNMobpLMnCpTgET1kSPVnpFhCafxgnHQmfRwN5CpyIPxtIQeoQzUo1Od1fk7MqVTRTkEYs0U2drcIzVjkWfbcioLD2PdU5qOd2yRT8b3dXr6BkXzZl6mMxq54YHEyKECAukiwEV1LgOiFwx9OAbGzKAaKDRshAniU4B3tiROqPcw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=b3PQObH1nF66pRxTQNIQTkBEH8mytBqt2q8Yl3YFS+0=; b=ey+mGLqXHEtcDf8ezyDnibsL+D9I45bAvNgOuOwK+i1FV5loHBfcp98BSDl0eHjVyTHwwbIXPewPlhltaWIAsvXTNYCA8jiM22BTvUrgsCYj6AdhfdPFrnFsi6/PmBGRBrjA5MUBqDiMB97Ewf6q5PBvl95Tzs601K/BxcT76Y9z5pI47MtqjMbvzjGiFpC9JJFHgpwelcpf/vVSIxNjjHaEMH4W7JKXbFKwhE0BPbAX09KdofQcBk58lCnGrsl9uQzxglbuPFYX1/KYyH2mMCLqUTCiNmCe7L2WsWDicmdUeoR+gQLqMlPhRrJLAv++FXSqvgkq2hTGINdfJT10Hg== 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=b3PQObH1nF66pRxTQNIQTkBEH8mytBqt2q8Yl3YFS+0=; b=CQZivqSlQkhq7RBWt46iNvbkmqem9N8bHNgRJ5dd89nCLmolLLvn01kq1EwprPV3xbDMuA9MXfNVJNNGESP6G7Mv8+eV2KPQpZ0JgAF7tn2hclGBNPq4nX1YPWEWPfITD9quXTWV2e8jFtKdmYI3mydvZPjgnepqIRf5rw0l/xw= Received: from CH0PR10MB5113.namprd10.prod.outlook.com (2603:10b6:610:c9::8) by CO6PR10MB5586.namprd10.prod.outlook.com (2603:10b6:303:145::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Tue, 29 Nov 2022 22:50:48 +0000 Received: from CH0PR10MB5113.namprd10.prod.outlook.com ([fe80::3702:7db0:8917:9954]) by CH0PR10MB5113.namprd10.prod.outlook.com ([fe80::3702:7db0:8917:9954%5]) with mapi id 15.20.5857.023; Tue, 29 Nov 2022 22:50:48 +0000 From: Sidhartha Kumar To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: akpm@linux-foundation.org, songmuchun@bytedance.com, mike.kravetz@oracle.com, willy@infradead.org, almasrymina@google.com, linmiaohe@huawei.com, hughd@google.com, tsahu@linux.ibm.com, jhubbard@nvidia.com, david@redhat.com, Sidhartha Kumar Subject: [PATCH mm-unstable v5 04/10] mm/hugetlb: convert remove_hugetlb_page() to folios Date: Tue, 29 Nov 2022 14:50:33 -0800 Message-Id: <20221129225039.82257-5-sidhartha.kumar@oracle.com> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221129225039.82257-1-sidhartha.kumar@oracle.com> References: <20221129225039.82257-1-sidhartha.kumar@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: CH2PR11CA0003.namprd11.prod.outlook.com (2603:10b6:610:54::13) To CH0PR10MB5113.namprd10.prod.outlook.com (2603:10b6:610:c9::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH0PR10MB5113:EE_|CO6PR10MB5586:EE_ X-MS-Office365-Filtering-Correlation-Id: 847f9a5b-08d0-4de4-cd6f-08dad25c2868 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: na2VxpQ2zzAMPMeVaVbT30tbkHMqjyZkyvDOg4FzZ8Xqnwm2CSfasiRCeLgqF+w5VsW6rAlPZmsLVBLUMjHFe2FCM1k6rLiQuQ0zGh6INriinLLnQM05SEWPLPsAmN0LCrZBq8DgwgnVOKUPX5GOuI8oOxRMvP7f+b2Y4DexNbSzVpxpppejdpi743GEM8+hXkNLGTSAj2mCY2p+LCaSC1ttfcNWm0xdNkof4v1EkI2l1+DXVKZr0A2sxmJm3EGcaQZ9c5wuPB+COMP1cQXUQB68Sj+vQlAfO9Aw5Rv0JkkoUoDh/lcbbbtEsrZwpuJokj+0hk3q3emPOs8mXqMWXbgJo5pp/uww+Fs2QqlZq/QF5ILoJJPy4A123QH8WNgyisWmRdYqvGfUdVrMaAPQ2IqrwjpsJaxLAPMI7wi74oDR0ViKI9fP8SRibssgVbwSH5o1kSEGhRiS61c0GJdTKCVY7CF6g4QNYq3NObesbn92Jrrqx12OKHAnBrY2pYBbxDJ05YMsn0aNJb3VDzwSFLi2/S+DciNeliVLP1ER83pkhEM61VBkYtIyJuyFSNA7lL9U1qlI4G1P8qLvL36V4AsvssQiwavssk5v4VdBTxAlnZvDuMK8p43Xt/MODVuUOAz367k5942tNr+rv3vhIA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH0PR10MB5113.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(346002)(366004)(39860400002)(136003)(396003)(451199015)(2906002)(2616005)(6486002)(186003)(41300700001)(1076003)(478600001)(36756003)(6512007)(86362001)(26005)(7416002)(83380400001)(38100700002)(6506007)(8676002)(66556008)(66476007)(4326008)(6666004)(107886003)(44832011)(316002)(66946007)(5660300002)(8936002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?KOFypu8SK4Ua8Hp9MGiUqhr9cbBV0N/ulDZQwH3OLUuwWg+bSQDgGBpmbqf+?= =?us-ascii?Q?OThA420pZw9OAyj98JsclY3VEPL+6DHlfsLcdjY45hN+3g4kiOTOSk6saLkM?= =?us-ascii?Q?yyOH0eVwuBUM1SyH6vNtXxos9YP+Uc5AsRMIyVpxjOpk5SetfSw069m7GN2/?= =?us-ascii?Q?tDW5qsWorZvGtWsFuorWCB9cQE/krZ6mfolRYfiUQ9nNlWbubr1yNhCSMbuH?= =?us-ascii?Q?iIxSxAlNS9eDNnX4fmH0U4xIU50v3l7ZmJdQITlFv9COhCqeNIqVbmuWzLxS?= =?us-ascii?Q?zlKRUB27L/icYL1aVMhBi839mkbZSWhr+1fhqA1iM8Olki8dDaRu3YPSBoOq?= =?us-ascii?Q?DaxlkCurceOaEHa+lJEzD3BMEKW36hvGsQqxvqLefDd2Q3LCK/0aNJtDjcBg?= =?us-ascii?Q?RMfrWkUkee/QZmNeYxU4EECwH+pTW6wCyFW2Z3ItDunoKbsfSqCXnBMf6QzD?= =?us-ascii?Q?u3mtbuVI0uyxLMMPlwgfB3cjWBVS64ggqRjHji8j7VNGLoo0gXU89hnnOycZ?= =?us-ascii?Q?zjvaLZvHwTKuam7owl6h3Fidu2We4/TVKuLUHPyIrZfR4KecWQzc7NAH4Mm4?= =?us-ascii?Q?Maq0HvMZVuir7Yz64JQaOkfGQXwIAx16pgZ7QApJsB8AzwsxQnx7lirWSO+C?= =?us-ascii?Q?c64H2CzTbwBLcyhVHllb4/u+GwTmORjlip18HAWB/39JZ8aJtRnME9SKWiNz?= =?us-ascii?Q?bpqxtYQOlqZyUDjeY5ZDfjN8EXMf6CfAWqNGl6gnRk9HoxczxC5CpS+xLwKZ?= =?us-ascii?Q?7pn5/2fNNqM7+RqzoJlEzwANnzt7in7xkeV93E0ZvR8qRbJEh2/DBN/iAxSQ?= =?us-ascii?Q?l8JRJUvJibOHT7IKq86bWJCfese4jplFNiPlECLxjMrAoPO8MAr0xpy+jTVt?= =?us-ascii?Q?KO++3rVEc0Hg2yAsMFhDT/QUUiYaWV19az0gbpS9mRmA6DbAFHb984+LwKR3?= =?us-ascii?Q?UqqQLHF6tDC01dR+GpSZLei5wihxfpVX4Ktx99mYkf00+Q4N0NDYhe9daXvc?= =?us-ascii?Q?lvyLHXE153xi0qJyrxuKkJdwMamyLyl3PgEJP/aC2jWz/rqs7U9k2Nz4YkS0?= =?us-ascii?Q?xweTqWbDMGEJzwHLKeq5imknpS7PbdDj/HAOUWqop5j8t+KInP9SfItdJWqE?= =?us-ascii?Q?EGYp/PC8wcD6kBZMyJ+LFV63C2Kn+04r0XTyJ9HbFZVBeg5S9lfNSc6+C5uy?= =?us-ascii?Q?o+etu1Tz8HI5xqcyOVO6oEngYIdXGZKqsgOgKKIEb70MxJtFWApNwM5U03sF?= =?us-ascii?Q?1QHFdR8H8x+AeJ+6YZYBoDqTd1MJ0Av79mNP3gZi5UfjTPlnrwSB3yXOfsI1?= =?us-ascii?Q?unIaZBwAO+/aArbBdjClipl8m6UqOK8gm/ZTmkdy5r1yIyPS7hjTq77GyLrM?= =?us-ascii?Q?lUpli6rTQKKHiuBE6Vbpl/vUTAdBUADaUfcNc1RBFqG1GQUnNdmVNhFQ5D3J?= =?us-ascii?Q?zi/Dioq2/0oynqVwJEa925t94kRRqsbnUz9B4totH1JXyQCo36A6zl1O1eBE?= =?us-ascii?Q?p8DAZBs40vvQLToAqxmbfU/bXqCjNZrygM+4e0OSzRoARiSJBzIVK2D5PKIP?= =?us-ascii?Q?jbWFXQRgc029xth9teA8nPd7BgeGejKbVPi0yHa+yPnDEkFHQgQly8x9C8Vy?= =?us-ascii?Q?GA=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?sKsHlhnCvwYwJCo6V5KZT3MH3PnDRxbzKnUr5lMCSr1Wv5cZnae1P9bWaEOS?= =?us-ascii?Q?VegZlDRHpiAs8y6EIrTET4CIIWXEdwf7yuQjuFv6oRRMfAWaHvoRmokRLz8p?= =?us-ascii?Q?IbFGt+mgPNXMMgfKPvG6Eg03Kj9vlib1QP0gzZnq5LRP2IscGyDww9TWTlan?= =?us-ascii?Q?mtGi++tS0HDU0bfD3w+m40aUPQSJZHDVkjMh4kDDlPUv6kWY9EI5YnKqed5t?= =?us-ascii?Q?TZuGf+R+M0JGMn29LboawmvzKTUohtYWz4YzklhlIOUJsAM9F1DI/g1QWxti?= =?us-ascii?Q?p/lNLtkzhQDf7D/MfulGFWsmdZ0NfuMwd3n9PRo7uOUBhaglJimqVG7UIHNC?= =?us-ascii?Q?P0zoRAERiIcKDBO5iozGkN3CQf7LFO3lgxDPrPuQ7SFsIgszomy+D45gILUw?= =?us-ascii?Q?FWWETK7asTsqFbrlQCHclFBsXahnfrAIgoVhP9lCFG6tY5G4bBIYZW76TSnD?= =?us-ascii?Q?z7EIAuX5rPhpbmveyD9+oV3Q5hA3P7ko0c+zEWIgnDZ1t2ZCqqpKPUNyQc1a?= =?us-ascii?Q?5R6abSdr7juIlB0kMYTkmxATwlGzo1z9M6t+FjPSR4bmVs57P+AwzFUjbMO4?= =?us-ascii?Q?EYe6u9L2X6HBc3X3MFlXFIeZdcw5RLNrkfUZDLvRorm0qUgfFI46jk8htMdC?= =?us-ascii?Q?KS7//UmCr6BphtwpJ9HHjidSiRh/Y1Ld6oJ6PpenGX6R2b56ZV0vBefyBx7j?= =?us-ascii?Q?Cp4Di5jiadsWpY8mAjqj8/auDynx5+OZS/Ct1m7+nLidih5+SltAzOcZrpck?= =?us-ascii?Q?Cn7rZ1mseBF7Yml+/fKC3pajf0CH+TSd9ARizlfX1U3HmOz8p3x6L1cyeG/q?= =?us-ascii?Q?bQEGcC9JO5t2CDFaSvXEIOReOXCXWsr+fxiFAPQdBzxh0+WtSBptR29yu4AY?= =?us-ascii?Q?HntLt7fIZhDJe6xIcYmz/pUxjNoqVyoFIp2zXUyUwI893fgTLByJd1nwlS98?= =?us-ascii?Q?c/5GNMVQ+PvBmgq+/ud3uVD0cwn4gPTae1vqMvKz4qHwvYI4qj2SD5mWfCEt?= =?us-ascii?Q?j6V30g2q56Pimz9a9qU4WO0wVt9Ky0D8OZ8XOLro3rQdVI4L+YPwoGIEDL2N?= =?us-ascii?Q?OCEAKhGfKpKtPWvGi8Tl2/mzsToklASpYJJ8FKkOn9VVrTZ2xA8=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 847f9a5b-08d0-4de4-cd6f-08dad25c2868 X-MS-Exchange-CrossTenant-AuthSource: CH0PR10MB5113.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Nov 2022 22:50:48.3752 (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: SQI7h5A5vQlTBqVm0YNWaWo3khSu8PqwN45mgYJ0P6NTlIunhRZpB7ykoQbqX5a0ENxP4kQE71bIJU1QPamF9PYoRRymFpa2nfVUPwwT0zs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR10MB5586 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_13,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 mlxlogscore=999 spamscore=0 malwarescore=0 phishscore=0 suspectscore=0 bulkscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290137 X-Proofpoint-GUID: qxSd9BZT_RFKiDg5F6SuYd686uunYFpE X-Proofpoint-ORIG-GUID: qxSd9BZT_RFKiDg5F6SuYd686uunYFpE Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Removes page_folio() call by converting callers to directly pass a folio into __remove_hugetlb_page(). Signed-off-by: Sidhartha Kumar Reviewed-by: Mike Kravetz --- mm/hugetlb.c | 48 +++++++++++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index d0acabbf3025..90ba01a76f87 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -1432,19 +1432,18 @@ static inline void destroy_compound_gigantic_folio(= struct folio *folio, #endif =20 /* - * Remove hugetlb page from lists, and update dtor so that page appears + * Remove hugetlb folio from lists, and update dtor so that the folio appe= ars * as just a compound page. * - * A reference is held on the page, except in the case of demote. + * A reference is held on the folio, except in the case of demote. * * Must be called with hugetlb lock held. */ -static void __remove_hugetlb_page(struct hstate *h, struct page *page, +static void __remove_hugetlb_folio(struct hstate *h, struct folio *folio, bool adjust_surplus, bool demote) { - int nid =3D page_to_nid(page); - struct folio *folio =3D page_folio(page); + int nid =3D folio_nid(folio); =20 VM_BUG_ON_FOLIO(hugetlb_cgroup_from_folio(folio), folio); VM_BUG_ON_FOLIO(hugetlb_cgroup_from_folio_rsvd(folio), folio); @@ -1453,9 +1452,9 @@ static void __remove_hugetlb_page(struct hstate *h, s= truct page *page, if (hstate_is_gigantic(h) && !gigantic_page_runtime_supported()) return; =20 - list_del(&page->lru); + list_del(&folio->lru); =20 - if (HPageFreed(page)) { + if (folio_test_hugetlb_freed(folio)) { h->free_huge_pages--; h->free_huge_pages_node[nid]--; } @@ -1485,26 +1484,26 @@ static void __remove_hugetlb_page(struct hstate *h,= struct page *page, * be turned into a page of smaller size. */ if (!demote) - set_page_refcounted(page); + folio_ref_unfreeze(folio, 1); if (hstate_is_gigantic(h)) - set_compound_page_dtor(page, NULL_COMPOUND_DTOR); + folio_set_compound_dtor(folio, NULL_COMPOUND_DTOR); else - set_compound_page_dtor(page, COMPOUND_PAGE_DTOR); + folio_set_compound_dtor(folio, COMPOUND_PAGE_DTOR); =20 h->nr_huge_pages--; h->nr_huge_pages_node[nid]--; } =20 -static void remove_hugetlb_page(struct hstate *h, struct page *page, +static void remove_hugetlb_folio(struct hstate *h, struct folio *folio, bool adjust_surplus) { - __remove_hugetlb_page(h, page, adjust_surplus, false); + __remove_hugetlb_folio(h, folio, adjust_surplus, false); } =20 -static void remove_hugetlb_page_for_demote(struct hstate *h, struct page *= page, +static void remove_hugetlb_folio_for_demote(struct hstate *h, struct folio= *folio, bool adjust_surplus) { - __remove_hugetlb_page(h, page, adjust_surplus, true); + __remove_hugetlb_folio(h, folio, adjust_surplus, true); } =20 static void add_hugetlb_page(struct hstate *h, struct page *page, @@ -1639,8 +1638,9 @@ static void free_hpage_workfn(struct work_struct *wor= k) /* * The VM_BUG_ON_PAGE(!PageHuge(page), page) in page_hstate() * is going to trigger because a previous call to - * remove_hugetlb_page() will set_compound_page_dtor(page, - * NULL_COMPOUND_DTOR), so do not use page_hstate() directly. + * remove_hugetlb_folio() will call folio_set_compound_dtor + * (folio, NULL_COMPOUND_DTOR), so do not use page_hstate() + * directly. */ h =3D size_to_hstate(page_size(page)); =20 @@ -1749,12 +1749,12 @@ void free_huge_page(struct page *page) h->resv_huge_pages++; =20 if (folio_test_hugetlb_temporary(folio)) { - remove_hugetlb_page(h, page, false); + remove_hugetlb_folio(h, folio, false); spin_unlock_irqrestore(&hugetlb_lock, flags); update_and_free_page(h, page, true); } else if (h->surplus_huge_pages_node[nid]) { /* remove the page from active list */ - remove_hugetlb_page(h, page, true); + remove_hugetlb_folio(h, folio, true); spin_unlock_irqrestore(&hugetlb_lock, flags); update_and_free_page(h, page, true); } else { @@ -2092,6 +2092,7 @@ static struct page *remove_pool_huge_page(struct hsta= te *h, { int nr_nodes, node; struct page *page =3D NULL; + struct folio *folio; =20 lockdep_assert_held(&hugetlb_lock); for_each_node_mask_to_free(h, nr_nodes, node, nodes_allowed) { @@ -2103,7 +2104,8 @@ static struct page *remove_pool_huge_page(struct hsta= te *h, !list_empty(&h->hugepage_freelists[node])) { page =3D list_entry(h->hugepage_freelists[node].next, struct page, lru); - remove_hugetlb_page(h, page, acct_surplus); + folio =3D page_folio(page); + remove_hugetlb_folio(h, folio, acct_surplus); break; } } @@ -2165,7 +2167,7 @@ int dissolve_free_huge_page(struct page *page) goto retry; } =20 - remove_hugetlb_page(h, &folio->page, false); + remove_hugetlb_folio(h, folio, false); h->max_huge_pages--; spin_unlock_irq(&hugetlb_lock); =20 @@ -2803,7 +2805,7 @@ static int alloc_and_dissolve_huge_page(struct hstate= *h, struct page *old_page, * and enqueue_huge_page() for new_page. The counters will remain * stable since this happens under the lock. */ - remove_hugetlb_page(h, old_page, false); + remove_hugetlb_folio(h, old_folio, false); =20 /* * Ref count on new page is already zero as it was dropped @@ -3230,7 +3232,7 @@ static void try_to_free_low(struct hstate *h, unsigne= d long count, goto out; if (PageHighMem(page)) continue; - remove_hugetlb_page(h, page, false); + remove_hugetlb_folio(h, page_folio(page), false); list_add(&page->lru, &page_list); } } @@ -3441,7 +3443,7 @@ static int demote_free_huge_page(struct hstate *h, st= ruct page *page) =20 target_hstate =3D size_to_hstate(PAGE_SIZE << h->demote_order); =20 - remove_hugetlb_page_for_demote(h, page, false); + remove_hugetlb_folio_for_demote(h, folio, false); spin_unlock_irq(&hugetlb_lock); =20 rc =3D hugetlb_vmemmap_restore(h, page); --=20 2.38.1 From nobody Fri Sep 19 02:18:45 2025 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 680ABC4321E for ; Tue, 29 Nov 2022 22:51:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237081AbiK2Wvn (ORCPT ); Tue, 29 Nov 2022 17:51:43 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38466 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236927AbiK2WvN (ORCPT ); Tue, 29 Nov 2022 17:51:13 -0500 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 51F4470DF6 for ; Tue, 29 Nov 2022 14:51:12 -0800 (PST) Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 2ATMDZrP028271; Tue, 29 Nov 2022 22:50:53 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=y8+A3q3OU7z0MZTrGwpnM52Q3PMm64WXjLUV67OQZgM=; b=tAzCtDgmycQQei0gR4i3Ln31fzYcu5p7V2mp7KlUosOqbJHO+/vbR5jL7hpwNXzUPnIo TvmWA9o+sV9H003iLyWh4wuSkvJIgcwNbA4NPAohpgQ4F06zF4GruxPzvNMKD46RhWrs 11XAYj247LVefUCEqI8CxdwQmxatxtL/W9fTRvRnv7zV2PTxov9dJpQ9f0kFNRPwWco6 UiXRLDlmwHaQVd2K9LW1rky3fPqO6YnLmnHMhTYfZ/0N7rk1IO6XyXXM24Sd+P+77vLE 0WfJbfrYT7PPxjJMSBbg8HjZHaaj1jphWziaROts7jvy+PWWKMWAlWh971wbyooFyQbf fQ== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m39k2rh7y-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 22:50:53 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2ATMUMvI027897; Tue, 29 Nov 2022 22:50:52 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2172.outbound.protection.outlook.com [104.47.57.172]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3m4a2hp9tm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 22:50:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HPNoLGk0VTxXj4BJ1xZtDpleFhzeyy02s7orktl4ShhagS/prMOzsj62NyrZB73JUzAnP/6EW9T4T6KsQflzxMD3ZsE8XtX3C//Z9ZzON295cRLtSDFtyinS8Nt2xEqR5MsMgI0srlBXJJq/WVAPWmYlO8AijmZGgUWAauSmBEgWDIggK8E3OUtMnSrKhpHaiCgopkLWaYhbIGkmmZKRZ8YzwhrrvAS0yJ+JZyscCBMR/cyNWPovJMhA3U5PubRaOWDD5BfV1F5CXZtW4gyS3KGM/KWr43rBVnEeUFAfbw7ZRnpnkrsbOhE+6CXBCB//kej1oki5nBy4mNBkT3/hAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=y8+A3q3OU7z0MZTrGwpnM52Q3PMm64WXjLUV67OQZgM=; b=BYYlaTbq4sfBYnjhhqYPamkrWzeg16xO8Vrf/noe7LeQeXzIcFKT3uuPeFwVf2Au6UJxYm/zu99ywnjN8eL6uOqnBZbjSP1z/K7WIqn9+hhPjYSPT6Ojs5GchXdTSheVBgPlEON/Y2ZI4QgXuV4laHs2asIjphTysVj6Yjnc3SI2/przmuDTGPc4w7mTAqRXU+L0m8n4h1e81Icr7zEW+Ze3VA+oIfYSNSdWW7BvjNMFn7branW0J65isR/IhJPIxi1dVk900+1DHFwmIgL8D5z2g142GRxQiMG/YJbwmiC4NVRIQ26ngqT/esYXqOpy86s8oTzvtqv2bBXmPLIajQ== 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=y8+A3q3OU7z0MZTrGwpnM52Q3PMm64WXjLUV67OQZgM=; b=wCn6i8rkAvTKWXkotHpeAQaDlcJtd2d0q0dlmnSvqZE5YLo1mvYb8Iix/uv/z2Kn/92nv+go4Re7brHz42G+M1o+crnYlr2fDeyZgQg47HdK5bUIR7L91P9EJjAXCyJIx8IlNbqfv5FDXql4O/r+fht3F+M5NEibfm7AbcQ2wzo= Received: from CH0PR10MB5113.namprd10.prod.outlook.com (2603:10b6:610:c9::8) by CO6PR10MB5586.namprd10.prod.outlook.com (2603:10b6:303:145::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Tue, 29 Nov 2022 22:50:50 +0000 Received: from CH0PR10MB5113.namprd10.prod.outlook.com ([fe80::3702:7db0:8917:9954]) by CH0PR10MB5113.namprd10.prod.outlook.com ([fe80::3702:7db0:8917:9954%5]) with mapi id 15.20.5857.023; Tue, 29 Nov 2022 22:50:50 +0000 From: Sidhartha Kumar To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: akpm@linux-foundation.org, songmuchun@bytedance.com, mike.kravetz@oracle.com, willy@infradead.org, almasrymina@google.com, linmiaohe@huawei.com, hughd@google.com, tsahu@linux.ibm.com, jhubbard@nvidia.com, david@redhat.com, Sidhartha Kumar Subject: [PATCH mm-unstable v5 05/10] mm/hugetlb: convert update_and_free_page() to folios Date: Tue, 29 Nov 2022 14:50:34 -0800 Message-Id: <20221129225039.82257-6-sidhartha.kumar@oracle.com> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221129225039.82257-1-sidhartha.kumar@oracle.com> References: <20221129225039.82257-1-sidhartha.kumar@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: CH2PR11CA0030.namprd11.prod.outlook.com (2603:10b6:610:54::40) To CH0PR10MB5113.namprd10.prod.outlook.com (2603:10b6:610:c9::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH0PR10MB5113:EE_|CO6PR10MB5586:EE_ X-MS-Office365-Filtering-Correlation-Id: 923a941b-32c1-48ea-a991-08dad25c292e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: N6XJOlgCLzzqDQC7Le423cIE/7oqbcNMN/OWFxnXLIJZnyNBa1jAg/GA6QnPcdPi09XtOhpvgXQ0oG4pH3fkayg05SBBc8rfcRLPOuF0g9lP3KJphMS6RJA5aBm263JFvbzW3AdjmAgm8sK+Yll4SKVLJUIo6vXruwydgjTVplw3B+zJwlgUDitaGf8wguN5eOWOJ/agB892pm0DjogMGVgeelTk7yOczLjhwi9rlee8qHpO8CbRHUc2c0f8AuG9ydDb5zz1QXIfUHHnPJVY6hol8wpdOkU155jcaFKoxCm8tOXy4CqdPO8vqQm9Bivkqpckh6Q4uWCfII8iC6bpCJNm0fMmeYk4Bj+Ih4ApWlGOAWEwWTiI1uO904exLAcjLUKXV0/ibfCPX9QV63wJnNew2Ha8xm9gzZPDLi1YwSJ/2+JbvkhWQ8iio5mOpTe0RBUpq1h+1scupAYxqEg0s7s7EmI/vltakV/r6siQE8lbnjPjHNsWLtMvWEIfIHYsrWAvlgH7+3XGKtiOSXK2pqS2G8bdeJTKwD7qMXJDGr7ohTBCdcvtyRhSrD6vp5iCjGUcwkMEVGlU/VCxawLhhEtpGD3nwx/YyrLUkIgKlvdUDXwT6qzyChe33thNurZS1NCG26Cad/sLI8BwT23TdA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH0PR10MB5113.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(346002)(366004)(39860400002)(136003)(396003)(451199015)(2906002)(2616005)(6486002)(186003)(41300700001)(1076003)(15650500001)(478600001)(36756003)(6512007)(86362001)(26005)(7416002)(83380400001)(38100700002)(6506007)(8676002)(66556008)(66476007)(4326008)(6666004)(107886003)(44832011)(316002)(66946007)(5660300002)(8936002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?4VE+sPk/nhewN62ki+pzizJfVk5mw2EjMhVOf9f+JGpa1VmdzBwPyjjtmBnH?= =?us-ascii?Q?g0av+ppFyu4rFHGuf8Qwa6QtHBWBw8SPYh/EFRfTNHLqWXregseOVJ6FBEau?= =?us-ascii?Q?uBwx3hAUm8K1NMRD8fJk4QvuwRM/E3lrj3KBx/ZRAKobg/p/D9MmHTVKCfaJ?= =?us-ascii?Q?MfRpL2OaO8SiYNTScxDhXKk4vaKjkZDKao5FNwswcD5dXOUA06tukOcK1T2g?= =?us-ascii?Q?A/7ulQfmIQ2u/P+xfR1FivPP+kdRDKPLvVZW2wjo7vy1leGAkc1gCGFxvcCR?= =?us-ascii?Q?8naoI2k0FzZVUzRcVsCbobLCAW6DQZ0g75NA+EFvTfgSjZJnZYocyx4bVMOg?= =?us-ascii?Q?XEY3bXbctTIq1O4woJhidy6c80dKW9/pHZ2xJYwrKalaJAg0aRGZNGl4YLPy?= =?us-ascii?Q?uchDQQ4we9h9T+NKViDBi1VKawub5K5QMsr0cWWrkGkkXubcYEobwKY8JiqL?= =?us-ascii?Q?RIQBiIxIns8DxmFNb9kBCx7yYhIL4xbodw3eTVStdveA3bvAZlA/G3O/Xtl9?= =?us-ascii?Q?K/evtOmqwNiKwikar7DrASqwFbNGDsSHZU6dFDZ+jIEQBkrDQmfwOUaljPWC?= =?us-ascii?Q?Qe4C82VzsKboavrcMSo9YeDlQcWIXsr+CjrCs1UxkTsNcPojJiewYLRszzpZ?= =?us-ascii?Q?85Z0tcyZj3c8Z6LG7K3QZ4pA4z/i4/eVipmtYnrXD5T+9NE/Z8Wk6hHjkzcG?= =?us-ascii?Q?PaDNJQhxJdPePpatW58fw0w0zcUH2XEfLGh3qy3okJDVp3Uk+ub4p1QtxcOh?= =?us-ascii?Q?YWNC6K7pc9LbxLjiRpqDPUYRpODinLwZ7R54zkjwOZ3JqFQyNJQlZkvuL382?= =?us-ascii?Q?f58j686FRb970qgSzUNhZM18/Y1y93OjoXud1bHfMxCGFPBwUib7ucCcZQ3k?= =?us-ascii?Q?/Ntia8Rj2EEmfeTQ32Fz8sxq4Usw952bSkiNWBaBceeqOnwt1guy5CwLgGOT?= =?us-ascii?Q?m54Gl4Hw6cz1iDkttYAyYQCTiztiCvh3KW8n1bWkapAIsQGpov+gBwDGv082?= =?us-ascii?Q?k/jylDn27MVaOs/9uj3he7LoRX+wEeLY89XrhMCsrnCfOrDM5qBxFlmxrjAA?= =?us-ascii?Q?lx6fuzKJAbysubH0eBCwJ+VTMqqHUnFNuDjNZb7x9ZH3Uvp1zwdjHjE02dED?= =?us-ascii?Q?Yh9yrIyAo9CZiooasRPWT73xVIBmZKawVi9Luxf2fppVn8FWw4DxmsudnZIa?= =?us-ascii?Q?WAooN9uXLWh8/wbfF6acPt28HNSuoBk5PajEIUwmWn2roEyTO9/X0QBi4sJf?= =?us-ascii?Q?076yP6QXjCTdN/lTXSLAX/brN85HVzE/He8C8L/8B62ZVo40nGUQmQ9yiguI?= =?us-ascii?Q?Z3azOh6qhye1JWUSWp1mJjr4PdbUgdu3WouKJgBBltzk6aGP6mgoL+rF3FxX?= =?us-ascii?Q?VUb1fEXuhS7flebq08Jyf08XIVC3FWxRn4wIAZBEziVEVOw0NzMhzrfFEZ1k?= =?us-ascii?Q?dF25qvtrLL3a4N9nWNbiymD6WsUUo2lONfZmftoiu5adX8/7bNteKVwcOBFd?= =?us-ascii?Q?VyyuaSg26kTOBQRcVCQJdBQG4cS4TTWEHrlFXzOuB0gUBESF3t6WAcboiwVU?= =?us-ascii?Q?FxV5uTJ8Gb04sA96tNc9ntKYMCmDLCWLv3ujPldhgawQ0Ol312/iytF8M6Xt?= =?us-ascii?Q?dw=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?W5/m6QHFKNWqqr8eK64FFBZ5Ln47QbTx+MVNx1JAZhzUHFqFi0HMIQdnFPjE?= =?us-ascii?Q?RB60YZ1C7oIblicXXJrwvAkmw0MHU6sr6te3Dp9MbVb6kWj2cuJhYSABewam?= =?us-ascii?Q?rlk9EqPtsyr7qhpl21tIfXnRhJH00Zz0Emx1y+6RGqW1s4s93G5lnAYkks7J?= =?us-ascii?Q?i01bE/U/FvFIalQcDmNqZ5dAJi3cENYV1GKuIBRvpRhpZmvQG7P9WOATE8ld?= =?us-ascii?Q?mtevjFoEyS1E7rmVulPah3G4eCZ2egJLky3xTJ90Laa+7gFWeRXqPXBogtnp?= =?us-ascii?Q?mVYTHNBjPDojzCEauDSxH7ZM0M212ochABMGH9imhEnAaNyxWPQV5Z+Z6qHg?= =?us-ascii?Q?is+WBKuw/zzx67KOY6zhAbselJCdNrU/NvZUAd8azPHNl0yynTWbsxlmOoKP?= =?us-ascii?Q?IlNGUFDpTS5V5eOKHkzv18rw1tMpJD5l+0qR3hT2C9rPuor8HjW6rwMKJMQx?= =?us-ascii?Q?1MeaKA40me/y+OSj/7uAErrIReGi2T7F9F4mQiH6NjznoC5zo2W+8qKw1mBk?= =?us-ascii?Q?XgvoFG7pJc4B2xHWLAk3bxlqajY1tr8Je+FYntThWhAkI9A37vRLVOd//9Lk?= =?us-ascii?Q?0zcpfNqYRNdfkN5kb+b+H+z8idDCRmjcamCcLn0izWNf8JsMVBhHtWLKHYBW?= =?us-ascii?Q?HcqNBy9J419NG0NM0WupaFNrjVPcjPDyYBojuesXz/LTEiMPPTdQxSR4x30u?= =?us-ascii?Q?mxwtwx0/uhkTf19lcKkL/2Lmk3/06MbFmHnUEL6bkj/uQxhbureqymNDhlc1?= =?us-ascii?Q?MLEpHuPjLsSbeJ5jX8gU4Aww+fYVxhqzdoBW3JXDvNOfWSQOkudqoaH8Oe0l?= =?us-ascii?Q?MRwKokzyQ6x1kuJtgULZddb9HpaiF0RgjC9pPyLnZO9pNjm33NiqcarxgY8o?= =?us-ascii?Q?DnWrJv5Zzo0M8UjaX4p+UdBrSCrHrSCinrNx6NewRM7xvAbW0TZC4JN0uQ6g?= =?us-ascii?Q?Btf/SYl7topgINRkPd4VkZaw/XFzRLHe7AaTkMN014yY0zGrhLyWRYT4L86F?= =?us-ascii?Q?3JlyOV7SbPwXdfWHxOE/c8p8gDwBHiHs84EGmfBUbT3tM85JzXoo88CnIxJs?= =?us-ascii?Q?DwADb0FTgQspal6SdBhkYlOLOT9bzDg8hCUKowpzEsljgYIE47g=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 923a941b-32c1-48ea-a991-08dad25c292e X-MS-Exchange-CrossTenant-AuthSource: CH0PR10MB5113.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Nov 2022 22:50:50.1405 (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: csn6WYul6NfqAr9CXNnHyWuaHmNbuNO1bGehdbzBcypPFDvGJH08C2whlGHXU4j/UvV3fwH4r+NCQP7c689daHbVvBw4AskhyHLYM/UMXpI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR10MB5586 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_13,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 mlxscore=0 bulkscore=0 suspectscore=0 mlxlogscore=999 spamscore=0 phishscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290137 X-Proofpoint-GUID: yQXmKFIDwUELylECXPH4Tt3IGGWoX5Zk X-Proofpoint-ORIG-GUID: yQXmKFIDwUELylECXPH4Tt3IGGWoX5Zk Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Make more progress on converting the free_huge_page() destructor to operate on folios by converting update_and_free_page() to folios. Signed-off-by: Sidhartha Kumar Reviewed-by: Mike Kravetz --- mm/hugetlb.c | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 90ba01a76f87..83777d1ccbf3 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -1478,7 +1478,7 @@ static void __remove_hugetlb_folio(struct hstate *h, = struct folio *folio, * apply. * * This handles the case where more than one ref is held when and - * after update_and_free_page is called. + * after update_and_free_hugetlb_folio is called. * * In the case of demote we do not ref count the page as it will soon * be turned into a page of smaller size. @@ -1609,7 +1609,7 @@ static void __update_and_free_page(struct hstate *h, = struct page *page) } =20 /* - * As update_and_free_page() can be called under any context, so we cannot + * As update_and_free_hugetlb_folio() can be called under any context, so = we cannot * use GFP_KERNEL to allocate vmemmap pages. However, we can defer the * actual freeing in a workqueue to prevent from using GFP_ATOMIC to alloc= ate * the vmemmap pages. @@ -1657,11 +1657,11 @@ static inline void flush_free_hpage_work(struct hst= ate *h) flush_work(&free_hpage_work); } =20 -static void update_and_free_page(struct hstate *h, struct page *page, +static void update_and_free_hugetlb_folio(struct hstate *h, struct folio *= folio, bool atomic) { - if (!HPageVmemmapOptimized(page) || !atomic) { - __update_and_free_page(h, page); + if (!folio_test_hugetlb_vmemmap_optimized(folio) || !atomic) { + __update_and_free_page(h, &folio->page); return; } =20 @@ -1672,16 +1672,18 @@ static void update_and_free_page(struct hstate *h, = struct page *page, * empty. Otherwise, schedule_work() had been called but the workfn * hasn't retrieved the list yet. */ - if (llist_add((struct llist_node *)&page->mapping, &hpage_freelist)) + if (llist_add((struct llist_node *)&folio->mapping, &hpage_freelist)) schedule_work(&free_hpage_work); } =20 static void update_and_free_pages_bulk(struct hstate *h, struct list_head = *list) { struct page *page, *t_page; + struct folio *folio; =20 list_for_each_entry_safe(page, t_page, list, lru) { - update_and_free_page(h, page, false); + folio =3D page_folio(page); + update_and_free_hugetlb_folio(h, folio, false); cond_resched(); } } @@ -1751,12 +1753,12 @@ void free_huge_page(struct page *page) if (folio_test_hugetlb_temporary(folio)) { remove_hugetlb_folio(h, folio, false); spin_unlock_irqrestore(&hugetlb_lock, flags); - update_and_free_page(h, page, true); + update_and_free_hugetlb_folio(h, folio, true); } else if (h->surplus_huge_pages_node[nid]) { /* remove the page from active list */ remove_hugetlb_folio(h, folio, true); spin_unlock_irqrestore(&hugetlb_lock, flags); - update_and_free_page(h, page, true); + update_and_free_hugetlb_folio(h, folio, true); } else { arch_clear_hugepage_flags(page); enqueue_huge_page(h, page); @@ -2172,8 +2174,8 @@ int dissolve_free_huge_page(struct page *page) spin_unlock_irq(&hugetlb_lock); =20 /* - * Normally update_and_free_page will allocate required vmemmmap - * before freeing the page. update_and_free_page will fail to + * Normally update_and_free_hugtlb_folio will allocate required vmemmmap + * before freeing the page. update_and_free_hugtlb_folio will fail to * free the page if it can not allocate required vmemmap. We * need to adjust max_huge_pages if the page is not freed. * Attempt to allocate vmemmmap here so that we can take @@ -2181,7 +2183,7 @@ int dissolve_free_huge_page(struct page *page) */ rc =3D hugetlb_vmemmap_restore(h, &folio->page); if (!rc) { - update_and_free_page(h, &folio->page, false); + update_and_free_hugetlb_folio(h, folio, false); } else { spin_lock_irq(&hugetlb_lock); add_hugetlb_page(h, &folio->page, false); @@ -2818,7 +2820,7 @@ static int alloc_and_dissolve_huge_page(struct hstate= *h, struct page *old_page, * Pages have been replaced, we can safely free the old one. */ spin_unlock_irq(&hugetlb_lock); - update_and_free_page(h, old_page, false); + update_and_free_hugetlb_folio(h, old_folio, false); } =20 return ret; @@ -2827,7 +2829,7 @@ static int alloc_and_dissolve_huge_page(struct hstate= *h, struct page *old_page, spin_unlock_irq(&hugetlb_lock); /* Page has a zero ref count, but needs a ref to be freed */ folio_ref_unfreeze(new_folio, 1); - update_and_free_page(h, new_page, false); + update_and_free_hugetlb_folio(h, new_folio, false); =20 return ret; } --=20 2.38.1 From nobody Fri Sep 19 02:18:45 2025 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D6DF1C433FE for ; Tue, 29 Nov 2022 22:51:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236891AbiK2Wva (ORCPT ); Tue, 29 Nov 2022 17:51:30 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38444 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236562AbiK2WvL (ORCPT ); Tue, 29 Nov 2022 17:51:11 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A73CF70DD1 for ; Tue, 29 Nov 2022 14:51:09 -0800 (PST) Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 2ATMDtFO003623; Tue, 29 Nov 2022 22:50:53 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=ai5Z6340XBgifuzZvDQVr3i58Mz9Y04P69MGCD2WahQ=; b=ljtBORoCPoUwok5poqHUnGhHdMSbdI9laWPDBkFK8+/oIU01VNLrkOEGFx3hAbngMaRw 7jET0Moc41Bi5xfWfRWgrQ9rvgoETyN4D9tOCamdZZPw/EOvJJe2aVY7xG/+0k5gfgM8 ZuXytuCPLf8GD4qOWUN7AUYzSMKvBeS56gT7ekuXBi4U9rgEWQeSnHIVCeJoIfkjxYeE isGHiTRNTZJ89CesXiy+No6VAMLWtuP4HXacVDzKXKpTPjDo9tGeNWa7hOBRWRgjKfke EWdII8bnweeo6n6TuqP782hicD2tMehgrYfh09WJZvY1wO+FrpXynXOfgPleYbMWEpmJ eg== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m40y3yddr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 22:50:53 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2ATMUMvJ027897; Tue, 29 Nov 2022 22:50:52 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2172.outbound.protection.outlook.com [104.47.57.172]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3m4a2hp9tm-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 22:50:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AsNMcn2G1tED7y6Md5E58oZ4jXr57LE1V5Afps9f5MgVZ42FulxW6ZV4bkpp5+ccRut4zgpAEQ53Pw1GPHrnLPa8Es9G1dxTwHQqS8H7Q/kuk8mzuwhcbRwKF3XaKHyj3of6HIkHDTKKZtHuhWlXhSI9phlnJS96845oRdv+hFTXFvltCKNNzraKKMz98j0slQRcEyesklrqZ4KB1THINlkk0CXXLekZwtKE5KZf+4g2xfF9FvaGgpfy5gO4CvfcW0Yy9T+fV8ijMp1dCky3YufMsMrw1WWnYMWfFE3rH8sLdj+fCkjBbPXvDgqJAFF179duw9tfZehB+DoHV0X2BQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=ai5Z6340XBgifuzZvDQVr3i58Mz9Y04P69MGCD2WahQ=; b=Mb3DD6EHPvUzawmCG88AjWEgOH9SbF6FPWwLrDo/ie66PjRNBqZE5R+EiD6S+uEt9uArbmqjkZUWRyh45cZXqxj9ao+ZY0bonPInXrMX/wSIjUhrGh8EyrleESv1V8qTbuvjTqYmjNcLov/weH1GKpcjg1pepNaPu5Wi8mvBRauaBMQmHUNYgbWtGak+SoRhjs0GqL+bxWiyw+nnbCfy0fc4hmZFnNIWaXEUIY3KCRGjzIzTzF6ssRqeogu9SIi+tYYuumxe2qHo+aJ5LXbRPl+QqTDxRl1xzPKASpdHMnlyiEUA2yjpAOv8vzhy1R29DMy3S4WkgvG/2bX7NpDvaw== 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=ai5Z6340XBgifuzZvDQVr3i58Mz9Y04P69MGCD2WahQ=; b=znguAmYxZZVWyB/j9/96YsMWoy6eq6KYmrcy61cdP5kTYupVeBb/pYoAHYtZCsLfNtTNU1eQADkDQxY1t6IA/Q4zVWRh4FIUSvPtYkejdUC3DZIMs2VTVNgHMSlEjMYARecGLU1NKghEX6bbQ/9DlfWaXOmnrXXibHIGdo/FxUE= Received: from CH0PR10MB5113.namprd10.prod.outlook.com (2603:10b6:610:c9::8) by CO6PR10MB5586.namprd10.prod.outlook.com (2603:10b6:303:145::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Tue, 29 Nov 2022 22:50:51 +0000 Received: from CH0PR10MB5113.namprd10.prod.outlook.com ([fe80::3702:7db0:8917:9954]) by CH0PR10MB5113.namprd10.prod.outlook.com ([fe80::3702:7db0:8917:9954%5]) with mapi id 15.20.5857.023; Tue, 29 Nov 2022 22:50:51 +0000 From: Sidhartha Kumar To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: akpm@linux-foundation.org, songmuchun@bytedance.com, mike.kravetz@oracle.com, willy@infradead.org, almasrymina@google.com, linmiaohe@huawei.com, hughd@google.com, tsahu@linux.ibm.com, jhubbard@nvidia.com, david@redhat.com, Sidhartha Kumar Subject: [PATCH mm-unstable v5 06/10] mm/hugetlb: convert add_hugetlb_page() to folios and add hugetlb_cma_folio() Date: Tue, 29 Nov 2022 14:50:35 -0800 Message-Id: <20221129225039.82257-7-sidhartha.kumar@oracle.com> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221129225039.82257-1-sidhartha.kumar@oracle.com> References: <20221129225039.82257-1-sidhartha.kumar@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: CH0PR04CA0021.namprd04.prod.outlook.com (2603:10b6:610:76::26) To CH0PR10MB5113.namprd10.prod.outlook.com (2603:10b6:610:c9::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH0PR10MB5113:EE_|CO6PR10MB5586:EE_ X-MS-Office365-Filtering-Correlation-Id: f13fc6f3-9c9f-43ab-3a7b-08dad25c2a05 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0Ap0ockxtQf4Uwqk65oepW9uKYxzZlH8iSgCVRuuGt4iowEwfa3t8AzPnUjnHMGv2KHLUOXzd6Ug30j/CdU7Wz0pNMHzbbVGSE6U1EvnONCf0+jOq58/K4l06ihMopUGdqrgrI7MSz4vPHNRAsYeUXU9I+hG84qHTNr3OIRDo0OKe99AO4o5W+SjFqq1RsRDcc2JSrllzWoZxfDKxBahgBhr4o2BdJHRzGwO+k2/fcOCMKuvXuKzRczxoecBczXyQDPavqr5BvfpRkmbLN/ewacI78wIbPzj/u4w1DRRn4NaXwLosn6HR51BSHjBVAwVztTVWxBsr5u5HBf10uCKAcSEIfNn9s1IlIYeGTgD/G+BRkEx0Ie97GK5AKjnvmI3souHMd8tNbgjaVVIf56eoEmk4BbCRLFMbR9u7G5oF6geI55KtrR6Q6A2PLJzvQeJmJt6tw5mBN760cKzoqcLaVLN6nvpzzux7zPs1gn6Oh0mPq4GldeKXGjftjCyKNkAaikq7ew4/uh/ksIKPbiA75MGlZsQu3YOfHGhcJmTpqv5m9XDDZ2nShE1LblC43vnZTSYR4pNtJKORO/ktDrA/IJx8uNjouN5so0bMvP4PK8i5kI8OYmsNG4UVIzscGEMmTPX9wyRDFsVKeVmbjghzg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH0PR10MB5113.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(346002)(366004)(39860400002)(136003)(396003)(451199015)(2906002)(2616005)(6486002)(186003)(41300700001)(1076003)(478600001)(36756003)(6512007)(86362001)(26005)(7416002)(83380400001)(38100700002)(6506007)(8676002)(66556008)(66476007)(4326008)(6666004)(107886003)(44832011)(316002)(66946007)(5660300002)(8936002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?i6snq8mzXAQ6RFTpYGY/Aj8MhP7/aQ1T4CJghyiqna6jG4CELLuZ4fcToSGw?= =?us-ascii?Q?cCoGnBcDkrdAcLjb5AAb7QZFC4wNEdQNCHCMxEdWB0V6HUDdLlI1RddczluV?= =?us-ascii?Q?QTx33x38aRXAMjvfsx4DkNYcCqRpPv4OaEH1w8QNOiQwEj3ktA8Ho0+634fx?= =?us-ascii?Q?cP/6BXn5C9K668Zu+9263NooM67Y4/mAOaTYwVcwP7s4qH8/m7HEmHQsp0xd?= =?us-ascii?Q?J+iNVk/JU4Q9GCpHYcO42N78dzSIN0/cFYtICoSWLc0T+vOd8N5NBet216wM?= =?us-ascii?Q?bFql9jQ+6EexaqaJmIB3aGceBabOuPRDijvVZ9n9d6bBS6E9n/rr5ouoiqQP?= =?us-ascii?Q?c9zu0Ur3nnKJDRDqhJE9orIgTNiJ8URC1AWIjt06uDi9r6rDGhi3T1oqqwF0?= =?us-ascii?Q?fxisUV0UZ5UFtBoc0KJaPp3KDPYk2uQ4WSf4xM9Jg1WqHuFScC96p6CpDYN4?= =?us-ascii?Q?rAEr2zTZB3Qqcz/+JgUtDfZbMAvCye1Khq5IMCO2xmq/kpNb2b7Dx5lzj2uY?= =?us-ascii?Q?quBycpQclYnWLkMfqC4X8GVut/axWQ92hI/j1fJpRc6MK2nPStjCFutGZOiH?= =?us-ascii?Q?ya25OZYLsYXpVhhtnTtHmz98BItzHhnoNcilNnMJD/b1nrLFb3sqyP/n7lV0?= =?us-ascii?Q?M4KF5OJu2/owZuCumbsZ5u5If5oE/IuzJdbIOZ6KEGgWNX6onSSJnKJYQiVc?= =?us-ascii?Q?BMep0+oW+5ynWowGIroRpom2MOrOUpkJqFfn1KQsUIBUNKw9JGX/Zc/y7yq7?= =?us-ascii?Q?ujI8DSZUKXGiLj+UU/PQQ4dJyjt+jskKNwfkbswM6giQC/Gli3HUGcmVOoil?= =?us-ascii?Q?1wZY6gvsaGtNKTXMSlBi9baOCWyzF0IE4ITnTWeWuRVaEhymvHDrjfAAjHxL?= =?us-ascii?Q?tXh2CVo8TFPsjAecdNkldQPlIIAoM60bduhBRz4Zb0i3uXaQqYWeGc3meN1Y?= =?us-ascii?Q?4N6lUYY5vWQ2uPCgOu5iw0MqYsyHxzSQ8Trn4BzqWkfe6BSvEyvQqhc9SMR4?= =?us-ascii?Q?qDwbvpfKe6gMot9EJ1EKvGPNPypUx8Li33cmOYO/7wZoCWyaFWTLDmQ4y9A1?= =?us-ascii?Q?F6mOYZE+t0UDJJBa/h+16DcceARp2Yn1tRyTJvsIu645WVwddLes7XuI8UMI?= =?us-ascii?Q?pRya+EkTihzWcHT/mZgNWjLQjdiUJwlNZuYipJDsLg+ncWJhjMi4Lk+mJXcg?= =?us-ascii?Q?Semxp7Y2LY+kn+CH9vfSK4qzTh+sLiNbmJf+0CBSgOyGZVQI//MRcFuFbJlG?= =?us-ascii?Q?0ZusAqOOU3qL3bj8S6LnRr0EHUG1mQanwteg/cr09cBVP7T4TZL237Z7pQkC?= =?us-ascii?Q?udwyO4yKEshuVPojvqTyuPdUCunCPDOiLd+ZBQGLU9hojul0FV1jGi98jOT5?= =?us-ascii?Q?tQaTVQ+4s1mpj+9ZFshMb9hvi4tjnu0dcqUSEXwxuKXHQzTBi5dhfPkUTbk7?= =?us-ascii?Q?CkR2iJ23/NK6XYRTTJMZswyGjMsTSn3rCs2I4H6R1nR+d5jTQP5YMwFd0jq2?= =?us-ascii?Q?lJDvlDO94S/e+hZmgK7kK2lF0Ma+iGB6g8KBUhN+K7xwsQmLIGk1mNrOraQ7?= =?us-ascii?Q?WFOLuN7VnkKT8HT5GO/xExLuzzg4LWSHCXsfu0o1civPYJKZ1yeuLP/5vsMY?= =?us-ascii?Q?gQ=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?1Mx7K0pop3VtZT5XIY0+G4GnXJ8I8Xk6BRHQ+vl++v0Lspb9RyWIT2I1U/52?= =?us-ascii?Q?TQn4GP3pJefxT9sRDDffTbaCKIqxOaZL/W/Utu+i/hkVXflK38zx4o5TvRhe?= =?us-ascii?Q?Zp+Pyk8MlwoRDP3tq2hF6SejWtCWBhedUYXP/yDnjgqgykNKBjQewYu1xKYO?= =?us-ascii?Q?eyi5Q1F6MKSulN25Rpy10Byl2UitAvLIxgOLDba5539d33RghhZvorsarMPP?= =?us-ascii?Q?JwPSyXwNtUi/nhCh9qxzgs0RQczMjqdp6w7mawV79cXMBKxD0cpTxuV1+I29?= =?us-ascii?Q?VYfPNBrusXS/QPifzsSZSRf4YpcdCK8OeviLbc5DQ8fWq2uqtEifCq+OW75i?= =?us-ascii?Q?4coEeDIE/X1m8wR2wjJ/9QFb54Ao7uuT+3ERkOyGMGZqbxoD8KiqsDF9Czmx?= =?us-ascii?Q?h9nr57TY8C0csmHhWP9ByNiJV5TwYKaocyQqzRGGlFTdw71mQ7jJncbQW+kB?= =?us-ascii?Q?Zb3QLcgiwn6BB9QURdE/LO2ietJB0RsWqiEjD3M0OJumOqWcfHeD64hvfE9b?= =?us-ascii?Q?qsC47f0s+gbTi5GqkIbp1Rz7JTpjHoWA6OzjNKNftNeCYa68s/YllBvKKbiY?= =?us-ascii?Q?I1nW7IRy2LSGuooUwoW+vLB728Ogj42rb4gLK3VhsoB/xsYlFg9KKsxWVPoU?= =?us-ascii?Q?4khIggRdZRsmGVZ/0/dxp2z6NG/TatFMz5rK7ETpmPDpQt3sYxDUqiL9cnIv?= =?us-ascii?Q?d/z1sffCZNlHPrq5zHHT0AXHt3h8qWU8dKSvI8Bh35ed82zhVR0L6WD6JMfQ?= =?us-ascii?Q?3urqxIMtKFyA9B2GkkvA1erHCoCG9Wj5deMpd9zGO0L/9+WNurhyKuAyU/Vm?= =?us-ascii?Q?fclMNbmCEfM2RL+GZcHhgvaG9K75QqlcSpkxhpcD+pa/CTjDazklka/+GV81?= =?us-ascii?Q?dc7fboGPEbX08iPNoe4S5ZCAiwhZ7AzbT2SCNdivFyInro8QXF3+5W1y4xLY?= =?us-ascii?Q?aHbfkInpo6xuOlwOUpcDPrK9ZFAKL3AQr8e9odkoDUB2/KAn0VsabdJfGYFo?= =?us-ascii?Q?R/U31AE8PtnCf4qazdWBEX8vSn9aqBQjrhBE3u9X62isH61XP0z8+QXokKeZ?= =?us-ascii?Q?G3AdF7wiJuoSASSMn3rl+UlRuAPwk48yieSn3WQbr2g5z2/RdwI=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: f13fc6f3-9c9f-43ab-3a7b-08dad25c2a05 X-MS-Exchange-CrossTenant-AuthSource: CH0PR10MB5113.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Nov 2022 22:50:51.1718 (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: UkwzMWTuwj8VTm9CbGqAu0XgCis/h+lo8YKQ+PB5fdgm27hFjb9OfSfd+yHTJI/FjhOwOBp0DqjaW7TfVuCBkMK33npWrKh4bLNEFEbovQA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR10MB5586 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_13,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 mlxscore=0 bulkscore=0 suspectscore=0 mlxlogscore=999 spamscore=0 phishscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290137 X-Proofpoint-GUID: kQFLTrPF5a3ENu3o33otRaTLELTzFIe0 X-Proofpoint-ORIG-GUID: kQFLTrPF5a3ENu3o33otRaTLELTzFIe0 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Convert add_hugetlb_page() to take in a folio, also convert hugetlb_cma_page() to take in a folio. Signed-off-by: Sidhartha Kumar Reviewed-by: Mike Kravetz --- mm/hugetlb.c | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 83777d1ccbf3..57909a0e7157 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -54,13 +54,13 @@ struct hstate hstates[HUGE_MAX_HSTATE]; #ifdef CONFIG_CMA static struct cma *hugetlb_cma[MAX_NUMNODES]; static unsigned long hugetlb_cma_size_in_node[MAX_NUMNODES] __initdata; -static bool hugetlb_cma_page(struct page *page, unsigned int order) +static bool hugetlb_cma_folio(struct folio *folio, unsigned int order) { - return cma_pages_valid(hugetlb_cma[page_to_nid(page)], page, + return cma_pages_valid(hugetlb_cma[folio_nid(folio)], &folio->page, 1 << order); } #else -static bool hugetlb_cma_page(struct page *page, unsigned int order) +static bool hugetlb_cma_folio(struct folio *folio, unsigned int order) { return false; } @@ -1506,17 +1506,17 @@ static void remove_hugetlb_folio_for_demote(struct = hstate *h, struct folio *foli __remove_hugetlb_folio(h, folio, adjust_surplus, true); } =20 -static void add_hugetlb_page(struct hstate *h, struct page *page, +static void add_hugetlb_folio(struct hstate *h, struct folio *folio, bool adjust_surplus) { int zeroed; - int nid =3D page_to_nid(page); + int nid =3D folio_nid(folio); =20 - VM_BUG_ON_PAGE(!HPageVmemmapOptimized(page), page); + VM_BUG_ON_FOLIO(!folio_test_hugetlb_vmemmap_optimized(folio), folio); =20 lockdep_assert_held(&hugetlb_lock); =20 - INIT_LIST_HEAD(&page->lru); + INIT_LIST_HEAD(&folio->lru); h->nr_huge_pages++; h->nr_huge_pages_node[nid]++; =20 @@ -1525,21 +1525,21 @@ static void add_hugetlb_page(struct hstate *h, stru= ct page *page, h->surplus_huge_pages_node[nid]++; } =20 - set_compound_page_dtor(page, HUGETLB_PAGE_DTOR); - set_page_private(page, 0); + folio_set_compound_dtor(folio, HUGETLB_PAGE_DTOR); + folio_change_private(folio, NULL); /* - * We have to set HPageVmemmapOptimized again as above - * set_page_private(page, 0) cleared it. + * We have to set hugetlb_vmemmap_optimized again as above + * folio_change_private(folio, NULL) cleared it. */ - SetHPageVmemmapOptimized(page); + folio_set_hugetlb_vmemmap_optimized(folio); =20 /* - * This page is about to be managed by the hugetlb allocator and + * This folio is about to be managed by the hugetlb allocator and * should have no users. Drop our reference, and check for others * just in case. */ - zeroed =3D put_page_testzero(page); - if (!zeroed) + zeroed =3D folio_put_testzero(folio); + if (unlikely(!zeroed)) /* * It is VERY unlikely soneone else has taken a ref on * the page. In this case, we simply return as the @@ -1548,8 +1548,8 @@ static void add_hugetlb_page(struct hstate *h, struct= page *page, */ return; =20 - arch_clear_hugepage_flags(page); - enqueue_huge_page(h, page); + arch_clear_hugepage_flags(&folio->page); + enqueue_huge_page(h, &folio->page); } =20 static void __update_and_free_page(struct hstate *h, struct page *page) @@ -1575,7 +1575,7 @@ static void __update_and_free_page(struct hstate *h, = struct page *page) * page and put the page back on the hugetlb free list and treat * as a surplus page. */ - add_hugetlb_page(h, page, true); + add_hugetlb_folio(h, page_folio(page), true); spin_unlock_irq(&hugetlb_lock); return; } @@ -1600,7 +1600,7 @@ static void __update_and_free_page(struct hstate *h, = struct page *page) * need to be given back to CMA in free_gigantic_page. */ if (hstate_is_gigantic(h) || - hugetlb_cma_page(page, huge_page_order(h))) { + hugetlb_cma_folio(folio, huge_page_order(h))) { destroy_compound_gigantic_folio(folio, huge_page_order(h)); free_gigantic_page(page, huge_page_order(h)); } else { @@ -2186,7 +2186,7 @@ int dissolve_free_huge_page(struct page *page) update_and_free_hugetlb_folio(h, folio, false); } else { spin_lock_irq(&hugetlb_lock); - add_hugetlb_page(h, &folio->page, false); + add_hugetlb_folio(h, folio, false); h->max_huge_pages++; spin_unlock_irq(&hugetlb_lock); } @@ -3453,7 +3453,7 @@ static int demote_free_huge_page(struct hstate *h, st= ruct page *page) /* Allocation of vmemmmap failed, we can not demote page */ spin_lock_irq(&hugetlb_lock); set_page_refcounted(page); - add_hugetlb_page(h, page, false); + add_hugetlb_folio(h, page_folio(page), false); return rc; } =20 --=20 2.38.1 From nobody Fri Sep 19 02:18:45 2025 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 49BC9C433FE for ; Tue, 29 Nov 2022 22:51:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236826AbiK2Wvj (ORCPT ); Tue, 29 Nov 2022 17:51:39 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38460 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236912AbiK2WvM (ORCPT ); Tue, 29 Nov 2022 17:51:12 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5062370DC9 for ; Tue, 29 Nov 2022 14:51:12 -0800 (PST) Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 2ATMECvT020355; Tue, 29 Nov 2022 22:50:56 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=5+i5cFJ8kWF6G8sf4E5wI57dFP15IxoGxTJ3putGXAY=; b=GJTXJmuxlEvTuttYDr2jx4fLe6X9hNNqJdcWgCkhnuegcjHMoQrDmPeMu9ybStJVYTuS v/NGVvYlfC/IpQtOA+fFN7Ys3EnRNaOLSg+GEIAEiIrv/SLPWHEEgrgS3d8IQimNyB39 +9yQNZO1kLB/O/1sqjhIsCnSmi2FiNYzZIDyTEhBamUp5wpaNLL+OoNBnl3E2CmmVesf 4aaWnuUACCU9S+SK9qz9ybKc0Fjhfhckn1gnWTVRzsfVeNvCQGIW3Legx+N5xLkxbwIA uBHRLvduLkQM1nhaNtSCk/s4SXGVKREd9v9FpfRsJVL3j26XAoRFpsRO1H5dHFApxUx0 IA== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m3xht7m1v-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 22:50:55 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2ATMbKGT026751; Tue, 29 Nov 2022 22:50:54 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2174.outbound.protection.outlook.com [104.47.57.174]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3m3c1w67b7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 22:50:54 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GGouup2fAid1VzYimwHOcwh0/ij7aJkfC68b/VAcilxTbUz9mULlR808zBbS5J/efcLPh02L727AXh6aUbAOikXKbR58/qOKEUJS/9lrs23MYOj1RdFnezDORYU7aZireHmAtn2pUDptqXkbfCRcE/CnuGSjlbSJlk/sUdfxFNmlsQUSsFtWM9C9eYFRQ9sjZ5jdbW7bgYQzt4HoS/WJMn/8t5vYkmH3GsQXY/EkNmYNe3GYRtSaAwgPfR6fp01yakYLZSS+9evpvKmaKXypeGYPTKvGKWFS/KokPfsOgG87RnwGO/tEG5V31ur8Bw19IR7dzyIY2Tmz3DgDv8W05w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=5+i5cFJ8kWF6G8sf4E5wI57dFP15IxoGxTJ3putGXAY=; b=YvaTNfpZIbfLqQhRiMmert7DACcpdY5AmLcwUyLL9xCXzDi0zo4lhCTWwHZLmZjM3z9Sc7uHsMpWrF8JIX5EVL+kojy7+sPH6Kd6Uj/nKEQ4oho/IDxVNl2qDbRBseAQmmTFUAyHfVGVCP7jBvp6xx85UlLZmJL/EoOe6hP9vQKoq2m50KqqS+Wy90LGKbMBGWJmJGu/zUjSAheCni1wETpG6vRiWsuXpsouUpwrCvMasOZqYmazRi6jnDmUi51VBFffzXSzuwIXCpLqE1ATeHVFcdC/zHS4NZZ9z8hij3PTcbUhG6DvlOD7tZ0chESbTP+ndsRMenl4rt3dPJ0j+Q== 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=5+i5cFJ8kWF6G8sf4E5wI57dFP15IxoGxTJ3putGXAY=; b=GcYcZq4ja7zi9nPHD+pb2rMJfyC427m//ep0Y88pc+vos5fjIbPPADM8NxKdOajYckhBjmqbtlqxbHtOFxk7rgPINvki/m9u3jB2UuO89o6G1YgIlaQG39EoMnWExznCR8b9B+gwTDs3lzVSCQFJBxBk//QalHupOcpgPFu6sc8= Received: from CH0PR10MB5113.namprd10.prod.outlook.com (2603:10b6:610:c9::8) by CO6PR10MB5586.namprd10.prod.outlook.com (2603:10b6:303:145::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Tue, 29 Nov 2022 22:50:52 +0000 Received: from CH0PR10MB5113.namprd10.prod.outlook.com ([fe80::3702:7db0:8917:9954]) by CH0PR10MB5113.namprd10.prod.outlook.com ([fe80::3702:7db0:8917:9954%5]) with mapi id 15.20.5857.023; Tue, 29 Nov 2022 22:50:52 +0000 From: Sidhartha Kumar To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: akpm@linux-foundation.org, songmuchun@bytedance.com, mike.kravetz@oracle.com, willy@infradead.org, almasrymina@google.com, linmiaohe@huawei.com, hughd@google.com, tsahu@linux.ibm.com, jhubbard@nvidia.com, david@redhat.com, Sidhartha Kumar Subject: [PATCH mm-unstable v5 07/10] mm/hugetlb: convert enqueue_huge_page() to folios Date: Tue, 29 Nov 2022 14:50:36 -0800 Message-Id: <20221129225039.82257-8-sidhartha.kumar@oracle.com> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221129225039.82257-1-sidhartha.kumar@oracle.com> References: <20221129225039.82257-1-sidhartha.kumar@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: CH0P223CA0011.NAMP223.PROD.OUTLOOK.COM (2603:10b6:610:116::26) To CH0PR10MB5113.namprd10.prod.outlook.com (2603:10b6:610:c9::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH0PR10MB5113:EE_|CO6PR10MB5586:EE_ X-MS-Office365-Filtering-Correlation-Id: fccaf2cc-c035-4088-110b-08dad25c2ad5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: AE0AK+qYqiz6a3qPWEmKAHmLA6htAxb8oNoo4I5CGZ4GkqtFi6MdFT+88ROFXmJn+WdgAA8r5H9rHI41cKLqkPSQhC1reVIvPaHoMhv+x5phD87bUeFSWzpVyZgE+96VTwY/nfC4GRPNoZ/xgYXPiWYamcY0Sry3G8a+F/Q7sycy3lXJQPqOcA+3skdZJrMk1GLb+OQNu+8sQycEMUwrhC9jcSHFqMI9KErPaXXLJkBFC25Kv8x/1XWWjQizfYJ6Z6qt9GSPTx2KAGhQjyrZ5Tf3og5Piv6MrVsXh1flDaQpOD5vrNkdpYmzTR34S8IKhfWDPz1R6kvgzJshovA59QrilLldEb8MmfMv/N+uI/9gSEkXZL2fZSPgSzp3UPVl2iIdfSDdf/3sHKmbiHqFipuqwU0HYxJyYjgKDlPJGJPGwqiAhzTgBvMrD59jABq3BoFLZp3dkUBwyRB9ttHjJ1ZCGsorrTfuH13ZPUixk/fBf7RSnsIEG0dJXGcGXzDPgfB0KftdsnOdtIglUfBy1Ukn655e4DGWaaXoPaK6eh780/tb37axNiPHXhDuwZHIOYMjEbjvAtEl7bwq19pbkh28jVO7mOHW2P9IYBVKKFwZ7ZTwpbOjKKTRC9T5ETM2O6g8PL6oZqZTlrphrw3JX2UvyrshG0r0IQmiyYmXQ+cgE+j6FWs+kC9EcJ6MnOrH X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH0PR10MB5113.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(346002)(366004)(39860400002)(136003)(396003)(451199015)(2906002)(2616005)(6486002)(186003)(41300700001)(1076003)(478600001)(36756003)(6512007)(86362001)(26005)(7416002)(83380400001)(38100700002)(6506007)(8676002)(66556008)(66476007)(4326008)(6666004)(107886003)(44832011)(316002)(66946007)(5660300002)(8936002)(14583001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?BTRBQb7Owkh6FM7LAhC93iL6Q43wKVPfs5M/morIqekFctCBUipL+uaQB7Ez?= =?us-ascii?Q?9K/2kq0LfFMufNnLlRQyZ1DIC45r7rRIIaljx0wnIIbxAhAP2cwXb12s/DE6?= =?us-ascii?Q?vA+wy0Imz4G7Ljtrv7qKy9YT39UOKtGlveVmCnUqvqGwS1C1O+NrU6CuqlaO?= =?us-ascii?Q?3W1+Qx+V+ltIs47Bsi8Mnni4XarHg6Ny5ewRMypkx4vDPa4ju0NOXfAyleGt?= =?us-ascii?Q?qzdh2LStxyl1r9AbrNj7A0dBrvfee0pNC0JupWzkaRdoV9MXSP/Ppitmd17I?= =?us-ascii?Q?VqXRW7oiGDLmf5bg2FIUNPPUifT0HTvLOZvkX2POzNjJpY3T1SEBb6QSs+T5?= =?us-ascii?Q?dVUKWzty4vKIhmKGTCJunzWi4JA8neGzclDea7clIghKj0iPSI5HSB1wr1wh?= =?us-ascii?Q?REDaWmMLSER9e5WasChd107dk733Ly06HUeCjUd6uY+JWfIl5GV5a+nvodNu?= =?us-ascii?Q?jx/5y/Q+dAVhAMILMKyph1UQBXhBVQyzPVzS5jmU6O838sUxjt3T0qJbcz+E?= =?us-ascii?Q?FMbwVi7Mx/p53mNzBh2q3c+1+0rTRYTsDGlfb2g/t5N76Mnk0NQdNxIFhxYW?= =?us-ascii?Q?fFeUZZ7Hqoq36Ca/O0SPwa2nBkn1asyGF4GyTEoT6exD7kZXMdlmikXMJcFc?= =?us-ascii?Q?Ro/BwlmXHm0VYXngYkXmp3OS9LDglsVpmYPRRpTEYxkGTem66YzbR2KpulKj?= =?us-ascii?Q?ivBDv3lKk/21qx/WCXRPP+R7zZOQ7xlRyTtnKCoiFdhv8n8ZHxQAsGh6FqYD?= =?us-ascii?Q?jwBxo2KFIEOwwa4ahp29iw62oLaAwDg99Y2i1fkJ09vXNYmauqZ4I3sNu9Ot?= =?us-ascii?Q?dK9Lm5OkQZwVWQhzvq0A64FZLQkLvaGnF3euClG3SDCC/PXShDV/0CqASr4Q?= =?us-ascii?Q?7qhoweEnm3WwzcvyTXA85WXFwV29s0Wqe58LBYhmRiNE0ael57TACvuteQvn?= =?us-ascii?Q?/Fbc0aM1ivTp5rSMd6ohOroYwS8OkOFGzIRDqrMiKnopBjQS7I/wm6gu6FWc?= =?us-ascii?Q?vA7g1/+ikXzrvLi4h68HPqKNcwavR9DuIedir0MlRqgJLAuadEGzRUh6vAa8?= =?us-ascii?Q?luZG+qXBukKZsTKW2mfHormiLJbPamPFOgcheNsXvYrTu5lMtGTqKvyuJvaz?= =?us-ascii?Q?BjZG0jnBGmta4HTR7PWP8VHNPfrnBnQlrSpCCKOVja5/4tRHv9J2ZE82jFkS?= =?us-ascii?Q?P++x0cYlNmmfm4t39thROUxT24NVk+4WO/2Lovl6M61bDfNHlbP/na8bR32G?= =?us-ascii?Q?zaguYtzXw5OTytPRZulE7S2TRFX1sXYi+evUDURw/yRM1I0uAHI21zxIBoI+?= =?us-ascii?Q?SLv+LFOOzRWcuQR8/07xlVb7pin+NuIgxZDT2OIU0SzNerh87PIyjv+4y774?= =?us-ascii?Q?/LcKfMmlMnMux+Gn84x991vuTLKJWb4HN2jPH8krzjjgcpVrKnIsXyr6Tf8R?= =?us-ascii?Q?/EyxUtQ3kvUjJ9V5P8uRbRm+8W81VdbAlCWA6P3AXwsRH6lKogk5J8YYI25+?= =?us-ascii?Q?rG2+jO/DDC2w9i/jKgbjEoTeV32OpNkMKv9WgQEuDuvWuWWUBeFxvcOHUAN+?= =?us-ascii?Q?KsduxQiYDT6LigvFPlOIqmQCerqfsmCKGMkSIeZ/yoZx3Mqp1L9eIV7s5JKp?= =?us-ascii?Q?zg=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?/0ULNJDEiepCteEbCyRJ/Y0yDM3p62I7oq1CLzVS0fhaBIc9J9ADbcazuFFn?= =?us-ascii?Q?08m9Ts9PVstk4VbJrIpBhpV3CHC1NhVQ4rJ4U+aFGBkGi5iPcshG+0UI75o8?= =?us-ascii?Q?T9MDu7JhLwzjEIIY6t0dVNPncji7+t+QMKRD9CsxNmZ4iG/69tVvGJGMxoRU?= =?us-ascii?Q?PsX4izv98mRDTLlm3G3WZaZ1Xom1PUymH79HoLK8RqU/MiYKWGbiwjC8JWjU?= =?us-ascii?Q?ZSnbymj92yv3focHzX+gyU7cyjMl8G2dDP/O1HUjdyi84UDnt7Io0RuCnTBT?= =?us-ascii?Q?g7lfWKnoaMdn0ljoHQaf1Apo1abPcsjExHgR+YvunSrAhM9jVA2Xor1GNDVU?= =?us-ascii?Q?2CgVEtBI6C6dw3QR+qSrPE0xOmZeT24RkDKbx1IePrtqcw+RUYwsHLto9iZV?= =?us-ascii?Q?K1bmm1CPeMgqy1cns0+Tfgjv6oZt+5Q4tHTbpdKzOUaWma4PfbihmgVfQRoE?= =?us-ascii?Q?pXxmlj+GscTVaqNumdM0abMIMcww3QnKXinKBQoyqmiSoqifQaz2AvjCnzxu?= =?us-ascii?Q?Csctj/OMh6ZdrCZZcVhK6eF5LUl/IXMW5TsRNz5DOl5vKzPmYB1lLDziOScU?= =?us-ascii?Q?p66TwXuRFYdwMkLZsRPpG2LZeAu1/DD6iieiLMzkPYDqVNEy5SwcDtoyp4Q0?= =?us-ascii?Q?Fx0upVWG9TSqEIziSa9W0YnXPcHgE9yOqwMr6ApDTWvjHTTifzHaV7eH8Hrn?= =?us-ascii?Q?3wGAQOkefALpGi1zpFVfDw4+6JOqZXtPQ+ANGwuzlUw7ZtPAuuaLeK9D8mRA?= =?us-ascii?Q?9n5G4KR6XHnyYkIQrRyyb8jpWWccRoiJtT8Q8GgYQTTsCY1LHQvTvMfKCwmi?= =?us-ascii?Q?sGjBiBnOylqb1fIGy9wBPmtvgRAiFDgYPTeVvPLJhNmMFzNC3+TOaIP1Ky8E?= =?us-ascii?Q?OSMckTHO4KWI3+i4yi+z65qlpAPndTatGrsDn6A6J9yw29FMnb1natGxZY+3?= =?us-ascii?Q?+oU11keDIz9FdSo5y5+mqlI5ywM+gCMCgyzvVsWx4XBsh/9lwf+hr8AMxpax?= =?us-ascii?Q?HKePE7pvJol0mOfmP+qaSDSNf3dZtpwnToENOOUBTyDYp8zNQaQS7K2ltQ7P?= =?us-ascii?Q?HO1yX4HvuE/e16OiR+W1+SOAHmUhWto7kd0pPkLMZxDRhCv6yTU=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: fccaf2cc-c035-4088-110b-08dad25c2ad5 X-MS-Exchange-CrossTenant-AuthSource: CH0PR10MB5113.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Nov 2022 22:50:52.4558 (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: mimBSlHJQjMHi47JATmhwfHw88LRLBwqdaswpel7FDWS1iaFWUkTfhY3fhYsaDh3Ljzh0d7uFF/nF4AyD/ewF0C5JMiPVWPEyRczSDQENzs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR10MB5586 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_13,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 phishscore=0 suspectscore=0 bulkscore=0 adultscore=0 mlxlogscore=999 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290137 X-Proofpoint-GUID: zoup_tALKEOz5kMrv6Cwwv0OJ8OjBQg- X-Proofpoint-ORIG-GUID: zoup_tALKEOz5kMrv6Cwwv0OJ8OjBQg- Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Convert callers of enqueue_huge_page() to pass in a folio, function is renamed to enqueue_hugetlb_folio(). Signed-off-by: Sidhartha Kumar Reviewed-by: Mike Kravetz --- mm/hugetlb.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 57909a0e7157..c889593d5053 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -1127,17 +1127,17 @@ static bool vma_has_reserves(struct vm_area_struct = *vma, long chg) return false; } =20 -static void enqueue_huge_page(struct hstate *h, struct page *page) +static void enqueue_hugetlb_folio(struct hstate *h, struct folio *folio) { - int nid =3D page_to_nid(page); + int nid =3D folio_nid(folio); =20 lockdep_assert_held(&hugetlb_lock); - VM_BUG_ON_PAGE(page_count(page), page); + VM_BUG_ON_FOLIO(folio_ref_count(folio), folio); =20 - list_move(&page->lru, &h->hugepage_freelists[nid]); + list_move(&folio->lru, &h->hugepage_freelists[nid]); h->free_huge_pages++; h->free_huge_pages_node[nid]++; - SetHPageFreed(page); + folio_set_hugetlb_freed(folio); } =20 static struct page *dequeue_huge_page_node_exact(struct hstate *h, int nid) @@ -1549,7 +1549,7 @@ static void add_hugetlb_folio(struct hstate *h, struc= t folio *folio, return; =20 arch_clear_hugepage_flags(&folio->page); - enqueue_huge_page(h, &folio->page); + enqueue_hugetlb_folio(h, folio); } =20 static void __update_and_free_page(struct hstate *h, struct page *page) @@ -1761,7 +1761,7 @@ void free_huge_page(struct page *page) update_and_free_hugetlb_folio(h, folio, true); } else { arch_clear_hugepage_flags(page); - enqueue_huge_page(h, page); + enqueue_hugetlb_folio(h, folio); spin_unlock_irqrestore(&hugetlb_lock, flags); } } @@ -2438,7 +2438,7 @@ static int gather_surplus_pages(struct hstate *h, lon= g delta) if ((--needed) < 0) break; /* Add the page to the hugetlb allocator */ - enqueue_huge_page(h, page); + enqueue_hugetlb_folio(h, page_folio(page)); } free: spin_unlock_irq(&hugetlb_lock); @@ -2804,8 +2804,8 @@ static int alloc_and_dissolve_huge_page(struct hstate= *h, struct page *old_page, * Ok, old_page is still a genuine free hugepage. Remove it from * the freelist and decrease the counters. These will be * incremented again when calling __prep_account_new_huge_page() - * and enqueue_huge_page() for new_page. The counters will remain - * stable since this happens under the lock. + * and enqueue_hugetlb_folio() for new_folio. The counters will + * remain stable since this happens under the lock. */ remove_hugetlb_folio(h, old_folio, false); =20 @@ -2814,7 +2814,7 @@ static int alloc_and_dissolve_huge_page(struct hstate= *h, struct page *old_page, * earlier. It can be directly added to the pool free list. */ __prep_account_new_huge_page(h, nid); - enqueue_huge_page(h, new_page); + enqueue_hugetlb_folio(h, new_folio); =20 /* * Pages have been replaced, we can safely free the old one. --=20 2.38.1 From nobody Fri Sep 19 02:18:45 2025 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7CF6DC4321E for ; Tue, 29 Nov 2022 22:51:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237097AbiK2Wvv (ORCPT ); Tue, 29 Nov 2022 17:51:51 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38468 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236939AbiK2WvN (ORCPT ); Tue, 29 Nov 2022 17:51:13 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D85671EEC3 for ; Tue, 29 Nov 2022 14:51:12 -0800 (PST) Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 2ATMDrpT003552; Tue, 29 Nov 2022 22:50:58 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=VEjluJMxaaae4AwJxe5SeRqJf5l90Dwnlg9eOn+TBrc=; b=rdUq6asB04bq4S+8JctIthM7n90/mFKk6Mh1v3Tykh4ji7X6OWUfg8Z9qJTdPlUR1QqP NqRfFZWEgzo00wziieQAdOgL5m2arsU1ObzGdXuxP1aPbJuVT1Wjf4m8qHXgohTDVzBe 09dmRB1VHYWXP8eklmh5C/s+0SMinsdnyDAbIjZ+b4KDTb7CiTkSyl7ZH+9Qm+G5Cn4C ET2+cuDXw33ZAaXKLpOe6mxoVYd6HeRnJp9wQ4B1UeWrW3WU3zrWb3z2ZXoRqkP8fvcu 38dMDcJZvcxijLG9LcFgU6/he/zRKE9Zh7E5vzQPsFpU826Qbem9XkyRaDhPLeSMRHQ+ Jg== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m40y3yddv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 22:50:58 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2ATL9k2P019333; Tue, 29 Nov 2022 22:50:56 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2170.outbound.protection.outlook.com [104.47.57.170]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3m398eax7y-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 22:50:56 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TdaLa6CSEk2e2HLe4/TM6bUloAqoO/Vz3Y2sK1vlKj4WGmAfk0feavCxR6DC1aCpUF3kuuxlpBVH91rqEitz7k31yk1LtzAEWTiKCxWLc7B5uicqZYDAFoJG91wzgQELZuQm7DRXD6dpLCc/C0vsqYAfisuJWqHjf9LxdBxCSE+q3L1OXD/zWceXar7DjiX1YNgxj3ZeV7UwZ8YNhG0wVBUEvyjAZRZYTmF0vNcISLNk4yJmn6PHe5Xh4/FG19jxULAPRpj/oimTtJ0zPIgLD+UdsB2aBRzGP1RpqwDkErL2vK+uTdcsBgnZ24GC8joDu+2OGaSLuRhBlUlZygxydg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=VEjluJMxaaae4AwJxe5SeRqJf5l90Dwnlg9eOn+TBrc=; b=ZNcKaLc5Ze9QaVVVSxa8PSHW9Ir+9hHw6BzrTivljrhrtskYBqhjyGE813rX4IusUQXiTMWabVQKqkMQEMYH+RaTcxce+YsT+d0KK8ktny9RIid9N0krvPsxOMOgISV0FKwi3NsRc7P1JbFBvjKwaRS/X409AqK9ZmqwNGktay1b6KFHi2tj3iHlwrEuwWnFdMj697N49hN7x+AKUj3n+WGk8VLG87PSiKBNGnz/OdRDvvAJPyIaDwFctTGXyuxMacLXeWfh1mO1x7MNu1RpF6/oVIVdlnXm+8caf0Z8EYDWlaazbEwlESnjZ9CJnkBFc1HMqAtKFJC/hAIvW53srw== 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=VEjluJMxaaae4AwJxe5SeRqJf5l90Dwnlg9eOn+TBrc=; b=mmU3WTqaxSvSDSsUwNFrFT6Y5TE1/A1eRQGVgh5vEfSKMwomCrI84wqmGS6tjE1BCOv2j0czUccaXCspiuirgax5A4HFe6rHbwj53XRDoS78YTswOep78DHbLZXoDbfPJyphWR+eLjvheK3yq/P9xnCkhkTDPA7XcVIXnweu7bA= Received: from CH0PR10MB5113.namprd10.prod.outlook.com (2603:10b6:610:c9::8) by CO6PR10MB5586.namprd10.prod.outlook.com (2603:10b6:303:145::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Tue, 29 Nov 2022 22:50:54 +0000 Received: from CH0PR10MB5113.namprd10.prod.outlook.com ([fe80::3702:7db0:8917:9954]) by CH0PR10MB5113.namprd10.prod.outlook.com ([fe80::3702:7db0:8917:9954%5]) with mapi id 15.20.5857.023; Tue, 29 Nov 2022 22:50:54 +0000 From: Sidhartha Kumar To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: akpm@linux-foundation.org, songmuchun@bytedance.com, mike.kravetz@oracle.com, willy@infradead.org, almasrymina@google.com, linmiaohe@huawei.com, hughd@google.com, tsahu@linux.ibm.com, jhubbard@nvidia.com, david@redhat.com, Sidhartha Kumar Subject: [PATCH mm-unstable v5 08/10] mm/hugetlb: convert free_gigantic_page() to folios Date: Tue, 29 Nov 2022 14:50:37 -0800 Message-Id: <20221129225039.82257-9-sidhartha.kumar@oracle.com> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221129225039.82257-1-sidhartha.kumar@oracle.com> References: <20221129225039.82257-1-sidhartha.kumar@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: CH2PR15CA0022.namprd15.prod.outlook.com (2603:10b6:610:51::32) To CH0PR10MB5113.namprd10.prod.outlook.com (2603:10b6:610:c9::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH0PR10MB5113:EE_|CO6PR10MB5586:EE_ X-MS-Office365-Filtering-Correlation-Id: 02b3d9ad-0e28-4aad-49f1-08dad25c2bbc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: SxxuUHRt4+B/KHMko0C/zo3Sq2M1RkjR+7W3eNBa/k+7fWKZNlB/u1dbAoLWSa9YJ6Nzk/3Dg93wdYIVjUwFblvAvjw/EEljQx9q/fKhBvT+QOKBfdQmBD9WjsOouDJ2Xs8UOs7XphO4djOrDmQyZ7d3vTFazTIR3cjjTczWFx8haqhmN1jr9ICRMtTaDKkxLWD258W8a4dgRscwXlwky1rvJ/s9Au6q+rZ385X7+56AgnvPZTUZzOr5wHFS3NrREte+qqtBF8VHxV1kOIyc8zR8lL7j/p0JmbqQgbpLmUxYO47oqLZzeSo4j5YX6f8b17Bfe2BLKkzcbReMKRdTIyecR02+RzqYcUliqd06c9eCF6ho3NcI4trgyNN4/qzE2UR/smZZ2vd+oO3GPbKE2vApVfOInCAh42bHCMtfkw9lAd4D7lbEWrNSMMGg5lzIKPbMKIqUcI7NDFnrw48Ukz1gE0GuxMX/J941U0SGgax49hM9YqFRwKRbMELoxaR7WDk4v73OfpajDc+ykS2nWiVjaFp+28l2Lf6lhnNf3WKFfXNrY+SC6DVphfVwOrEtzqIntcbxtlRi9k4mCJnsvTLbZDtII0n+c7JSufxDBExajFgZKZiplwKmg4y8T/cEmpI/rTmm0ufaukI45lo11g== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH0PR10MB5113.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(346002)(366004)(39860400002)(136003)(396003)(451199015)(2906002)(2616005)(6486002)(186003)(41300700001)(1076003)(478600001)(36756003)(6512007)(86362001)(26005)(7416002)(83380400001)(38100700002)(6506007)(8676002)(66556008)(66476007)(4326008)(6666004)(107886003)(44832011)(316002)(66946007)(5660300002)(8936002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?bwR681NMFRJ4/akGQMeZ//uWJAXAGxSGfZGHGv8zU8vHTIX/llrYhciG79OH?= =?us-ascii?Q?LTJsUnR011JUsV/TYGdpVS0FeAreAKhSz3elmsB/b1MwR7UJg0+7bsA2dIPv?= =?us-ascii?Q?RDTxjIiDa7ZMhYdhDsSQhElkmPH61TZeMyohMUWje9KHbqDQuKzRi3V9deBx?= =?us-ascii?Q?PghYrrdvAz73SDt2nleiw/6EuOjEZIMD75UcWXriqNHT9tURrt6e2kGGKT/x?= =?us-ascii?Q?yU6orC47awKbCwFzA11FWB1AQPvm+NJyOsJ+pZdTWqZdI5RhU/gCKxZV6Kph?= =?us-ascii?Q?vlkRxy76KfXPxYff1utU/pP2AlqQtMIY81xXVM3MPBebgZgDcSoq8tw0aAjH?= =?us-ascii?Q?7/Q6AitFf/6hM3ASyBqVE/xxnc6saKD4xt4fo/s6mRyrlJM++0X0o5raLQkI?= =?us-ascii?Q?o8v9XERn3hLNlw/KFaP/y3aGT9w7EwHrN2ju/+8aaXCDlelmg3worwFCA84E?= =?us-ascii?Q?TCYcKC6MtRTJ5O1aqV9u5OjsHsuQmUZHH/Ld/aBz+fpMyXctmjKU/UGH1H9z?= =?us-ascii?Q?/qm5NU3Gyy9r3RBcaid6qxdlaMZiLpwS9odG3RzNHqrn++IL5gQ58r1LC59x?= =?us-ascii?Q?70tb22oXoYf+WYzc7/STW73Zf7i+DkrfQb8vrcGUX5Vc5kz+D/hiGOpSEQBY?= =?us-ascii?Q?KTWPvNX+io8SrjHhQmpdneOW0gtC5BRMAIgmcnBmYB6hBTeLdxFXVQx+pXqi?= =?us-ascii?Q?9V0tmARbcohxXyuN2HghtntLZpNZgk3TxOGQlS5kF4BgkTx7+goKsmoe8XvE?= =?us-ascii?Q?gBzF0ulnMPWFgtpQKwT9HpD3opefZp0FM7t4mzJfeGkCFQLrswcvJLpNnn1V?= =?us-ascii?Q?hppfz48buITyZ319yoM7vzUMO5mk6BkDNZ6JNDQf89x/+cKMhLl+iwRZ7X3z?= =?us-ascii?Q?6Vo4bKnNi1NduGwtP1bn66qW/zfsw4ANd/p7yt0M9NmbOdMRdRh8Abf7fG4G?= =?us-ascii?Q?a//cVPt18olyp0aSP8UnsTr1H7d5e+YTP3SApRwnQKRmq8BmjDYPRInNj8Nb?= =?us-ascii?Q?EADiPw8QBVQjotQiHg49WOQVZNvJrYOnq6iRIl+hUIirsJtZv82o+AKgEG8n?= =?us-ascii?Q?hUfjBFwhgQi2G82EQBrgbMeLwPlE2r5xvoAd8Okwv/8P65gf8140widz1jLe?= =?us-ascii?Q?D1icIrZYbtqRwESKwIFEAwURJeixOgXxLFlBBu/5+f5KoV1oD/LxSJHPFNt9?= =?us-ascii?Q?+DpfKc+sSsth+hlJ4UymK28d654sVlw+sFElWUZOcEKSzSPGUfmGEpd38fkX?= =?us-ascii?Q?m8OBYHQSwYMFRfF0uiZs1SewCLZEXFyGlHnodBxF5nyL+JkI41QDxqevzE0b?= =?us-ascii?Q?1lW4rMagEGUJpBg/5II98caaLSll6Eulsn9FTPpw0oej1TS54VUsMc/lzGy3?= =?us-ascii?Q?0sB9CSKVsX0X4uAEjfNU6SKlO45aXsiiI5FP2nWNvgDV2Oow2c2Bcp3DpDDS?= =?us-ascii?Q?EIiOZ3ojKUu7Xv0VYUTVo+sMpuuuThHjCCRbOnCYohVwSA2/bAZ52O5ZHRvl?= =?us-ascii?Q?/u3yrntpoaz2Many7kVk/iEHTEPNNJ9Sj3ByGp0nSHGOZjKZ1GG6L88cE5yp?= =?us-ascii?Q?TNMjQvwl2Odt8cBmI6gnvLKQrCofffxSuQIyiJj/R0dFp5b9WdFtNnqWbJ2l?= =?us-ascii?Q?OQ=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?ZY69ynzMqolXsszWV0KgH15dUkDP5ahmvkQ1oDrvT/HpADt2gmGkAmJNSqvk?= =?us-ascii?Q?PeKN0cAlIm4K05ydg788ieP3rHuqD5Z0lqR8RxaMUaGdzA3eITllR/oEMOFd?= =?us-ascii?Q?cWkQfRMuMQIsr/+FmGxqntatToVf+7GKNHUAuwBSvmy3lb2SNccSqAxvFc3+?= =?us-ascii?Q?of+SpkP1cfPlvbhfMaM1Ov6bANuThJTGuGRNeH3lsxXtILmPw0NpFV6GIMB9?= =?us-ascii?Q?r5E+Lf84BsgYiRR8IaeG7LP+FsvsxBSgKYxoZ9s04ygtRieIxjrNl0vv6Roi?= =?us-ascii?Q?SHDCHig4c7690bgjs2kRxjT2lCEU3J7xBrZw5Un6VDdc5xK4deeCz/BoNpOO?= =?us-ascii?Q?d/JqUE5mNdbAo3yAX6q5/4ck1nuLZpR8vIuVjYCxgeY0DEhKfCMN3OGIv6UW?= =?us-ascii?Q?K3Csvjo3ErLUY6feyb49qyaCL2c70xgS6As8xSJfcx1r2q3MUtUX58YnpvwL?= =?us-ascii?Q?jGCIMt2RIF82GqfTbKFaqDalHXTb0hJQlZSg+N2zsycpjaAchg/FJtNUzM2X?= =?us-ascii?Q?NMhFiCQzGFNKMSqti9G4X0HISEGDlvaNKNWTMG5c79YIe+PQRCJX5etV8H8M?= =?us-ascii?Q?BjnkOG4LPCqaNX/j6291++CNv6SYosvxDbkNRmxr1yDWAcAGA8CVDUFGNqE0?= =?us-ascii?Q?4i2u8SN0mqCd036eNk3QiEo9+J6E6iZiA6jLCAIO/NqrLOopEdXhrFaiBjiR?= =?us-ascii?Q?QKDADvFZITGFVOJXFjuSqiRipq2OjdxsroOllG0ob/Xr2vYUoN29p5RsGVvK?= =?us-ascii?Q?ZJBiu/jHweQYqckRsvBS1YxbiyxpkUGUdumCVLb/s04L5tTdV1qQaw4M6VM6?= =?us-ascii?Q?1XCvE8ns3s6niaFkmKOUrwUVTeKxGVWHlWLljEmb4msc6t8cIMeeV5lsxoOd?= =?us-ascii?Q?T+hNN7JY2lXoqylLKbzUC3fa4bM8jlKg2jtvu53RFZ9dXD7HI/ttQ4Zh6prx?= =?us-ascii?Q?YlYXPjqAH8+LPt9TiV6JMM+4ivX6CsZBrCFH3nMgjFIEufxDf4GNs7uv2G29?= =?us-ascii?Q?cFGmezruVfMJ/Wg2Je5ZVbYsX7EUD+5u4oWGjemkg1GL5jUq51Nfl+gU/DBv?= =?us-ascii?Q?uP1vRpqm947fsV0pxexi6jw/yRDECvG7eM5BgYIP23XITDgk9JM=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 02b3d9ad-0e28-4aad-49f1-08dad25c2bbc X-MS-Exchange-CrossTenant-AuthSource: CH0PR10MB5113.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Nov 2022 22:50:54.4417 (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: HhXLrsLiKFd0IuWiYi3NTDIAct07rfrBhSEENQw9paVwimf/wKSCMITkdZO8BEObWJt2zkSPGVj1+ruNfKt/YORBFTC9b7lPl/iVDEnEDXk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR10MB5586 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_13,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 phishscore=0 mlxlogscore=999 mlxscore=0 adultscore=0 bulkscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290137 X-Proofpoint-GUID: LyypGqLyMKerSw-r-tHOcNGzAUezfYBZ X-Proofpoint-ORIG-GUID: LyypGqLyMKerSw-r-tHOcNGzAUezfYBZ Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Convert callers of free_gigantic_page() to use folios, function is then renamed to free_gigantic_folio(). Signed-off-by: Sidhartha Kumar Reviewed-by: Mike Kravetz --- mm/hugetlb.c | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index c889593d5053..5e580ab834c3 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -1361,18 +1361,20 @@ static void destroy_compound_gigantic_folio(struct = folio *folio, __destroy_compound_gigantic_folio(folio, order, false); } =20 -static void free_gigantic_page(struct page *page, unsigned int order) +static void free_gigantic_folio(struct folio *folio, unsigned int order) { /* * If the page isn't allocated using the cma allocator, * cma_release() returns false. */ #ifdef CONFIG_CMA - if (cma_release(hugetlb_cma[page_to_nid(page)], page, 1 << order)) + int nid =3D folio_nid(folio); + + if (cma_release(hugetlb_cma[nid], &folio->page, 1 << order)) return; #endif =20 - free_contig_range(page_to_pfn(page), 1 << order); + free_contig_range(folio_pfn(folio), 1 << order); } =20 #ifdef CONFIG_CONTIG_ALLOC @@ -1426,7 +1428,8 @@ static struct page *alloc_gigantic_page(struct hstate= *h, gfp_t gfp_mask, { return NULL; } -static inline void free_gigantic_page(struct page *page, unsigned int orde= r) { } +static inline void free_gigantic_folio(struct folio *folio, + unsigned int order) { } static inline void destroy_compound_gigantic_folio(struct folio *folio, unsigned int order) { } #endif @@ -1565,7 +1568,7 @@ static void __update_and_free_page(struct hstate *h, = struct page *page) * If we don't know which subpages are hwpoisoned, we can't free * the hugepage, so it's leaked intentionally. */ - if (HPageRawHwpUnreliable(page)) + if (folio_test_hugetlb_raw_hwp_unreliable(folio)) return; =20 if (hugetlb_vmemmap_restore(h, page)) { @@ -1575,7 +1578,7 @@ static void __update_and_free_page(struct hstate *h, = struct page *page) * page and put the page back on the hugetlb free list and treat * as a surplus page. */ - add_hugetlb_folio(h, page_folio(page), true); + add_hugetlb_folio(h, folio, true); spin_unlock_irq(&hugetlb_lock); return; } @@ -1588,7 +1591,7 @@ static void __update_and_free_page(struct hstate *h, = struct page *page) hugetlb_clear_page_hwpoison(&folio->page); =20 for (i =3D 0; i < pages_per_huge_page(h); i++) { - subpage =3D nth_page(page, i); + subpage =3D folio_page(folio, i); subpage->flags &=3D ~(1 << PG_locked | 1 << PG_error | 1 << PG_referenced | 1 << PG_dirty | 1 << PG_active | 1 << PG_private | @@ -1597,12 +1600,12 @@ static void __update_and_free_page(struct hstate *h= , struct page *page) =20 /* * Non-gigantic pages demoted from CMA allocated gigantic pages - * need to be given back to CMA in free_gigantic_page. + * need to be given back to CMA in free_gigantic_folio. */ if (hstate_is_gigantic(h) || hugetlb_cma_folio(folio, huge_page_order(h))) { destroy_compound_gigantic_folio(folio, huge_page_order(h)); - free_gigantic_page(page, huge_page_order(h)); + free_gigantic_folio(folio, huge_page_order(h)); } else { __free_pages(page, huge_page_order(h)); } @@ -2025,6 +2028,7 @@ static struct page *alloc_fresh_huge_page(struct hsta= te *h, nodemask_t *node_alloc_noretry) { struct page *page; + struct folio *folio; bool retry =3D false; =20 retry: @@ -2035,14 +2039,14 @@ static struct page *alloc_fresh_huge_page(struct hs= tate *h, nid, nmask, node_alloc_noretry); if (!page) return NULL; - + folio =3D page_folio(page); if (hstate_is_gigantic(h)) { if (!prep_compound_gigantic_page(page, huge_page_order(h))) { /* * Rare failure to convert pages to compound page. * Free pages and try again - ONCE! */ - free_gigantic_page(page, huge_page_order(h)); + free_gigantic_folio(folio, huge_page_order(h)); if (!retry) { retry =3D true; goto retry; @@ -3050,6 +3054,7 @@ static void __init gather_bootmem_prealloc(void) =20 list_for_each_entry(m, &huge_boot_pages, list) { struct page *page =3D virt_to_page(m); + struct folio *folio =3D page_folio(page); struct hstate *h =3D m->hstate; =20 VM_BUG_ON(!hstate_is_gigantic(h)); @@ -3060,7 +3065,7 @@ static void __init gather_bootmem_prealloc(void) free_huge_page(page); /* add to the hugepage allocator */ } else { /* VERY unlikely inflated ref count on a tail page */ - free_gigantic_page(page, huge_page_order(h)); + free_gigantic_folio(folio, huge_page_order(h)); } =20 /* --=20 2.38.1 From nobody Fri Sep 19 02:18:45 2025 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id B4D09C433FE for ; Tue, 29 Nov 2022 22:52:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237025AbiK2WwA (ORCPT ); Tue, 29 Nov 2022 17:52:00 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38572 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237007AbiK2WvU (ORCPT ); Tue, 29 Nov 2022 17:51:20 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A44D2711A4 for ; Tue, 29 Nov 2022 14:51:18 -0800 (PST) Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 2ATMEBlq020338; Tue, 29 Nov 2022 22:50:59 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=pFBt8VX6o2UZgtqtp0qKSqJojCjD0tv5Zao/WbVC1Xs=; b=wuU7XVHLL/UaHs+sBKQj7hY4L3mCo1hC7zE6ApTPLx7Jpp8D1ZLJ/+ESKM8Wbt4WpFNy J8egZH2I3UFNZgNVnCjymV1oU4zZkqIb2aIaHGZn7N5CV4BAlYA0MM45L0H9U1lTrSJN 0UHnin+P5gRU+BLj5JGU2UD6X6aSWQiF3ceYcVGdROYCIhPaqJWcn5coQB9UBML64KY3 zA+kQMpmTfwuaXV7rQxbEgL2zl1oTH6fPRkaWGQhrtTZ25D8AF9wOK2jSNv9jE5ReyjW n5UcZemxNt18KGEtJ0QV/wMG7c2AolxjfXqwbMvAtQOM89xX+vxbPUXb3bpqVyu6maKI fA== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m3xht7m22-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 22:50:58 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2ATL9k2Q019333; Tue, 29 Nov 2022 22:50:57 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2170.outbound.protection.outlook.com [104.47.57.170]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3m398eax7y-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 22:50:57 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cUU4x2mtmGUjc/4mmNN1YX52GDjamaXusDYCBH+UynivFZdev9PuQlb7JG2InxWQ1FeKSFsqTGL3KsF8LVFRVHH5NZ8xebw+7/pVNnbVpYDfNoFWlswS7SNAU5V27W1NStF+P9TJjIH1SDBnQxgTLA542G/vtmS04Gjn5IQ0a46iQzQ4eMCYN3IzZjbHT2qU6x8L4NMQAWLuFU6TMrgEZ8Gfg7M+uKfLg+VoBi5kJWat8+oCXSBc3CGuzoIprb486+BTb5HZUsDKjtlrYtVqDokXYoUABS1iJmXArz+X1CmM6mLJvucbdkBGQ6FsuZ/zRHUDpDSrkkogFN+OtUrQ4g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=pFBt8VX6o2UZgtqtp0qKSqJojCjD0tv5Zao/WbVC1Xs=; b=RMN8IBxfBLNqVeLSXdG6CfCIpIjBd0/sMl/9GtOohx+TiYKEku5jUzF+RLY1notO3iuG1EEkYqTQdBY62IXY97mB5+jWHeU0c/OD3rPfNR6YWsFoOMPtyHtQLy5I6CJzeX+hYLeIMf8Z8EN8Ym/KVGiVXVjh3x0Dc2YgKnd4Fi7tGiL/qrTxVQzz6+yCIEXwgdlk9ADyV/2egQcNcQ/KivSVFJIPAbXXWvjn9MVij4eCirtRtNyh/Ar9f5sC+QvT5cN6Bql+57OZxgIJtfONj32evMp2BG3yPoYjOjpk0ShxaIpGd0K5trRc5zD0t93V3ptRM6eBWYaGE/WqRtgtrA== 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=pFBt8VX6o2UZgtqtp0qKSqJojCjD0tv5Zao/WbVC1Xs=; b=YB6v5qE6JKhxDEcxHrZY85+ErjUMHuWzAm7uu5ug1yQyF83fqLIrCF4Tl4xm3v7XtZjCarZ/YGEd8uDcNP3HlY8GzJdfHsc+aNNB19BsyDYQsQilMXqRqJSzFCoWIOajN6FvvwPuf3hcnCOdkjNqvoflSc2rpj6+yjVMg44fdW8= Received: from CH0PR10MB5113.namprd10.prod.outlook.com (2603:10b6:610:c9::8) by CO6PR10MB5586.namprd10.prod.outlook.com (2603:10b6:303:145::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Tue, 29 Nov 2022 22:50:55 +0000 Received: from CH0PR10MB5113.namprd10.prod.outlook.com ([fe80::3702:7db0:8917:9954]) by CH0PR10MB5113.namprd10.prod.outlook.com ([fe80::3702:7db0:8917:9954%5]) with mapi id 15.20.5857.023; Tue, 29 Nov 2022 22:50:55 +0000 From: Sidhartha Kumar To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: akpm@linux-foundation.org, songmuchun@bytedance.com, mike.kravetz@oracle.com, willy@infradead.org, almasrymina@google.com, linmiaohe@huawei.com, hughd@google.com, tsahu@linux.ibm.com, jhubbard@nvidia.com, david@redhat.com, Sidhartha Kumar Subject: [PATCH mm-unstable v5 09/10] mm/hugetlb: convert hugetlb prep functions to folios Date: Tue, 29 Nov 2022 14:50:38 -0800 Message-Id: <20221129225039.82257-10-sidhartha.kumar@oracle.com> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221129225039.82257-1-sidhartha.kumar@oracle.com> References: <20221129225039.82257-1-sidhartha.kumar@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: CH0PR13CA0008.namprd13.prod.outlook.com (2603:10b6:610:b1::13) To CH0PR10MB5113.namprd10.prod.outlook.com (2603:10b6:610:c9::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH0PR10MB5113:EE_|CO6PR10MB5586:EE_ X-MS-Office365-Filtering-Correlation-Id: 5d2240a9-8a8d-462c-fed5-08dad25c2cd7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 47H7Lo1fuqQNtpWt8KB+w0mfT7vdYbwbMypp2NufQjCnJwlgICkjAlxxJW3KbIq6IOfNoyJf2hjXLdp1plun3mETbw5fEKMRFqDCE9sq7rLP3ZTYZYPLAgvvtmIAl2UNCXVouKgUOwwftibwFymmVWgDX3FgI8PR4h7TJFEW+eXgHc0VXvCwSLjeTMmLLjjvoBzBaD1nz/reHpwOUBleZCCvG2ZCG87j9hDkgyNtlbIUQFEvMbgr+2x3KuWYQeMeiR1FcWZ4b+toOJjfjUZMXVA0VWZu/w7LcN4QwoGnalihUOpkzD5b7d8bRDIZ+TtqOnH1zHrKG4nj0IvKfTf64ZXjDLVVbNRdl77BPeHQUfwo2ZIlMJXuaoejMRBXShC1GclIWx6gFEAJxLgRcPcTIfQ/qqbCc3b9y3dLsFDwtxGW8hA+3thMMw+/mu95RlQGS9Ob9yuYnnDypPhPu9gFvS0tUktsW+XS+COFCHkXTYfPjA75iyLjcUHU1P0rslAIiA61vYBqsAnm34RIv1FfY+q+THMUYJbGgdqVUlY1EVaMjwjkMMF7H/gERzQgr3ZPSQ6EeTGeOtrcU5PeSa44NrO3xju32VgM7XePztWKLGrS/FwfkjYrgv9TAZyZl9nXm11qMP2GxRRwy7DoVIx5LA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH0PR10MB5113.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(346002)(366004)(39860400002)(136003)(396003)(451199015)(2906002)(2616005)(6486002)(186003)(41300700001)(1076003)(478600001)(36756003)(6512007)(86362001)(26005)(7416002)(83380400001)(38100700002)(6506007)(8676002)(66556008)(66476007)(4326008)(6666004)(107886003)(44832011)(316002)(66946007)(5660300002)(8936002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?eVl0Y/6s3rILMlkNq6kOSZsjbnnKWcz77ZWDuIQYqAGuL+/GEqHJCGuzq7+x?= =?us-ascii?Q?dL7G8fSzVuo3T6Ci7oZh9PbvIaI8gg5GKAKms/PSIUX5h1bTSebc/UjZPqrY?= =?us-ascii?Q?nCBNPl5CPPmJjA2ZoVNscMatdOpZpmAVNO4rQU2NIuvIhn65gxAvUZpDdhjq?= =?us-ascii?Q?rUZ5NrKgYJ9mmSPmSKVaG7nQ5aNYhlOU+Q5sxDH3AFuw8XGgwXb2O/ATXk9F?= =?us-ascii?Q?gtTLzss2mRYqHKfM5kb7PProNftYrQE6VmSDmnA+WYBqhJOdS97PZf/KYHkc?= =?us-ascii?Q?c03YDozvIOtQPgKJpqfM/ZIyO/qQkiszPCGkkC3m4O3kYBVDNAancexwQaIQ?= =?us-ascii?Q?gRH8dwdXSPxPXybi3uVujw3fEMeSUi+Nf0ssL8VryxtzBoZvnALd3ZETX6Za?= =?us-ascii?Q?sLgUaSmAVVvWayP4ghmihcDDErLdObv16l6FRB/yke4xJaZ5Qa+QO56jTxeT?= =?us-ascii?Q?WS8LqRF1wjyC/pMgftPkpmRxjH5bSp4ux8fIcTedHELHw3SQzEfNuRkl8wxI?= =?us-ascii?Q?FT2d33QTfu3YKTnHLN+Dgo5gkgKqSKUWDU8DoQmo9TE8fJXw4aSfxLREnH8P?= =?us-ascii?Q?0wtxgn75ETWrIG8B9+abIjXp26dnnhZS1k1u3cSw2quJ2IBm98txOHra6e2J?= =?us-ascii?Q?RN80DRc3uWBF9Nn/ijUnYBLvkc/E71qWCCwjJQZtQqbPTP5vBDayfyc0wwRO?= =?us-ascii?Q?sXJbR2pkcF7vft8BIwtiYyDK6aLhbJCxMLuHW8mCUqyO2FVyXMZAFpPsOA0y?= =?us-ascii?Q?ZJ/QODZHO8UcjjFgYE4fuO1iZ6Puc9wKUdLNTdfpwbs7I75qzVS9xNfrNIfj?= =?us-ascii?Q?7eP2DzwCnZ6qC13GlShCDnNn3k5cNL78EHsck9FKWFI8L91vAY4UGi0KlJ9D?= =?us-ascii?Q?McXOkTx7RrPXGUEDap6PT9O0fHv9SdJ2aeJFgpjwG1iKi+k9MhJyflsg5oOd?= =?us-ascii?Q?EdND9V/oK1HYsxmSPLogbj/CAZXAy+TrryjYJgLLaEnQCDmRFhjNBHSBOWpT?= =?us-ascii?Q?YgRSNNaO4UxHvnjHvK/tBwwDd0sQ6rK9vsCrgtAh1cNW4ZEBBADIi9XVXgVr?= =?us-ascii?Q?+K8rlBwx0ROjS7kQkFlj7xNQV0jNxDK3VRpWqXXZIzO3zETKONY1pUYpSNCK?= =?us-ascii?Q?SL89TCiC9XQrVUH7x+7u9C3xPwjqqY3LU05JXhY4BbrLe6gU/aKQpKaci8SI?= =?us-ascii?Q?tqeFV/oC9a4c/Xe2/ExVEY22wPFuWGsPOduKUD5U656Y6z2xQIUTXui2kaWH?= =?us-ascii?Q?TkhxJ/bjDqC2Ks5L/lzpRujCklBmzqQYI9hbTbG4U0ew534AGnEm+zhoO8N9?= =?us-ascii?Q?JkotX/ADaxb86ayMvXge+svxsIopzwNLCjG6f1Wh5cQNplx1+Zdj/AGVEtjZ?= =?us-ascii?Q?HwcbO76DBHv7BuSSLUkIFN7ffF4y/sAOrO78+HdjhoGpFmtVOs3m9KSPG2Sc?= =?us-ascii?Q?ehck2RmAs86ubpaYtyiLAJgQQW3y+ynBK1M5ILbh9mQoBqdI9PIEv1Zr665w?= =?us-ascii?Q?JXNlTZ5mXru/iZk2ZKfEFiY0REJ23NXyvOXivh1D+bVKSQQYMZgtO16ZtjsW?= =?us-ascii?Q?MIDTRyvDpwsGf8SP1wV95UmZBGtCm9T9lXeJCpS9jctNEKBWaHIPf5EqBpBL?= =?us-ascii?Q?yg=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?4+7lavjsVlt939rQC6uCv63vmUlXEd3r74uJSnPiD5jEDcdOhSqauS7vX0JE?= =?us-ascii?Q?phMQzy0/uT63ihigeCP5lIc4aKk683JHiQ2rrmR6v6EZ91KfCFkWBtM8b5BU?= =?us-ascii?Q?1gsNtIIZEtb3GQqSSHa6fbgMtqGr2/ajj2rlDtcfze0di45IaAFHwHPHDpgu?= =?us-ascii?Q?uteGC0nnIavNncy0J1GFEPV/XGICxaXsM+ecdZVRkOfOiE0F0WzS6rmw99Vu?= =?us-ascii?Q?NQL0MnJ2wkVkYavfabt5fNEGdctsMiwL3xLKNYbAjjp4Uz4LyxsQUQbJKnzz?= =?us-ascii?Q?kAcBLeMaUFlcK+JuvWoLPSz1eteGe5GwGlItCVTB3rQEiBAwqWzf8YStX/9L?= =?us-ascii?Q?h8vDNhWIfVxnk3Pzrz77969qv2/oFTZtuR6AgyEmpsHMogLycQaiUe4bCE0g?= =?us-ascii?Q?z6GbKS7x0ypD7FFuwVKAB8r6klULKlKJwHOqo5lN1+JJzfArKQYyIayFxouL?= =?us-ascii?Q?mLFYZwQnOBJu+VCHsm2mgMV+EbCQPNUO5c85mYnCFQfRik6u3Loey5gcviMe?= =?us-ascii?Q?NrG73qFk9NiVa+MtxVzHHuyjBrse0FskXwQb6BXS+3YZQp4rLirApgKuYkQa?= =?us-ascii?Q?6OWe8+XGbuX+GdAbDLVnlQ+pXD5VJ/mOfIAlBXoIxxXS2nsNn8eveG5eLm+L?= =?us-ascii?Q?8cBEaKa+j3ej4odMYH3M/wzeWyHi6m5j+JxJ+WHqhfC2kET/SQwhJRZF5fDY?= =?us-ascii?Q?kE/IG949oq+7Af53RJYgDnhIuNBNATm38ltsRQR3o1EJhfCgqGOQni97VZcY?= =?us-ascii?Q?R3qJocgySoQhVRbxictR0nm5aFfUtQmozHoAeTPgqCYuhbf/KURSi+xfAENI?= =?us-ascii?Q?CjZV+ns7IvrWXvfHFmLve/4ybMHIt2NUvv/ASgDAgaowUs5KyP8IiHqWoNDd?= =?us-ascii?Q?LUopQ7/wWkQ80Jfmy6bGVPI2lrTEZL6UMC5TK2UcBL45DQ8I3v7ANpJwSxp7?= =?us-ascii?Q?IhcMzZG4vJz6geGRxluCLvyQx0ho6BBva2g+WToTG3AnxcNELnLa7ajIHVTA?= =?us-ascii?Q?wh9MgNopV222QjU8NUDYKpt+xh9504lVLMRtLSGvpf606KnUbKGuGDGniwVH?= =?us-ascii?Q?v6tcpfWZI5eQmCuUvJyVaW5JQUez+uVd0Q+ivRv6HCaGJhe4Fe4=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5d2240a9-8a8d-462c-fed5-08dad25c2cd7 X-MS-Exchange-CrossTenant-AuthSource: CH0PR10MB5113.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Nov 2022 22:50:55.8305 (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: bIUHTmcF5aJwYibkvhqX27rRYWxoSH7Dpk9KPC1j8ilSqqzKQPSvISenqi1ox9d+W5vxdZ1PtSS4AiBsOSIe6wRaqgOtCBKie1QikT4XfEY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR10MB5586 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_13,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 phishscore=0 mlxlogscore=999 mlxscore=0 adultscore=0 bulkscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290137 X-Proofpoint-GUID: KKwCzWtllePi_eY3CNfopvafwq8qpcKh X-Proofpoint-ORIG-GUID: KKwCzWtllePi_eY3CNfopvafwq8qpcKh Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Convert prep_new_huge_page() and __prep_compound_gigantic_page() to folios. Signed-off-by: Sidhartha Kumar Reviewed-by: Mike Kravetz --- mm/hugetlb.c | 63 +++++++++++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 33 deletions(-) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 5e580ab834c3..f61b4eb58cde 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -1789,29 +1789,27 @@ static void __prep_new_hugetlb_folio(struct hstate = *h, struct folio *folio) set_hugetlb_cgroup_rsvd(folio, NULL); } =20 -static void prep_new_huge_page(struct hstate *h, struct page *page, int ni= d) +static void prep_new_hugetlb_folio(struct hstate *h, struct folio *folio, = int nid) { - struct folio *folio =3D page_folio(page); - __prep_new_hugetlb_folio(h, folio); spin_lock_irq(&hugetlb_lock); __prep_account_new_huge_page(h, nid); spin_unlock_irq(&hugetlb_lock); } =20 -static bool __prep_compound_gigantic_page(struct page *page, unsigned int = order, - bool demote) +static bool __prep_compound_gigantic_folio(struct folio *folio, + unsigned int order, bool demote) { int i, j; int nr_pages =3D 1 << order; struct page *p; =20 - /* we rely on prep_new_huge_page to set the destructor */ - set_compound_order(page, order); - __ClearPageReserved(page); - __SetPageHead(page); + /* we rely on prep_new_hugetlb_folio to set the destructor */ + folio_set_compound_order(folio, order); + __folio_clear_reserved(folio); + __folio_set_head(folio); for (i =3D 0; i < nr_pages; i++) { - p =3D nth_page(page, i); + p =3D folio_page(folio, i); =20 /* * For gigantic hugepages allocated through bootmem at @@ -1853,43 +1851,41 @@ static bool __prep_compound_gigantic_page(struct pa= ge *page, unsigned int order, VM_BUG_ON_PAGE(page_count(p), p); } if (i !=3D 0) - set_compound_head(p, page); + set_compound_head(p, &folio->page); } - atomic_set(compound_mapcount_ptr(page), -1); - atomic_set(subpages_mapcount_ptr(page), 0); - atomic_set(compound_pincount_ptr(page), 0); + atomic_set(folio_mapcount_ptr(folio), -1); + atomic_set(folio_subpages_mapcount_ptr(folio), 0); + atomic_set(folio_pincount_ptr(folio), 0); return true; =20 out_error: /* undo page modifications made above */ for (j =3D 0; j < i; j++) { - p =3D nth_page(page, j); + p =3D folio_page(folio, j); if (j !=3D 0) clear_compound_head(p); set_page_refcounted(p); } /* need to clear PG_reserved on remaining tail pages */ for (; j < nr_pages; j++) { - p =3D nth_page(page, j); + p =3D folio_page(folio, j); __ClearPageReserved(p); } - set_compound_order(page, 0); -#ifdef CONFIG_64BIT - page[1].compound_nr =3D 0; -#endif - __ClearPageHead(page); + folio_set_compound_order(folio, 0); + __folio_clear_head(folio); return false; } =20 -static bool prep_compound_gigantic_page(struct page *page, unsigned int or= der) +static bool prep_compound_gigantic_folio(struct folio *folio, + unsigned int order) { - return __prep_compound_gigantic_page(page, order, false); + return __prep_compound_gigantic_folio(folio, order, false); } =20 -static bool prep_compound_gigantic_page_for_demote(struct page *page, +static bool prep_compound_gigantic_folio_for_demote(struct folio *folio, unsigned int order) { - return __prep_compound_gigantic_page(page, order, true); + return __prep_compound_gigantic_folio(folio, order, true); } =20 /* @@ -2041,7 +2037,7 @@ static struct page *alloc_fresh_huge_page(struct hsta= te *h, return NULL; folio =3D page_folio(page); if (hstate_is_gigantic(h)) { - if (!prep_compound_gigantic_page(page, huge_page_order(h))) { + if (!prep_compound_gigantic_folio(folio, huge_page_order(h))) { /* * Rare failure to convert pages to compound page. * Free pages and try again - ONCE! @@ -2054,7 +2050,7 @@ static struct page *alloc_fresh_huge_page(struct hsta= te *h, return NULL; } } - prep_new_huge_page(h, page, page_to_nid(page)); + prep_new_hugetlb_folio(h, folio, folio_nid(folio)); =20 return page; } @@ -3058,10 +3054,10 @@ static void __init gather_bootmem_prealloc(void) struct hstate *h =3D m->hstate; =20 VM_BUG_ON(!hstate_is_gigantic(h)); - WARN_ON(page_count(page) !=3D 1); - if (prep_compound_gigantic_page(page, huge_page_order(h))) { - WARN_ON(PageReserved(page)); - prep_new_huge_page(h, page, page_to_nid(page)); + WARN_ON(folio_ref_count(folio) !=3D 1); + if (prep_compound_gigantic_folio(folio, huge_page_order(h))) { + WARN_ON(folio_test_reserved(folio)); + prep_new_hugetlb_folio(h, folio, folio_nid(folio)); free_huge_page(page); /* add to the hugepage allocator */ } else { /* VERY unlikely inflated ref count on a tail page */ @@ -3480,13 +3476,14 @@ static int demote_free_huge_page(struct hstate *h, = struct page *page) for (i =3D 0; i < pages_per_huge_page(h); i +=3D pages_per_huge_page(target_hstate)) { subpage =3D nth_page(page, i); + folio =3D page_folio(subpage); if (hstate_is_gigantic(target_hstate)) - prep_compound_gigantic_page_for_demote(subpage, + prep_compound_gigantic_folio_for_demote(folio, target_hstate->order); else prep_compound_page(subpage, target_hstate->order); set_page_private(subpage, 0); - prep_new_huge_page(target_hstate, subpage, nid); + prep_new_hugetlb_folio(target_hstate, folio, nid); free_huge_page(subpage); } mutex_unlock(&target_hstate->resize_lock); --=20 2.38.1 From nobody Fri Sep 19 02:18:45 2025 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9409CC433FE for ; Tue, 29 Nov 2022 22:52:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237041AbiK2WwF (ORCPT ); Tue, 29 Nov 2022 17:52:05 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38556 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237001AbiK2WvT (ORCPT ); Tue, 29 Nov 2022 17:51:19 -0500 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 31DF47119D for ; Tue, 29 Nov 2022 14:51:18 -0800 (PST) Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 2ATMDeUa030099; Tue, 29 Nov 2022 22:51:00 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=/nyUBV653HdMfEXofdg4opZvn8EmjMhZwLoDr0pH2UQ=; b=KU0B0UMhy+EZfFttGJw2vZjbMTx/WL4K/1XtkdPMohUdEp0Mj9XGB8rFWWSPpsGDg5d3 aU7BMg4Je802/FmKwyozBPv2PJraHgO+Nz+d7GsrFEfpK/0+lh1qTVOlZeIT3DiG8deI IgtbLVlftGLdKseEfkX/z1W20FdgeMMDKsEt4FPeUg1LAw4GbhvayoBDH93ySsnIx553 Y3wLEupPr/UuyPBQGDPFB3SDbV0vTqKq/ALDbtCft812DtXlbXUKoOl3yhHZBX0gdwQK 7iP+vC67hAXQzrcqRSCPLZWKDOG99LxIjdGrvd7WfdyfGypVchbB3yytwOaVJqp5dzZg WQ== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m3adt8g2u-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 22:51:00 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2ATLIULN028067; Tue, 29 Nov 2022 22:50:59 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2173.outbound.protection.outlook.com [104.47.57.173]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3m39881gw0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 22:50:59 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JAOfcyI/6DEduTw9JaSEPlqDy8jaXkeD3OAJzcjFmyhya1RNyLxD4piWnR0tOyFnUB6ZR+yInsR7AVLL25SXMXw4Lutu86ukwL8V3WDP1SVofJIRiQl6uRKXNIUHWox6tr/8Md0Hqvi2FUVfqVgdVlcGrMzi02jNRorHpzXRP9f/CRG1MyGhT6Yx8rw230b1a3bJfuhbnfbKhfhWtM6i0CPiVlQSPYKMs6/VEt5zplczmbAQwe+wwzVmvrvCXwYiUD8AvjlD9bDPCM3UfSUPIJaC7Snjo4iIAQmHsz5hIIqssRgUuBozLGMxAXV6GIor22/ZRJxeEBYvhxt5apjpZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=/nyUBV653HdMfEXofdg4opZvn8EmjMhZwLoDr0pH2UQ=; b=gtxPqGR1YcNtxIllcaDoIxMK1Yi8WgSzjIZS3V2SVXL7iGIehszcUHwKke2iQCxvKwjNkN8uY+U/Fmf/m82XvMR7A/CugG+/GhaynqcATXuV5a84sHD5vkVpI9uXrfE4tguJvhsBiofuKBXhM8v86+UA0r6oR5mNGFfefIPp0pxbuLmZQ9jpOX3RClvSrieYJ56fu8csbe9bMlxiI3uX7PjdtqEjeR0JO4QlS5GwX+uzwVWW2AE9nutDJdWtXXRfSjDbYrPe3g10Pij380+s3GLCNPxBz0790BHQJ3BMWRm0CNR2ih8S6lEiCYQO5U0eudqf7wlGBugPSAJXrIkIeQ== 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=/nyUBV653HdMfEXofdg4opZvn8EmjMhZwLoDr0pH2UQ=; b=yJmcZByX+oSHbbAu6uSlkcapXnp1AwWaJy7MN7B1HnaSw37ksB4a8Z7DGoI2qKmBVoHJQ9HtvRHGlm4PooZ248lCpwrnBLVaLHcSGT/BohVIkGHVcOqqkuAZTk8DUlG96NEygtMf+wgXqLl/Qhux0PnH7o3lf36FNsBEQzfSlBU= Received: from CH0PR10MB5113.namprd10.prod.outlook.com (2603:10b6:610:c9::8) by CO6PR10MB5586.namprd10.prod.outlook.com (2603:10b6:303:145::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Tue, 29 Nov 2022 22:50:57 +0000 Received: from CH0PR10MB5113.namprd10.prod.outlook.com ([fe80::3702:7db0:8917:9954]) by CH0PR10MB5113.namprd10.prod.outlook.com ([fe80::3702:7db0:8917:9954%5]) with mapi id 15.20.5857.023; Tue, 29 Nov 2022 22:50:57 +0000 From: Sidhartha Kumar To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: akpm@linux-foundation.org, songmuchun@bytedance.com, mike.kravetz@oracle.com, willy@infradead.org, almasrymina@google.com, linmiaohe@huawei.com, hughd@google.com, tsahu@linux.ibm.com, jhubbard@nvidia.com, david@redhat.com, Sidhartha Kumar , Wei Chen , Rasmus Villemoes Subject: [PATCH mm-unstable v5 10/10] mm/hugetlb: change hugetlb allocation functions to return a folio Date: Tue, 29 Nov 2022 14:50:39 -0800 Message-Id: <20221129225039.82257-11-sidhartha.kumar@oracle.com> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221129225039.82257-1-sidhartha.kumar@oracle.com> References: <20221129225039.82257-1-sidhartha.kumar@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: CH0PR04CA0078.namprd04.prod.outlook.com (2603:10b6:610:74::23) To CH0PR10MB5113.namprd10.prod.outlook.com (2603:10b6:610:c9::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH0PR10MB5113:EE_|CO6PR10MB5586:EE_ X-MS-Office365-Filtering-Correlation-Id: 456aa78b-29ea-4205-c064-08dad25c2d8f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: twHrm7wf0jDnu/x5iGDnpf0YoZC9HBdjCAJqKIces/7QCrm2GHRl5aHXyebdC3aBJMGhvF081fkLpg+QyGIDTsTX9bp1ThbJCY8zQmQ9kgxMnTTap3ysXMa0rGi5lDuNBF1NVMpPFA2darBlrC7xiHmu/eu1SEbNznvil+6JReyTdMJ9Cx2MrbGpk9HjFEuosXBvr8vWZwPxtJqx42IAeSwBSI82CtbQCQW3NcUtgMk2q7bUE9EuSzqXG0pk7m0EoD4vKt+ycu8h+Pc/RVEb3zrcRyvckAP+/2hhZaDkgwUKlygnAMwv7N+XO4ouady1bfMxdYbUBeauhCFG1PvEyW6GbASjtei1bb3262ntJZBz0Jo80QW99qnPKYn69ACRrxDsKnQWY4t4V5+Vx5zvmhTSbAQk3Tfu04TkhQammdC9kR+g7bZ4P62Qd+CiBZFj3rlQLGX/QVB1qQlLbM8ome2+cm7W22uF6u8youhe6UzBkA0FRgYUuWymj2BwwR5hnQuFPbiN4DwTmaDWs3SHsuiavpgJAueAN9Z22OZJPhAbcVS8nurnWOm/CK04VNvbVDOF1CsrAVW1BZsxMv0pqpwx41ayCdXQTLaiH188iDS1cKqpOa/FEQmATV+2U+kdEYC2CNpm1T3aVS4ay/Gy2g== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH0PR10MB5113.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(346002)(366004)(39860400002)(136003)(396003)(451199015)(2906002)(30864003)(2616005)(6486002)(186003)(41300700001)(1076003)(478600001)(36756003)(6512007)(86362001)(26005)(7416002)(83380400001)(38100700002)(6506007)(8676002)(66556008)(66476007)(4326008)(54906003)(6666004)(44832011)(316002)(66946007)(5660300002)(8936002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?FSyG+LPhijQCO8iLthrdzP52zqx3Mi2OyFEI2prRNpi05JgFl5tzvS4fAgzK?= =?us-ascii?Q?ulT5lEo/Q+L+Za3XsSu6fpjkI21dzeRQ9X2GE8YkU/d50CqgxxztF5vr2HC5?= =?us-ascii?Q?YCNkcH1g6S/eJVocFTy9JVgkrbOPOqBFphz/IezHeCbhUvBlEMkxvfNKEB0q?= =?us-ascii?Q?grHVjtXdtqx3MpB6KlyEM1hZPo9BecrU5Y783po/BHclIZ7mcSCGfnA0fl1D?= =?us-ascii?Q?+6UeegT+D0DNWsxPqBmeFb+HVKB6B5NKSVhrrFmAOt+J4ZRJAH6puwI0DcUY?= =?us-ascii?Q?eV6hInnl9PIRmj4knmiCwOTrzIRa8f5/aOCPF2CDBe5UyNcYbvsh2C3wWXNf?= =?us-ascii?Q?uKnOs/zL58qA0oxsAsrBEL76LWOz2h44NRtmwFyqIq5Nhj9nIcwU5NKICaBZ?= =?us-ascii?Q?ka7D70bykKHWsQWvQwqXStyOtD2cJFmKMhO+0ccIFEE/HivHC8XTsRPinywO?= =?us-ascii?Q?6mXYEt1jTz3NZ4aLDXnBQ1EkzCAGmD/GIc4jso0A8AXNeTvwCoSfEll0VaW3?= =?us-ascii?Q?bhr6NdyJg5scxmN3BSoPGt/CLxhbhF3hl0m7dLkzTRUTRfUujjIomGBnqNN1?= =?us-ascii?Q?p6zigXHQq+MUR/w1Tf67gSSiLMS+WQa88+k/eKukr9NgnOvSkQOfoz/yY3hR?= =?us-ascii?Q?vC8HbxLOvnewsRjV7vIriMDogqeK7z1y/tH3QbzgxUUpAKF3arpPSJtn0Hhj?= =?us-ascii?Q?prvY2I3ofwvhZbLSW2OWSEiERx1Vh01by7TBXZBOUXsAFqTfTIe9PjrjLsIv?= =?us-ascii?Q?9zqxTEwvZZ0wAOcw4kfS5XcyEuiarTo792KkL20h++gu1C05dMOSJMGNYf5f?= =?us-ascii?Q?9nwfIrLzRcSn39qkMRsGospTEZj6i6pYhIq8lR+ULCxKAgXhoM+Z1ok6FPYH?= =?us-ascii?Q?CWMXcQX4+az/hFRi5t1u4x6TeEfQca6zZv6vJsRgwzSDJNmz/9kOaQ9ZmY1g?= =?us-ascii?Q?OUn6RMk0m74Fmz75WOoPib3CBPZgGdJe9WLtjdCZxQM5nhrDRe57nro3vAzA?= =?us-ascii?Q?cGeaeU5CELLJ7nf7sFTqZONhPTJZ0+9uCEpaIhZIze10PlchMoZfDcoujMJ6?= =?us-ascii?Q?xNYX9rqPBk2Nn5lpBqq7L2StuhJo+bEuWFHZrf44aXyM7j7jyCiPQilCsXHj?= =?us-ascii?Q?ato0nzsavVEKMleMZCr6csuj/NLGhkfMF3jc02sFv7rriFpDR/D5hkUhYxJN?= =?us-ascii?Q?cBwpDo8G4xizL0X5d+Ny6g0t38BaI8JyXu6ch982sLwzrRUGXebXRHSj/q3n?= =?us-ascii?Q?ZWal3ceyWsxw18WURfnrQALsms3o5kLS74ZvXWWDPrKnU6SZoucA2PRaXEXA?= =?us-ascii?Q?vsFmolUhSYyd+mes/KJnkYWllJliH7AEn524W+XHWvjnJJ8EEuFYeIElF/Wp?= =?us-ascii?Q?N6PwSPmgYBqMHDDyods/cTOQB9CeaLtMlPcIDhizvAnmqif5xAxihylzLzmk?= =?us-ascii?Q?mQhQ8mfMdKPxp5MTGwqbiXbXxLc/YtWNHT7A2A9CdK4/oZmc1sEI5MisVCnA?= =?us-ascii?Q?0+pxG0pzFIM8V1Nv9gRjZiVFyIKd6kIvPMTR3dBAMUw7pULqlRa9HucbDJc9?= =?us-ascii?Q?D1udVEoMVUlQ6cx3ssd1eUjWbASdz+gtugRUNH8JmUeQRlwda1FaSEG9Whpj?= =?us-ascii?Q?rg=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?bqMXquP7KTk09bxpXOzsOcSF6E6Q6sKxS9MdAOtnJFTdQ1NbzH07T0Dgckge?= =?us-ascii?Q?63t2D7YeAm/AhGLirL0lVMQ3NuLrKgIktoJNiMgZLycMo6j7z+BJuMXOpFCv?= =?us-ascii?Q?L1UePeEqiyvhkw4g6s5Vl7ClEuZjLzJXq3FYXMYFNkpMG1jAlJ2/T2aJFVmb?= =?us-ascii?Q?Yb2g/LEjuhOdHgX6Z3T7y3FGGohCOa2C5jnaJHt1EOQHvY0BQMpEguEknG0S?= =?us-ascii?Q?bXtVJ7i4WQbfSl8JPtWytlhBnvhm7dv24nS1ZSDlYYpRfzAn/jWQxQFpJXT1?= =?us-ascii?Q?WKa1w79sl9JNht0EcbHIi/f95HRlEpJgeDq5EBA6XTxNO/diqnaXiu5ve9xK?= =?us-ascii?Q?6I2SPNtRY/64js83Zx4BPccLP5jIBIgGtCOqQwhm4CcYCJMuf4ASLnjoOJQc?= =?us-ascii?Q?9XQbPPZm2nohoiuH5ML5D919r3y7hAvdDVs1mI9KJO0jbfFcZJfaVSbQ0nDy?= =?us-ascii?Q?BWDRwCeksPVuG1Na5QEJf8PA2DQFyY19imgi+bPqJyAbgTIUb5PJ9Aj4iNJ+?= =?us-ascii?Q?c+dMlT1AfK0oC9QfyV9UpMjmmp1BDGVvFtTGZKKRBJxbCdK1XldYMJR8ffyw?= =?us-ascii?Q?3nGxZD4CZslMH8iLBt7r9WARk0Gge/UbbADqtLU7Sqwer1fqswiioEzU/6yI?= =?us-ascii?Q?YxjrHs5rA+LrNBQ6wLSV+vROurObOH/679sDaJTVK/2gob643XVZqDopS9hm?= =?us-ascii?Q?tGI5Y76KKdQZEh+x1JaYTUnpMIqap5mKbWyCVdKnz8+0vDfamRpyg2x2mnsf?= =?us-ascii?Q?3+YjVIkSJDFgvmyJXxTOOFuvh0dYibd88PxbWBiPcw2Oz2+s7jehYaMmI9zQ?= =?us-ascii?Q?rtINI0DeUT6+0LFrTJcEYy8WLyCkg8UacM0kGkQIm+8rZ56V5KR3/q056Ogl?= =?us-ascii?Q?Qm9Ze1WD7bFR1lBPoqPGF6e2gNACWqxsbHXaf1D88OxwMff7o893PqQPz0aa?= =?us-ascii?Q?laoDdOepbFbgG3MwiPI0dHftuA9QK+s0BU9TeugWEZZcEkVSuZGSWcPvNSod?= =?us-ascii?Q?4aa51kVbDvVrbS/fzH9Ftgb1wWR7ms9OTMogsBVZRUCGwWVKO5B1ZL5T5E3W?= =?us-ascii?Q?W3tysiknNC+kjFIJ7aBB8Njrgx3pg+G05eD3gbmXGlopkVjT5ek+P48CZLj0?= =?us-ascii?Q?U8FMjKi43E6UbvGWxFwocJmHEuGYAqMA19jnlCvkEwAgQoEhLjyaUKqIuESp?= =?us-ascii?Q?VtWHtnWidTm/uZCs?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 456aa78b-29ea-4205-c064-08dad25c2d8f X-MS-Exchange-CrossTenant-AuthSource: CH0PR10MB5113.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Nov 2022 22:50:57.0659 (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: l6qrMS49xHc/gPNLCWI7tv5r8t4/S+CvTAtuCpgZqq9+Dre4fGthvYVSYUI8U1LmJhBXmH7DWABk1SNy19w5EvIWCX0SMHJIgNg9QlK/hmY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR10MB5586 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_13,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 phishscore=0 mlxscore=0 spamscore=0 adultscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290137 X-Proofpoint-ORIG-GUID: AIdDRBPvLcSbCh6jv90sP7bi71BmET4G X-Proofpoint-GUID: AIdDRBPvLcSbCh6jv90sP7bi71BmET4G Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Many hugetlb allocation helper functions have now been converting to folios, update their higher level callers to be compatible with folios. alloc_pool_huge_page is reorganized to avoid a smatch warning reporting the folio variable is unintialized. Signed-off-by: Sidhartha Kumar Reported-by: Wei Chen Suggested-by: John Hubbard Suggested-by: Rasmus Villemoes Reviewed-by: Mike Kravetz --- mm/hugetlb.c | 120 ++++++++++++++++++++++++--------------------------- 1 file changed, 57 insertions(+), 63 deletions(-) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index f61b4eb58cde..944e1222ea7f 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -1378,23 +1378,23 @@ static void free_gigantic_folio(struct folio *folio= , unsigned int order) } =20 #ifdef CONFIG_CONTIG_ALLOC -static struct page *alloc_gigantic_page(struct hstate *h, gfp_t gfp_mask, +static struct folio *alloc_gigantic_folio(struct hstate *h, gfp_t gfp_mask, int nid, nodemask_t *nodemask) { + struct page *page; unsigned long nr_pages =3D pages_per_huge_page(h); if (nid =3D=3D NUMA_NO_NODE) nid =3D numa_mem_id(); =20 #ifdef CONFIG_CMA { - struct page *page; int node; =20 if (hugetlb_cma[nid]) { page =3D cma_alloc(hugetlb_cma[nid], nr_pages, huge_page_order(h), true); if (page) - return page; + return page_folio(page); } =20 if (!(gfp_mask & __GFP_THISNODE)) { @@ -1405,17 +1405,18 @@ static struct page *alloc_gigantic_page(struct hsta= te *h, gfp_t gfp_mask, page =3D cma_alloc(hugetlb_cma[node], nr_pages, huge_page_order(h), true); if (page) - return page; + return page_folio(page); } } } #endif =20 - return alloc_contig_pages(nr_pages, gfp_mask, nid, nodemask); + page =3D alloc_contig_pages(nr_pages, gfp_mask, nid, nodemask); + return page ? page_folio(page) : NULL; } =20 #else /* !CONFIG_CONTIG_ALLOC */ -static struct page *alloc_gigantic_page(struct hstate *h, gfp_t gfp_mask, +static struct folio *alloc_gigantic_folio(struct hstate *h, gfp_t gfp_mask, int nid, nodemask_t *nodemask) { return NULL; @@ -1423,7 +1424,7 @@ static struct page *alloc_gigantic_page(struct hstate= *h, gfp_t gfp_mask, #endif /* CONFIG_CONTIG_ALLOC */ =20 #else /* !CONFIG_ARCH_HAS_GIGANTIC_PAGE */ -static struct page *alloc_gigantic_page(struct hstate *h, gfp_t gfp_mask, +static struct folio *alloc_gigantic_folio(struct hstate *h, gfp_t gfp_mask, int nid, nodemask_t *nodemask) { return NULL; @@ -1950,7 +1951,7 @@ pgoff_t hugetlb_basepage_index(struct page *page) return (index << compound_order(page_head)) + compound_idx; } =20 -static struct page *alloc_buddy_huge_page(struct hstate *h, +static struct folio *alloc_buddy_hugetlb_folio(struct hstate *h, gfp_t gfp_mask, int nid, nodemask_t *nmask, nodemask_t *node_alloc_noretry) { @@ -1988,11 +1989,6 @@ static struct page *alloc_buddy_huge_page(struct hst= ate *h, page =3D NULL; } =20 - if (page) - __count_vm_event(HTLB_BUDDY_PGALLOC); - else - __count_vm_event(HTLB_BUDDY_PGALLOC_FAIL); - /* * If we did not specify __GFP_RETRY_MAYFAIL, but still got a page this * indicates an overall state change. Clear bit so that we resume @@ -2009,7 +2005,13 @@ static struct page *alloc_buddy_huge_page(struct hst= ate *h, if (node_alloc_noretry && !page && alloc_try_hard) node_set(nid, *node_alloc_noretry); =20 - return page; + if (!page) { + __count_vm_event(HTLB_BUDDY_PGALLOC_FAIL); + return NULL; + } + + __count_vm_event(HTLB_BUDDY_PGALLOC); + return page_folio(page); } =20 /* @@ -2019,23 +2021,21 @@ static struct page *alloc_buddy_huge_page(struct hs= tate *h, * Note that returned page is 'frozen': ref count of head page and all ta= il * pages is zero. */ -static struct page *alloc_fresh_huge_page(struct hstate *h, +static struct folio *alloc_fresh_hugetlb_folio(struct hstate *h, gfp_t gfp_mask, int nid, nodemask_t *nmask, nodemask_t *node_alloc_noretry) { - struct page *page; struct folio *folio; bool retry =3D false; =20 retry: if (hstate_is_gigantic(h)) - page =3D alloc_gigantic_page(h, gfp_mask, nid, nmask); + folio =3D alloc_gigantic_folio(h, gfp_mask, nid, nmask); else - page =3D alloc_buddy_huge_page(h, gfp_mask, + folio =3D alloc_buddy_hugetlb_folio(h, gfp_mask, nid, nmask, node_alloc_noretry); - if (!page) + if (!folio) return NULL; - folio =3D page_folio(page); if (hstate_is_gigantic(h)) { if (!prep_compound_gigantic_folio(folio, huge_page_order(h))) { /* @@ -2052,7 +2052,7 @@ static struct page *alloc_fresh_huge_page(struct hsta= te *h, } prep_new_hugetlb_folio(h, folio, folio_nid(folio)); =20 - return page; + return folio; } =20 /* @@ -2062,23 +2062,20 @@ static struct page *alloc_fresh_huge_page(struct hs= tate *h, static int alloc_pool_huge_page(struct hstate *h, nodemask_t *nodes_allowe= d, nodemask_t *node_alloc_noretry) { - struct page *page; + struct folio *folio; int nr_nodes, node; gfp_t gfp_mask =3D htlb_alloc_mask(h) | __GFP_THISNODE; =20 for_each_node_mask_to_alloc(h, nr_nodes, node, nodes_allowed) { - page =3D alloc_fresh_huge_page(h, gfp_mask, node, nodes_allowed, - node_alloc_noretry); - if (page) - break; + folio =3D alloc_fresh_hugetlb_folio(h, gfp_mask, node, + nodes_allowed, node_alloc_noretry); + if (folio) { + free_huge_page(&folio->page); /* free it into the hugepage allocator */ + return 1; + } } =20 - if (!page) - return 0; - - free_huge_page(page); /* free it into the hugepage allocator */ - - return 1; + return 0; } =20 /* @@ -2237,7 +2234,7 @@ int dissolve_free_huge_pages(unsigned long start_pfn,= unsigned long end_pfn) static struct page *alloc_surplus_huge_page(struct hstate *h, gfp_t gfp_ma= sk, int nid, nodemask_t *nmask) { - struct page *page =3D NULL; + struct folio *folio =3D NULL; =20 if (hstate_is_gigantic(h)) return NULL; @@ -2247,8 +2244,8 @@ static struct page *alloc_surplus_huge_page(struct hs= tate *h, gfp_t gfp_mask, goto out_unlock; spin_unlock_irq(&hugetlb_lock); =20 - page =3D alloc_fresh_huge_page(h, gfp_mask, nid, nmask, NULL); - if (!page) + folio =3D alloc_fresh_hugetlb_folio(h, gfp_mask, nid, nmask, NULL); + if (!folio) return NULL; =20 spin_lock_irq(&hugetlb_lock); @@ -2260,43 +2257,42 @@ static struct page *alloc_surplus_huge_page(struct = hstate *h, gfp_t gfp_mask, * codeflow */ if (h->surplus_huge_pages >=3D h->nr_overcommit_huge_pages) { - SetHPageTemporary(page); + folio_set_hugetlb_temporary(folio); spin_unlock_irq(&hugetlb_lock); - free_huge_page(page); + free_huge_page(&folio->page); return NULL; } =20 h->surplus_huge_pages++; - h->surplus_huge_pages_node[page_to_nid(page)]++; + h->surplus_huge_pages_node[folio_nid(folio)]++; =20 out_unlock: spin_unlock_irq(&hugetlb_lock); =20 - return page; + return &folio->page; } =20 static struct page *alloc_migrate_huge_page(struct hstate *h, gfp_t gfp_ma= sk, int nid, nodemask_t *nmask) { - struct page *page; + struct folio *folio; =20 if (hstate_is_gigantic(h)) return NULL; =20 - page =3D alloc_fresh_huge_page(h, gfp_mask, nid, nmask, NULL); - if (!page) + folio =3D alloc_fresh_hugetlb_folio(h, gfp_mask, nid, nmask, NULL); + if (!folio) return NULL; =20 /* fresh huge pages are frozen */ - set_page_refcounted(page); - + folio_ref_unfreeze(folio, 1); /* * We do not account these pages as surplus because they are only * temporary and will be released properly on the last reference */ - SetHPageTemporary(page); + folio_set_hugetlb_temporary(folio); =20 - return page; + return &folio->page; } =20 /* @@ -2745,19 +2741,18 @@ void restore_reserve_on_error(struct hstate *h, str= uct vm_area_struct *vma, } =20 /* - * alloc_and_dissolve_huge_page - Allocate a new page and dissolve the old= one + * alloc_and_dissolve_hugetlb_folio - Allocate a new folio and dissolve + * the old one * @h: struct hstate old page belongs to - * @old_page: Old page to dissolve + * @old_folio: Old folio to dissolve * @list: List to isolate the page in case we need to * Returns 0 on success, otherwise negated error. */ -static int alloc_and_dissolve_huge_page(struct hstate *h, struct page *old= _page, - struct list_head *list) +static int alloc_and_dissolve_hugetlb_folio(struct hstate *h, + struct folio *old_folio, struct list_head *list) { gfp_t gfp_mask =3D htlb_alloc_mask(h) | __GFP_THISNODE; - struct folio *old_folio =3D page_folio(old_page); int nid =3D folio_nid(old_folio); - struct page *new_page; struct folio *new_folio; int ret =3D 0; =20 @@ -2768,26 +2763,25 @@ static int alloc_and_dissolve_huge_page(struct hsta= te *h, struct page *old_page, * the pool. This simplifies and let us do most of the processing * under the lock. */ - new_page =3D alloc_buddy_huge_page(h, gfp_mask, nid, NULL, NULL); - if (!new_page) + new_folio =3D alloc_buddy_hugetlb_folio(h, gfp_mask, nid, NULL, NULL); + if (!new_folio) return -ENOMEM; - new_folio =3D page_folio(new_page); __prep_new_hugetlb_folio(h, new_folio); =20 retry: spin_lock_irq(&hugetlb_lock); if (!folio_test_hugetlb(old_folio)) { /* - * Freed from under us. Drop new_page too. + * Freed from under us. Drop new_folio too. */ goto free_new; } else if (folio_ref_count(old_folio)) { /* - * Someone has grabbed the page, try to isolate it here. + * Someone has grabbed the folio, try to isolate it here. * Fail with -EBUSY if not possible. */ spin_unlock_irq(&hugetlb_lock); - ret =3D isolate_hugetlb(old_page, list); + ret =3D isolate_hugetlb(&old_folio->page, list); spin_lock_irq(&hugetlb_lock); goto free_new; } else if (!folio_test_hugetlb_freed(old_folio)) { @@ -2865,7 +2859,7 @@ int isolate_or_dissolve_huge_page(struct page *page, = struct list_head *list) if (folio_ref_count(folio) && !isolate_hugetlb(&folio->page, list)) ret =3D 0; else if (!folio_ref_count(folio)) - ret =3D alloc_and_dissolve_huge_page(h, &folio->page, list); + ret =3D alloc_and_dissolve_hugetlb_folio(h, folio, list); =20 return ret; } @@ -3083,14 +3077,14 @@ static void __init hugetlb_hstate_alloc_pages_oneno= de(struct hstate *h, int nid) if (!alloc_bootmem_huge_page(h, nid)) break; } else { - struct page *page; + struct folio *folio; gfp_t gfp_mask =3D htlb_alloc_mask(h) | __GFP_THISNODE; =20 - page =3D alloc_fresh_huge_page(h, gfp_mask, nid, + folio =3D alloc_fresh_hugetlb_folio(h, gfp_mask, nid, &node_states[N_MEMORY], NULL); - if (!page) + if (!folio) break; - free_huge_page(page); /* free it into the hugepage allocator */ + free_huge_page(&folio->page); /* free it into the hugepage allocator */ } cond_resched(); } --=20 2.38.1