From nobody Sun Sep 14 16:25:03 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 E6809C46467 for ; Thu, 19 Jan 2023 21:22:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229882AbjASVWZ (ORCPT ); Thu, 19 Jan 2023 16:22:25 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39834 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229789AbjASVVz (ORCPT ); Thu, 19 Jan 2023 16:21:55 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 70C574616D for ; Thu, 19 Jan 2023 13:15:30 -0800 (PST) Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 30JKx0Pj017696; Thu, 19 Jan 2023 21:15: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=RmtvA3kqCtgodpedmZsZAiY8pDqRCnqPRbwQa/+SAlM=; b=CbDbxWxPr06wb7g2iaw8qBy5A0Gv35+p2CcCzDzeEDj1I/r0nZtLXgMz1/sOjSE5Nwwc LgyWfiq33e+jOCTUs8fj4te1nAnBVKIZwYEqxmQeHIenlJNMfdTgZ4pS8+dDdus5M8ko 4DmX+Kb01NFhH+fl/y3BNDtvkYzrme4KVWLvXzFrz17dUtRG3WyID7NdojyYHeANhN4T /hyuB3r5YA2NuZTDX/S5JDVxrWTplQ74dN+H3WjpmWfVoSQDf/Ga2I2uPNE8IoITLZrC Ow+yy10X6rObl+fjVGqo5m3l4gsVfuQULHfei3AOpncRSthM0RmdD/WFOPTh3THa8pgw FQ== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3n3kaak9s1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 19 Jan 2023 21:14:59 +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 30JJWBTR018769; Thu, 19 Jan 2023 21:14:58 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2100.outbound.protection.outlook.com [104.47.58.100]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3n6quh8svu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 19 Jan 2023 21:14:58 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cLHZaFsGzzRIgNzf+brz4z0IphIgX2dEsVHQEdnRxbPvomNfCLT2SWS8RVrkwARNsZq+Kv6N9gq7mdG6XGViKsTC1NPOxs/fombOW0sZU1htIcfXuogMPUXBIaszVhi99UisJaJ2vUI2EXLhqGNbMmy8Y6MElD6LOaJToyJ0q4lNIN95N5oj9GmkqnXfOQWfIg5d0Scrueit7w0mnsgGgzLafN3HFKa/1yRsRQZI0I+2IlB1IgkkbWMBAfH6uJlKNpk27D0RGrT3om4Z6IwrqqMOvM9mpO/Fz2Ob6PqEeKx5iTULPPvuTbkQCKZkiMd9Jl4xSdKUqdXUYBmQ/UFGxw== 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=RmtvA3kqCtgodpedmZsZAiY8pDqRCnqPRbwQa/+SAlM=; b=BgpY+pPZt5xZgziMkfUEzcIikMEHKp1I1CYMYaFXlyMUrziYPQFSo4dJ6gBDU32U8iZaRcornnJk5Ec916HX0ftnMdOGF1r74bwOyyosgdHc5J6MsrLy4u2mKiQHIuEnc1Syhq8Nt0IjnVvWdmszLFMHaJQQUqPkFxPzaO08A9Eqt6co4kVXoFgZvBH5/RF/SJQVDBsnOwpEnhzZIz3fFwkBdymkaRF7C7y7lNw7VQbohJwbOzpstsci09vjZMiunfRMMgNcHKRdJ5qN4BYYIahxEZWsEqvw29Awd+XOBqmPwuOHV/GKxwsLZHsKaST39f2qgd8azKjFeqVZRLca+A== 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=RmtvA3kqCtgodpedmZsZAiY8pDqRCnqPRbwQa/+SAlM=; b=f6tSu4luhR17FgczoKyV9DAqBeFEs0h3OEisdWzOaDzgRTv43KZ+qrW26q5wCD98m2ziqBo3ih6i0ee+idOiOpuYoUWiWp6emuu80sQ6OYinccoEkfyEW5+Nc+IOxxwvRWxCDaArHfwishXTdz1Wk19j+f0NTDRuJeZq3nJ59FM= Received: from DS7PR10MB5117.namprd10.prod.outlook.com (2603:10b6:5:3a6::17) by SA1PR10MB5823.namprd10.prod.outlook.com (2603:10b6:806:235::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.9; Thu, 19 Jan 2023 21:14:56 +0000 Received: from DS7PR10MB5117.namprd10.prod.outlook.com ([fe80::93ca:e22f:aa6d:94d9]) by DS7PR10MB5117.namprd10.prod.outlook.com ([fe80::93ca:e22f:aa6d:94d9%2]) with mapi id 15.20.6002.011; Thu, 19 Jan 2023 21:14:56 +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, jhubbard@nvidia.com, Sidhartha Kumar Subject: [PATCH 1/9] mm/hugetlb: convert hugetlb_install_page to folios Date: Thu, 19 Jan 2023 13:14:38 -0800 Message-Id: <20230119211446.54165-2-sidhartha.kumar@oracle.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230119211446.54165-1-sidhartha.kumar@oracle.com> References: <20230119211446.54165-1-sidhartha.kumar@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BY5PR16CA0032.namprd16.prod.outlook.com (2603:10b6:a03:1a0::45) To DS7PR10MB5117.namprd10.prod.outlook.com (2603:10b6:5:3a6::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR10MB5117:EE_|SA1PR10MB5823:EE_ X-MS-Office365-Filtering-Correlation-Id: d22a0594-0986-473f-991a-08dafa6236e2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: QFOxjED1Lsdu9fR3AT3YphOFc8OUR5fM6fOJ9l6+NQHEbIDlPtHc8dJ2xg4qcMHXwNXsJzoRJO/YJ8bh9G/k6o1MoiDMZ5RrX/oZVv+hOoyTeDj8V9rfOCCW6aY+osN9UVrwWXv+OIRJWbILCQWMbcdlepMyUh/b8ZiYLeE3sL2M4zPG23G5wQOR9ITlycqZfP82kC+GwCjg+5Kl6/6GsQqdY49G2IYDfIJe21wWSK66zvD/zhxBpI3AKff9abAs67snIPw4ESb24I9r+SL7Qp28YHlzZQMK97NQEDeyZMvQvNajPM+/xwhUZc68ExYHXR/8DiDIiUDAnUd1O5qPqkwQU/wgE7oEIDSadpW8Rm7Sbimv9c1sANjjmhCrRLIRN9XMv5l1iLDO0Y5Llck378lJpWdsvI014hfOeZqaKWCLWbn/VTzzpwpw10t4mL0yUhTHv4eCwJYQ/K00cEdNpjjVMuGCcr8wz9xzBqMJCYja6Rz6ficWYd4tKaPyaQH/so4N5PvI/cUPBlQXARYuajCgmRTvIePcoxbMrvQEzTDerD6oy9kA+WrPqHQA7QY+TLitmH8+R3ngodS0ULy/6jOXp8x0qmolZii4tHWNnHmUmxukqT3S51LkHgr6oXfGNEa2aqgbQ3upEs8hz0CCtw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR10MB5117.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(39860400002)(366004)(396003)(376002)(136003)(451199015)(66556008)(83380400001)(38100700002)(5660300002)(107886003)(4326008)(86362001)(8936002)(2906002)(66476007)(66946007)(44832011)(6512007)(41300700001)(6486002)(1076003)(478600001)(186003)(6506007)(2616005)(6666004)(8676002)(316002)(36756003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?b44ZdWPNM9MJxV0C5vf0/G4ya8Kq90q65sVLZSlp2lDbSOukNQ705szwuwSj?= =?us-ascii?Q?nAjvEjzPnp9ihAQDPcq3ByY6H7hZufjnv/HY7beQVwTARuqrmvG/njwLiVy4?= =?us-ascii?Q?LhDLoI662o2dE14JqfHw3TJlljMwMpKI4lQejQay+5WbhizbTLN+EmaxWfNZ?= =?us-ascii?Q?ypHNOOTiGdC5QDpnZy2O+afQ04ptxi1fHQ7cskF+H4rnIidJpu0QGsr9vdBy?= =?us-ascii?Q?ZSlRdroc8+z7Ln8dYdmZQbpGQIAok9gKq2OnXxM2UhXOxXNquPTwqWddhryE?= =?us-ascii?Q?d3eB35XVX+zhYhGKyItLguStbZ5v/lv7YFx3nf+GQ2KSnLGbWVO5Z605NGjI?= =?us-ascii?Q?Za9dBNGpGfiPCvrVYY57NXy5CWr07oUXi7gIjHTt/W6FU7zEQIy6V1r5j8gg?= =?us-ascii?Q?fdrE61gpCrjYix2BqzPntM08pBnQz3uQ8Ic1OT6SkwHUamQ5Zw7VBY93n2vG?= =?us-ascii?Q?JB7cFkQ06TlBMQ4cWwefTflVrVrhdcYZNZmCLHADK1b6NDsuiiiV5sIfwis0?= =?us-ascii?Q?1L2cWfGDK6PW6fL6th16lZnfu26BVlsvEVnvzmqC/9J2AzKKveGtHJekr+Kn?= =?us-ascii?Q?zgGyjmAkQmZ7VQ+4q2gkCzOAgiY4F7eS6WtSbD3UUiel/V8opnR5fPnEbAYr?= =?us-ascii?Q?kJtZ38wgJDcQQ0P6V2WDT/YAyAqOe2+TXnBi98HUGcRnhHT92T29xipGk3G+?= =?us-ascii?Q?kwL2wDavq8tlrXR/SAAq6HSAlFBPKRyJxRyDHJRgDi01diFFKfAPthRPaHV0?= =?us-ascii?Q?zxCxLD4bx4nzedviKDFuNUhygfnooEQWludbrAptTS6nDeUzugJ6+xVRZFN+?= =?us-ascii?Q?3QW3IsUY3wSDaxUhp/BfCwzfurbrt3lhrOrU2U8WyPyG7EhK9ZEq02POGK10?= =?us-ascii?Q?73ZAwCYn/Vh5MS7yFU8y4sijmgUCBfFZvN7J1gWhZtdyp01SRi5autac1J7F?= =?us-ascii?Q?0RUPkW1B6JT17NRX+f6/i5hM+lkgBAI0eS8q+hGofr49F89OBVfZat7ESROG?= =?us-ascii?Q?IgEnL7S2fxxPPGSl2zqTkB4IqjNjdc+sB6Hj+kLtEBaJdwJZmUzAQ75VOYLU?= =?us-ascii?Q?ZLUUwtrp0jedkBkvImwb1mOKy0hipQFJVfijXWVIEQaDO9wKiQj+UJrHhepf?= =?us-ascii?Q?XSBTYNwUf/eXos8VDZodazFdQjKANt7uU/w3sCMAeFTmB39zkkXV3C2fcChy?= =?us-ascii?Q?VEG9PMdR4UHN33bgchnFfhhaoBB+x+RTaX9gzUxvPdg1g6J3woAqS9E5ZRau?= =?us-ascii?Q?nJUI3UvdnR/tP/JQtaZ96Dv+BXBrO5cIs/X6jU0RPg03TW/9zDFgvaDxQ8vC?= =?us-ascii?Q?zP3vUGTOBqkwlMnV2ORJxG1AQfv2iGaT4Dax6PDupqz3wzWoHkuxHpGVAGRX?= =?us-ascii?Q?rJm60cLYjDxoSVS4sRTv+cpP8JVttXO61UQy3hf7MYPJHf2cxR/DIkNYNU2l?= =?us-ascii?Q?ryhjj5EHn4ZJ6z7GblGZpZlGvSlMUMJrt1nmV6lMoeWua5itueeNGQPd4+1W?= =?us-ascii?Q?xEB58TzX6i/7LZdS7VKLI0gZZBIMmr/EAl2KneykcBtTOOfL5uM4AK/9z+UB?= =?us-ascii?Q?Km18zqFIAmrmULn1taqn2dMMY2aHb0uI3qFvixsNsOJ/S+aCeQYHOsw1HiLC?= =?us-ascii?Q?8sKGU2EhYzTpXA9tnGugWFEVgzVAqOOozMhX0fm8UeDh4D8vi6fQp/gb5+nY?= =?us-ascii?Q?cgNOfw=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?pgy0p7u/kcM2CHh7qKPsN8zfoQn9DNsdfw9iYFJ7IXxS7ZO25sJAfUrnX7PT?= =?us-ascii?Q?Fqs/S9EP8H65/MotMbvh0uLPlWp1fU9KAPmU+IhcyUFIaDpZCD6rCvaBan6N?= =?us-ascii?Q?gJO16x29/CMMUfPoSFw5eWrYaYXE+MHC4bxPATrJZHa2r8HQeWGUi5vWTTSR?= =?us-ascii?Q?7+yg6TzOuCnBaY0z5YTN19jfTCAiX5Am1Hh/ZhIqHeK/wcUdkN9/VefeBTfU?= =?us-ascii?Q?uBDc5TC/1xcSBlc0NVleMu7MoRO9/G+d0Tj9OeGEo9t3XulsuqQ0y+e6RsZO?= =?us-ascii?Q?IrSa6OGnDW/l/+RBb1saawmjaAB+kB+HQ3J727gMsPgE7XDIruqKFWnix0uZ?= =?us-ascii?Q?Wl1dpO1tswmOvJOVBMwRPqlCH//ILHZxwabR8r7pZjGMwBYfmf3jMEfxHMdt?= =?us-ascii?Q?q6svNtTCF7Rv7CdCltgxafMcZiI5boNiknYTwUb9fvGhqD+EUXzmZ6wgCgFR?= =?us-ascii?Q?Gd9tMz/HGPtqKm3E25L+VvqMciy2sBm2KoIZJaZ/LpPUEvFea4YP4pq59T9z?= =?us-ascii?Q?d+al7UR2Y9gjP9Tr7ZL+8Zqg1BRV/byTDmhLlXQYq/VGGjbhrWZobCWlFNrX?= =?us-ascii?Q?u8LH6XWebgweuLa7dmc+gq9/ruC1t5Gm3a+9glUph5bgOadAfpnuQ4gkcHDQ?= =?us-ascii?Q?Q+I+tDft4ruVRWyAUEC8WbeZGr6M7eCVTbqU/3dzuZ83fdnTe141gyfnwP7m?= =?us-ascii?Q?AokYRV3EGL5quv96w1uVt5rxWxEiqhUliLG+oMliZSbEAequ2Bh124XhI9c1?= =?us-ascii?Q?TOesmIYiuM1Qr8q/+uiByu0KL0ahRoFiswaKTYAeH0jb9Ll9L/+iEMiOmzi3?= =?us-ascii?Q?TsFxFU6s28KR18rxe4BUJiJyoEPHJ89fdfYxxGOisw/JUkWRqAmB+Un4/GBY?= =?us-ascii?Q?KnjcEwitOOULxiJfX3e8TXuAgh+izb4XxnfJZNwnzbUZBwoI0IRVCmoCoPAt?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: d22a0594-0986-473f-991a-08dafa6236e2 X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5117.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2023 21:14:56.2780 (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: FrmxVsZpd9qTJqWhFGFG8fnbpgce0AYbfazSg41qNXUrDqBik0PLtTOsuruipah66+J2iL7taXVnGRU7Hr4sjgKCgwEPLw7QPD8xG148jg8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR10MB5823 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.930,Hydra:6.0.562,FMLib:17.11.122.1 definitions=2023-01-19_14,2023-01-19_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 phishscore=0 malwarescore=0 spamscore=0 mlxlogscore=999 mlxscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301190178 X-Proofpoint-GUID: M4TMB-CV8n1WS0qLuIIaqWGu-QRK-JYV X-Proofpoint-ORIG-GUID: M4TMB-CV8n1WS0qLuIIaqWGu-QRK-JYV Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Change hugetlb_install_page() to hugetlb_install_folio(). This reduces one user of the Huge Page flag macros which take in a page. Signed-off-by: Sidhartha Kumar Reviewed-by: Mike Kravetz --- mm/hugetlb.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index d20c8b09890e..849206e94742 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -4946,14 +4946,14 @@ static bool is_hugetlb_entry_hwpoisoned(pte_t pte) } =20 static void -hugetlb_install_page(struct vm_area_struct *vma, pte_t *ptep, unsigned lon= g addr, - struct page *new_page) +hugetlb_install_folio(struct vm_area_struct *vma, pte_t *ptep, unsigned lo= ng addr, + struct folio *new_folio) { - __SetPageUptodate(new_page); - hugepage_add_new_anon_rmap(new_page, vma, addr); - set_huge_pte_at(vma->vm_mm, addr, ptep, make_huge_pte(vma, new_page, 1)); + __folio_mark_uptodate(new_folio); + hugepage_add_new_anon_rmap(&new_folio->page, vma, addr); + set_huge_pte_at(vma->vm_mm, addr, ptep, make_huge_pte(vma, &new_folio->pa= ge, 1)); hugetlb_count_add(pages_per_huge_page(hstate_vma(vma)), vma->vm_mm); - SetHPageMigratable(new_page); + folio_set_hugetlb_migratable(new_folio); } =20 int copy_hugetlb_page_range(struct mm_struct *dst, struct mm_struct *src, @@ -5107,7 +5107,7 @@ int copy_hugetlb_page_range(struct mm_struct *dst, st= ruct mm_struct *src, /* huge_ptep of dst_pte won't change as in child */ goto again; } - hugetlb_install_page(dst_vma, dst_pte, addr, new); + hugetlb_install_folio(dst_vma, dst_pte, addr, page_folio(new)); spin_unlock(src_ptl); spin_unlock(dst_ptl); continue; --=20 2.39.0 From nobody Sun Sep 14 16:25:03 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 A734EC46467 for ; Thu, 19 Jan 2023 21:22:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230003AbjASVWr (ORCPT ); Thu, 19 Jan 2023 16:22:47 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38060 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230187AbjASVVz (ORCPT ); Thu, 19 Jan 2023 16:21:55 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 36C1930F8 for ; Thu, 19 Jan 2023 13:15:31 -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 30JKx5v1027492; Thu, 19 Jan 2023 21:15:06 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=zsPQG8fDL482u8E62UY54HDAQGMVSvhN1uuGsS+Bkwk=; b=QVzMNEdR8NrPY+FPHxNJnZQoiFkBOOHMrdgYk5KLGMZ0rfGhA7ciV+mQlz8rmOYPEP46 rr/zKF3RJOi0cUdo23K3uUXhnBK0rPYTtve8gU8S9ci37XMWgKK5eUsjYXlcHf/Udag7 GJd/ZwieENmNBUl08uxVhg0+VnjHlxdf0AWW1Dp7SS7YBHkd1axa/1RU1EqW1oCI6Exz 1g1R49ir0FEJ2Y9pMASzAZiOjCgrB/coF6CQsiF/QekQsZiN2BUg3Iae4rLhpJ44rPNJ hPfJXcHpY1/QzmVRsFUPDgNtQcZFtU3NB7fjy5CwKYGPJjCWN/uwZQxFUEndRong7TyJ TQ== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3n3k013at7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 19 Jan 2023 21:15:06 +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 30JJavLs004672; Thu, 19 Jan 2023 21:15:04 GMT Received: from nam04-bn8-obe.outbound.protection.outlook.com (mail-bn8nam04lp2049.outbound.protection.outlook.com [104.47.74.49]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3n6r2v07ej-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 19 Jan 2023 21:15:04 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dSDzYNIs3ono7piW/ia5OI2GrWBWOUGrObv6a73SfGWPl2o3WIcziG8OJRdfQgIprypxjY++ZH1Ys/GwJ7JNETuonjdxKKDOpwZZfKkvIj4UCnrlEbPUCkym9qt8sC6gdPxfSDjXGz7mJCc38QTr4NOXBeplr9I8uW/ABcO+AoKkKXy5cQDoeXalxNh20e2WFwkJtzlAdCW863IsNorBnfEbKPSJyPT6AtbijUtr92b5b4JGmRHoQu+Q7RALpFB8hDvEmWF608g/nYUrY84dvevP/LT5lTPL4OpbXtW8Gp86eWGeBsQcfxCqeF0nFphDO47mSJaDDkgRHd0q3qyURA== 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=zsPQG8fDL482u8E62UY54HDAQGMVSvhN1uuGsS+Bkwk=; b=VkrbmEC/T/6JtjclRUkORw+5/xeZw/hDLabjbNjmpu6ZvNTFeGdbg4J/9Vk7q5mCAfd3NZqHAi47KQ0gDHFqEVOKcGjaqwWaGi6Pvo8Qi1pVTzVRqFm/1SzkarKDRWOLX/LVf9riUbHt46NX5IvZjdXy6tujzigyC04lUqRowBQXRyvIG6utb9FLyHCPn7+cWVb+QPfx57/pETxaj5iaWuZ1QaozpCQhs/fsgQ3cTHFmgjlShR56XZlRo08QWDtCvVrhSEGvBkeVX0QEg3qq5QE2499V+akuFswCXhmR5y3V7Z6BoGRuNMMzklJasfd5vWFG8pVxfnEctc2atPk9HA== 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=zsPQG8fDL482u8E62UY54HDAQGMVSvhN1uuGsS+Bkwk=; b=jxPsxp1t/+kZt0j3C+h9jUmcdkBabhEJLJJFSNZ7te3nhwTVmXtv0chHb7xYIIZrAFynKXFBe9BGJ8uAhIdzUaQ8Vq17lhI6NWzjFo7z1pVHpTsLjl403WmOcIE1427e8blpIdzQgzp1M8a1usTG3jEcW47BZYKHH2v5oigSRG0= Received: from DS7PR10MB5117.namprd10.prod.outlook.com (2603:10b6:5:3a6::17) by SJ0PR10MB5600.namprd10.prod.outlook.com (2603:10b6:a03:3dc::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.24; Thu, 19 Jan 2023 21:15:00 +0000 Received: from DS7PR10MB5117.namprd10.prod.outlook.com ([fe80::93ca:e22f:aa6d:94d9]) by DS7PR10MB5117.namprd10.prod.outlook.com ([fe80::93ca:e22f:aa6d:94d9%2]) with mapi id 15.20.6002.011; Thu, 19 Jan 2023 21:15:00 +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, jhubbard@nvidia.com, Sidhartha Kumar Subject: [PATCH 2/9] mm/hugetlb: convert hugetlbfs_pagecache_present() to folios Date: Thu, 19 Jan 2023 13:14:39 -0800 Message-Id: <20230119211446.54165-3-sidhartha.kumar@oracle.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230119211446.54165-1-sidhartha.kumar@oracle.com> References: <20230119211446.54165-1-sidhartha.kumar@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SJ0PR05CA0003.namprd05.prod.outlook.com (2603:10b6:a03:33b::8) To DS7PR10MB5117.namprd10.prod.outlook.com (2603:10b6:5:3a6::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR10MB5117:EE_|SJ0PR10MB5600:EE_ X-MS-Office365-Filtering-Correlation-Id: e34cc9b9-ffe2-47f9-d7af-08dafa623942 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qy7x+wNVZ50XB5JrxhxodaiJrWso3rgp366E4bqEOwLQg/fKsZxLfQ/L6wLxBhdhaiARmQUf6UCGoiKnn/pShohT1hP/H9ZYTl1JzsQ64LTWv6kkiDp+vlhnfSHGExQtv/3Y/jhRxLVTi8mYDzRzJ3d0LyYEHuEVchcXkS+E1s0/Y29Bw0Gj1gehjx9xUAJFh4lQ5VDzqscV4nsBOEroXXWibL7Yq4uTaSCTJ8DagKdBhO9zQWODRz1khux7oyCd5U9z/9CchQMjUpE2obduWFI3IALyJRgqF9czgbNKRm15EFTxc6IcYlGe+S1K18nx/dtVatasetKauLp/MdSZP9b5F+yYFSSuoLcsTXdw+9vpcZxjr72fBhmcKGOCn1lgTa1XwQnSNj0TSVaxB/A86s5RdJKxAAR+GgKuP903XV/aJ2gxrceaEd0z5i1Fy3yHC+zd1GPGuW2tejhhCaD8KLFV3caI4IP0HegVF5xMHKjD49DjbmGRRxPAscEAUGkaiaAE89CwlUq8OfVkDVzjt0Ne60VVYTyy+49PM7jT8kUUJ/rStSO2O6Eu0b2qJQKxe9A9+e3pENCykIZfXGQFdprlK+jSWOokLmaiI5KwLmwrgw+TVZew9lCL8gdlmZn9KxYVp/HEO5ct0CMQLEKj/g== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR10MB5117.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(346002)(396003)(136003)(39860400002)(376002)(451199015)(66946007)(38100700002)(66556008)(66476007)(478600001)(8936002)(44832011)(2906002)(5660300002)(4744005)(4326008)(8676002)(1076003)(41300700001)(2616005)(6512007)(83380400001)(186003)(107886003)(316002)(6666004)(86362001)(36756003)(6506007)(6486002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?P25M3ehEgCDwDYwSFs2PBXV/efuxjWJIBydC9Yz2rrG7SCXRHs8tALod2n28?= =?us-ascii?Q?+pQSf5N6vO+OIzOc85J1t3uMHM+Bph0zXAphAMbxUvLfotbvGgFSzifBqdOL?= =?us-ascii?Q?tyUXhgsYYXz33br3QFAdqe+MPOpnJe2PTd59owsd0R1BDAZk3PgQMgyTlcBd?= =?us-ascii?Q?AuzPyf+qkDxvcs0/9EJP84nsOmLmcPItx6HMoHW7sm+nhhiqkPDH0NzzTyRz?= =?us-ascii?Q?hKLfIexYbBJVTyOix8Meq/JwIB8DKYiYLABuPDsLAZ0Pl4r9LnOH1fV6UKD7?= =?us-ascii?Q?5Eb8GPq/lmptC+cdS0kZPDzZGCl2GA+QwctWjQjbMrkWfAyKftbrsPJCzgM3?= =?us-ascii?Q?Olone19e3za61pylyAkUnjJ1lpg5pAmJIdLmqHV7O8QVemxiE4RYob9W+vp/?= =?us-ascii?Q?yO9B/liN0xIe+WWJjjiuGjm+a9kJ6nHDx4zkmDVRco5w4Ir8G2tAxFEUrrQc?= =?us-ascii?Q?tutpW15Kx4BYw6+K2XgJskE/ODQM5xBNElfyanten2BBsctXdDNdgNO25vB7?= =?us-ascii?Q?2G+dVvGYlCZl3T/xb7AJq7bZnMuQ3m4WDBAQWocEeUdgasGCHxIlCoFKCOLf?= =?us-ascii?Q?hGn2cTWLPHqw2ePQgb7OcyOom4xeLf4JG9+9fohmdRx5/HnhUxnG7dbWSngP?= =?us-ascii?Q?zAfBr9iBXTGQ/lAH+c1Rly5PoWi9i4oeN9THGEQhwbWQIgXB5ktbOWPMD+rA?= =?us-ascii?Q?sHzqmptMY0eyJEbdBvFo7+xkFD9luwBoutLmmWUNEBEUkPXOzMiAUM/JNJ94?= =?us-ascii?Q?A9b0x9XAJghj3k/DEQ9FsKwPLb2xDpxIFtdU/MuFVJMURMLbVtpuka00p0qS?= =?us-ascii?Q?z0E1qwAmj8861t2X5m8WmpIo6E9GOPw+K1sJ1qxwNhlzgGCEnmMmk/n+ZfZv?= =?us-ascii?Q?BddVXH0LLowPTrka3UaAVkLk+XvJWP69/e9dWYH8hoivCsJWI6HQSFJtMiZ+?= =?us-ascii?Q?bDG5sHBGSt2RrbsRyV8pM4HINyfjFCzFQxPrL6ZIs2w87hK5ohkSe1bJugTa?= =?us-ascii?Q?hiztS8XOY7LhxD5VFt8kJUQh+mnPH1S+ffaUpiMN/gy2iPETD5AnB0zkSRDz?= =?us-ascii?Q?jrGsNmch8l+WLZB7+aBE8UuUpqWqgdpotD7MFqPL7Dtw9y7HPmuoWeQvFOum?= =?us-ascii?Q?224k485MF6SvPWD8AAh3FYx34s3ymAqo3GF8VoP44t1o605rGA7Pl2GZTh/f?= =?us-ascii?Q?Ixg8dN/ErfznifAoSzXSqQ3p+ZPFEK1OH+tedqhiqPceiNZ+9qOPJ+Gl4ezd?= =?us-ascii?Q?vt0L6rKUiub7amXuVpk3q2xJWxpqbwkQGxPxGoS3hjc1UwlpvUVonf0k2vLx?= =?us-ascii?Q?/Zxrup6WLufO9UBOM8ZJyoNGX4IkxT/+hjXW12WMDN5zUWyQfrtAilRz3RLO?= =?us-ascii?Q?qb8kwrkPO23mTE/PC8aWlYOONr/TkTujEWo5QOqrTY20z0AShjG+t/tQwcgm?= =?us-ascii?Q?b/tcHvL+PokY3Ro/G2E7uHOGxEcgPzvCF6DxcjfOMEXVYQxLUt7ayirCbN2I?= =?us-ascii?Q?mWWSb2pErCACbi3sOO45OhfCluHtZtN6imseJkLPwSQuUQeV78Md0BRg/rEL?= =?us-ascii?Q?cFhfNgXJE1H9w2X4oCr32NJAB0o0ieRxbQRyqwcy/Lrps72ZEVgvtFEfAgEY?= =?us-ascii?Q?qCIpgt9UV90ykqjdU+tglpT3VD87SmAEjO0ksi0r0dGF3L/cWanVEKkkESdS?= =?us-ascii?Q?VVIOvQ=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?7TjHEhK2LtOKWCSc+vC8oREPG0+NszCv0yo/8F2EgzH/Bs3g56uawiP2mbO9?= =?us-ascii?Q?N8frfy2EKY/hm0w0vf9Nz0nqaz+7Bwm6cofVdYlEIDIJSv/w1uDretlf68m5?= =?us-ascii?Q?pQfYc5uLU9kMgXQbOsjuVFZPe3kSOjZAferZzJ4xjD/7MVagf2rtby6mys3z?= =?us-ascii?Q?7SRCJ0kTTkgVI09QPNth7v6bGXR/2mYVU/V3zn6+eRqDG6K2KAtSriMcOJIf?= =?us-ascii?Q?NtSD+CAM2HBKOR3kTxG4Trth5EE/iXGenBNazvpx6DQR6JKDx6eTlS+1mHLa?= =?us-ascii?Q?asaBaHj04pP9XqYxB43FT1EpnUOURMB5QFu0uRnKeAkJ+MAFThpE4qDY5JTa?= =?us-ascii?Q?3YtZHj2iiPWSg1+Aos3rz5XjY7Tg1/CTFhkbiSUbKE37tc6eu51UJV+IK3YW?= =?us-ascii?Q?8lxXHgN/5Xe7RhVBDfjqkT6mMdhx1PcXGQnNRD6AFp9J8Ci3hWZ8ghvYp1bi?= =?us-ascii?Q?R3+LZkYjCjpeuuDmDXGJ4ywBPcElq5hIFL33ExGouP1PcaP4KA1ReeC0/tat?= =?us-ascii?Q?XKHEu86Ahokn2A7x+1+gaUtEeEu0Q6K7uGeBjJRXcTeAa9qQvB1Z2mXZC85C?= =?us-ascii?Q?cdbrFxBeAFXqc3leNzEfK6AmaGfuzeCZhD1bJO3pGptYL/ZpCpg3JVLz6L5a?= =?us-ascii?Q?EiYGHb5qoiee6zND+KO/8jjvqjOLifpXnGSF2Mc/tywtOhH79UTrija0ieXN?= =?us-ascii?Q?qrLIyRVAU+UpR/aYKBAT/2TNP989IbghtyBDgZ4Pc55j1tt60k0D4TZpBEOt?= =?us-ascii?Q?0kI8QGgNtmEwBsiNK39PgcxQE7C3Jige5qnT3z8ROzIHT+32ipFoL9ILAMMr?= =?us-ascii?Q?+G1jzuoOhRacEU4vkHM0SPK4aQpOldgautGac9BPLsAauNc1hcG0W994OEgw?= =?us-ascii?Q?WXl+9kx8AzfQizluRcogMvDnwK8Dcsk0trDt3fGlprPqqWXvkTbwcuQoZ6f1?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: e34cc9b9-ffe2-47f9-d7af-08dafa623942 X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5117.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2023 21:15:00.2017 (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: 7of99WqYH2u7RSI4R6eDcS0eUnzuG8wTfN9fx1/PhVmF01jFiriuSQvDlV0FY7gK0FYdAkYeslGT14AeMVSJf/QncAzShYbiktIsm4wsAx4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB5600 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.930,Hydra:6.0.562,FMLib:17.11.122.1 definitions=2023-01-19_14,2023-01-19_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 mlxlogscore=999 malwarescore=0 mlxscore=0 phishscore=0 suspectscore=0 spamscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301190178 X-Proofpoint-GUID: jsivQA4vrPT8-DTqgdFWT04JY3JksEJJ X-Proofpoint-ORIG-GUID: jsivQA4vrPT8-DTqgdFWT04JY3JksEJJ Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Convert hugetlbfs_pagecache_present() to use folios internally by replacing a call to find_get_page() to filemap_get_folio(). Signed-off-by: Sidhartha Kumar --- mm/hugetlb.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 849206e94742..04cbdf5025a5 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -5653,15 +5653,15 @@ static bool hugetlbfs_pagecache_present(struct hsta= te *h, { struct address_space *mapping; pgoff_t idx; - struct page *page; + struct folio *folio; =20 mapping =3D vma->vm_file->f_mapping; idx =3D vma_hugecache_offset(h, vma, address); =20 - page =3D find_get_page(mapping, idx); - if (page) - put_page(page); - return page !=3D NULL; + folio =3D filemap_get_folio(mapping, idx); + if (folio) + folio_put(folio); + return folio !=3D NULL; } =20 int hugetlb_add_to_page_cache(struct page *page, struct address_space *map= ping, --=20 2.39.0 From nobody Sun Sep 14 16:25:03 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 0AB03C46467 for ; Thu, 19 Jan 2023 21:23:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230106AbjASVXU (ORCPT ); Thu, 19 Jan 2023 16:23:20 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38064 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229782AbjASVV5 (ORCPT ); Thu, 19 Jan 2023 16:21:57 -0500 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 920815B98 for ; Thu, 19 Jan 2023 13:15:32 -0800 (PST) Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 30JKx3ZH008407; Thu, 19 Jan 2023 21:15:09 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=P8ONpzIrTwJHXkSAMdbEViZE3APyT+eQytr+nrla0D4=; b=WEBbfSvIKL7zyFvdfVE6VaSg8ulre58/pe70f8iZmRuox7f8wIgTyIKzLdlwqsnyBM25 7ZgHLYELqDxgYJCK3dlz5zmj1T3lAzZAZiWIjjSUL1gJ4Jqmebt+WYlsI6ME0XY4YtUC egs2Rf2zq8WHGTV0uAtk7rk3869etbMIEI/0k6tAptVAGaGaoB5z//KFFapDXurnN4Jb O7zuX9r4dlUSJHnvTVJ11lPlIqjZJZVjqIQ0TTajResawbUsvICNIP5EWQR0cUVGprSm SAShA7283b45r/94RmBMG/M4/vUzd4B/eNC1iRm9DRKKicx7rc/h8rAr9MUQFFfsqZ8Z 9g== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3n78958x94-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 19 Jan 2023 21:15:08 +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 30JJZwGp027915; Thu, 19 Jan 2023 21:15:07 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2171.outbound.protection.outlook.com [104.47.55.171]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3n6quc8abw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 19 Jan 2023 21:15:07 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DxDQsJZaClsp4uzKsAj5hZ5sTeYR7D7p/CAa27SZ3bR1QSuMw4rZy6cCJWKszfQHDckyos5mb69s2UmXhdBOfVBzqN9pwyaOqt3vbSdGqQvw1XPDVc92utBmNxJC0RKAOjkkhEdKX5V2mVXLkFxokhCGFEsHs3uKTgr1QEIIkvuXk6bALVD/EDXIoo1l3zeDqKP0QSxNY+wDNAVMfjL4j029EZJZw9cmXrea1V1VfnbUlbQi/nqekNWFUeu4l3pBXKsSp9LsCeLrNXoznPzuAvI1aTxJYE+BUbKpvqtdmmKvNIr1fYFxqitap+9EviGWbXMkHk5GfqZaxzCXdOEgLw== 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=P8ONpzIrTwJHXkSAMdbEViZE3APyT+eQytr+nrla0D4=; b=F7c3fgd8n+s/yW5PInQELS8LhUcf1N+M0zuRvB/NPRX4RUFK+dJQezavfWdDtkx4ntXx3sUB3G203XYAjIUmYFpWlqrWbqZDrJp0Vb/lxVCJaHtEd2E/Q1CFr2aHM60yvVNCl6Xdc/OWrsPZdo6x4/F1ssf6UXcg/VmA51zOi6QPcVb0/MgeFslnrRaayj96sN36hMSwF/kqHFfEhYeD+fnbDg++nA4J6DY7YcEb42qvHkJ24ShZ7r8QjgGUJ+XVHQqxRdKkY1t7X2hVD4PdvRITdU0rwUeqwy/606vl/2K9OSDIP/kWa2qwAN7hCEQPnrNGOSW2DK2tihAkUeS0QQ== 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=P8ONpzIrTwJHXkSAMdbEViZE3APyT+eQytr+nrla0D4=; b=OiE23BRcUYHNPmnmrg6RE9E1ebgmOIX07XXB6bKYjt/xa6DLLWKcBMu/wSrOdngoZF/n/2VWqqXWtn2c5jbQkmF7mtAAsOWq7nGgG2fM/Rt7fRRM8RekwSbq9VegfbSiNHvpZUgGiUE2FdcLuHv6kVzOTL0tj+tFN8hGEdljDqs= Received: from DS7PR10MB5117.namprd10.prod.outlook.com (2603:10b6:5:3a6::17) by SJ0PR10MB5600.namprd10.prod.outlook.com (2603:10b6:a03:3dc::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.24; Thu, 19 Jan 2023 21:15:05 +0000 Received: from DS7PR10MB5117.namprd10.prod.outlook.com ([fe80::93ca:e22f:aa6d:94d9]) by DS7PR10MB5117.namprd10.prod.outlook.com ([fe80::93ca:e22f:aa6d:94d9%2]) with mapi id 15.20.6002.011; Thu, 19 Jan 2023 21:15:05 +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, jhubbard@nvidia.com, Sidhartha Kumar Subject: [PATCH 3/9] mm/hugetlb: convert putback_active_hugepage to take in a folio Date: Thu, 19 Jan 2023 13:14:40 -0800 Message-Id: <20230119211446.54165-4-sidhartha.kumar@oracle.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230119211446.54165-1-sidhartha.kumar@oracle.com> References: <20230119211446.54165-1-sidhartha.kumar@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BY3PR03CA0024.namprd03.prod.outlook.com (2603:10b6:a03:39a::29) To DS7PR10MB5117.namprd10.prod.outlook.com (2603:10b6:5:3a6::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR10MB5117:EE_|SJ0PR10MB5600:EE_ X-MS-Office365-Filtering-Correlation-Id: b16a18f2-097a-4e65-e183-08dafa623c0b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Exsey0OWJC8tVsfv2tg4U8ArmbfX9jkBUgC9/T/ppyX7rlultj4BPX6cT63LatNKGUfmykTMurAY4F5AZzkOrbIbTgYVdZfJuxlwnVuDhWH9M/4GT7o3q284o8iwx/jBFy1ILU/FsLHlOKy4/ow8uDkpIhLGqbIoL2hH20+w3BZxj1jH9ueOqb7lWiVOqWwAapBb2edtmvS66c3SMQz31t74AUyfo9DeeGBdQeJAE+j0u0+wUYO/iXwdym/YX6Mxi8EYZzkFH+LiU7OeiIPDA7UaJ+qdF6VLHxkXtLoK9Jfz3nAI3X+FnnimnN8ibHY6XhRpVZyUfpwjD1cIFGTSo1vZwWEw4AmY6GFN+y8+zDpsfWiuJKbYr0zo/xpj3N/ZRfgl8cow3oi73Shn2u5VLc5scsve5J8tln2JxU2UEBMWyb1XxPAAtjgKAE+dSHS4YNZEkuKsATMAdvEtqV1kwdwcdD8CnbTTx4Y9EB/FBubsnLUKmWjJVeIb1sYSmECiFzMW5gNOVrofHc8toFZgbIQuFY3FsEOpsanRf7AYKlTNx77GUXIlXHPV7CgtVd6MkT48idu3qLRq807d82N1vHoVfLvSvG/cbMdxiNBM2qThhRStZkZdhY3D3oaub64ZLSSw/YvPro0Jo7O67BjoXw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR10MB5117.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(346002)(396003)(136003)(39860400002)(376002)(451199015)(66946007)(38100700002)(66556008)(66476007)(478600001)(8936002)(44832011)(2906002)(5660300002)(4326008)(8676002)(1076003)(41300700001)(2616005)(6512007)(83380400001)(186003)(107886003)(316002)(6666004)(86362001)(36756003)(6506007)(6486002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?A80D5j2fqFTX7aDlX3yACCAye1YXgs0KwL0TsYy9WRifFbHYyIS9hcXwkWml?= =?us-ascii?Q?R85T34mBvd5DvVAMvEghrWXP/ERXGrMCCG70uxKDoM34/xKC26Wz7qxYx74Q?= =?us-ascii?Q?km7otHrfguqh+DYdaCU1hlu+SeR0tsSbjqvvMZOObxGadmPHMnkqB7r0ay/q?= =?us-ascii?Q?VwSioK3DlwuBFqM9E2jMxbuhV3MMnTtahQrqbiGYpZgGp1UbV6mQsvsG6isy?= =?us-ascii?Q?CFgLaqddGd0dCMMHbqlBTyO1Gb+Lk50L+W/wA8x8MGoLQl4dtli0Seh93qZ5?= =?us-ascii?Q?zuJEF0PqSzSMaxoOMo6N8QIA+eDLWL+X1YSh1QUrvUhAbKR6c9hc79tsu0Im?= =?us-ascii?Q?EhrJG6zDEqVEJsXA6sNCD3RuNXO2WUyxylvHv+VN+jTB9VZkfeTCRGTbdkk7?= =?us-ascii?Q?Z9CkNZyeqj1eUhJ+czRo/BZ2gEwPtKltBuaNnoT/vBaIWEkVyBqGgpqrEaJd?= =?us-ascii?Q?ealek4YzHYhInn1RoOjMlkxKeicLuq0QVWZxbazj5fWnNXEN/6O/3C2QCpbH?= =?us-ascii?Q?FvMIx4N2f738643fEW59thlqCFMYDY9BYuBm5yaTB48VsG2hplKMvgziObGe?= =?us-ascii?Q?8BsVVV3RfcTpj/XLyceVffxXtiuPPYPdT7fhjtxl2sYm1ZlAHkpktiljmk7b?= =?us-ascii?Q?IU9Z7QYOOAe1yJhN3Gwg80u8PE242yEEyGbI57u8PMfsnhPQlbT/Jn93Ds7p?= =?us-ascii?Q?CQ+61Tf1P316K2nDG+CLCSZaWd/keFgT12bhae8S58k4YEcQVJ4iRcDZ2bBc?= =?us-ascii?Q?Cvzfy7vfpvjsyR6d6QbiC3zMM+z5PB4D1B+vhdAugkcvqXQCEdAKOZFCBDz/?= =?us-ascii?Q?Pzsv0mkpAylDJT2tYKbyDroYIYTcTqtddrh82GGSjcpzdjsviltQSYN9kwP4?= =?us-ascii?Q?pzOJRFnA1XhORj0bzT0Wq1GS/PiGJvV1PDcZizSN5YABfixdJ+5U1D98w1yh?= =?us-ascii?Q?BSBQoztB0h+XT0sRfk6upc13E/RRyUJ2U2qShgWs7m5SV30jcx69u7YfUEnq?= =?us-ascii?Q?O/uw9G2SI6Zorschzj3/MfnlbYFPZz56o9MgWVoOZk2LnbUvLy0ExWhWfJez?= =?us-ascii?Q?EECLkWXM1OdcBL9Oa/36ESzjuerSekUjQLVE6s+QMdcO1j3xBckxQlAp4K7G?= =?us-ascii?Q?aQKaeo3BQ3l9Ygr8vNojQjTa5+VL2ryuumDGrpFo/gffgTtr32pW6Vlckxv3?= =?us-ascii?Q?4poAO9ejif2GrSXr8UapEV8BIQaeF+537CMYVFGJsnKTwUcgLEl/1ZWpTvAW?= =?us-ascii?Q?Z6DLEB+ObjBgW+9p8SBGzs1wzkaJi7qLspay0PcLg9pBXf6OANqg/cIRa0Uh?= =?us-ascii?Q?yDiOirf5YR5bQT/PnG6P9uySk3yYqbS1CVeRjuiRwKbX3zN9iXj+IsXZjT1l?= =?us-ascii?Q?RXD0TbtfQe7VoJht1pMhnvZ8P+b+wXMHUd0sfzvEjW9T/CSWuNAWqEmoP3KI?= =?us-ascii?Q?sYSJxXDOD8RPXqPV2J7kyt64CBbZ147zG07EcY9DvbEV9raSzjxuBT4WfSu5?= =?us-ascii?Q?mVcZkF6SgPGIqIXksMIrxw9M5OMhqXcVCkiFV6uneDJ6qTIEP7CLS1WXwr9O?= =?us-ascii?Q?50tTlBk6elwfEir4UXhViKyrwjWzpJLcGu1KJlpNgJP83g0tNvnhyYTVkpjO?= =?us-ascii?Q?GKAOXI1WoI2NyvyVHjdqosmcxMDk+/jUvEJfY7v2RJDLtnJLUoBhkaQwlymU?= =?us-ascii?Q?YbEHHg=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?Q1HTZbwwpnZFdwA6Oi6Dz1QnsAEDe4Vc0deufbjSf5l+CW5/5l59/DdIr1H0?= =?us-ascii?Q?817RpydAPPxHBHTXuUt3MPFsySvLs51s/UVQquhBEtLrIxcVjnTAZQlHH26I?= =?us-ascii?Q?IQQ+E34BDhskzt5+Qzg6X9OJrW4RbU+dM34eEzDy3VxW+Be5gGGSWPUZNsF+?= =?us-ascii?Q?w2soDPVpahQ5KAd+r3BhqNO9bul+WMKb++xrpLGqhCBmAbX6zJAnuLb4dfHx?= =?us-ascii?Q?13glnv34ys9N13Pul+4b9k2mHnNdTyjp5wR4Btb02D5cOJSnFAh/Y60iePPp?= =?us-ascii?Q?24l7Nxi6sIQJ8/WFAGD6aI7LGj8VvEaUAj6AJ/dI4KNzdxuXZ4qtgTOMuKBn?= =?us-ascii?Q?KvcSUzVYdL7L2UHGW4cVtXAaRcKsdRh3W+DOO63woCNT3QlSFySA0mIpOQ+s?= =?us-ascii?Q?YtAbakYoXqtJbhZT7d5KPM9+pNAi6ZPKTfpkeofV9jsdeoceziOz6RVZDiBr?= =?us-ascii?Q?9eSQmm1S7+rm1pq1ah1ABE5bG2/xPjKCq9ffMgQg0vlFtjf5po5EsH8tVsHy?= =?us-ascii?Q?i8p8+sDK57LeomqGkJKrzMJWneEj/4cK+OR1BFC3I+n5G3D8x38RKPgasSJb?= =?us-ascii?Q?v56pB4E7eRchtah/Gljmv5w0vJWTdx4gGT8ITztKUSJwZKRvhnLLP9G2bO4P?= =?us-ascii?Q?xHAFNQHDsA2ORP/lpeFZfeAuLeEFXfLhBY2l8Im5AtW3BaOxc0jJHx6z5s6w?= =?us-ascii?Q?fix7fAcrEwICIBm7vIVDswz96IC22IwK5UOO2gdhC5aJsZcfwZYwXxkeDFz3?= =?us-ascii?Q?jlUK6vlR4pxyygbh2bKoXOo2com9ssnJCtwBUESqY1cTWXCwZOGR39wU/CkM?= =?us-ascii?Q?3F0Kfx0+ApZgFF9tkZOAmkABHRrePhfJ3w6dPEpik7812lfr3+M50WqZgvhz?= =?us-ascii?Q?mPFB3siEOKyadiljavjK0/YZiPmVtYluck3frlTWB0ALqVLqNGwJqZxr9uDf?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: b16a18f2-097a-4e65-e183-08dafa623c0b X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5117.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2023 21:15:05.0790 (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: /mEqyX7OEdmdS4snyBQQI7+CNtuCWhVQQZ/0mYcgGN9LWqo8+Ot1uaoTZB0FspJLfluElGtCuusn0C9YGvOBpWA62F6AMmfYFjcBCZPPslQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB5600 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.930,Hydra:6.0.562,FMLib:17.11.122.1 definitions=2023-01-19_14,2023-01-19_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 bulkscore=0 suspectscore=0 spamscore=0 malwarescore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301190178 X-Proofpoint-ORIG-GUID: 0CFDQ5Rd1e0o3TcRMDdds8c63c6BLrUN X-Proofpoint-GUID: 0CFDQ5Rd1e0o3TcRMDdds8c63c6BLrUN Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Convert putback_active_hugepage() to putback_active_hugetlb_folio(), this removes one user of the Huge Page macros which take in a page. The callers in migrate.c are also cleaned up by being able to directly use the src and dst folio variables. Signed-off-by: Sidhartha Kumar Reviewed-by: Mike Kravetz --- include/linux/hugetlb.h | 4 ++-- mm/hugetlb.c | 8 ++++---- mm/migrate.c | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h index 06eb59711e4a..f88c832bdfa4 100644 --- a/include/linux/hugetlb.h +++ b/include/linux/hugetlb.h @@ -174,7 +174,7 @@ int isolate_hugetlb(struct folio *folio, struct list_he= ad *list); int get_hwpoison_hugetlb_folio(struct folio *folio, bool *hugetlb, bool un= poison); int get_huge_page_for_hwpoison(unsigned long pfn, int flags, bool *migratable_cleared); -void putback_active_hugepage(struct page *page); +void putback_active_hugetlb_folio(struct folio *folio); void move_hugetlb_state(struct folio *old_folio, struct folio *new_folio, = int reason); void free_huge_page(struct page *page); void hugetlb_fix_reserve_counts(struct inode *inode); @@ -428,7 +428,7 @@ static inline int get_huge_page_for_hwpoison(unsigned l= ong pfn, int flags, return 0; } =20 -static inline void putback_active_hugepage(struct page *page) +static inline void putback_active_hugetlb_folio(struct folio *folio) { } =20 diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 04cbdf5025a5..c37a26c8392c 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -7302,13 +7302,13 @@ int get_huge_page_for_hwpoison(unsigned long pfn, i= nt flags, return ret; } =20 -void putback_active_hugepage(struct page *page) +void putback_active_hugetlb_folio(struct folio *folio) { spin_lock_irq(&hugetlb_lock); - SetHPageMigratable(page); - list_move_tail(&page->lru, &(page_hstate(page))->hugepage_activelist); + folio_set_hugetlb_migratable(folio); + list_move_tail(&folio->lru, &(folio_hstate(folio))->hugepage_activelist); spin_unlock_irq(&hugetlb_lock); - put_page(page); + folio_put(folio); } =20 void move_hugetlb_state(struct folio *old_folio, struct folio *new_folio, = int reason) diff --git a/mm/migrate.c b/mm/migrate.c index 92d53e0b609a..a35f2b36df01 100644 --- a/mm/migrate.c +++ b/mm/migrate.c @@ -151,7 +151,7 @@ void putback_movable_pages(struct list_head *l) =20 list_for_each_entry_safe(page, page2, l, lru) { if (unlikely(PageHuge(page))) { - putback_active_hugepage(page); + putback_active_hugetlb_folio(page_folio(page)); continue; } list_del(&page->lru); @@ -1374,7 +1374,7 @@ static int unmap_and_move_huge_page(new_page_t get_ne= w_page, =20 if (folio_ref_count(src) =3D=3D 1) { /* page was freed from under us. So we are done. */ - putback_active_hugepage(hpage); + putback_active_hugetlb_folio(src); return MIGRATEPAGE_SUCCESS; } =20 @@ -1459,7 +1459,7 @@ static int unmap_and_move_huge_page(new_page_t get_ne= w_page, folio_unlock(src); out: if (rc =3D=3D MIGRATEPAGE_SUCCESS) - putback_active_hugepage(hpage); + putback_active_hugetlb_folio(src); else if (rc !=3D -EAGAIN) list_move_tail(&src->lru, ret); =20 @@ -1471,7 +1471,7 @@ static int unmap_and_move_huge_page(new_page_t get_ne= w_page, if (put_new_page) put_new_page(new_hpage, private); else - putback_active_hugepage(new_hpage); + putback_active_hugetlb_folio(dst); =20 return rc; } --=20 2.39.0 From nobody Sun Sep 14 16:25:03 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 61A38C46467 for ; Thu, 19 Jan 2023 21:23:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230285AbjASVXC (ORCPT ); Thu, 19 Jan 2023 16:23:02 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39256 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229784AbjASVV5 (ORCPT ); Thu, 19 Jan 2023 16:21:57 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 45643265A6 for ; Thu, 19 Jan 2023 13:15:33 -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 30JKx1WI031429; Thu, 19 Jan 2023 21:15:12 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=Lb3MhSGzC+YlVfqsSRiHS2gYkZi4Zy1MDQZFe/eP500=; b=sdZnZ7g/cNDfhg5b3TJShFcbVFe3rkd2z5odl5nqYj9h7zGkcLNjl9xQu8sbHUuoYQkk 2QOtzb8Bgh1IPesLp2afhRKmRehcB0qd2p+OdTdJ98b+CPz70qzaX0e0fblEvYzLPqKr hAZfLOvxiwooGICDAyZ8+8Xxb5h/BPsdM2pcI/uThSGpCzwFdDf1aNyqOKe7wBnkF9bq S4/tk8kZKJWaZblwpMZTURyRgjnsyAyyIbts2HnFFGUSXtnUmMLG/k62JQ0gxtwwR8h5 R1ZQVVkGGVdq0aJqxVJyREdrxeKbsYX63jYQ2xIv27+rtLIa07/ZNf++cp3Xs86yerrW bw== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3n40mdjpmt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 19 Jan 2023 21:15:11 +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 30JJXNB7018679; Thu, 19 Jan 2023 21:15:10 GMT Received: from nam04-bn8-obe.outbound.protection.outlook.com (mail-bn8nam04lp2048.outbound.protection.outlook.com [104.47.74.48]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3n6quh8tbc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 19 Jan 2023 21:15:10 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GVOTIceGRA7eHI0BMOSLfNfG/O1cQzygDGVc7CE8ZiBWXCnPn008H6tnqXGBMrGHTnuW5uM2IK2xlMvbiLWjJar89cf4fEwnGL7K9OtmZkeYvfFKJ9P8Qd1ohyI5zTAi42Ov2meZXvnRtOiMp5NRKLz8yrPyw8Yy9+dmQFafkFJTD5V1OtMsdx1IMYuf8V8GrBNn7yvcfxw0Fu2cHupp9WObU0jOk2c2w4CoWM54VBKa7DUIVet4a7ASCvN3rhWMxIEb3DyY7PVnywmM8OCO4FWsXx6XqlNm1EockBObI6NeUc6OHsymRH6Zgz6XL6fxrwYvVWU8HIEJw++tLe8l/w== 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=Lb3MhSGzC+YlVfqsSRiHS2gYkZi4Zy1MDQZFe/eP500=; b=Oy4hE8F4ZQruaG52ErMme2InlbnbA7ryE2UUKsWQGGixqzCBMDUafVuFGSigKiBHLxTer9YovVdRDJRqwA5S330wnMdDyFszFaTPmJqpn3ygfoMK20AVbQIZ6iQ40wd2gaqlzPV8nPeqD4ECveoFHdRKWEEBcgUmVOAoAnH990wHziRsEkMRfVwbLB+Ntgzlz0xYsDGjeQn7XKVcItN8cmhXf+PS974mfd5yDrZKacK/XqPIJDu7DPaLahAPYWp2sZla9tTKH0n/mK0gwm6/6NPwWcrIGc3OXILA1iVcfdntxFOL0pp1MMfoslGIuQGXtqcKL+UVIuIEkVblvs3xtw== 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=Lb3MhSGzC+YlVfqsSRiHS2gYkZi4Zy1MDQZFe/eP500=; b=Qf9RdkBxQ0Q2WCTYRS/NM0SVdG2wUiPMs7gCrDCg0CHVnX5p1mhcY1gDZncb0vFqfzer8/XnY8j9Rj0xSETpXd0SnXaROAl/5DcY0dlFgMfVL+rOJ2CSoElB5HwAfrIkssajAkOrHT74k37w8gszGyoSPs0Tg58VFvl9zSBfJTA= Received: from DS7PR10MB5117.namprd10.prod.outlook.com (2603:10b6:5:3a6::17) by SJ0PR10MB5600.namprd10.prod.outlook.com (2603:10b6:a03:3dc::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.24; Thu, 19 Jan 2023 21:15:08 +0000 Received: from DS7PR10MB5117.namprd10.prod.outlook.com ([fe80::93ca:e22f:aa6d:94d9]) by DS7PR10MB5117.namprd10.prod.outlook.com ([fe80::93ca:e22f:aa6d:94d9%2]) with mapi id 15.20.6002.011; Thu, 19 Jan 2023 21:15:08 +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, jhubbard@nvidia.com, Sidhartha Kumar Subject: [PATCH 4/9] mm/rmap: change hugepage_add_new_anon_rmap to take in a folio Date: Thu, 19 Jan 2023 13:14:41 -0800 Message-Id: <20230119211446.54165-5-sidhartha.kumar@oracle.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230119211446.54165-1-sidhartha.kumar@oracle.com> References: <20230119211446.54165-1-sidhartha.kumar@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BY5PR13CA0032.namprd13.prod.outlook.com (2603:10b6:a03:180::45) To DS7PR10MB5117.namprd10.prod.outlook.com (2603:10b6:5:3a6::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR10MB5117:EE_|SJ0PR10MB5600:EE_ X-MS-Office365-Filtering-Correlation-Id: 4e0c61d5-7b6a-46d8-2cc7-08dafa623ddf X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ED63qpPHxkhHjFMyLkRWLp4mN4YP16nRYtxMQCb4kupghspkfCSz/6gH0ZOfu3I8j4+JEXFaR8xVxCoYqHBoQdE/XoMElR6OKjNhEzkxWtAtsoLBp3kCFJ3xvupUKiMEJ+bQXIe06qk4GfENng2qzSfEy877DRGzY7crgeLRkxxz8pHeEA7uutd2nYP74ejEBKF4Z0Nba6/oiamxwbR7N2QzpLsNBuvQdBTFEw+mxCzl3LbIZO0zAE2iLrMmfvm9Q74EdOz5Pz8dJyG1AxTsk9Vikc4dOomrv+QMiFabikS5NKEko8vkQCgtifMX3pTBwQU02XEOLORLqqwMA9cBXEE3KgMwkOO3aj2K2yNwLVQ827ifdsfhhAdUfLuPGr+eJGXXODbnyIXSy1cXjzPBPrZtzMBC4GmzKfzDfc1vhqo+zZEw4qrD1DpmcmPITCbIS21Qy5B4lFmacweJocWF+54GzvYsOPxi0JpNH34nzNN/v0g8gRNFWREF9CMHO8A3q0gJEf+5Vg6oEca4e/Lffmv7StyVAQQ5+dil/k5v50fcsNECkbyFokBZjHUibxT3mWmCoPmpXJHgnHwaULRPJTpgJLXCvl80Z16DNOXkxoWxdAvsR8I92/d3YhL/oBHkNYGs7AqERJlw4Bp3H2Ecsw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR10MB5117.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(346002)(396003)(136003)(39860400002)(376002)(451199015)(66946007)(38100700002)(66556008)(30864003)(66476007)(478600001)(8936002)(44832011)(2906002)(5660300002)(4326008)(8676002)(1076003)(41300700001)(2616005)(6512007)(83380400001)(186003)(107886003)(316002)(6666004)(86362001)(36756003)(6506007)(6486002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?/a9KMfO3772Jb1RrZm9S+SgGxyLUMJSJD8mHqSWUuvR1Jmqz8ZMmvjIo9mC3?= =?us-ascii?Q?dlnGSXwGyPIPgnLsj2epVxZmoorLJOz4OYc6/7RpdMtcYwcpYhN3Ib/NfYtL?= =?us-ascii?Q?c4VveKrg/VuIqkQDKho9H7EVeymoBPwScHcJWbXZgoYeMHx88NmMdcbJhZJi?= =?us-ascii?Q?mle4Zz/IlavCVHSH40Goj9JQRUWW7d5dg+rkVU6DwiRRQVDOwd3mchbQ83ir?= =?us-ascii?Q?S5LIcPqrWQHCFHNeFZPKEXs7ydfI6lpf3rmPwfJE2McQ+y4HNztUok6PGv45?= =?us-ascii?Q?1ItCMAVKRB6p40XFdxL48y5ymmBRWnkNsW0ml6bd3Xgc3Bq65kf6RAgOvtAo?= =?us-ascii?Q?hVQOxIlw2cP12AhxJkdKhfQknztofD3pAaX0hDlUzZYXV1ny1jgSFxT8/WSQ?= =?us-ascii?Q?JJei+NnrrtGRgq/xzLl7lD12v4M2uwXou4LcWXWWVBImkLdFs2yrPTv8kS9P?= =?us-ascii?Q?T9YAdsHsa2cyzB8ZjtlHfkVv+uQ/f3dUKkkR74lBpAgVFl0qzwfYOYGTJxzM?= =?us-ascii?Q?JbTL8XVSKlCzF7cHPGFjXN20lnkoySKIzYe05rtgvfnUH/xSUOEDEQHkjctq?= =?us-ascii?Q?6U/w6UT+WXkhYOv4/j+vzp1k1yvwGW548wFgNSHkUm54fsuB1Dg6IrQyJrkp?= =?us-ascii?Q?2ZHFh6CoZXn7JSacOjMDGfLWz3yWMGSfmH9fdoxthYRm3fthoyFB8j1Eepb9?= =?us-ascii?Q?zP5pFWTQb+NZdCjG1ac0gXVNSKDXKBVCXfFJOKhkFZ6eF4Ul0a7w6aOfooRH?= =?us-ascii?Q?E4px/cNNEfxTHX4FECUYtfKrkD2RO9/I3ha0AMEpmKUovdevLmNy4Uz9vjtj?= =?us-ascii?Q?Ev/RvnD5TdPpWm2umf/O9aT6d2R8olXH8+EOfHy0EkKBdCV1WGTtYPY1W4+x?= =?us-ascii?Q?DaydmM+eO4Ukf82lIiCEeRyDxn47hg6/u+fFHoPtnPuNrdRy/V5PEjPskpax?= =?us-ascii?Q?17W0EB51taLuXrhS3Cg3r2onlbiyBODXRlP4wRqVOqrTwtCmfoxxDfKZmcYT?= =?us-ascii?Q?uJAvDGj4AxQd7S3E7wGmjjdsaQbDQMsm8hOm42sRRSd07GebK+1ArUW3bIHT?= =?us-ascii?Q?MysAr7lTcRtd2jr1LRSjtq/IlSyn6tHWuErq0jZoPZFsZ00Ng1nGWM1luWNj?= =?us-ascii?Q?S90RCqS7fMO6D2jGPde2lFdZSbtsmyEjw7HwcVLR8eLf575XjNCcOMeVxkHl?= =?us-ascii?Q?2z3qLPJMWi9UVxIJIuWZBebkcM6zXmbTes7W6pRHhXGiwg+XP0dB0SGucE99?= =?us-ascii?Q?9EVQzTeNra+Dqwv1iRIw+xRPYCwCQhwpYohXWXTCMViEtaB9p2LlAP1/uJum?= =?us-ascii?Q?li7dR7wjnNVHa/18nemmTYS2KB+Gwrx60VkBkqNOYaKtu+/d4qcYnvx0iLgP?= =?us-ascii?Q?4+ZHp3jfaaJEdjtXBpXDy8kXh6u2qL0v7gD8biXBvwZf4zBlLdK+cSh2Cc66?= =?us-ascii?Q?R9ZZ3X84Q7EuM9UlU/j7Fr+8FY89+kyj45KF+5caRWpmewte2eMi6e3dQzto?= =?us-ascii?Q?wG2boGCVirqsYfsQbptOYOyjAdktQwOZnhmUYHPy+KmFRuOwybjpItL+QsJ5?= =?us-ascii?Q?P+6fNo+6Xzb015BXgNojaUSWGP2nUB1hG2QbCnYbArh7DV46I8+09q02SXFe?= =?us-ascii?Q?yeLiir5tnHT9Aoot4Ai1WqtXwcsYvcuQsowTMDOLe5kz2aOat/BmEV1l91iw?= =?us-ascii?Q?Mjr6Fg=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?8QG9O75WaYrYA3U/ixjjEpiKfB8PwOk9NaokaOiEge0HO6wRHKzfGMAmrUiS?= =?us-ascii?Q?zxHF6GylUlGtzqY3tlT3Vv76HMROQu9RK82bXy2F0r8jN/duaHOVSN3WOvfH?= =?us-ascii?Q?HueD3uVmak+TwQKPt8JGOFSNLPpVsGZD9Ekc6+V7H6M/ELr31gsr8BM9ZzPW?= =?us-ascii?Q?JdBrvzltXddez32K7mO7iPYU9xWixZBvxdQtja922xOJ9uMkG1UaxLPswwx+?= =?us-ascii?Q?tfcrYBZyyJ5lbpKuzbCE5i2e0GwYBAzP+3SpEDXXLKwklit3g/IY/3lFuyNL?= =?us-ascii?Q?vleETJWJXo/3CPoSNOd70QvXt+pvRf7HMpGCTPu0f+WMEZzbrXWNHCdGiRaG?= =?us-ascii?Q?fTRbhml7MeLzsJYh6sY/nDt7gMqqqjoC9n06Mmpks5x5OBUzdNMzJz1Enb73?= =?us-ascii?Q?5j8f3ui7mjVRchRNTrsIO92YkuYKUJ+EPHwv6oI5o+IhfwvotBqfGodMj3hL?= =?us-ascii?Q?rWO1l0+SEFtJPj5O83nHKGK3WxKZyY4wJytwC2W4QlbkJd8723ESeHeuiJJO?= =?us-ascii?Q?+ZB0UuGxjetct4suFFig9RwzKcCWGATTaNzWg/wAF4yp4EnQ1o06WpHpID01?= =?us-ascii?Q?K2rYsEN3zCP0+Duqt+3ntsNmtku0HDpXfFfebghWFM31rJGeZUpwJ141nPmA?= =?us-ascii?Q?3ZvOyicTq4HYTeL4T4Zz9Ee0O9fiB93voiAj8D0hOo+9HxUr+g5Kp+ufDX10?= =?us-ascii?Q?Q9En26Fv6WRfluucTJQG2B3EaTsnPwkt9EefXy5ZP+XZdhn9sR07J1pUZOu4?= =?us-ascii?Q?P6Kx5ueTQqMqabjUTNINErryQW2+ENG26WUWay5aY7W5KbOzqe9A8f2SRaee?= =?us-ascii?Q?t5k4cXCoVfUdRiG+Cr1pwBwVTOloQTTq9gohTV70GOQvTOsjyLqrTdFBKxpE?= =?us-ascii?Q?F+tolklr6v9VJouodfOxX3sweAO1bB6TxfHTDpVLD3VEqnmP+RhYlqWOe/6i?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4e0c61d5-7b6a-46d8-2cc7-08dafa623ddf X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5117.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2023 21:15:08.0933 (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: uzc1PayUBTn8QwNINePMcMRIs+2mVuVHc+os/8zMGiWkqceDqmhU4GwiZs+BCANkMfErOjy7xtTNV+9AE0hdh85NqLVWiBIFvACLk/n93dU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB5600 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.930,Hydra:6.0.562,FMLib:17.11.122.1 definitions=2023-01-19_14,2023-01-19_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 phishscore=0 malwarescore=0 spamscore=0 mlxlogscore=999 mlxscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301190178 X-Proofpoint-ORIG-GUID: QQuKnIiI86Y5FVEVf4yTr8Tf79LWhpnA X-Proofpoint-GUID: QQuKnIiI86Y5FVEVf4yTr8Tf79LWhpnA Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Change hugepage_add_new_anon_rmap() to take in a folio directly. While adding a folio variable to the four call sites, convert page functions with their folio equivalents. This removes three callers of the Huge Page macros which take in a page. Signed-off-by: Sidhartha Kumar --- include/linux/rmap.h | 2 +- mm/hugetlb.c | 90 +++++++++++++++++++++++++------------------- mm/rmap.c | 6 +-- 3 files changed, 55 insertions(+), 43 deletions(-) diff --git a/include/linux/rmap.h b/include/linux/rmap.h index a6bd1f0a183d..a4570da03e58 100644 --- a/include/linux/rmap.h +++ b/include/linux/rmap.h @@ -203,7 +203,7 @@ void page_remove_rmap(struct page *, struct vm_area_str= uct *, =20 void hugepage_add_anon_rmap(struct page *, struct vm_area_struct *, unsigned long address, rmap_t flags); -void hugepage_add_new_anon_rmap(struct page *, struct vm_area_struct *, +void hugepage_add_new_anon_rmap(struct folio *, struct vm_area_struct *, unsigned long address); =20 static inline void __page_dup_rmap(struct page *page, bool compound) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index c37a26c8392c..6f25055c3ba5 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -4950,7 +4950,7 @@ hugetlb_install_folio(struct vm_area_struct *vma, pte= _t *ptep, unsigned long add struct folio *new_folio) { __folio_mark_uptodate(new_folio); - hugepage_add_new_anon_rmap(&new_folio->page, vma, addr); + hugepage_add_new_anon_rmap(new_folio, vma, addr); set_huge_pte_at(vma->vm_mm, addr, ptep, make_huge_pte(vma, &new_folio->pa= ge, 1)); hugetlb_count_add(pages_per_huge_page(hstate_vma(vma)), vma->vm_mm); folio_set_hugetlb_migratable(new_folio); @@ -5479,6 +5479,7 @@ static vm_fault_t hugetlb_wp(struct mm_struct *mm, st= ruct vm_area_struct *vma, pte_t pte; struct hstate *h =3D hstate_vma(vma); struct page *old_page, *new_page; + struct folio *new_folio =3D NULL; int outside_reserve =3D 0; vm_fault_t ret =3D 0; unsigned long haddr =3D address & huge_page_mask(h); @@ -5590,6 +5591,9 @@ static vm_fault_t hugetlb_wp(struct mm_struct *mm, st= ruct vm_area_struct *vma, goto out_release_old; } =20 + if (new_page) + new_folio =3D page_folio(new_page); + /* * When the original hugepage is shared one, it does not have * anon_vma prepared. @@ -5599,9 +5603,9 @@ static vm_fault_t hugetlb_wp(struct mm_struct *mm, st= ruct vm_area_struct *vma, goto out_release_all; } =20 - copy_user_huge_page(new_page, old_page, address, vma, + copy_user_huge_page(&new_folio->page, old_page, address, vma, pages_per_huge_page(h)); - __SetPageUptodate(new_page); + __folio_mark_uptodate(new_folio); =20 mmu_notifier_range_init(&range, MMU_NOTIFY_CLEAR, 0, mm, haddr, haddr + huge_page_size(h)); @@ -5618,10 +5622,10 @@ static vm_fault_t hugetlb_wp(struct mm_struct *mm, = struct vm_area_struct *vma, huge_ptep_clear_flush(vma, haddr, ptep); mmu_notifier_invalidate_range(mm, range.start, range.end); page_remove_rmap(old_page, vma, true); - hugepage_add_new_anon_rmap(new_page, vma, haddr); + hugepage_add_new_anon_rmap(new_folio, vma, haddr); set_huge_pte_at(mm, haddr, ptep, - make_huge_pte(vma, new_page, !unshare)); - SetHPageMigratable(new_page); + make_huge_pte(vma, &new_folio->page, !unshare)); + folio_set_hugetlb_migratable(new_folio); /* Make the old page be freed below */ new_page =3D old_page; } @@ -5633,8 +5637,8 @@ static vm_fault_t hugetlb_wp(struct mm_struct *mm, st= ruct vm_area_struct *vma, * unshare) */ if (new_page !=3D old_page) - restore_reserve_on_error(h, vma, haddr, new_page); - put_page(new_page); + restore_reserve_on_error(h, vma, haddr, &new_folio->page); + folio_put(new_folio); out_release_old: put_page(old_page); =20 @@ -5756,6 +5760,7 @@ static vm_fault_t hugetlb_no_page(struct mm_struct *m= m, int anon_rmap =3D 0; unsigned long size; struct page *page; + struct folio *folio =3D NULL; pte_t new_pte; spinlock_t *ptl; unsigned long haddr =3D address & huge_page_mask(h); @@ -5833,12 +5838,16 @@ static vm_fault_t hugetlb_no_page(struct mm_struct = *mm, ret =3D 0; goto out; } - clear_huge_page(page, address, pages_per_huge_page(h)); - __SetPageUptodate(page); + + if (page) + folio =3D page_folio(page); + + clear_huge_page(&folio->page, address, pages_per_huge_page(h)); + __folio_mark_uptodate(folio); new_page =3D true; =20 if (vma->vm_flags & VM_MAYSHARE) { - int err =3D hugetlb_add_to_page_cache(page, mapping, idx); + int err =3D hugetlb_add_to_page_cache(&folio->page, mapping, idx); if (err) { /* * err can't be -EEXIST which implies someone @@ -5847,13 +5856,13 @@ static vm_fault_t hugetlb_no_page(struct mm_struct = *mm, * to the page cache. So it's safe to call * restore_reserve_on_error() here. */ - restore_reserve_on_error(h, vma, haddr, page); - put_page(page); + restore_reserve_on_error(h, vma, haddr, &folio->page); + folio_put(folio); goto out; } new_pagecache_page =3D true; } else { - lock_page(page); + folio_lock(folio); if (unlikely(anon_vma_prepare(vma))) { ret =3D VM_FAULT_OOM; goto backout_unlocked; @@ -5861,12 +5870,13 @@ static vm_fault_t hugetlb_no_page(struct mm_struct = *mm, anon_rmap =3D 1; } } else { + folio =3D page_folio(page); /* * If memory error occurs between mmap() and fault, some process * don't have hwpoisoned swap entry for errored virtual address. * So we need to block hugepage fault by PG_hwpoison bit check. */ - if (unlikely(PageHWPoison(page))) { + if (unlikely(folio_test_hwpoison(folio))) { ret =3D VM_FAULT_HWPOISON_LARGE | VM_FAULT_SET_HINDEX(hstate_index(h)); goto backout_unlocked; @@ -5874,8 +5884,8 @@ static vm_fault_t hugetlb_no_page(struct mm_struct *m= m, =20 /* Check for page in userfault range. */ if (userfaultfd_minor(vma)) { - unlock_page(page); - put_page(page); + folio_unlock(folio); + folio_put(folio); /* See comment in userfaultfd_missing() block above */ if (!hugetlb_pte_stable(h, mm, ptep, old_pte)) { ret =3D 0; @@ -5909,10 +5919,10 @@ static vm_fault_t hugetlb_no_page(struct mm_struct = *mm, goto backout; =20 if (anon_rmap) - hugepage_add_new_anon_rmap(page, vma, haddr); + hugepage_add_new_anon_rmap(folio, vma, haddr); else - page_dup_file_rmap(page, true); - new_pte =3D make_huge_pte(vma, page, ((vma->vm_flags & VM_WRITE) + page_dup_file_rmap(&folio->page, true); + new_pte =3D make_huge_pte(vma, &folio->page, ((vma->vm_flags & VM_WRITE) && (vma->vm_flags & VM_SHARED))); /* * If this pte was previously wr-protected, keep it wr-protected even @@ -5925,7 +5935,7 @@ static vm_fault_t hugetlb_no_page(struct mm_struct *m= m, hugetlb_count_add(pages_per_huge_page(h), mm); if ((flags & FAULT_FLAG_WRITE) && !(vma->vm_flags & VM_SHARED)) { /* Optimization, do the COW without a second fault */ - ret =3D hugetlb_wp(mm, vma, address, ptep, flags, page, ptl); + ret =3D hugetlb_wp(mm, vma, address, ptep, flags, &folio->page, ptl); } =20 spin_unlock(ptl); @@ -5936,9 +5946,9 @@ static vm_fault_t hugetlb_no_page(struct mm_struct *m= m, * been isolated for migration. */ if (new_page) - SetHPageMigratable(page); + folio_set_hugetlb_migratable(folio); =20 - unlock_page(page); + folio_unlock(folio); out: hugetlb_vma_unlock_read(vma); mutex_unlock(&hugetlb_fault_mutex_table[hash]); @@ -5948,10 +5958,10 @@ static vm_fault_t hugetlb_no_page(struct mm_struct = *mm, spin_unlock(ptl); backout_unlocked: if (new_page && !new_pagecache_page) - restore_reserve_on_error(h, vma, haddr, page); + restore_reserve_on_error(h, vma, haddr, &folio->page); =20 - unlock_page(page); - put_page(page); + folio_unlock(folio); + folio_put(folio); goto out; } =20 @@ -6176,6 +6186,7 @@ int hugetlb_mcopy_atomic_pte(struct mm_struct *dst_mm, spinlock_t *ptl; int ret =3D -ENOMEM; struct page *page; + struct folio *folio =3D NULL; int writable; bool page_in_pagecache =3D false; =20 @@ -6251,12 +6262,15 @@ int hugetlb_mcopy_atomic_pte(struct mm_struct *dst_= mm, *pagep =3D NULL; } =20 + if (page) + folio =3D page_folio(page); + /* - * The memory barrier inside __SetPageUptodate makes sure that + * The memory barrier inside __folio_mark_uptodate makes sure that * preceding stores to the page contents become visible before * the set_pte_at() write. */ - __SetPageUptodate(page); + __folio_mark_uptodate(folio); =20 /* Add shared, newly allocated pages to the page cache. */ if (vm_shared && !is_continue) { @@ -6271,7 +6285,7 @@ int hugetlb_mcopy_atomic_pte(struct mm_struct *dst_mm, * hugetlb_fault_mutex_table that here must be hold by * the caller. */ - ret =3D hugetlb_add_to_page_cache(page, mapping, idx); + ret =3D hugetlb_add_to_page_cache(&folio->page, mapping, idx); if (ret) goto out_release_nounlock; page_in_pagecache =3D true; @@ -6280,7 +6294,7 @@ int hugetlb_mcopy_atomic_pte(struct mm_struct *dst_mm, ptl =3D huge_pte_lock(h, dst_mm, dst_pte); =20 ret =3D -EIO; - if (PageHWPoison(page)) + if (folio_test_hwpoison(folio)) goto out_release_unlock; =20 /* @@ -6293,9 +6307,9 @@ int hugetlb_mcopy_atomic_pte(struct mm_struct *dst_mm, goto out_release_unlock; =20 if (page_in_pagecache) - page_dup_file_rmap(page, true); + page_dup_file_rmap(&folio->page, true); else - hugepage_add_new_anon_rmap(page, dst_vma, dst_addr); + hugepage_add_new_anon_rmap(folio, dst_vma, dst_addr); =20 /* * For either: (1) CONTINUE on a non-shared VMA, or (2) UFFDIO_COPY @@ -6306,7 +6320,7 @@ int hugetlb_mcopy_atomic_pte(struct mm_struct *dst_mm, else writable =3D dst_vma->vm_flags & VM_WRITE; =20 - _dst_pte =3D make_huge_pte(dst_vma, page, writable); + _dst_pte =3D make_huge_pte(dst_vma, &folio->page, writable); /* * Always mark UFFDIO_COPY page dirty; note that this may not be * extremely important for hugetlbfs for now since swapping is not @@ -6328,20 +6342,20 @@ int hugetlb_mcopy_atomic_pte(struct mm_struct *dst_= mm, =20 spin_unlock(ptl); if (!is_continue) - SetHPageMigratable(page); + folio_set_hugetlb_migratable(folio); if (vm_shared || is_continue) - unlock_page(page); + folio_unlock(folio); ret =3D 0; out: return ret; out_release_unlock: spin_unlock(ptl); if (vm_shared || is_continue) - unlock_page(page); + folio_unlock(folio); out_release_nounlock: if (!page_in_pagecache) - restore_reserve_on_error(h, dst_vma, dst_addr, page); - put_page(page); + restore_reserve_on_error(h, dst_vma, dst_addr, &folio->page); + folio_put(folio); goto out; } #endif /* CONFIG_USERFAULTFD */ diff --git a/mm/rmap.c b/mm/rmap.c index 948ca17a96ad..e6d94bd19879 100644 --- a/mm/rmap.c +++ b/mm/rmap.c @@ -2547,15 +2547,13 @@ void hugepage_add_anon_rmap(struct page *page, stru= ct vm_area_struct *vma, !!(flags & RMAP_EXCLUSIVE)); } =20 -void hugepage_add_new_anon_rmap(struct page *page, +void hugepage_add_new_anon_rmap(struct folio *folio, struct vm_area_struct *vma, unsigned long address) { - struct folio *folio =3D page_folio(page); - BUG_ON(address < vma->vm_start || address >=3D vma->vm_end); /* increment count (starts at -1) */ atomic_set(&folio->_entire_mapcount, 0); folio_clear_hugetlb_restore_reserve(folio); - __page_set_anon_rmap(folio, page, vma, address, 1); + __page_set_anon_rmap(folio, &folio->page, vma, address, 1); } #endif /* CONFIG_HUGETLB_PAGE */ --=20 2.39.0 From nobody Sun Sep 14 16:25:03 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 B7C59C678D4 for ; Thu, 19 Jan 2023 21:23:33 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229765AbjASVXb (ORCPT ); Thu, 19 Jan 2023 16:23:31 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38778 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229804AbjASVV5 (ORCPT ); Thu, 19 Jan 2023 16:21:57 -0500 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D30D049564 for ; Thu, 19 Jan 2023 13:15:34 -0800 (PST) Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 30JKwkrb010055; Thu, 19 Jan 2023 21:15:16 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=GYb+knLTbexJ/uzVeiIADOAI5vrG5GzfsA+zdeB1WS4=; b=Js7G3498bNb4lQAbgEqSwauB/bU9fyDV1m7R0zt2RcZuYEG4hgwyaC7TYyM+6D7Sh+LG oMZETbkP644t9grbj2fRCdnN2JNckzwmy20zcwFV12j8khdKOtZ+ppKXBBxWD4r7BhH+ 7BiQr6Wrfi9kI1NErZJRgPoAzwTyK/wiDFWD6n4Rpoq+ucBdfRy71ePGZoTulg+o4zXA 1T7VazkfpndYMRSWidfIQuj0JaXGN9XPtY0JxkegnoNy/oU5c+bzGcxULF7tW5jQvanM ulXbEvLpLe7RiIVxQShCllu0Lc1PfhRs9UZRH7ZPB0R7JpCJhiwx8FpvxYlt647XcgpU jw== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3n3medkdva-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 19 Jan 2023 21:15:16 +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 30JLDiNF018698; Thu, 19 Jan 2023 21:15:14 GMT Received: from nam02-sn1-obe.outbound.protection.outlook.com (mail-sn1nam02lp2048.outbound.protection.outlook.com [104.47.57.48]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3n6quh8tg1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 19 Jan 2023 21:15:14 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Z4Oi9dJgGLosP9so4eQf76H5sfgrzsUwFb+IvDYovyiIHuTpJtndUxtMk72i/zVSeHSm9nmHl2K4T3Vhk3hQJd5YsUVdeX+4FDuEy9cn5G/5lAW4DSlalxDy+K8AJf79AKm4ABvIaj2f5z5wHQi9Qx151xMgV5R5Vo8Mp1d/YZtNOlYcmZUWAE2KmGM5dviBgNmrd3RReDabojEFMksC3IaaYar1G6aQ/vL0zcYHRsllnRd9S/TbxDja64DgZ9tBzRFnF7y3L8L9xVIlpChZA7cluPzIxnl5DimH97wPYgqNFnrZYeAgyH1/jcbkRgWRh1k68iGfzewAk5bngLPRiw== 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=GYb+knLTbexJ/uzVeiIADOAI5vrG5GzfsA+zdeB1WS4=; b=AMVFumpRxu0q63xu2wbYD0PKcStjti0jPYBWSpu9C27Gb95YoVbQ/adTEbWduG6TyNRoXhIFlkOK7UDt+4FWpg1bNCPmHYPt9KAqOFPBHFJaE6qtRIEfSIeDDUovHHZAG2KfcfPYf2j+bjvudNbtAv+nktJ1MhJ3n1Oje9+w8B2vkQLEXZKJJnaisQQ2xTZIVK4FlKRSZkqFOCP/LP/rko69PgfAyybUwQ4winY47jI3p+2IxRmXSpzvlJgwpcSnzBjHG7tQGMTRPE0/xwJL0+VhW2zqZpOPOasjxCLw4xh4jPQ/ClmbHmj+7zKssnRqz0iSUI984a6zwmAKmlnAoA== 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=GYb+knLTbexJ/uzVeiIADOAI5vrG5GzfsA+zdeB1WS4=; b=hwJLMfjE92dZ4GpZJ3DuUS7XiDxQbrEn+REfwod//qMz80ioYxn0Q5QTFkobYdWA9SjNq+a2xqpIBs4VNYDkqKlGTfc3U6mD44HRdrabwrv7QEAhKulvj+fTTUlUS4caeNmdAzI0ZQLSE7TW9gT6+3fRqb4k68w2Pr2FKIVI+u4= Received: from DS7PR10MB5117.namprd10.prod.outlook.com (2603:10b6:5:3a6::17) by BY5PR10MB4148.namprd10.prod.outlook.com (2603:10b6:a03:211::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.24; Thu, 19 Jan 2023 21:15:11 +0000 Received: from DS7PR10MB5117.namprd10.prod.outlook.com ([fe80::93ca:e22f:aa6d:94d9]) by DS7PR10MB5117.namprd10.prod.outlook.com ([fe80::93ca:e22f:aa6d:94d9%2]) with mapi id 15.20.6002.011; Thu, 19 Jan 2023 21:15:11 +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, jhubbard@nvidia.com, Sidhartha Kumar Subject: [PATCH 5/9] mm/hugetlb: convert alloc_huge_page to alloc_hugetlb_folio Date: Thu, 19 Jan 2023 13:14:42 -0800 Message-Id: <20230119211446.54165-6-sidhartha.kumar@oracle.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230119211446.54165-1-sidhartha.kumar@oracle.com> References: <20230119211446.54165-1-sidhartha.kumar@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SJ0PR03CA0281.namprd03.prod.outlook.com (2603:10b6:a03:39e::16) To DS7PR10MB5117.namprd10.prod.outlook.com (2603:10b6:5:3a6::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR10MB5117:EE_|BY5PR10MB4148:EE_ X-MS-Office365-Filtering-Correlation-Id: d6151c72-6de9-4a0d-0236-08dafa623fdb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: jLOczRA67EZmUuymv1DJYdmMvE9woS4V37tJ4ZKWjSTqWVpFRF2EBBKvyeBtuKW0W38DQaFghDJgzuYUb8esPPbjRwWt07ZVF3y0GGjMOwlWox7Q89zo8IIyAeDyBVChK0/CJ16z4qA9H2q82n+/SBXbobc81P0KsP+qWx+P3Qri0UERt34K09f1vdsExWeE4VKKOXj7en+EFyFgeHHkUkFAgaB6l6T/zYKdN07pQ3xfq67Jrp6ZeRFhaLgG6bu4NiwzB09jfk/0kq42R2yzUQMWVgqEj7zt0mu3sQZXfC8wzk/6msECsntv80TZFhQKlkPFZsxh/J3tKWs6RyshfVmbkfpY/AqnywZ7ig45pizENo3Gs2Xp50zWefHEpGUPFapis6mMJc+sS8E0vXdi+/ktBrDycTw2qUDHzQU4ZGZWtX3oCIG72ESZovZHETDo7BVlzHg5lipUQ9+mohnA+bHs+dcoeQiqPM+lEIFxZlWLPDEBBKykiq8/Cz8KWnFz+tFVOQaEfmk5xKgaajRId7P14DQbTHoE3p6by4gX/Qw7saryIZGDMMrbCkdAyaPBpjdjVNSvedyBbtVNHdrSuR7P5g35Vg8zy4y1TxTSy+PRDf2Djn3fOnKJphH8l72U0b+Jl/yo6Y3W4oM6WJpHbxK5SI3KsZtdlhxuaRzO2gpFKd0uQfq9Un1vVWmyYW22 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR10MB5117.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(366004)(376002)(136003)(346002)(396003)(451199015)(6506007)(5660300002)(86362001)(66946007)(66476007)(44832011)(30864003)(2906002)(8936002)(66556008)(38100700002)(316002)(107886003)(36756003)(6666004)(478600001)(4326008)(6486002)(41300700001)(8676002)(186003)(6512007)(83380400001)(1076003)(2616005)(14583001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?xa9a/g9GiR8PjecpvF9/aMd04znLLmMWGRZQ3fLPJ7YIo2f9TTTCl5cG16Xq?= =?us-ascii?Q?xdiTdizl4rObWCZbj3Mit5CV9B1MQL2z4Tc0s4+e0G7+6bn256AzmWsWL3la?= =?us-ascii?Q?y76CALegqu966pGkorS00lzcA5DCRRzq8RoFfWYLCZIRSKoPQW9lUUlR+KXU?= =?us-ascii?Q?44SFEvznz932gnrCQDBd33CdKgQ0ZE4JKo/52GyMG1n4ZJH+GVhIklrNo3WB?= =?us-ascii?Q?5daRIwzE71WwIA2o8q89M+kl7BJC/0T9gvWnxGGDQR/j/hdP7V3C2ULDtoUw?= =?us-ascii?Q?OXEcx9z4HdwsCS1JIm+0xM9L1Ac1yDi3jd0/o6TKsUgPsZkiDl0apJl0DBVU?= =?us-ascii?Q?lH8W41LUcM+W6ZWMkmkqAhUi4bZDovHrFt5UicMQZfNXV7P1Jdoxnxo4y7ia?= =?us-ascii?Q?xnlqS6uTPKFSPQckwVZARldSPYX9tO+0lR9CfOfjZRSGk9r0kgg7+11wnDq8?= =?us-ascii?Q?taNerFgRT1a6jJbBLi0sQgLOdpIgjDAIN+Y3a6pBNwCExyb2sJ8UuBBYWVij?= =?us-ascii?Q?IuFjV2UrdeYUQ0ssaYfFPy3PAmmtS+qK71RzdN65Ny/wz8mVHwj+Xe441q7h?= =?us-ascii?Q?jGX4hB1tNkX3FF4Dd+IhF9DZgzb/lw0bvykAVroqd6r1D1/VMYc8qLi+e0E2?= =?us-ascii?Q?QP3qWTDtPnBcBsdlyPgzOPgn9UpRv0PPv8aV74PCT0hHVkyzjxRWV3j4Gnik?= =?us-ascii?Q?mwPSSVk/LeDhewZC4y3+/s4ku9l94uaFAi9TZs1TOq6L+VoFFAPdrPzKGUV2?= =?us-ascii?Q?cooNmrj6tmt2iU8SIze4CB2z9uBaLSdm7klfIc0hmmzz+6xg5YXE7DpxB5Q3?= =?us-ascii?Q?S+4If6kfamc0XTK5wMPfuMzrQ/zmt6C18DSUADAcN/OykZm3J6LD0KNNAeRl?= =?us-ascii?Q?nR21eRwOZ/uphb98jaCzKj0dkC9PicN06PyUOP7kYZnnJYTIC5cmSiELGkXE?= =?us-ascii?Q?Yl0HXOYDEguiuMtqPU7UhlzJTXuZsrHRlm5Q7iZdVTPQZp9cRiTfku/dilrP?= =?us-ascii?Q?BG8zv5BxH/QVCBSoPYN3mAhSyOPB6OWIg8n663lz7dCYDej3wIkkzG7QSdEJ?= =?us-ascii?Q?Z1YyOIEEIWp5dORVJv02bTktC1EuVgTq0n9qTuxhn/jwjk2mwdIFpD1eM3iC?= =?us-ascii?Q?WhSFMcMR2sfNL/ynLwy2hTxAWLTr8sA15MUhzIjGEvCg+4oOtAbCsfnkIk1+?= =?us-ascii?Q?UaKTxTuP546Igp+wGFqIBCYoGiCqA0Mu2ohRTEUW1l3qI42FTvvOE6g21asj?= =?us-ascii?Q?gwIikFnNlMO/8lm51lz2Uocwo85hGlwjyzBE0Zdc7PkPpR3FHWqnBSZt0TYj?= =?us-ascii?Q?vDzvfw3SjAIng479AJYZET8jrzeCWjojVcA9i1ZRBS8HPH61GjsyhlXG24lH?= =?us-ascii?Q?TFNdoCA7Fb/tmysBJian606qDcTtuudfkFQ5YCKpT8aZkWrCSm796h9+/T7g?= =?us-ascii?Q?OpRx67xv7jrVan1mNNbJdxD2FF6gFlx3K2QAsv0zVoKGf8cNOI9sH8UUeWDY?= =?us-ascii?Q?6Wzw+lPAkQgd/fEqFOep8L5BWEuib+1SoQ3QGs+RyTM06oVpt+L7btcfaMFd?= =?us-ascii?Q?Wpoo3fLzxt+t1OoqQzOhGcyWFpywzaVTtLCkKk1qUcHWKzYt4XPQb0fYPZwR?= =?us-ascii?Q?wDOnuMNW+JjLYPHMRPLajnXZSn8SXkQeYfE2KCUzNamUhuOqruNTOecg3au6?= =?us-ascii?Q?rAFrcg=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?VCHvQ8c2H7uEaUzLKMBAGe0LyyxLb697cGd2Cr9Ts4UUgvhKmcudzxrQ7fV6?= =?us-ascii?Q?hpizd8ODIgLhK1HOnN5hP2OVkJAgHicu0xXhjhlNkF0/2nnT2IYXPAWP6Jeb?= =?us-ascii?Q?BaleE7fB6CF8fHJ55XNEKO1x3pvEeP8lWyb8FU3QSvENoKna/fUYI+g7SW3J?= =?us-ascii?Q?fWHF3i7rzoQx3WVUQAm9MYHQM7crurdRrxoi1woeZrBzvtD/el76D/MDlS4/?= =?us-ascii?Q?lh4Q4FqBS3jX7vNUn1BWjH0JUVWyfDwxCsWEIfGsAdNoRldJUuK9V+p/udB0?= =?us-ascii?Q?1nkKOXkEt6tfSM4XL7P2r3Tn9B5mYkv79Ltfqb5UT5T1nXBF/lr71tXXBNPm?= =?us-ascii?Q?6ok7JLGkuCHaMl9SmO7y17op5F3wkJbadEqp3F0+ZwRE58x8T+Pbuev3gc6i?= =?us-ascii?Q?Zl74dLW9qOwMd561Htw4t5GLFUkUKyKYIgLMWUNJnbo6HEnuD8LralePeBJJ?= =?us-ascii?Q?YAiCDPAEpDVVAifr8TR8HY1+xf/kSyRIGGwwH4hMhWXb6SH6m7t8wwe/a1Kw?= =?us-ascii?Q?lgsCVxBC6N4CMzrmqAl5Cd2GKSOqo4Rr9jRLTzXfxxXSkDciYMmyy1qwJe9z?= =?us-ascii?Q?W58ajtomJ8SFSgVr1HKh64tD/dSWkrSSWupSlNGKk+u4A7tVxClwQkap585i?= =?us-ascii?Q?Cz5ot0aRkESLZoF0BiPnD48iqwmcAbVp+YmVMH9aIgSOY36ME+Zs9fvE+7Wm?= =?us-ascii?Q?gvM83ocPdnV81kq+nJVo8943qec4w14AuGmtims51jgw3Yuek2An+uylklTL?= =?us-ascii?Q?qeFf3fKeHzlWa4fUPBTp7bxZPcWIZVq2PH2lJ/Qz7HTllo772ezszlP3imeh?= =?us-ascii?Q?dB04LLXdJzTzcuKODYkOZGt8U0vz05NfH4q29hj0SeuiDxzVLHUf7CiMQxXY?= =?us-ascii?Q?RfUOFpnPavnLR0WO4nWFlo/X3eakqDj0cFjwYJDzR10WeY5T6SzCfV31kdAY?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: d6151c72-6de9-4a0d-0236-08dafa623fdb X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5117.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2023 21:15:11.5165 (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: mvut+1pMwoaHNH+H5Bb8O5oNgZ0tO+tpU2iEiQYsC7Ljp14nUOeUuIQpcAba4/XP464HFv0oAAyL2l2sr6QV7kySr2W8sCCwfyGA/wvi9gE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR10MB4148 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.930,Hydra:6.0.562,FMLib:17.11.122.1 definitions=2023-01-19_14,2023-01-19_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 phishscore=0 malwarescore=0 spamscore=0 mlxlogscore=999 mlxscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301190178 X-Proofpoint-ORIG-GUID: g3RfW7cwUdjzMdXp-gfxlsfdP3aqLzZp X-Proofpoint-GUID: g3RfW7cwUdjzMdXp-gfxlsfdP3aqLzZp Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Change alloc_huge_page() to alloc_hugetlb_folio() by changing all callers to handle the now folio return type of the function. In this conversion, alloc_huge_page_vma() is also changed to alloc_hugetlb_folio_vma(). Many additions of the use of &folio->page are cleaned up in subsequent patches. Signed-off-by: Sidhartha Kumar --- fs/hugetlbfs/inode.c | 38 +++++++------- include/linux/hugetlb.h | 8 +-- mm/hugetlb.c | 113 +++++++++++++++++----------------------- mm/mempolicy.c | 6 ++- 4 files changed, 76 insertions(+), 89 deletions(-) diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c index 48f1a8ad2243..e2f8951103be 100644 --- a/fs/hugetlbfs/inode.c +++ b/fs/hugetlbfs/inode.c @@ -819,7 +819,7 @@ static long hugetlbfs_fallocate(struct file *file, int = mode, loff_t offset, * This is supposed to be the vaddr where the page is being * faulted in, but we have no vaddr here. */ - struct page *page; + struct folio *folio; unsigned long addr; =20 cond_resched(); @@ -844,48 +844,48 @@ static long hugetlbfs_fallocate(struct file *file, in= t mode, loff_t offset, mutex_lock(&hugetlb_fault_mutex_table[hash]); =20 /* See if already present in mapping to avoid alloc/free */ - page =3D find_get_page(mapping, index); - if (page) { - put_page(page); + folio =3D filemap_get_folio(mapping, index); + if (folio) { + folio_put(folio); mutex_unlock(&hugetlb_fault_mutex_table[hash]); hugetlb_drop_vma_policy(&pseudo_vma); continue; } =20 /* - * Allocate page without setting the avoid_reserve argument. + * Allocate folio without setting the avoid_reserve argument. * There certainly are no reserves associated with the * pseudo_vma. However, there could be shared mappings with * reserves for the file at the inode level. If we fallocate - * pages in these areas, we need to consume the reserves + * folios in these areas, we need to consume the reserves * to keep reservation accounting consistent. */ - page =3D alloc_huge_page(&pseudo_vma, addr, 0); + folio =3D alloc_hugetlb_folio(&pseudo_vma, addr, 0); hugetlb_drop_vma_policy(&pseudo_vma); - if (IS_ERR(page)) { + if (IS_ERR(folio)) { mutex_unlock(&hugetlb_fault_mutex_table[hash]); - error =3D PTR_ERR(page); + error =3D PTR_ERR(folio); goto out; } - clear_huge_page(page, addr, pages_per_huge_page(h)); - __SetPageUptodate(page); - error =3D hugetlb_add_to_page_cache(page, mapping, index); + clear_huge_page(&folio->page, addr, pages_per_huge_page(h)); + __folio_mark_uptodate(folio); + error =3D hugetlb_add_to_page_cache(&folio->page, mapping, index); if (unlikely(error)) { - restore_reserve_on_error(h, &pseudo_vma, addr, page); - put_page(page); + restore_reserve_on_error(h, &pseudo_vma, addr, &folio->page); + folio_put(folio); mutex_unlock(&hugetlb_fault_mutex_table[hash]); goto out; } =20 mutex_unlock(&hugetlb_fault_mutex_table[hash]); =20 - SetHPageMigratable(page); + folio_set_hugetlb_migratable(folio); /* - * unlock_page because locked by hugetlb_add_to_page_cache() - * put_page() due to reference from alloc_huge_page() + * folio_unlock because locked by hugetlb_add_to_page_cache() + * folio_put() due to reference from alloc_hugetlb_folio() */ - unlock_page(page); - put_page(page); + folio_unlock(folio); + folio_put(folio); } =20 if (!(mode & FALLOC_FL_KEEP_SIZE) && offset + len > inode->i_size) diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h index f88c832bdfa4..8f054d81e63b 100644 --- a/include/linux/hugetlb.h +++ b/include/linux/hugetlb.h @@ -716,11 +716,11 @@ struct huge_bootmem_page { }; =20 int isolate_or_dissolve_huge_page(struct page *page, struct list_head *lis= t); -struct page *alloc_huge_page(struct vm_area_struct *vma, +struct folio *alloc_hugetlb_folio(struct vm_area_struct *vma, unsigned long addr, int avoid_reserve); struct folio *alloc_hugetlb_folio_nodemask(struct hstate *h, int preferred= _nid, nodemask_t *nmask, gfp_t gfp_mask); -struct page *alloc_huge_page_vma(struct hstate *h, struct vm_area_struct *= vma, +struct folio *alloc_hugetlb_folio_vma(struct hstate *h, struct vm_area_str= uct *vma, unsigned long address); int hugetlb_add_to_page_cache(struct page *page, struct address_space *map= ping, pgoff_t idx); @@ -1032,7 +1032,7 @@ static inline int isolate_or_dissolve_huge_page(struc= t page *page, return -ENOMEM; } =20 -static inline struct page *alloc_huge_page(struct vm_area_struct *vma, +static inline struct folio *alloc_hugetlb_folio(struct vm_area_struct *vma, unsigned long addr, int avoid_reserve) { @@ -1046,7 +1046,7 @@ alloc_hugetlb_folio_nodemask(struct hstate *h, int pr= eferred_nid, return NULL; } =20 -static inline struct page *alloc_huge_page_vma(struct hstate *h, +static inline struct folio *alloc_hugetlb_folio_vma(struct hstate *h, struct vm_area_struct *vma, unsigned long address) { diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 6f25055c3ba5..46467e80716f 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -2493,7 +2493,7 @@ struct folio *alloc_hugetlb_folio_nodemask(struct hst= ate *h, int preferred_nid, } =20 /* mempolicy aware migration callback */ -struct page *alloc_huge_page_vma(struct hstate *h, struct vm_area_struct *= vma, +struct folio *alloc_hugetlb_folio_vma(struct hstate *h, struct vm_area_str= uct *vma, unsigned long address) { struct mempolicy *mpol; @@ -2507,7 +2507,7 @@ struct page *alloc_huge_page_vma(struct hstate *h, st= ruct vm_area_struct *vma, folio =3D alloc_hugetlb_folio_nodemask(h, node, nodemask, gfp_mask); mpol_cond_put(mpol); =20 - return &folio->page; + return folio; } =20 /* @@ -2798,14 +2798,14 @@ static long vma_del_reservation(struct hstate *h, =20 /* * This routine is called to restore reservation information on error path= s. - * It should ONLY be called for pages allocated via alloc_huge_page(), and - * the hugetlb mutex should remain held when calling this routine. + * It should ONLY be called for folios allocated via alloc_hugetlb_folio(), + * and the hugetlb mutex should remain held when calling this routine. * * It handles two specific cases: * 1) A reservation was in place and the page consumed the reservation. * HPageRestoreReserve is set in the page. * 2) No reservation was in place for the page, so HPageRestoreReserve is - * not set. However, alloc_huge_page always updates the reserve map. + * not set. However, alloc_hugetlb_folio always updates the reserve ma= p. * * In case 1, free_huge_page later in the error path will increment the * global reserve count. But, free_huge_page does not have enough context @@ -2814,7 +2814,7 @@ static long vma_del_reservation(struct hstate *h, * reserve count adjustments to be made by free_huge_page. Make sure the * reserve map indicates there is a reservation present. * - * In case 2, simply undo reserve map modifications done by alloc_huge_pag= e. + * In case 2, simply undo reserve map modifications done by alloc_hugetlb_= folio. */ void restore_reserve_on_error(struct hstate *h, struct vm_area_struct *vma, unsigned long address, struct page *page) @@ -2844,8 +2844,8 @@ void restore_reserve_on_error(struct hstate *h, struc= t vm_area_struct *vma, if (!rc) { /* * This indicates there is an entry in the reserve map - * not added by alloc_huge_page. We know it was added - * before the alloc_huge_page call, otherwise + * not added by alloc_hugetlb_folio. We know it was added + * before the alloc_hugetlb_folio call, otherwise * hugetlb_restore_reserve would be set on the folio. * Remove the entry so that a subsequent allocation * does not consume a reservation. @@ -3014,7 +3014,7 @@ int isolate_or_dissolve_huge_page(struct page *page, = struct list_head *list) return ret; } =20 -struct page *alloc_huge_page(struct vm_area_struct *vma, +struct folio *alloc_hugetlb_folio(struct vm_area_struct *vma, unsigned long addr, int avoid_reserve) { struct hugepage_subpool *spool =3D subpool_vma(vma); @@ -3130,7 +3130,7 @@ struct page *alloc_huge_page(struct vm_area_struct *v= ma, hugetlb_cgroup_uncharge_folio_rsvd(hstate_index(h), pages_per_huge_page(h), folio); } - return &folio->page; + return folio; =20 out_uncharge_cgroup: hugetlb_cgroup_uncharge_cgroup(idx, pages_per_huge_page(h), h_cg); @@ -5080,34 +5080,34 @@ int copy_hugetlb_page_range(struct mm_struct *dst, = struct mm_struct *src, } else if (page_try_dup_anon_rmap(ptepage, true, src_vma)) { pte_t src_pte_old =3D entry; - struct page *new; + struct folio *new_folio; =20 spin_unlock(src_ptl); spin_unlock(dst_ptl); /* Do not use reserve as it's private owned */ - new =3D alloc_huge_page(dst_vma, addr, 1); - if (IS_ERR(new)) { + new_folio =3D alloc_hugetlb_folio(dst_vma, addr, 1); + if (IS_ERR(new_folio)) { put_page(ptepage); - ret =3D PTR_ERR(new); + ret =3D PTR_ERR(new_folio); break; } - copy_user_huge_page(new, ptepage, addr, dst_vma, + copy_user_huge_page(&new_folio->page, ptepage, addr, dst_vma, npages); put_page(ptepage); =20 - /* Install the new huge page if src pte stable */ + /* Install the new hugetlb folio if src pte stable */ dst_ptl =3D huge_pte_lock(h, dst, dst_pte); src_ptl =3D huge_pte_lockptr(h, src, src_pte); spin_lock_nested(src_ptl, SINGLE_DEPTH_NESTING); entry =3D huge_ptep_get(src_pte); if (!pte_same(src_pte_old, entry)) { restore_reserve_on_error(h, dst_vma, addr, - new); - put_page(new); + &new_folio->page); + folio_put(new_folio); /* huge_ptep of dst_pte won't change as in child */ goto again; } - hugetlb_install_folio(dst_vma, dst_pte, addr, page_folio(new)); + hugetlb_install_folio(dst_vma, dst_pte, addr, new_folio); spin_unlock(src_ptl); spin_unlock(dst_ptl); continue; @@ -5478,8 +5478,8 @@ static vm_fault_t hugetlb_wp(struct mm_struct *mm, st= ruct vm_area_struct *vma, const bool unshare =3D flags & FAULT_FLAG_UNSHARE; pte_t pte; struct hstate *h =3D hstate_vma(vma); - struct page *old_page, *new_page; - struct folio *new_folio =3D NULL; + struct page *old_page; + struct folio *new_folio; int outside_reserve =3D 0; vm_fault_t ret =3D 0; unsigned long haddr =3D address & huge_page_mask(h); @@ -5540,9 +5540,9 @@ static vm_fault_t hugetlb_wp(struct mm_struct *mm, st= ruct vm_area_struct *vma, * be acquired again before returning to the caller, as expected. */ spin_unlock(ptl); - new_page =3D alloc_huge_page(vma, haddr, outside_reserve); + new_folio =3D alloc_hugetlb_folio(vma, haddr, outside_reserve); =20 - if (IS_ERR(new_page)) { + if (IS_ERR(new_folio)) { /* * If a process owning a MAP_PRIVATE mapping fails to COW, * it is due to references held by a child and an insufficient @@ -5587,13 +5587,9 @@ static vm_fault_t hugetlb_wp(struct mm_struct *mm, s= truct vm_area_struct *vma, return 0; } =20 - ret =3D vmf_error(PTR_ERR(new_page)); + ret =3D vmf_error(PTR_ERR(new_folio)); goto out_release_old; } - - if (new_page) - new_folio =3D page_folio(new_page); - /* * When the original hugepage is shared one, it does not have * anon_vma prepared. @@ -5627,7 +5623,7 @@ static vm_fault_t hugetlb_wp(struct mm_struct *mm, st= ruct vm_area_struct *vma, make_huge_pte(vma, &new_folio->page, !unshare)); folio_set_hugetlb_migratable(new_folio); /* Make the old page be freed below */ - new_page =3D old_page; + new_folio =3D page_folio(old_page); } spin_unlock(ptl); mmu_notifier_invalidate_range_end(&range); @@ -5636,7 +5632,7 @@ static vm_fault_t hugetlb_wp(struct mm_struct *mm, st= ruct vm_area_struct *vma, * No restore in case of successful pagetable update (Break COW or * unshare) */ - if (new_page !=3D old_page) + if (new_folio !=3D page_folio(old_page)) restore_reserve_on_error(h, vma, haddr, &new_folio->page); folio_put(new_folio); out_release_old: @@ -5759,8 +5755,7 @@ static vm_fault_t hugetlb_no_page(struct mm_struct *m= m, vm_fault_t ret =3D VM_FAULT_SIGBUS; int anon_rmap =3D 0; unsigned long size; - struct page *page; - struct folio *folio =3D NULL; + struct folio *folio; pte_t new_pte; spinlock_t *ptl; unsigned long haddr =3D address & huge_page_mask(h); @@ -5784,8 +5779,8 @@ static vm_fault_t hugetlb_no_page(struct mm_struct *m= m, * before we get page_table_lock. */ new_page =3D false; - page =3D find_lock_page(mapping, idx); - if (!page) { + folio =3D filemap_lock_folio(mapping, idx); + if (!folio) { size =3D i_size_read(mapping->host) >> huge_page_shift(h); if (idx >=3D size) goto out; @@ -5818,8 +5813,8 @@ static vm_fault_t hugetlb_no_page(struct mm_struct *m= m, VM_UFFD_MISSING); } =20 - page =3D alloc_huge_page(vma, haddr, 0); - if (IS_ERR(page)) { + folio =3D alloc_hugetlb_folio(vma, haddr, 0); + if (IS_ERR(folio)) { /* * Returning error will result in faulting task being * sent SIGBUS. The hugetlb fault mutex prevents two @@ -5833,15 +5828,11 @@ static vm_fault_t hugetlb_no_page(struct mm_struct = *mm, * sure there really is no pte entry. */ if (hugetlb_pte_stable(h, mm, ptep, old_pte)) - ret =3D vmf_error(PTR_ERR(page)); + ret =3D vmf_error(PTR_ERR(folio)); else ret =3D 0; goto out; } - - if (page) - folio =3D page_folio(page); - clear_huge_page(&folio->page, address, pages_per_huge_page(h)); __folio_mark_uptodate(folio); new_page =3D true; @@ -5870,7 +5861,6 @@ static vm_fault_t hugetlb_no_page(struct mm_struct *m= m, anon_rmap =3D 1; } } else { - folio =3D page_folio(page); /* * If memory error occurs between mmap() and fault, some process * don't have hwpoisoned swap entry for errored virtual address. @@ -6185,15 +6175,14 @@ int hugetlb_mcopy_atomic_pte(struct mm_struct *dst_= mm, pte_t _dst_pte; spinlock_t *ptl; int ret =3D -ENOMEM; - struct page *page; - struct folio *folio =3D NULL; + struct folio *folio; int writable; bool page_in_pagecache =3D false; =20 if (is_continue) { ret =3D -EFAULT; - page =3D find_lock_page(mapping, idx); - if (!page) + folio =3D filemap_lock_folio(mapping, idx); + if (!folio) goto out; page_in_pagecache =3D true; } else if (!*pagep) { @@ -6206,34 +6195,34 @@ int hugetlb_mcopy_atomic_pte(struct mm_struct *dst_= mm, goto out; } =20 - page =3D alloc_huge_page(dst_vma, dst_addr, 0); - if (IS_ERR(page)) { + folio =3D alloc_hugetlb_folio(dst_vma, dst_addr, 0); + if (IS_ERR(folio)) { ret =3D -ENOMEM; goto out; } =20 - ret =3D copy_huge_page_from_user(page, + ret =3D copy_huge_page_from_user(&folio->page, (const void __user *) src_addr, pages_per_huge_page(h), false); =20 /* fallback to copy_from_user outside mmap_lock */ if (unlikely(ret)) { ret =3D -ENOENT; - /* Free the allocated page which may have + /* Free the allocated folio which may have * consumed a reservation. */ - restore_reserve_on_error(h, dst_vma, dst_addr, page); - put_page(page); + restore_reserve_on_error(h, dst_vma, dst_addr, &folio->page); + folio_put(folio); =20 - /* Allocate a temporary page to hold the copied + /* Allocate a temporary folio to hold the copied * contents. */ - page =3D alloc_huge_page_vma(h, dst_vma, dst_addr); - if (!page) { + folio =3D alloc_hugetlb_folio_vma(h, dst_vma, dst_addr); + if (!folio) { ret =3D -ENOMEM; goto out; } - *pagep =3D page; + *pagep =3D &folio->page; /* Set the outparam pagep and return to the caller to * copy the contents outside the lock. Don't free the * page. @@ -6249,22 +6238,18 @@ int hugetlb_mcopy_atomic_pte(struct mm_struct *dst_= mm, goto out; } =20 - page =3D alloc_huge_page(dst_vma, dst_addr, 0); - if (IS_ERR(page)) { + folio =3D alloc_hugetlb_folio(dst_vma, dst_addr, 0); + if (IS_ERR(folio)) { put_page(*pagep); ret =3D -ENOMEM; *pagep =3D NULL; goto out; } - copy_user_huge_page(page, *pagep, dst_addr, dst_vma, + copy_user_huge_page(&folio->page, *pagep, dst_addr, dst_vma, pages_per_huge_page(h)); put_page(*pagep); *pagep =3D NULL; } - - if (page) - folio =3D page_folio(page); - /* * The memory barrier inside __folio_mark_uptodate makes sure that * preceding stores to the page contents become visible before @@ -6887,7 +6872,7 @@ bool hugetlb_reserve_pages(struct inode *inode, /* * pages in this range were added to the reserve * map between region_chg and region_add. This - * indicates a race with alloc_huge_page. Adjust + * indicates a race with alloc_hugetlb_folio. Adjust * the subpool and reserve counts modified above * based on the difference. */ diff --git a/mm/mempolicy.c b/mm/mempolicy.c index fd99d303e34f..945b41c245a5 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -1218,9 +1218,11 @@ static struct page *new_page(struct page *page, unsi= gned long start) break; } =20 - if (folio_test_hugetlb(src)) - return alloc_huge_page_vma(page_hstate(&src->page), + if (folio_test_hugetlb(src)) { + dst =3D alloc_hugetlb_folio_vma(folio_hstate(src), vma, address); + return &dst->page; + } =20 if (folio_test_large(src)) gfp =3D GFP_TRANSHUGE; --=20 2.39.0 From nobody Sun Sep 14 16:25:03 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 1E4FFC678D4 for ; Thu, 19 Jan 2023 21:23:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229674AbjASVXl (ORCPT ); Thu, 19 Jan 2023 16:23:41 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39666 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229819AbjASVV7 (ORCPT ); Thu, 19 Jan 2023 16:21:59 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 73C1F9D287 for ; Thu, 19 Jan 2023 13:15:42 -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 30JKxAxJ028142; Thu, 19 Jan 2023 21:15:20 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=eajZ6BEFzwRRcAfH/MaHIcKZWur6SUr+SVPX61qbPAo=; b=czV/pYIsntIESziVOKhDes2aiUKRe89urajibF9SQ6sKYiOaIirXk2b8SYd/6IZYVDGc lr5d1ppFAiLOwb+lFbHcJZgGvRzQ+QxaRy3mx2BZbcjVeATaKGGhTM37elTxQzyfH8bn a5891TMF9Bznkvw7z03iKeouKfFEb4jijRlnydBbdMJPDnCaxed6F/1DHMzsIFPm9idf Nojb5xV9E08Po5QmmtzJWqDQnrdn+rR92FMxDijr59/ZugU8c0ofF+xjkjpdRNO3pzOa AThj0QtHPFwdaoAwTJbhh8xNl3ActJI/O0KHy/KpwB3tZ/M6ImOjiH4Ruj4TjHpkaYU+ ag== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3n3k013atk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 19 Jan 2023 21:15:19 +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 30JL9XI6018694; Thu, 19 Jan 2023 21:15:18 GMT Received: from nam04-bn8-obe.outbound.protection.outlook.com (mail-bn8nam04lp2042.outbound.protection.outlook.com [104.47.74.42]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3n6quh8tmr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 19 Jan 2023 21:15:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QfZVaNaN+KtCXo/0pisTKB0rYR1JxHxXx4VyvtELMfBIC+L8f/V2vmTAObOu0QGrJaiGiePvOBmlnewfUEKbXwFazZU3etxMYYeVB8VPX4rqQhLiFdBpAeImNnIvJxhDkqZqyImIFqIvugW3TynwmTqYQL4QVWJQS+Hi303GZ4pn3ZSJGKW2IPcNLKY7x8lILmT4kzeWEkTe6NABW8SCyCynEmaai5E4M6XbMMBX7Bjr/Tz5mOcZZlXqqlqIhHtGpr2AsVEfXsnWjz//uIRL2JxAaInQ75YJVKcJ5SHITzU7bh0ErDH9BQTRXvxledse02duPDEqLoL7eYU7eVNiuA== 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=eajZ6BEFzwRRcAfH/MaHIcKZWur6SUr+SVPX61qbPAo=; b=ji3qDmxfltN0zQsTWN8EeeQYAcLW6kW2qrJTRf6zemB5ko+KCRBb9NCXbaTVLipTGIVLkD6wKLc0OtG9KaQWs0/2kRCE3co748Ws/XLievz0GJ6jqXSxrEbIGB8zxhkALSs0lWkK+uSjar4haIrrzNGRQ0mGL65vOvYQzgtKz0ecXvsSXnH7CKoWnrY3gCZUMfKu3+lyGr/9bIAvZ3wGajTRTZiZbzBIPaOdw11/SpjbzPwfIQGYCxFkZ5nW8zECzzlrOEIeB0k6mtrH9MaxLwyUmVjWS/ZPDjODjG1LTdtidtKUOSfHN/tnkQOPIbnSME8PhLoWo97KarHnjL+BJQ== 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=eajZ6BEFzwRRcAfH/MaHIcKZWur6SUr+SVPX61qbPAo=; b=l69gYxcpPq7wflv1sLLJPLbjmxykf4drcZkzUnUVUhPvx5DlRMK/v1tl07HWh7HGlfcTQJ4FdoPOoEGD+PQlLM7Jw2hUYaeyuGfvBM46+N+Xv4nGF8no/AwupLIoVvvtxJhpalAkPXLlphBS7XHtHbvr7kww48YpG7jkEudlT2E= Received: from DS7PR10MB5117.namprd10.prod.outlook.com (2603:10b6:5:3a6::17) by SJ0PR10MB5600.namprd10.prod.outlook.com (2603:10b6:a03:3dc::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.24; Thu, 19 Jan 2023 21:15:16 +0000 Received: from DS7PR10MB5117.namprd10.prod.outlook.com ([fe80::93ca:e22f:aa6d:94d9]) by DS7PR10MB5117.namprd10.prod.outlook.com ([fe80::93ca:e22f:aa6d:94d9%2]) with mapi id 15.20.6002.011; Thu, 19 Jan 2023 21:15:16 +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, jhubbard@nvidia.com, Sidhartha Kumar Subject: [PATCH 6/9] mm/hugetlb: convert restore_reserve_on_error to take in a folio Date: Thu, 19 Jan 2023 13:14:43 -0800 Message-Id: <20230119211446.54165-7-sidhartha.kumar@oracle.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230119211446.54165-1-sidhartha.kumar@oracle.com> References: <20230119211446.54165-1-sidhartha.kumar@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SJ0PR03CA0291.namprd03.prod.outlook.com (2603:10b6:a03:39e::26) To DS7PR10MB5117.namprd10.prod.outlook.com (2603:10b6:5:3a6::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR10MB5117:EE_|SJ0PR10MB5600:EE_ X-MS-Office365-Filtering-Correlation-Id: d9709ee5-3f23-4d51-e8a9-08dafa62429c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ZA2OpWItrijEzYlpfChi3S1vOcgoPhgTvux9eIk+RfqftszHHRrNKPxEWzOy0jQsggnemcVPojfA7RGF72LDnbHUILQoK4nRkE4O9z5XL12RUr0EfBAqDuLEJpVKBTZr6hwXyDt0Bg0uLxwJYe31XHD2Md7fOFsZJkeOZo8SxDX4f19antmbt476v1ii7Of8rGNsNtw5RcLErURlI1Itwln9y05LMDiuyuT7cc7zc78xzSDAbIFttv3b+CQHmrB/loc2Zb68Dx7Qzj9IaEIYsN1ywIoe7i+iRXHWEpWJMEfjc7oRVpJNhwkV3jOP+HoXD7TBGPfUnpgi7/fUXYz2x+/1LatTDohUNqmIiOfbOlXKcv4TbLe1NaNvdhhnivn2/+dfGnIxmrwN3Jv0fRsUof9+0414brFMjPy+GmYBsjn5KhAl4biX6dVJKvWSe61q0s2HmMQJFgpWiGhe1huYqCB1JmVhB7wvciqcqMqDcFBxX07oVBym0K7T4EqwoId7VXO29I2hHNUgzVHMzsBqBfN3zmSGQsiObGAM9jLvo1AftvAwv2glyk27j90KSkbxzF06EADGa06LzrnGQv24teENTpLqgtJbssD7AfkmYZsY1NYqZ98/29fXnFnK6wJwfGDa0J4Osm0YZqqNUunM3A== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR10MB5117.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(346002)(396003)(136003)(39860400002)(376002)(451199015)(66946007)(38100700002)(66556008)(66476007)(478600001)(8936002)(44832011)(2906002)(5660300002)(4326008)(8676002)(1076003)(41300700001)(2616005)(6512007)(83380400001)(186003)(107886003)(316002)(6666004)(86362001)(36756003)(6506007)(6486002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?PLovkJ/RWZW6noKElQf83e7bqpROum//tnKMS7w0s3s4RAfyOXnspM97Fr2l?= =?us-ascii?Q?FCxxpmLpLfulv4XBba8nbxkECgs9zk6AjM3rjiMVpE8dJ7xy3qnrZ6mA1rdB?= =?us-ascii?Q?emofg4PljZF4TchtoU68J3IUQXn6qPRVvuTiVzTZDtIYeKszWiRnDt7oF2M7?= =?us-ascii?Q?kgW6bb9AamHxyiI/wed8ekRKJ3tqCMJHPKZMHnJqVQkD+VAYcC1UoHILZnNC?= =?us-ascii?Q?HxOORmZiIJUKavx0npMADpF1A+O7C+HjdLA5yJQQwxqkLZumRp5D9W2Sb7rf?= =?us-ascii?Q?EDaA/LPQE1KXIZzBXLYFuYwENRWKxw+L+Fp1N+UOiG4vb7SUd9uaNf2momAj?= =?us-ascii?Q?CvdRCS98C7uBQi4Csh0DFGadx0iQETWhdbF4o+cahOupkyRwYHyRYTFrdF1B?= =?us-ascii?Q?SPlCQLvOV5rr46Pi3Hi4tWevhfQCdxRKL0oDLmMPi0QrRoEF0Icdbk0O0M3q?= =?us-ascii?Q?yWvrYVzrLXt4GsTO3GbJhx0ItT/lVWwnYHRYmVM3JlAuky9fEsM3zh2c6Bpt?= =?us-ascii?Q?jri6UeLcPQPTgLGPBSj1C86ALzPh1W1kEsJASysyeDh9cn5t/8vc8HRzmhLz?= =?us-ascii?Q?VUiiZLluXvYY9y6lZc3lIJM1jgVFOQyu/GqYTZXsN1ZoP4a3Pfk9ZGq22m/U?= =?us-ascii?Q?s6CSvhmKVP7n/wPbJ2gPnFG47/SnOSV9BJv/WD4IYp/UjAtKhZj03JmJvdct?= =?us-ascii?Q?OEJcBOY09WlBU9URouuyeUhtk69xfIRfXaT//0fAMYEcEFIs5ATFCPvX2ipo?= =?us-ascii?Q?8ngBGv0cWrkl+PjBv4mB326E8gpHtkBFVwfMc4i0LgBPdjDBIbg8aJeSiwF7?= =?us-ascii?Q?bQbrgos6yELBCUdDr5faDlCSfgXI8mDkDEn5wqby+tkbTZ50xqjrwlPufyBc?= =?us-ascii?Q?T4pTZZGVVyEKWKHuVyHL+QuXB62ECdv2+caWUAbYy4z3OMNLXBzfAgzq9tpM?= =?us-ascii?Q?G6wDQXZ8bVKA9vxqd7NekhfRS8+Yz6dr22SeEA2n1SLiUSi5qRvzWz5THEhx?= =?us-ascii?Q?v/poxsxax3a9V/g89P9A4bI+Nbe2RULTCIRUkaqqzhqeknQzrmXRuUbqfmoY?= =?us-ascii?Q?iJ6HSwkHdBh/5sufeZbIlnLThb4iDkSn183t7fwWccOKzXF5x/0UCAKCnHCS?= =?us-ascii?Q?gcpX+kcjVUkkYYXbWiy6nCFv8ny0I4sqzUvMk+eLDJTKdVZCyK2cfOxZSz6A?= =?us-ascii?Q?zUJcu33phlBc4Nz+ty6wzINSvKK8TQamTltBVv38fwhYXPyHo2KEKvkTjmSi?= =?us-ascii?Q?2YLN2U+mD+2dvERddwvGHzXE/ErQOufjHe5h2zdCRyo0htfBWVYFjTm5yDb5?= =?us-ascii?Q?1mhzBoSmMzwjbZt/zTekNdM/39P4VXVzNFTmKoEdeVpP1338sthtg8gK7Rzx?= =?us-ascii?Q?c4cdUjQYYq6UV+LpGHYK4QBGCr8XyO9mm0THzDELA4CkgFcbO6pEFASWooUM?= =?us-ascii?Q?k0fAKBr54COda2CwBPLQYyhCp6Om8Y8z1AMIGBqPG31stUCobbnW/oOdZwFz?= =?us-ascii?Q?sqzAQAwkfmQIDr4HEX6iokd52ol2KICPtHVlo7twLKuQ6ELZbR9sPFkEq30W?= =?us-ascii?Q?rnRBt5JkOh42+T0HBDZm1zKamm8X4dd6RkwU70sPN38eIQWZhsZmZxMb78B0?= =?us-ascii?Q?6iWZWprPrpCEk1mFCg5p/FOA9lUNok9p4YwHlQd85Z/JSj93GMSAumoj41/A?= =?us-ascii?Q?o0IKlA=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?jH44AFwPIJLsghRoNcN7BGv4JOEJyH/uUN+1DmDO6TtcpfK8BV9nePM2tsIs?= =?us-ascii?Q?m0VcySWWKX9XpclaXNt22JJY61NoJeDwEP3SXRGwq5o/YQG4ktuTCJz78MAU?= =?us-ascii?Q?amiheuu2aJoW1J2buQHvcrBuNJJG06KsknS7T4cIVvjxZqNrSMxe0FWwLwMG?= =?us-ascii?Q?CLd995LsRQZJPJmpBWpvwcPhhiSPJvzuYP9NdH7iZIFVxUWufRaGVaNFaLKo?= =?us-ascii?Q?I85kq+S8EvxXai8xAzlPaYvQIVYXjLIfofhaBHUKyIfBGgNpkm9ky8ijALWA?= =?us-ascii?Q?Tw/wue1oIUTEGHA1A3782PiQczFequ0GjSaRyH0tJd7lxB9NI3d8HAROaaJ0?= =?us-ascii?Q?GaE2UeWqGi/GbeuGELJ+TXLMbTFMHYVjAuZZJgggVBVw1Otgn2EgpIaeZQ5I?= =?us-ascii?Q?0M4Mua81oNwdk0a0iuYqVPPfn4CdU5lHBawGQDK4EAYtz4V8YQioZw2IiqFk?= =?us-ascii?Q?yeYV9Dtn/ZbjnYnhMVYuC5B9NkL5MJx5DOxWNSpdfKh5t+9ZMqdWLcIW4En9?= =?us-ascii?Q?cTZBkIvGJ2Iwdt23uDeLU1IgaKDAQebSVQWo5cTasDxkkLNka+QGzowkmtHn?= =?us-ascii?Q?amK5Os2Xycg4ZiUcCZez1l+NTVKj35hGhVE85gTsAJijsJu3NVCsccqI3Te4?= =?us-ascii?Q?JjXgs7qO2A9Ju0swq5+cL82NCpVvMPI84f7byo6cJ5vFPC/AaydR4HcwvZhB?= =?us-ascii?Q?oUKpmGkAERy9Vs/X+97e3h/qhIBFS0pKyBu34lPT1v2Q2Zf0Bjuu3OdsT7uE?= =?us-ascii?Q?pKXFVR7QWRjmdPxQEt9sLU/jH0ldXYXDB7rYjW4Sf/BNimfBCuQvXsHQz3XX?= =?us-ascii?Q?OYe1xTb+RgWk1o2Tc51Z3L6/p2LLvGVHeEsBEWERoNeUnghcM7lOlL4SDDks?= =?us-ascii?Q?H5hyzwOslroOG+5I5jfTtGfXowdCi0MkgCb/LpnCvRSGBlgX1cuX1SodgWyP?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: d9709ee5-3f23-4d51-e8a9-08dafa62429c X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5117.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2023 21:15:16.0476 (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: eMncciwByK42ahoAFSX6SP36VcjXjHQ1YtN3JxDqUCMRCeZqreisKu8l5Q13iwiV9MjBjKbq4TL6kNqIg+e1gNfBVC0nce0OFxVFCWA0Ki0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB5600 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.930,Hydra:6.0.562,FMLib:17.11.122.1 definitions=2023-01-19_14,2023-01-19_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 phishscore=0 malwarescore=0 spamscore=0 mlxlogscore=999 mlxscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301190178 X-Proofpoint-GUID: Oj6PdwfMtkh_oXFQY0eAAe7QagN6blGb X-Proofpoint-ORIG-GUID: Oj6PdwfMtkh_oXFQY0eAAe7QagN6blGb Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Every caller of restore_reserve_on_error() is now passing in &folio->page, change the function to take in a folio directly and clean up the call sites. Signed-off-by: Sidhartha Kumar --- fs/hugetlbfs/inode.c | 2 +- include/linux/hugetlb.h | 2 +- mm/hugetlb.c | 21 ++++++++++----------- 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c index e2f8951103be..880ebc58f330 100644 --- a/fs/hugetlbfs/inode.c +++ b/fs/hugetlbfs/inode.c @@ -871,7 +871,7 @@ static long hugetlbfs_fallocate(struct file *file, int = mode, loff_t offset, __folio_mark_uptodate(folio); error =3D hugetlb_add_to_page_cache(&folio->page, mapping, index); if (unlikely(error)) { - restore_reserve_on_error(h, &pseudo_vma, addr, &folio->page); + restore_reserve_on_error(h, &pseudo_vma, addr, folio); folio_put(folio); mutex_unlock(&hugetlb_fault_mutex_table[hash]); goto out; diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h index 8f054d81e63b..e76be7e8df2c 100644 --- a/include/linux/hugetlb.h +++ b/include/linux/hugetlb.h @@ -725,7 +725,7 @@ struct folio *alloc_hugetlb_folio_vma(struct hstate *h,= struct vm_area_struct *v int hugetlb_add_to_page_cache(struct page *page, struct address_space *map= ping, pgoff_t idx); void restore_reserve_on_error(struct hstate *h, struct vm_area_struct *vma, - unsigned long address, struct page *page); + unsigned long address, struct folio *folio); =20 /* arch callback */ int __init __alloc_bootmem_huge_page(struct hstate *h, int nid); diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 46467e80716f..9568d49c12d6 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -2802,9 +2802,9 @@ static long vma_del_reservation(struct hstate *h, * and the hugetlb mutex should remain held when calling this routine. * * It handles two specific cases: - * 1) A reservation was in place and the page consumed the reservation. - * HPageRestoreReserve is set in the page. - * 2) No reservation was in place for the page, so HPageRestoreReserve is + * 1) A reservation was in place and the folio consumed the reservation. + * hugetlb_restore_reserve is set in the folio. + * 2) No reservation was in place for the page, so hugetlb_restore_reserve= is * not set. However, alloc_hugetlb_folio always updates the reserve ma= p. * * In case 1, free_huge_page later in the error path will increment the @@ -2817,9 +2817,8 @@ static long vma_del_reservation(struct hstate *h, * In case 2, simply undo reserve map modifications done by alloc_hugetlb_= folio. */ void restore_reserve_on_error(struct hstate *h, struct vm_area_struct *vma, - unsigned long address, struct page *page) + unsigned long address, struct folio *folio) { - struct folio *folio =3D page_folio(page); long rc =3D vma_needs_reservation(h, vma, address); =20 if (folio_test_hugetlb_restore_reserve(folio)) { @@ -5102,7 +5101,7 @@ int copy_hugetlb_page_range(struct mm_struct *dst, st= ruct mm_struct *src, entry =3D huge_ptep_get(src_pte); if (!pte_same(src_pte_old, entry)) { restore_reserve_on_error(h, dst_vma, addr, - &new_folio->page); + new_folio); folio_put(new_folio); /* huge_ptep of dst_pte won't change as in child */ goto again; @@ -5633,7 +5632,7 @@ static vm_fault_t hugetlb_wp(struct mm_struct *mm, st= ruct vm_area_struct *vma, * unshare) */ if (new_folio !=3D page_folio(old_page)) - restore_reserve_on_error(h, vma, haddr, &new_folio->page); + restore_reserve_on_error(h, vma, haddr, new_folio); folio_put(new_folio); out_release_old: put_page(old_page); @@ -5847,7 +5846,7 @@ static vm_fault_t hugetlb_no_page(struct mm_struct *m= m, * to the page cache. So it's safe to call * restore_reserve_on_error() here. */ - restore_reserve_on_error(h, vma, haddr, &folio->page); + restore_reserve_on_error(h, vma, haddr, folio); folio_put(folio); goto out; } @@ -5948,7 +5947,7 @@ static vm_fault_t hugetlb_no_page(struct mm_struct *m= m, spin_unlock(ptl); backout_unlocked: if (new_page && !new_pagecache_page) - restore_reserve_on_error(h, vma, haddr, &folio->page); + restore_reserve_on_error(h, vma, haddr, folio); =20 folio_unlock(folio); folio_put(folio); @@ -6211,7 +6210,7 @@ int hugetlb_mcopy_atomic_pte(struct mm_struct *dst_mm, /* Free the allocated folio which may have * consumed a reservation. */ - restore_reserve_on_error(h, dst_vma, dst_addr, &folio->page); + restore_reserve_on_error(h, dst_vma, dst_addr, folio); folio_put(folio); =20 /* Allocate a temporary folio to hold the copied @@ -6339,7 +6338,7 @@ int hugetlb_mcopy_atomic_pte(struct mm_struct *dst_mm, folio_unlock(folio); out_release_nounlock: if (!page_in_pagecache) - restore_reserve_on_error(h, dst_vma, dst_addr, &folio->page); + restore_reserve_on_error(h, dst_vma, dst_addr, folio); folio_put(folio); goto out; } --=20 2.39.0 From nobody Sun Sep 14 16:25:03 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 07787C004D4 for ; Thu, 19 Jan 2023 21:24:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230301AbjASVX6 (ORCPT ); Thu, 19 Jan 2023 16:23:58 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39542 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229818AbjASVV6 (ORCPT ); Thu, 19 Jan 2023 16:21:58 -0500 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CD4329086D for ; Thu, 19 Jan 2023 13:15:41 -0800 (PST) Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 30JKwkjO010065; Thu, 19 Jan 2023 21:15:23 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=GHxPmvKVHX3NIeUTQKvpfBxCyfCEIpn1BvmhiZqKnxo=; b=gYgoXoQSH7r/euiZWS4oPXh5s+c5OofsU106xRjb5P27nd2+V+1uQjFVKm0eyuQczNJK SzJKTiDPqwq6YYNjGJe1TOy92fuh+Tee3U7kf5HTWM/LpIy8/u7wYezja6ulx+TNDSt8 Nv/zc9EohjXEY2d9N6xTFQBzImcSqZqCjirdmEDmMKMhPq4pIgUC6MtExRyC868yucer xu+e33WE6FfEJTWmERRUcGwJoZoFbJa3D7oqrg0Yx72wHJY2lszrLWzxKIzKeT7hTKcR AQyZn3osythOsNG61ju/X4dk5LKEVwp7hj5d3GSntFMUvkrsWQlE/iraKhS6qmMExREe yA== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3n3medkdvt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 19 Jan 2023 21:15:22 +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 30JJZFcA000860; Thu, 19 Jan 2023 21:15:22 GMT Received: from nam02-sn1-obe.outbound.protection.outlook.com (mail-sn1nam02lp2046.outbound.protection.outlook.com [104.47.57.46]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3n74d1s0h3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 19 Jan 2023 21:15:21 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lVbeGsv50Mywd/K7OJ49cX7buOM8ioVvcppnKO7xM06rJO1kvD5x4wZI3kcu9E3WzHJ3Z2jDYvQOn+yT+F6X0S/ZIz+3lbkkVTMTsQp9U3LznnKG/SZFe9pqO1j40R279zFaRA8qFY7qEoD4np4oi8v9DcurgF0VhH469rKpEOy9RqYXh4CgY+sIAa4gCpnHI9JfvsG6jq//LsGo5SS7O5KWTarT7EiNBzKs7gZoYIEPg+tKHjM3CSX60Fwy7rc3sZepvzCY+jPIAE76Ihmdf/YC0f/MgBI+gcQkG9IKep269w/hbs7osT1daQtg6GbHl0gKcz8UehT8rTBALZGxag== 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=GHxPmvKVHX3NIeUTQKvpfBxCyfCEIpn1BvmhiZqKnxo=; b=K6YRKq9faOebPAycuIJl1bD9B5K7K8m9plxC8QtsvZH4De2v1t4fnINKLxcZVwodlqmDLNsmXak0zgczYVo0V84cv2EnHKXMP8Kza5pnEI9YtwNnkpg4Ycr0wtJ9/hbpZdLnrC6lIcDzCKr63PZZAitPasr0qCqmYq4PHi4eAJB9zYUpcM1f4PSdTyyqsCiBA6w1/PfhwWBuDdunak7Q90f2rPn3CSygK2hAfqz50rXNSfR1biapEVhcWXsgbvmMkw7oQKXAhQtYRMYXHwDTYm/KTptF9B7DzNXJRjEgpTQwY4CJxrwyCHi4zbc93WCpLVs0BWtOYDQUQE+tAFfMVA== 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=GHxPmvKVHX3NIeUTQKvpfBxCyfCEIpn1BvmhiZqKnxo=; b=FMl+i2cwH59ZYP/hVFViBUAfLoewb1Z4JkfW0r3PRxa4mZZE1kBf9jI2G5nut+yZrGpOY7bnaGYDJDzVk9wpYGxLUaJwImURE/FVccObmfixzvbgExv0xJlz2QsQiTca+EuSboW1X3oeq0gSKxa0aRC13OwJR89JptokQrdJqMU= Received: from DS7PR10MB5117.namprd10.prod.outlook.com (2603:10b6:5:3a6::17) by BY5PR10MB4148.namprd10.prod.outlook.com (2603:10b6:a03:211::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.24; Thu, 19 Jan 2023 21:15:20 +0000 Received: from DS7PR10MB5117.namprd10.prod.outlook.com ([fe80::93ca:e22f:aa6d:94d9]) by DS7PR10MB5117.namprd10.prod.outlook.com ([fe80::93ca:e22f:aa6d:94d9%2]) with mapi id 15.20.6002.011; Thu, 19 Jan 2023 21:15:19 +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, jhubbard@nvidia.com, Sidhartha Kumar Subject: [PATCH 7/9] mm/hugetlb: convert hugetlb_add_to_page_cache to take in a folio Date: Thu, 19 Jan 2023 13:14:44 -0800 Message-Id: <20230119211446.54165-8-sidhartha.kumar@oracle.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230119211446.54165-1-sidhartha.kumar@oracle.com> References: <20230119211446.54165-1-sidhartha.kumar@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SJ0PR05CA0027.namprd05.prod.outlook.com (2603:10b6:a03:33b::32) To DS7PR10MB5117.namprd10.prod.outlook.com (2603:10b6:5:3a6::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR10MB5117:EE_|BY5PR10MB4148:EE_ X-MS-Office365-Filtering-Correlation-Id: 45c14585-b4ab-4e86-fe06-08dafa6244fa X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: UXrgnV4XBQKY7vcaJu7VArq8oNHiY1kLHPKp3aNTYsUuP3daXmVNrVas3kQHOenYswfXRZemWHLQpRnC5RmRo1IYM4KhtG/e+o9aVvejs59nUcWhvaWYi30TrKZ9WMYUYMkhZi9dPjDy5o/WSzsQrkBRrWUPE0/9bqwrfSDWEK5tvxkeX5oCgRh+6Dp8WmEEZ3cYAQbq0C+354IuH00hmnxtCN9A1ei2IhwhU3bvteoS0n2OPjqEsmtiaDX9U8ij8Vv5NPzdIX0d7z2fQg0Pjy+PTC0yamoV6jUuKSuQqoSCk3WAqBVOxBuQWyREWuk0J1MA273Rl/dkzw0KAQKshQRQ18ajy3fX9B7ERkivUfVAt5szRF3L74Q0TOqkLoi+jNH/5E9P4qnr5ixBNMmML6HwFMyH//WLe+3AjaFcB9jbCUn6pe83wVLy4xB/T4MTOEkOsYMYpqXs8m77z8tQDHKA3svLWIaJBPQXvWnj+HZ9VByAXE3uDK8jmXk7V51Imo7PDCGwDzga1zKuiy0OA5F2t1eUGfaIUQNTLtpg99Opel0GiKZiQO2yic5EcpCnsAIiXryUdbygJ2yiuu0qDeSH+rIe2crL93DZI4j7iotAD87oHapW++oYp+3a08JfIyytuKReudDONfrRej5uJw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR10MB5117.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(366004)(376002)(136003)(346002)(396003)(451199015)(6506007)(5660300002)(86362001)(66946007)(66476007)(44832011)(2906002)(8936002)(66556008)(38100700002)(316002)(107886003)(36756003)(6666004)(478600001)(4326008)(6486002)(41300700001)(8676002)(186003)(6512007)(83380400001)(1076003)(2616005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?5lVvvUCyZ03KMSv32MLtYbA+KFkC0XLvSf7HMvLVCW2taqt9+27oZ2/ESufQ?= =?us-ascii?Q?tGkBNpOQE7UjzKo7zQkta5DLtlZQz9T9NFJsQ3s9UcI8oqreA2DPU3oZe9q7?= =?us-ascii?Q?4fD9MKRiwuDa/tjw8xIKC9IOLcdmtquH9yKS4NnI5Vwc2hmeZLWnW+qbGoEc?= =?us-ascii?Q?6uOfEAeO6TeK6yFG//g9uvc7tt3Zk1OjfglsieJRStrWQSfRo9iBQ/l2eVcI?= =?us-ascii?Q?LU7LtdHWQSMvGFzAJUH1H2tT8Ii3cCZMK8zHDyn0vPDt6fsmAZRFmglTr9JR?= =?us-ascii?Q?WDB8gciyzQ8kN6eiASlE55zrsXe+9wkfh3IutbSqMQRhOZPz1jbwbjK0HhlD?= =?us-ascii?Q?qTquVJli3+ra2v5xD22D/S8TAn3muaM2aI+IiH5jlmowZWI6N6j3LPxQVXFK?= =?us-ascii?Q?Euj90mQWpYWjknF4+qAxc8B60d3EnhZii5prKMHOEIsnbosoemjbId+RszU/?= =?us-ascii?Q?DakWrUbY7QPrSd3GzVCU3WZEq1p6oyEsfiqdRT7HT0OAWmOXLRpufAbsVzFV?= =?us-ascii?Q?YB0FyVhRF5wy1cwlyagLubLnGOa0M/ODXqr4nEznf0COsdaAuzjGoauxpNg/?= =?us-ascii?Q?xVffwSFKoMj4sUGjav0m9U2TE6eepSxXn5/cCjqGEN3SkQ+6Ns57NR7v1qmg?= =?us-ascii?Q?EKqKvys1S/G1Kp/M26/ZTk0oWynCjfsx/9lWyPK3wl5W38ABQD7yEjJGupw9?= =?us-ascii?Q?UbC9VM2u7ep/nxap4vIc07jFR9wjjPH8hpuKtKyAT939lFF+WuZOZkEKY0mh?= =?us-ascii?Q?Gwewh7Pb9gJdCJJ6vJ/s7Lx3LYY4BwGvcsIhxgeV+Gssar+hEe2uAUZSFj0H?= =?us-ascii?Q?Q8sUpFeBj0VVmFyjF2ZJMqBXAgJMYQ8894pIjKcdssFm507pl0MFyK4wGJxR?= =?us-ascii?Q?GVRIk8DkxDNnhf9gulKo3LySSM/zk6nv7h9Pxs5d8Zf7rtN1qodIV0BmEiUr?= =?us-ascii?Q?c40Vq91X//4Aui/dcufWjDiH3nCfYCu6XsWnr9UCZ2FRdAcn++UFQWlK6qTl?= =?us-ascii?Q?imo/geqNaAC9nCntOekEF3qwrzj9qNSsgXxGIXsW8WKF1qh93VgeaUPSxSI4?= =?us-ascii?Q?twkoKKicByoULRwTJGwsYYjqKzmHSGiPuZWytd8P23GDIN0BL4SaegxZtlYN?= =?us-ascii?Q?CCTVf90tF5ZQRE9cacsxY+t66qhaU714JefWdCXIRjT6DTvEE1y9mO4m94Ov?= =?us-ascii?Q?QEseyyjCPZ+Fk0oVOZhLhDXf3YreTPgqRVdHWU0LS0WF3g3EQKcl8gcZB9CO?= =?us-ascii?Q?J43BdJ+geqO7xRKd/4unknv7iykdNpGofPNcGyOFCqO2hwPga7sCl7aJWH+M?= =?us-ascii?Q?FKeIMgZog+dkfWWO3/KUsF/woL1waFQcsbkANff/3gs8qKPhYI0ivgUN16/7?= =?us-ascii?Q?aYo4kGo3FVDDjOOrlFT0DrcWqvq2doPwVObSIOYVWRobf8Crx9SsRWbL++PE?= =?us-ascii?Q?ZThMyA4UMRQCV8zn6RPV4rdJuyWRtnLUe/qHHqPBMzGIqq4PFSUB1oKqAazi?= =?us-ascii?Q?/uKpetpGySj5F15eW04A8R/PsUaYxyCIggw+OjvaRDJo0cwadNW0/+25jTGK?= =?us-ascii?Q?EgXTjPa10yH/KyBmBUAqriG9RBinjoMe9u2H5BcR+oBBEHbD5A7cXtSGwFhB?= =?us-ascii?Q?PifemFPR5tbU86aDBm2ZynNsBMiW66UcF2FMuacOrpWyKt7BALwl01jKPybt?= =?us-ascii?Q?lPhu/g=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?xNh26DoQ38vYWrHyesRPzkqdi45yGMo7KA7/BYxByTgzPS4nzPi7IByteZjp?= =?us-ascii?Q?UlHDB1+whNpovOGwATGCIJ7uVmvWt3eGIOtTUlwy2Rio1o2+vtAG3JS6/EkA?= =?us-ascii?Q?xH6D4itOxBl02bQkbmZuaafcESUV5np6I4hXPODWK6ZafHHGe78xqTk0f+5N?= =?us-ascii?Q?54Uk+E2s4cuqSQDJOC8QDVG9XCjiGB2s9464KMh7w2wM3UVRg5ntx1u/JCGB?= =?us-ascii?Q?cjugsDyccEmEBQ1qaqI9vhTP/V5Hi5KbY8fAYxsFH+jkpjcMWgzYxtZr1tmK?= =?us-ascii?Q?RY63pm9P0UiwQEIkUU8QqpqCYS553ZNgOoLJANw4crFq0oUn73bFVSJD0sDt?= =?us-ascii?Q?8LBOmfunehiA7qiBCttiLtxC8e4g0NxPU6SkE2iMIV/UYCc6YIUAg2osj+a+?= =?us-ascii?Q?vJhrxN5BydR6TaQIOP4w1kYqHrDdvvo29BEpqX4+BWfVf852YYp9O3gnV3z3?= =?us-ascii?Q?QCDoKmu80oPYucq+sqOicipVYZ6BI408Wi5d26CCXgcNztdGyldd2W9kj+GV?= =?us-ascii?Q?hLvjU/J+xbta4ADNJ5NoPc0K741kDmyA9DPaTn9W+IsFlf0x5uSNxXJGbrhM?= =?us-ascii?Q?jMmvyg+ZBNQ4+gqyChxYliBMP1ev0QRvqPqZeUDIyX99GjUsXlEz8xbtx6Ho?= =?us-ascii?Q?5y715dsXuVAuZ+AboTO8gyYpADpUBVo4fl0tWihHf2JpFvzacAYBEVC1tIXv?= =?us-ascii?Q?aj/loaEzTp+wYnggQd5WoMvtxrY8OdrcQMu7B5sHLFg7BXD9vX+RyTnLLxBF?= =?us-ascii?Q?7DuqeCpsfCtZEiCfbL+Dtkh+qLEjmseU5CwU3+s4GDomz2T9AL8kEgGz+5iG?= =?us-ascii?Q?AnBW04eSev7Tja2pfd5MUsi8Zkp2WFLSLsLjIWY4gqPd0PSlMHgEtdeEmefQ?= =?us-ascii?Q?kTdMeY1YyVvr0JyYZ8rtj0HfQ0a9ZVrZjea7L7jt1JydTzlxWzABMF24FW4M?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 45c14585-b4ab-4e86-fe06-08dafa6244fa X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5117.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2023 21:15:19.8791 (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: 8t2SXeAGisKmM+7/ZbUJtd9lZGFqioPX8M8kiIKzXKKzmf9DdnwMuV+V/w6/hMM5YJyQCC4L2EcpAgU+JYmdOYq224XRnMFhy+DBWYR4Q3g= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR10MB4148 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.930,Hydra:6.0.562,FMLib:17.11.122.1 definitions=2023-01-19_14,2023-01-19_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 phishscore=0 spamscore=0 mlxlogscore=999 bulkscore=0 malwarescore=0 adultscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301190178 X-Proofpoint-ORIG-GUID: 2CG6b7mzfqCGAf3OkUnxrzOGJwckAUeC X-Proofpoint-GUID: 2CG6b7mzfqCGAf3OkUnxrzOGJwckAUeC Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Every caller of hugetlb_add_to_page_cache() is now passing in &folio->page, change the function to take in a folio directly and clean up the call sites. Signed-off-by: Sidhartha Kumar --- fs/hugetlbfs/inode.c | 2 +- include/linux/hugetlb.h | 2 +- mm/hugetlb.c | 9 ++++----- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c index 880ebc58f330..76e146bdcba0 100644 --- a/fs/hugetlbfs/inode.c +++ b/fs/hugetlbfs/inode.c @@ -869,7 +869,7 @@ static long hugetlbfs_fallocate(struct file *file, int = mode, loff_t offset, } clear_huge_page(&folio->page, addr, pages_per_huge_page(h)); __folio_mark_uptodate(folio); - error =3D hugetlb_add_to_page_cache(&folio->page, mapping, index); + error =3D hugetlb_add_to_page_cache(folio, mapping, index); if (unlikely(error)) { restore_reserve_on_error(h, &pseudo_vma, addr, folio); folio_put(folio); diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h index e76be7e8df2c..2dcae9bb4495 100644 --- a/include/linux/hugetlb.h +++ b/include/linux/hugetlb.h @@ -722,7 +722,7 @@ struct folio *alloc_hugetlb_folio_nodemask(struct hstat= e *h, int preferred_nid, nodemask_t *nmask, gfp_t gfp_mask); struct folio *alloc_hugetlb_folio_vma(struct hstate *h, struct vm_area_str= uct *vma, unsigned long address); -int hugetlb_add_to_page_cache(struct page *page, struct address_space *map= ping, +int hugetlb_add_to_page_cache(struct folio *folio, struct address_space *m= apping, pgoff_t idx); void restore_reserve_on_error(struct hstate *h, struct vm_area_struct *vma, unsigned long address, struct folio *folio); diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 9568d49c12d6..4ab3eda6db18 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -5663,10 +5663,9 @@ static bool hugetlbfs_pagecache_present(struct hstat= e *h, return folio !=3D NULL; } =20 -int hugetlb_add_to_page_cache(struct page *page, struct address_space *map= ping, +int hugetlb_add_to_page_cache(struct folio *folio, struct address_space *m= apping, pgoff_t idx) { - struct folio *folio =3D page_folio(page); struct inode *inode =3D mapping->host; struct hstate *h =3D hstate_inode(inode); int err; @@ -5678,7 +5677,7 @@ int hugetlb_add_to_page_cache(struct page *page, stru= ct address_space *mapping, __folio_clear_locked(folio); return err; } - ClearHPageRestoreReserve(page); + folio_clear_hugetlb_restore_reserve(folio); =20 /* * mark folio dirty so that it will not be removed from cache/file @@ -5837,7 +5836,7 @@ static vm_fault_t hugetlb_no_page(struct mm_struct *m= m, new_page =3D true; =20 if (vma->vm_flags & VM_MAYSHARE) { - int err =3D hugetlb_add_to_page_cache(&folio->page, mapping, idx); + int err =3D hugetlb_add_to_page_cache(folio, mapping, idx); if (err) { /* * err can't be -EEXIST which implies someone @@ -6269,7 +6268,7 @@ int hugetlb_mcopy_atomic_pte(struct mm_struct *dst_mm, * hugetlb_fault_mutex_table that here must be hold by * the caller. */ - ret =3D hugetlb_add_to_page_cache(&folio->page, mapping, idx); + ret =3D hugetlb_add_to_page_cache(folio, mapping, idx); if (ret) goto out_release_nounlock; page_in_pagecache =3D true; --=20 2.39.0 From nobody Sun Sep 14 16:25:03 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 79D43C678D4 for ; Thu, 19 Jan 2023 21:23:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230156AbjASVXv (ORCPT ); Thu, 19 Jan 2023 16:23:51 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38070 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229820AbjASVV7 (ORCPT ); Thu, 19 Jan 2023 16:21:59 -0500 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9A9609FDF8 for ; Thu, 19 Jan 2023 13:15:42 -0800 (PST) Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 30JKwkre010055; Thu, 19 Jan 2023 21:15:26 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=N+yn86ESbBpJl8IWFmBr7oglLMvx4RStv5pLlKp0ZEM=; b=xZLVvhuvysCfuePvrw3nVMGtQyUcFRkEzBxdH6E8/TJOuOt1VVPn5wp2lce2E9/BPHY1 coVjbV/X0JhCr9htvQW52Aihdt6FjjQYICxi1LI2Og24fMyM76faibbIr+HThnzsHaBE SVe7FRDCLLWQKzMuFq/7s2eg2UTeSy2IUP+zs4RS++3ymq1Nr+JS0sc91jgXHMAPPI3m GPTYAvn4eC6lyMru3uv9gwGLVPyuNBuYrRUvJuL9gWEvxSJgLxjtgygxVF/iA2Mo4EZ5 TCk8mVV9NSvAFiGha6P5eyTubZuGH7shivNRXkW0cM9690Fgi/pioTT31626CuYnbIpB DA== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3n3medkdw0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 19 Jan 2023 21:15:26 +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 30JLEQkL013443; Thu, 19 Jan 2023 21:15:25 GMT Received: from nam02-sn1-obe.outbound.protection.outlook.com (mail-sn1nam02lp2045.outbound.protection.outlook.com [104.47.57.45]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3n6qme9njw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 19 Jan 2023 21:15:25 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=exHkHQOIWQ0dqw8IYbZWrnuaH7fDww3AjSyE1yw/z7hyRZLp7+2VCvW5trJlcEfq/Y4fBhWBtbhAgVFALZPd+dCUmL4GxuKG3CJkh7v7QikALwIucBu5imocm7i8zQjiMtGHgc2ogKeqHKBzhF8KXsGZljQjV/5wLVso2WieYWpgRARTexX3G9jqHVhuuG+l9fisjTXXi0VHBpzHHM6Rhj6SqxC6inH4D+7vIump1DORMxzhV4UC6dL7PEtBcAFKDVAlaUew6E+aBGBQtMaPAdaO7ixTamFIZYF14hi/xYML7aTPUdgqBL4XgVnp75MnlJnE4OxmVjXjNjJhVBDjhQ== 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=N+yn86ESbBpJl8IWFmBr7oglLMvx4RStv5pLlKp0ZEM=; b=Eog71K7bZBB5H8VWNwjxmrqnHji0HH44ppcD8BUkO5cFdAQEaETxHUMH9F0YvGcEJrRmmgNrul+/LjiS8hN89XrKbRYvPOvEmFYSd77hB06JcJ+uIoUGPmq0+xkVAN3PNdsDoJpyFitXTB4GQboas4KQqTdat8GLPz3yOtnbWFO8x2/AYkCKo++eDml8muBh/h1F6iypf7nYRSKjtPtj1IxOVmy2Gjzo5avIXpK6ZTZBzy3GvEgnxvoZYYPDaVkclUum+uxq75UTYjuMJrHe8ffWM+um4X7X9EW79nlwbCCr/rTAAfAoleXha5OTN/rTjKzF9bScMaFm2jW+MUhtqg== 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=N+yn86ESbBpJl8IWFmBr7oglLMvx4RStv5pLlKp0ZEM=; b=jnh9FoxNITU9cGwKPzckjSdvYFMaW+EQL2Hkb56M7uIlU5HJeI59/E19Q4zOaRndAj/ZzO3TXBCk4purseLcDeIfIsCJ5egckH3Uro1Qf0udYOi1mzlz23EjnV2/Hm6dTY+8ween9fyOkSUH7H+tOzyQlcd7eTHU6g2K6ZTC1dw= Received: from DS7PR10MB5117.namprd10.prod.outlook.com (2603:10b6:5:3a6::17) by BY5PR10MB4148.namprd10.prod.outlook.com (2603:10b6:a03:211::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.24; Thu, 19 Jan 2023 21:15:23 +0000 Received: from DS7PR10MB5117.namprd10.prod.outlook.com ([fe80::93ca:e22f:aa6d:94d9]) by DS7PR10MB5117.namprd10.prod.outlook.com ([fe80::93ca:e22f:aa6d:94d9%2]) with mapi id 15.20.6002.011; Thu, 19 Jan 2023 21:15:23 +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, jhubbard@nvidia.com, Sidhartha Kumar Subject: [PATCH 8/9] mm/hugetlb: convert hugetlb_wp() to take in a folio Date: Thu, 19 Jan 2023 13:14:45 -0800 Message-Id: <20230119211446.54165-9-sidhartha.kumar@oracle.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230119211446.54165-1-sidhartha.kumar@oracle.com> References: <20230119211446.54165-1-sidhartha.kumar@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SJ0PR05CA0011.namprd05.prod.outlook.com (2603:10b6:a03:33b::16) To DS7PR10MB5117.namprd10.prod.outlook.com (2603:10b6:5:3a6::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR10MB5117:EE_|BY5PR10MB4148:EE_ X-MS-Office365-Filtering-Correlation-Id: 913cc73c-1485-4e11-d31e-08dafa6246fb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: zVmMkJXFS1s2aZ2tefNuwmks4I5ZCiWA2CkghMlp/jYMkaqwDSUCMHHsnN0Z0XaIn2z8WGvtevVkMEKtX0FjE+yFcDDMSddomZdB3p0ogHe8eLuov75S+XpZOWr6GHhnopZhoRidVkWHSlymBEFB5qFkkuVt10D3tED9bKgHHwyhtB7k4KthLyi1TIhIirdlWOWLYsLJPvc+mVlZTbwVTVUvp8rxkB3zlmdw5iaWnLgP3UJQWFjTs5D+RClmzkvGESDeWEV8mQ9ugqQrNTvn2LAC4ObxIedzR72Ia5aWKkZ9c0JyOEw12FiKGm/HH+ErPDYVLjDxolDf7N0Vhtw1BAmCIbUj4V8dqN7PUzCMXhcKge2p4j7vloSvzgBEkjm03HOZ5omhdt952btLRdTjeGrLzDw+ymhU8Igtb09TEdqeL3zLzbpTufZbQBD+juQxtjkYrlC4aVjPN50pAUbeKbYa+MpesH9pjYYYuIyqQOT8sWjffghtjVURukI1x65Qynhq88pxhA+xPK7l0oOK9+/31ucb28gJRBLdYq84QYlRebhuM7eIiEi8KgRA+7jZc3Vz7HCSpkuPg7csDK7DdF3sACXP3CxLUDI3IwGkDjg5k6zbWhSZ6uLu+D/ltn+aoZQkTnAQSycpJ5+nHr1xXg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR10MB5117.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(366004)(376002)(136003)(346002)(396003)(451199015)(6506007)(66899015)(5660300002)(86362001)(66946007)(66476007)(44832011)(2906002)(8936002)(66556008)(38100700002)(316002)(107886003)(36756003)(6666004)(478600001)(4326008)(6486002)(41300700001)(8676002)(186003)(6512007)(83380400001)(1076003)(2616005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?m1pBqf6B8SMfFm0UNvtkuo81SiUbVhSsCnu85RCz6JCU/JXAT3lNeKEhmEby?= =?us-ascii?Q?97wbCXISV6rEOqzP/4Ho7hXxS+s263ztjBvrfMV41vwOxtKm4EqFTmUGEzls?= =?us-ascii?Q?2yPhVqZ+PeluimzXUQvLdmEpO6242m8YGXXMtGkrhIy2OQtW7qtqqbeM77q0?= =?us-ascii?Q?mpMWTdx0I9TgRGK28ddvpQ12EQVnIyHPr9kYYn5Ea0VGMXiDwTUfnLy2UcCR?= =?us-ascii?Q?EDNETUg2c1WpOg3HstWGaPJdx+jxKctrGMHTKixaqyNzot5wsVoqcYkkzYyt?= =?us-ascii?Q?DFZTaDAMbH1G1inzfCTPi05TkxVbIHQmgT3siNlM5oqMivHWF153BVE3niSU?= =?us-ascii?Q?0GWXXocm6YLw9NdTZgTfAckUOvJJfrxWhyCi6GR9R/K7ZbFJsXHd29Xfp0Y2?= =?us-ascii?Q?uBy1sQ8z5Z4AAe8JkJDIidfUUYw3eesLPSIaYjmSQUOsrNSydz7tOPeVs8x+?= =?us-ascii?Q?jIYR4ETprgCQXg+VrQjtGTrn+ErqKu7O5pJPb/+PMd4pD0itMbaHGJUoZ/w1?= =?us-ascii?Q?R7+/AGV9OKZJ/PJuTwhcG+H7DauQrLuYQT1LKfVz0E2oK3vKMpZKLiQYO2vj?= =?us-ascii?Q?KQt5yINvkECMN0+HHTiHPdJYh159X6q7fchFnAQjsUUIBGgqHfzy/wz5WHJt?= =?us-ascii?Q?+M4IAsIZ9sjgcL0IX1pRaju9AWkVI40FVrRFLcSOSxDyWGdpVGzbHl/j081m?= =?us-ascii?Q?1j3ieTbJUR8eqs01fDAJMWy6GARPWXRFgJFmmKLIlGQLtrXX5GXG3HtHffoH?= =?us-ascii?Q?DLKh9iLpoD5y5GvIJujzsplgDsz0PlkzO34vk7Vd+HLDSoCU2FJjaEdQxcXk?= =?us-ascii?Q?DXUf9QglndHfPdDUnf8skjEj5ah6k5jqP783czqVeDli4cK/C6mJSyr7waKU?= =?us-ascii?Q?vGV8a5y1ooWkvwJcOCanN9Aika177g9Mc0o2G7G3QuFZRKbNvLD6x6zQkMxP?= =?us-ascii?Q?uNuZzGzqhD/T0ixiQpntH1a34cwUS4RUIIANTbbVdPC/ZxH39SZ4Be7wU90u?= =?us-ascii?Q?6p5ageWvjfT63e8HKNZnGFugyX4fS2wYcG4xWUxTsBYq7mSaM6XT79NMaOsx?= =?us-ascii?Q?f1Uncmy5ZpIiguSK56EKes1xKFQU0HxcHLK3wcPflA2KSdEQGMOF4RD6MGcf?= =?us-ascii?Q?O4hMP4lJfbgavtVrscXLZlu+ZnWq2y1DEbj5VZUjIOl8U5BLOnyUpji8BoZE?= =?us-ascii?Q?5R2soaVHLsyx9HN03tqFokcClCnMmz2DdRly0WFPGxaIpelxinvZpJUZQLz1?= =?us-ascii?Q?rj+4nK4gYO9r60WdlGwlG2zAy/yNE28IAogqKaOSdVAL1ffgc6nYKoF+40A5?= =?us-ascii?Q?4IWR1HPKHsP2oPC36BnlUyiPt2Fxvbp0Q4kSHIVdeGrimQlW+TZuggeTTyIq?= =?us-ascii?Q?FsYEqHEh1iT7dSMbjUJi5QeZG23XoXKfy18tXiQuJKc+qL7uqLzMGV9wCkWm?= =?us-ascii?Q?ANQli2E2qamFJ/mv29+4UQ8UuOCMzfp8gk0yE+fsTmEhzZ5epSJj0VBmaRXf?= =?us-ascii?Q?26WFBYszJn07Q7UnLJTExfsfc9e5im8hrfbNKPlTAlA6ZJhgGFvWkO3VcG43?= =?us-ascii?Q?zx92LxCm4fb/Coa6u5LhUjXhgJGHgUMEoh84sDV1pu2O0K8ox2Vu2N3lHE0C?= =?us-ascii?Q?WjS1lQRL7k3cHBzz+DjkjArPPweHj9dXe0403TCDWBAbdF5tLnsliJcTYcTd?= =?us-ascii?Q?T00I2Q=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?4KFNrtjcdJitKxEycWAaYOpvVSiy/6HHZllvhUnjBCBt9nOCRsy2wejylULZ?= =?us-ascii?Q?M/7S8O/YLO9j8/8TnK2ovjbiPJ1ZbZyxEo5piyyobKPX1oQ1zP9u6aNtIqBb?= =?us-ascii?Q?Pz0GcyoflCDycRW4WvUrbwyuYxkdfFdlU0/5lxSlgcdla21S/Pv9sP70gJvy?= =?us-ascii?Q?TXlUQi9MAm7QQgx2nDhS2wQn4Gft6E95gjBli37TOTTh3Q9/Z0XL/c5Q9HaO?= =?us-ascii?Q?rr8YZQF0nggo3S3AWL9bryiz8AKjYd9xBS3hY5nhIFZ16O9UGTNarDkQ2woy?= =?us-ascii?Q?JMhMhsnGxkSw2Tqf3TwEP6knvf6xSynwTct0OHHhhrUxXb3VChJCwk4fl8xT?= =?us-ascii?Q?ZItAhQ/zklLP9q+KuXoxbarhzfENcUD3hR1UpTYhQqgLG+/f7V556ydDsHlY?= =?us-ascii?Q?TZ8AcZdc02+9riaV5F4oVLcF2zT8+Q2+RC408hAMgQ2nNqJFgfMx1diDycP2?= =?us-ascii?Q?Je2MpPOebLF7EgDOcz7/0H8EmY/lW8kYkGT01UblBl1ivDDFtljNgJ01VxBy?= =?us-ascii?Q?Mm1MVW85Q8REiowir0yvZEtpP7gA3iHxw7AxvFObVgxVPg/LFfAXlcRBr80p?= =?us-ascii?Q?Z4GpLcA78tegIPGbKBVxzMbE8cTnC85FAfxitFPA/lkCvPBPGnlOp14oANCt?= =?us-ascii?Q?sRIm/6UYxoBhN7u676rmcrduqr/bZMbEQ4acWZ44Y9vqQVPJ64ruO1r9QGQB?= =?us-ascii?Q?fpTCt4lnnTvtrwhYsDEYeVbyLN+FLeGL/q/ljcqdT2Mbmn/Ejsgox7OvKrD5?= =?us-ascii?Q?2NQoPnzm8boSxkVQehLvroGnwS0DF64WkPcRxQlvP19pyTlQcCBAH86AySPa?= =?us-ascii?Q?CoFn/hp+vSrC1x7XnJ9451oeG87V0uquALkXTHPCiQpTIWfwwXg1EDplgmBl?= =?us-ascii?Q?bKBsCzPaPzEvoj13gYo99XpyB4G99KWuMLsc/ZdQQ7qR3ShHG+v8GwvRC/bt?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 913cc73c-1485-4e11-d31e-08dafa6246fb X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5117.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2023 21:15:23.3025 (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: RLzOi28GAyrYTvKS83yrpTiva+q9SMI+mlFCriPDHOJbNTWREg1Tkt6IQzDAIwgcYQt7Dta+LjNRyXQqImvJus3xwJtipyUQa9EmrvFfdD4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR10MB4148 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.930,Hydra:6.0.562,FMLib:17.11.122.1 definitions=2023-01-19_14,2023-01-19_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 mlxscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301190178 X-Proofpoint-ORIG-GUID: t8iyFIkF5VwWwoQvov5nVgHRYOHmEaa3 X-Proofpoint-GUID: t8iyFIkF5VwWwoQvov5nVgHRYOHmEaa3 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Change the pagecache_page argument of hugetlb_wp to pagecache_folio. Replaces a call to find_lock_page() with filemap_lock_folio(). Signed-off-by: Sidhartha Kumar --- mm/hugetlb.c | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 4ab3eda6db18..20127271b64c 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -5472,7 +5472,7 @@ static void unmap_ref_private(struct mm_struct *mm, s= truct vm_area_struct *vma, */ static vm_fault_t hugetlb_wp(struct mm_struct *mm, struct vm_area_struct *= vma, unsigned long address, pte_t *ptep, unsigned int flags, - struct page *pagecache_page, spinlock_t *ptl) + struct folio *pagecache_folio, spinlock_t *ptl) { const bool unshare =3D flags & FAULT_FLAG_UNSHARE; pte_t pte; @@ -5529,7 +5529,7 @@ static vm_fault_t hugetlb_wp(struct mm_struct *mm, st= ruct vm_area_struct *vma, * of the full address range. */ if (is_vma_resv_set(vma, HPAGE_RESV_OWNER) && - old_page !=3D pagecache_page) + page_folio(old_page) !=3D pagecache_folio) outside_reserve =3D 1; =20 get_page(old_page); @@ -5923,7 +5923,7 @@ static vm_fault_t hugetlb_no_page(struct mm_struct *m= m, hugetlb_count_add(pages_per_huge_page(h), mm); if ((flags & FAULT_FLAG_WRITE) && !(vma->vm_flags & VM_SHARED)) { /* Optimization, do the COW without a second fault */ - ret =3D hugetlb_wp(mm, vma, address, ptep, flags, &folio->page, ptl); + ret =3D hugetlb_wp(mm, vma, address, ptep, flags, folio, ptl); } =20 spin_unlock(ptl); @@ -5986,7 +5986,7 @@ vm_fault_t hugetlb_fault(struct mm_struct *mm, struct= vm_area_struct *vma, u32 hash; pgoff_t idx; struct page *page =3D NULL; - struct page *pagecache_page =3D NULL; + struct folio *pagecache_folio =3D NULL; struct hstate *h =3D hstate_vma(vma); struct address_space *mapping; int need_wait_lock =3D 0; @@ -6068,7 +6068,7 @@ vm_fault_t hugetlb_fault(struct mm_struct *mm, struct= vm_area_struct *vma, /* Just decrements count, does not deallocate */ vma_end_reservation(h, vma, haddr); =20 - pagecache_page =3D find_lock_page(mapping, idx); + pagecache_folio =3D filemap_lock_folio(mapping, idx); } =20 ptl =3D huge_pte_lock(h, mm, ptep); @@ -6088,9 +6088,9 @@ vm_fault_t hugetlb_fault(struct mm_struct *mm, struct= vm_area_struct *vma, }; =20 spin_unlock(ptl); - if (pagecache_page) { - unlock_page(pagecache_page); - put_page(pagecache_page); + if (pagecache_folio) { + folio_unlock(pagecache_folio); + folio_put(pagecache_folio); } hugetlb_vma_unlock_read(vma); mutex_unlock(&hugetlb_fault_mutex_table[hash]); @@ -6099,22 +6099,22 @@ vm_fault_t hugetlb_fault(struct mm_struct *mm, stru= ct vm_area_struct *vma, =20 /* * hugetlb_wp() requires page locks of pte_page(entry) and - * pagecache_page, so here we need take the former one - * when page !=3D pagecache_page or !pagecache_page. + * pagecache_folio, so here we need take the former one + * when page !=3D pagecache_folio or !pagecache_folio. */ page =3D pte_page(entry); - if (page !=3D pagecache_page) + if (page_folio(page) !=3D pagecache_folio) if (!trylock_page(page)) { need_wait_lock =3D 1; goto out_ptl; } =20 - get_page(page); + folio_get(pagecache_folio); =20 if (flags & (FAULT_FLAG_WRITE|FAULT_FLAG_UNSHARE)) { if (!huge_pte_write(entry)) { ret =3D hugetlb_wp(mm, vma, address, ptep, flags, - pagecache_page, ptl); + pagecache_folio, ptl); goto out_put_page; } else if (likely(flags & FAULT_FLAG_WRITE)) { entry =3D huge_pte_mkdirty(entry); @@ -6125,15 +6125,15 @@ vm_fault_t hugetlb_fault(struct mm_struct *mm, stru= ct vm_area_struct *vma, flags & FAULT_FLAG_WRITE)) update_mmu_cache(vma, haddr, ptep); out_put_page: - if (page !=3D pagecache_page) + if (page_folio(page) !=3D pagecache_folio) unlock_page(page); put_page(page); out_ptl: spin_unlock(ptl); =20 - if (pagecache_page) { - unlock_page(pagecache_page); - put_page(pagecache_page); + if (pagecache_folio) { + folio_unlock(pagecache_folio); + folio_put(pagecache_folio); } out_mutex: hugetlb_vma_unlock_read(vma); --=20 2.39.0 From nobody Sun Sep 14 16:25:03 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 AC805C004D4 for ; Thu, 19 Jan 2023 21:24:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229924AbjASVYK (ORCPT ); Thu, 19 Jan 2023 16:24:10 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38072 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229461AbjASVWA (ORCPT ); Thu, 19 Jan 2023 16:22:00 -0500 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8EADCA1014 for ; Thu, 19 Jan 2023 13:15:46 -0800 (PST) Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 30JKwx6L008067; Thu, 19 Jan 2023 21:15:29 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-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=8YPmBgiWXHv6nshpCJp4+H8Ty8HRSgwtJRlGF4JM4EY=; b=khvChgNxrgMXeqe22fvI+I+KrESMTEsHyArPzt1Kddn7SmTTwGVqDB5Mv0FKFK3tfG3k IHiuFYNVg7dHidiP71s68gRfbNMKw6+MyQn4eHlA8Nk7sifl4Pj+IFt1LBgQs/upksdk XUojjGnsKbEy8ZQDT+oL9+WDPRc+O8UAk3gJ6z/0WgapyPPQE0YG9U/gx8Ou6FWviarR 9z/Y92g6z2DO/KsC01bfJ017LFz91wraINrgRbvg6FLS416xSq1EA+tHguUAicEWjNMn HHeGPfWJKNy5GyQxbr5UdnHGwH8s9kKBKZWhf43HBbwbhx+geOTBGhDDYX0fEayiyz3h IA== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3n78958xa6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 19 Jan 2023 21:15:29 +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 30JJb3dh004704; Thu, 19 Jan 2023 21:15:29 GMT Received: from nam04-bn8-obe.outbound.protection.outlook.com (mail-bn8nam04lp2043.outbound.protection.outlook.com [104.47.74.43]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3n6r2v088m-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 19 Jan 2023 21:15:29 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GzRHy9A/itwLFxpVgKayhawUN2lP19y5iJGP8Rl1EcsrZN8cp0JARYNdCgn8VHgjKs0V3MT6hyoAjdY1hiuJktG7qhUL7N0mbKwc1btHz9mGeq8vgqXvF0neCAPue0p8qzDtHMtBLZEzV//fCRW/qH3kU75vEicxvmzu88bqkEOOuEo4+NnA2FCi7BlhYaUoYCP8yEob2BJefwqV2Vd5ZG3pd2vf/kM72/oLFBL1/dKxs96IDwNlUo3BGGL6BLN5xBPkr3XwBSo7TuZ4PB2sY5ymkvz+pYS7Cv3S/j1YErR2n3IREiOBwpmZ2UhigHffOkRnEHy5vzQDc7kItQ6oCA== 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=8YPmBgiWXHv6nshpCJp4+H8Ty8HRSgwtJRlGF4JM4EY=; b=VkBAuyQ5d6+IVbNRwtfQSLUJsYbkBzpshsidGYWquvIPfSVGCsbGQ55MH3DvGWvZjHJZPNyKR6WfOCIw4GC6nbzxkx94BWzYIh4RKe9s1oHl/6a13pO38VWULM/T8fbjVEnI61OKWMopmrEkk4K0PL2PtDVqMbB4N8eUSNXE3fPHF3IBwK6fcZpo72+lj+V7mrJjf9PfJp0LwXlCc7hF9uwCOW++bPWVxvxOqGY83OrpTQ85PrStGiZWUCHZ2jYXMgCUCzNtIP4/qc9Xhvo7xiCpDXEMNcUh8J7aLbpPDwUZiXRm36DH+cV6TOWkeT9tVTsCTM37wZtqqvhUGjDV1w== 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=8YPmBgiWXHv6nshpCJp4+H8Ty8HRSgwtJRlGF4JM4EY=; b=ZysFuDSzfhJulQkRCWN5mqttdXCP0X+Lcygc47Cup4kYLmpnqkgh/KeJOrWjqhSNM63pd+8M8ixmazzWf04QgDmTvGwGS0nzd5YyJDayPExY4k4RHyTJchz8sxi8n5nMrLY3mZKePp8+hGZMwPXqaYzb+lfdCE+ulZqhzOkHxdo= Received: from DS7PR10MB5117.namprd10.prod.outlook.com (2603:10b6:5:3a6::17) by SJ0PR10MB5600.namprd10.prod.outlook.com (2603:10b6:a03:3dc::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.24; Thu, 19 Jan 2023 21:15:26 +0000 Received: from DS7PR10MB5117.namprd10.prod.outlook.com ([fe80::93ca:e22f:aa6d:94d9]) by DS7PR10MB5117.namprd10.prod.outlook.com ([fe80::93ca:e22f:aa6d:94d9%2]) with mapi id 15.20.6002.011; Thu, 19 Jan 2023 21:15:26 +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, jhubbard@nvidia.com, Sidhartha Kumar Subject: [PATCH 9/9] Documentation/mm: update hugetlbfs documentation to mention alloc_hugetlb_folio Date: Thu, 19 Jan 2023 13:14:46 -0800 Message-Id: <20230119211446.54165-10-sidhartha.kumar@oracle.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230119211446.54165-1-sidhartha.kumar@oracle.com> References: <20230119211446.54165-1-sidhartha.kumar@oracle.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SJ0PR05CA0158.namprd05.prod.outlook.com (2603:10b6:a03:339::13) To DS7PR10MB5117.namprd10.prod.outlook.com (2603:10b6:5:3a6::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR10MB5117:EE_|SJ0PR10MB5600:EE_ X-MS-Office365-Filtering-Correlation-Id: fafc298b-5b38-427d-4351-08dafa6248fc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ONeavsU7A7ykjoRuUpzt7m35SIiIJVwpufzluAsch8q6Nnh420heKnL5ZhBNkckfbDprN7xabLKCMRg1anPm9Ri+qadC4vfs4ghqRWaMSfJ0Ehw1AOm5i5dXy2wuER4DpIIhzyNpGfec3swS4lMrrRiddu5mvsNS0OZctur67zU5Oa2rVxZvVYvUm59G5YRJHXZgcfs5LFjbro+FsWd0+JmtzpSAFoVawgDE4nokE9cnXd7q9B60NilDj5cdcTp8ZSJCshsK1qVaZwVu3mWiQ10TV7bDZpphhMjRzbgLtSQJmpyeCxmvWpo2UkxTjKPUcDEj6JkJrg1GmveRZR60o3zrlBQEGpf3kes2OnSxXrUKJC1KfNAElf0b7iaTRVMJOLBTdLh04/SgK4w1eFOBfoTxN5PLPuFA6OZIjJT+/hjPD8FNrobi0v//cYZ8fh4kihwVdWAEAqrq27f0t8R2hZdFXHZsonvPQGQiU5JJ2GUmCx/ONtgbmc17ZnPufVUdAgZ5lE9Scpt5NN2qiqFhbjWmoAjACt7ADnSrcT1N5wH5Xo+i6fHeyxf9f/PyqI94XEujWCHc+03Joe8jGK1EyizELSmglbrR+pJAZhsPWxDSyrcX6b0EzqYLOZTstj3Qsz8+50TKeG18Q2JTfsfbWw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:zh-cn;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR10MB5117.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(346002)(396003)(136003)(39860400002)(376002)(451199015)(66946007)(38100700002)(66556008)(66476007)(478600001)(8936002)(44832011)(15650500001)(2906002)(5660300002)(4326008)(8676002)(1076003)(41300700001)(2616005)(6512007)(83380400001)(186003)(107886003)(316002)(6666004)(86362001)(66574015)(36756003)(6506007)(6486002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?enIycmtYL0llWW1neVl3UGlkU2paTWVDVXlqRVgwTVB3c3ZYMDdwZkVucGQv?= =?utf-8?B?QmdSSGJidlpwS0V4QlNwYmYxenl3c25jcUdlcVhLdko5eGlDQk9PdVRhcWpO?= =?utf-8?B?OGEzaytGcDM3aUN1T2U5cUVpVHY4eFZuWUNEZ3BBTDMwczJzbFFSaHY5bzU4?= =?utf-8?B?Y3NWSUFXeWx3K1owM21WdEdLeDRWVTArWkRzbGtOL01rNE1RSGNHdk0yTDBQ?= =?utf-8?B?cXdTRmNIL3Y0MytITkJRZGI3M1dZMDl5MnVIY0J4MUlKZ0JiRE5OYjU1U09L?= =?utf-8?B?bkNFL0c3YW9OTVMxcklNMGdOSUVNMFF1Ujh2bWFINFVpVngyYUtEdWw0OU5R?= =?utf-8?B?eWQ1MkZ3K2N2K3JBK2dZYklEck1nL3FvalpCY2UyZ1ZTaFI5UXBzUllYY0ha?= =?utf-8?B?aVhDMk8xL3c5UjFqcVRUajErTlRCQ0Q5NDRMbk5uUUZ3MUdLSUp2SzdGRG5w?= =?utf-8?B?OER4OXlya2FmUmhmd0JkaWVuL2J5Ykl2NzBmYkV2c1hiUzVkaUg2NlBCV2l2?= =?utf-8?B?aStQS3RIYk9Rc2FOMURlM2d0N0htZms5elgzSG1rTmwxQmljam1DU01rUWNS?= =?utf-8?B?ODJtMHZ4WU0zTWFqYUdjbFVHZEl5WEVMSVEzb01ULzZnVTNvcHFYWXZjVUcw?= =?utf-8?B?VHd6VkFyWFRnZ2dxcXpPVktRaUhSVFJvRmlSTEFLSVNzUDNuZDdyR2JqVEll?= =?utf-8?B?MDRteE1sb3ovZkM5ODdUT1QzalhzZGJVTHdpbE1LdEpmUlQ2SUk2ajltNFQ3?= =?utf-8?B?NVNrRDBiNFJ0alU3NDVncDBWZTl1TFhSYzBjTHVxWWl2VGp2ZWRMUWlmZkJw?= =?utf-8?B?SjgwSGlDdnUvWkNwSjVtcUgwZUUzRWlMeTUyc0NRTEpNa2ZVMXNpU3pDTnZF?= =?utf-8?B?L0lPRm9NRXRqRlpuaXhycHZTTEM3eG0xVDRVYzUrbG1tcXBNalJrQm15c21O?= =?utf-8?B?UWE0bG9CdG9wa203RUM2aE5UQk1DRkRnL0htZVZXK3daT3NxdEdEbVMrcHE5?= =?utf-8?B?amswb1JxWll6Lyt1WEFFelRTeXJ5WG5CVW5VQ0JDNG1Bd0ZONGNxeXBybVl5?= =?utf-8?B?bDgzOHFDSXgyeUt4U2hOOThuMzF3M1BzTVZ5VklwNVRPWmFEZURieTFaVmNi?= =?utf-8?B?NVJLcGM5bWF1WlBoT1VpL0NaY0ZmSmNsazQzTEtnUWVBZkx3TEZSM0tBMTFB?= =?utf-8?B?Y0IyUW1jNS95YzJmV21hVnZLZWF1MzVJSU0wdThzTHdoNjZ0b01NOGRjMlFQ?= =?utf-8?B?WUlrRlBxcHJMbGoxZVcvVWRpNkJpeit1SEFlbmRpN05sc3U2bzNNZGVoWjFj?= =?utf-8?B?bGNnVkVPK0Z5QzVxd25UWVVldUkxc0xBS1F5dnUyWjE5QVlGWW1IZldpdXRm?= =?utf-8?B?bk9mNEFscHh3cGk3Rkd1ODNpbW0vbXZvSWlJeUxkVVpoWGhhY0paOTlrdU5s?= =?utf-8?B?KzF4dEFFeDVzWUErVVNPeksrS0dYUnltSk1nVTBoM1lHcmhVSFBaLzR0WnNK?= =?utf-8?B?NWh4Wi9BY3Q4cEhCMTB3RnpnN2hBWElJbVk5REZsMVFVaUVOaWFpclkxSTlT?= =?utf-8?B?UlF6QitBV3R3NnBOSVpKUHQ2SlJUdVVZQk8rLzlFc2oxTlNuaDc3bjdCRGwx?= =?utf-8?B?aGNwV05UMmUvMUI2eno3eGVlS0ZBcXQ5SWpmYzF4dlp5a084UlhDdFVsUzRX?= =?utf-8?B?UGZyek9WMGNtSUhOYXBjbDFZeVBINnpHZnlJU2RDaVhTL3RXZlN2cFI4Mlp3?= =?utf-8?B?UmxKZU9KczIxUHpzdGVEVlJkZ0lWRUh5Q1ZzTzV1STVMOUFkUml3dE8yQk1j?= =?utf-8?B?QWFlN1NOL0tMb21ORkd2am9YalhwOWF6VlpMc252K25pa2ZaL29kRHlzOUlR?= =?utf-8?B?eXRBbktobkk5a1k4Q1BBaWR6aDljV0dLL1hMUHphaVJWSlpSc3d2YnU5NlA5?= =?utf-8?B?ank3OXFQNHZPTTYzNnNQdjJmeFNleC9KelVyTmU5cUxDQnE0UWF0bERqL2ZR?= =?utf-8?B?bUFTdy9YWHpUdWtjVkNTTXRHaWZFbGZSSjJNeG1CTUFrNFowbkxrVFBWYURm?= =?utf-8?B?SVJmcGk2UFRCYzl3eGRDc0U4ZW93NjkzS08yUThreGJFaVk4NTY3aEU4M09K?= =?utf-8?B?NGtuYzB6TW53VXlaek0wZytUVkhlUkJXdEdkZ3RhcmFCdkx1RElrSFpLcjdI?= =?utf-8?B?dHo4clZMK0RBT09uR3o4TzlNcGtYNnp0WkZCcmJSMkhsT05QNWtvdHFWSUJF?= =?utf-8?B?eDVsWWttb2NtZjgxYUd6MEpuQnhRPT0=?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?utf-8?B?Z3VuaHNtZUsrckdvTzYySWd4SnM0akh6R2pCRHJpT1M5dDA3WEgwT1lwcFd0?= =?utf-8?B?N0gxMHVzaVZTdjdDQUJVU0hTdzkxVGxra2d6UWFWUlFxWGI4b3NnN09NcHYr?= =?utf-8?B?c3N5RjJxd2NycWpNL25sanM3bUl5UUdZWXNSMXd2YWdTcjc1eVNTZ29FSTlw?= =?utf-8?B?TmpjL2Q3ZDRtWkRFUkljdTloRnZiSFdEZ1R4dmEyN0o0VDEzdlUvL1JEZThB?= =?utf-8?B?emtyYW45SnRadVVza2xGRjdMeUJ6dFQ1OExwY1dDNEZORC90bUxJdW4rOGxQ?= =?utf-8?B?RnZ4bnNaWWZMdWtHWGRoeUhBRzNrSXNjTm9tWFJnTUx4QlZ5M05JSXQxVmpV?= =?utf-8?B?V0dpejJNUmxYWHh6Rm5WVzhWb2JqTVNoQUxMaTFjN0lMN00rL2VBdVllTG1a?= =?utf-8?B?QzB5QUNxUFRvQTVJbXd2Q1plVGRtOEpmbS95WTdaaDNPOUs0NVRzaGZtb1ky?= =?utf-8?B?WG1MU2tFWi91S2haQ3QxRSthaE5BbHZVZGI1M3MraysrcXVjOEIxM29XSlow?= =?utf-8?B?N0s3V3RCMEFSNTQvWGdON1BzTTdoY20rdmJsZDBUelNySEtaZXoxSitqcVlW?= =?utf-8?B?WUZubEVKbnphVi9sbXM4emNqakVJdEtlQVcvZ2plcWRsUjlQNzUzZGZubFMv?= =?utf-8?B?cCtoalRPdmJLT0Zjd0JXR1owSXRUeGVYczQwVnBkQTFIaVorbC9kcU1vbnY3?= =?utf-8?B?MFR0TGN4K1NydnJHSmUzZ3NLVEluL21VaHd5Q3crSWtlM2ZLby9QSGlGc0Nm?= =?utf-8?B?SFJMZFc1bG04eU1VQXE2Ylhwam05K0JzSjZQN3ZMczNPTnM3bUtaVUFraHlL?= =?utf-8?B?cG5na0t0bmhLeVM1LzJmS01WTmFjVWFDc2NOMXI2NGkyWHlwTmt3bWllK1VI?= =?utf-8?B?cjdqemdrRWdWSTJseGNSRkg3WkUzZWJUTE5sTXBTeXUxcWZQVVZmMzBiMEMv?= =?utf-8?B?NE52NDZQeXJJVWhsemdVVWkrbGd4NkVXOC90NjRRc084OWFZdE53ZVpuVkVZ?= =?utf-8?B?SCt0cVZKdlhNZ05Rb3NmaGFvdE1ZcmRqeElPc2V4d3VScHVLYnM1K2ZVWkJO?= =?utf-8?B?L21udWRxMDBaMUtOdnBWcjhVQWdiNnA2SFdLeHp6QVBrSXFWSGRJSGl5RDg5?= =?utf-8?B?MTN0U1RRNmxjUWRkQzdtQkwyUkE1clRVUnFTUU1ueWo1d0JFZFZDNjZlRFNn?= =?utf-8?B?d1IxR0gwN1BpK28zVG9EMkVadDlXOUdjYzVyVm8ycUE2eVIyWU84aWU1NlBu?= =?utf-8?Q?Xd4jrt+ESKwuKcD?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: fafc298b-5b38-427d-4351-08dafa6248fc X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5117.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2023 21:15:26.7076 (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: vngtJTHiHIr8VwNwNobihGHe+9MapskawYYSiWD7gt4bduK1Jn0a+V1nFU032BxN9/TutaVMh6Aiwi/5EpB4do5cB5dQpMwe6md5KMM/ez4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB5600 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.930,Hydra:6.0.562,FMLib:17.11.122.1 definitions=2023-01-19_14,2023-01-19_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 mlxlogscore=999 malwarescore=0 mlxscore=0 phishscore=0 suspectscore=0 spamscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301190178 X-Proofpoint-ORIG-GUID: mk9yI2SgoqrUBZG-z_Taoy5eg0hBg_ug X-Proofpoint-GUID: mk9yI2SgoqrUBZG-z_Taoy5eg0hBg_ug Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org alloc_huge_page() has been renamed to alloc_hugetlb_folio() so update the documentation which mentions alloc_huge_page(). Subpool information has been moved from page->private to having a dedicated field in struct folio, reflect this in the documentation. Signed-off-by: Sidhartha Kumar --- Documentation/mm/hugetlbfs_reserv.rst | 21 ++++++++++--------- .../zh_CN/mm/hugetlbfs_reserv.rst | 14 ++++++------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/Documentation/mm/hugetlbfs_reserv.rst b/Documentation/mm/huget= lbfs_reserv.rst index f143954e0d05..611728c49bff 100644 --- a/Documentation/mm/hugetlbfs_reserv.rst +++ b/Documentation/mm/hugetlbfs_reserv.rst @@ -181,14 +181,14 @@ Consuming Reservations/Allocating a Huge Page =20 Reservations are consumed when huge pages associated with the reservations are allocated and instantiated in the corresponding mapping. The allocati= on -is performed within the routine alloc_huge_page():: +is performed within the routine alloc_hugetlb_folio():: =20 - struct page *alloc_huge_page(struct vm_area_struct *vma, + struct folio *alloc_hugetlb_folio(struct vm_area_struct *vma, unsigned long addr, int avoid_reserve) =20 -alloc_huge_page is passed a VMA pointer and a virtual address, so it can +alloc_hugetlb_folio is passed a VMA pointer and a virtual address, so it c= an consult the reservation map to determine if a reservation exists. In addi= tion, -alloc_huge_page takes the argument avoid_reserve which indicates reserves +alloc_hugetlb_folio takes the argument avoid_reserve which indicates reser= ves should not be used even if it appears they have been set aside for the specified address. The avoid_reserve argument is most often used in the c= ase of Copy on Write and Page Migration where additional copies of an existing @@ -208,7 +208,8 @@ a reservation for the allocation. After determining wh= ether a reservation exists and can be used for the allocation, the routine dequeue_huge_page_v= ma() is called. This routine takes two arguments related to reservations: =20 -- avoid_reserve, this is the same value/argument passed to alloc_huge_page= () +- avoid_reserve, this is the same value/argument passed to + alloc_hugetlb_folio(). - chg, even though this argument is of type long only the values 0 or 1 are passed to dequeue_huge_page_vma. If the value is 0, it indicates a reservation exists (see the section "Memory Policy and Reservations" for @@ -233,9 +234,9 @@ the scope reservations. Even if a surplus page is allo= cated, the same reservation based adjustments as above will be made: SetPagePrivate(page) = and resv_huge_pages--. =20 -After obtaining a new huge page, (page)->private is set to the value of -the subpool associated with the page if it exists. This will be used for -subpool accounting when the page is freed. +After obtaining a new hugetlb folio, (folio)->_hugetlb_subpool is set to t= he +value of the subpool associated with the page if it exists. This will be = used +for subpool accounting when the folio is freed. =20 The routine vma_commit_reservation() is then called to adjust the reserve map based on the consumption of the reservation. In general, this involves @@ -246,8 +247,8 @@ was no reservation in a shared mapping or this was a pr= ivate mapping a new entry must be created. =20 It is possible that the reserve map could have been changed between the ca= ll -to vma_needs_reservation() at the beginning of alloc_huge_page() and the -call to vma_commit_reservation() after the page was allocated. This would +to vma_needs_reservation() at the beginning of alloc_hugetlb_folio() and t= he +call to vma_commit_reservation() after the folio was allocated. This would be possible if hugetlb_reserve_pages was called for the same page in a sha= red mapping. In such cases, the reservation count and subpool free page count will be off by one. This rare condition can be identified by comparing the diff --git a/Documentation/translations/zh_CN/mm/hugetlbfs_reserv.rst b/Doc= umentation/translations/zh_CN/mm/hugetlbfs_reserv.rst index 752e5696cd47..826a50c47389 100644 --- a/Documentation/translations/zh_CN/mm/hugetlbfs_reserv.rst +++ b/Documentation/translations/zh_CN/mm/hugetlbfs_reserv.rst @@ -142,14 +142,14 @@ HPAGE_RESV_OWNER=E6=A0=87=E5=BF=97=E8=A2=AB=E8=AE=BE= =E7=BD=AE=EF=BC=8C=E4=BB=A5=E8=A1=A8=E6=98=8E=E8=AF=A5VMA=E6=8B=A5=E6=9C=89= =E9=A2=84=E7=95=99=E3=80=82 =E6=B6=88=E8=80=97=E9=A2=84=E7=95=99/=E5=88=86=E9=85=8D=E4=B8=80=E4=B8=AA= =E5=B7=A8=E9=A1=B5 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D =20 -=E5=BD=93=E4=B8=8E=E9=A2=84=E7=95=99=E7=9B=B8=E5=85=B3=E7=9A=84=E5=B7=A8= =E9=A1=B5=E5=9C=A8=E7=9B=B8=E5=BA=94=E7=9A=84=E6=98=A0=E5=B0=84=E4=B8=AD=E8= =A2=AB=E5=88=86=E9=85=8D=E5=92=8C=E5=AE=9E=E4=BE=8B=E5=8C=96=E6=97=B6=EF=BC= =8C=E9=A2=84=E7=95=99=E5=B0=B1=E8=A2=AB=E6=B6=88=E8=80=97=E4=BA=86=E3=80=82= =E8=AF=A5=E5=88=86=E9=85=8D=E6=98=AF=E5=9C=A8=E5=87=BD=E6=95=B0alloc_huge_p= age() +=E5=BD=93=E4=B8=8E=E9=A2=84=E7=95=99=E7=9B=B8=E5=85=B3=E7=9A=84=E5=B7=A8= =E9=A1=B5=E5=9C=A8=E7=9B=B8=E5=BA=94=E7=9A=84=E6=98=A0=E5=B0=84=E4=B8=AD=E8= =A2=AB=E5=88=86=E9=85=8D=E5=92=8C=E5=AE=9E=E4=BE=8B=E5=8C=96=E6=97=B6=EF=BC= =8C=E9=A2=84=E7=95=99=E5=B0=B1=E8=A2=AB=E6=B6=88=E8=80=97=E4=BA=86=E3=80=82= =E8=AF=A5=E5=88=86=E9=85=8D=E6=98=AF=E5=9C=A8=E5=87=BD=E6=95=B0alloc_hugetl= b_folio() =E4=B8=AD=E8=BF=9B=E8=A1=8C=E7=9A=84:: =20 - struct page *alloc_huge_page(struct vm_area_struct *vma, + struct folio *alloc_hugetlb_folio(struct vm_area_struct *vma, unsigned long addr, int avoid_reserve) =20 -alloc_huge_page=E8=A2=AB=E4=BC=A0=E9=80=92=E7=BB=99=E4=B8=80=E4=B8=AAVMA= =E6=8C=87=E9=92=88=E5=92=8C=E4=B8=80=E4=B8=AA=E8=99=9A=E6=8B=9F=E5=9C=B0=E5= =9D=80=EF=BC=8C=E5=9B=A0=E6=AD=A4=E5=AE=83=E5=8F=AF=E4=BB=A5=E6=9F=A5=E9=98= =85=E9=A2=84=E7=95=99=E6=98=A0=E5=B0=84=E4=BB=A5=E7=A1=AE=E5=AE=9A=E6=98=AF= =E5=90=A6=E5=AD=98=E5=9C=A8=E9=A2=84=E7=95=99=E3=80=82 -=E6=AD=A4=E5=A4=96=EF=BC=8Calloc_huge_page=E9=9C=80=E8=A6=81=E4=B8=80=E4= =B8=AA=E5=8F=82=E6=95=B0avoid_reserve=EF=BC=8C=E8=AF=A5=E5=8F=82=E6=95=B0= =E8=A1=A8=E7=A4=BA=E5=8D=B3=E4=BD=BF=E7=9C=8B=E8=B5=B7=E6=9D=A5=E5=B7=B2=E7= =BB=8F=E4=B8=BA=E6=8C=87=E5=AE=9A=E7=9A=84=E5=9C=B0=E5=9D=80=E9=A2=84=E7=95= =99=E4=BA=86 +alloc_hugetlb_folio=E8=A2=AB=E4=BC=A0=E9=80=92=E7=BB=99=E4=B8=80=E4=B8=AAV= MA=E6=8C=87=E9=92=88=E5=92=8C=E4=B8=80=E4=B8=AA=E8=99=9A=E6=8B=9F=E5=9C=B0= =E5=9D=80=EF=BC=8C=E5=9B=A0=E6=AD=A4=E5=AE=83=E5=8F=AF=E4=BB=A5=E6=9F=A5=E9= =98=85=E9=A2=84=E7=95=99=E6=98=A0=E5=B0=84=E4=BB=A5=E7=A1=AE=E5=AE=9A=E6=98= =AF=E5=90=A6=E5=AD=98=E5=9C=A8=E9=A2=84=E7=95=99=E3=80=82 +=E6=AD=A4=E5=A4=96=EF=BC=8Calloc_hugetlb_folio=E9=9C=80=E8=A6=81=E4=B8=80= =E4=B8=AA=E5=8F=82=E6=95=B0avoid_reserve=EF=BC=8C=E8=AF=A5=E5=8F=82=E6=95= =B0=E8=A1=A8=E7=A4=BA=E5=8D=B3=E4=BD=BF=E7=9C=8B=E8=B5=B7=E6=9D=A5=E5=B7=B2= =E7=BB=8F=E4=B8=BA=E6=8C=87=E5=AE=9A=E7=9A=84=E5=9C=B0=E5=9D=80=E9=A2=84=E7= =95=99=E4=BA=86 =E9=A2=84=E7=95=99=EF=BC=8C=E4=B9=9F=E4=B8=8D=E5=BA=94=E8=AF=A5=E4=BD=BF= =E7=94=A8=E9=A2=84=E7=95=99=E3=80=82avoid_reserve=E5=8F=82=E6=95=B0=E6=9C= =80=E5=B8=B8=E8=A2=AB=E7=94=A8=E4=BA=8E=E5=86=99=E6=97=B6=E6=8B=B7=E8=B4=9D= =E5=92=8C=E9=A1=B5=E9=9D=A2=E8=BF=81=E7=A7=BB=E7=9A=84=E6=83=85=E5=86=B5=E4= =B8=8B=EF=BC=8C=E5=8D=B3=E7=8E=B0=E6=9C=89=E9=A1=B5=E9=9D=A2=E7=9A=84=E9=A2= =9D =E5=A4=96=E6=8B=B7=E8=B4=9D=E8=A2=AB=E5=88=86=E9=85=8D=E3=80=82 =20 @@ -162,7 +162,7 @@ vma_needs_reservation()=E8=BF=94=E5=9B=9E=E7=9A=84=E5= =80=BC=E9=80=9A=E5=B8=B8=E4=B8=BA0=E6=88=961=E3=80=82=E5=A6=82=E6=9E=9C=E8= =AF=A5=E5=9C=B0=E5=9D=80=E5=AD=98=E5=9C=A8=E9=A2=84=E7=95=99 =E7=A1=AE=E5=AE=9A=E9=A2=84=E7=95=99=E6=98=AF=E5=90=A6=E5=AD=98=E5=9C=A8= =E5=B9=B6=E5=8F=AF=E7=94=A8=E4=BA=8E=E5=88=86=E9=85=8D=E5=90=8E=EF=BC=8C=E8= =B0=83=E7=94=A8dequeue_huge_page_vma()=E5=87=BD=E6=95=B0=E3=80=82=E8=BF=99= =E4=B8=AA=E5=87=BD=E6=95=B0=E9=9C=80=E8=A6=81=E4=B8=A4=E4=B8=AA=E4=B8=8E=E9= =A2=84=E7=95=99=E6=9C=89=E5=85=B3 =E7=9A=84=E5=8F=82=E6=95=B0=EF=BC=9A =20 -- avoid_reserve=EF=BC=8C=E8=BF=99=E6=98=AF=E4=BC=A0=E9=80=92=E7=BB=99alloc= _huge_page()=E7=9A=84=E5=90=8C=E4=B8=80=E4=B8=AA=E5=80=BC/=E5=8F=82=E6=95= =B0=E3=80=82 +- avoid_reserve=EF=BC=8C=E8=BF=99=E6=98=AF=E4=BC=A0=E9=80=92=E7=BB=99alloc= _hugetlb_folio()=E7=9A=84=E5=90=8C=E4=B8=80=E4=B8=AA=E5=80=BC/=E5=8F=82=E6= =95=B0=E3=80=82 - chg=EF=BC=8C=E5=B0=BD=E7=AE=A1=E8=BF=99=E4=B8=AA=E5=8F=82=E6=95=B0=E7=9A= =84=E7=B1=BB=E5=9E=8B=E6=98=AFlong=EF=BC=8C=E4=BD=86=E5=8F=AA=E6=9C=890=E6= =88=961=E7=9A=84=E5=80=BC=E8=A2=AB=E4=BC=A0=E9=80=92=E7=BB=99dequeue_huge_p= age_vma=E3=80=82=E5=A6=82=E6=9E=9C=E8=AF=A5=E5=80=BC=E4=B8=BA0=EF=BC=8C =E5=88=99=E8=A1=A8=E6=98=8E=E5=AD=98=E5=9C=A8=E9=A2=84=E7=95=99=EF=BC=88= =E5=85=B3=E4=BA=8E=E5=8F=AF=E8=83=BD=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=8C=E8= =AF=B7=E5=8F=82=E8=A7=81 =E2=80=9C=E9=A2=84=E7=95=99=E5=92=8C=E5=86=85=E5= =AD=98=E7=AD=96=E7=95=A5=E2=80=9D =E4=B8=80=E8=8A=82=EF=BC=89=E3=80=82=E5= =A6=82=E6=9E=9C=E5=80=BC =E4=B8=BA1=EF=BC=8C=E5=88=99=E8=A1=A8=E7=A4=BA=E4=B8=8D=E5=AD=98=E5=9C= =A8=E9=A2=84=E7=95=99=EF=BC=8C=E5=A6=82=E6=9E=9C=E5=8F=AF=E8=83=BD=E7=9A=84= =E8=AF=9D=EF=BC=8C=E5=BF=85=E9=A1=BB=E4=BB=8E=E5=85=A8=E5=B1=80=E7=A9=BA=E9= =97=B2=E6=B1=A0=E4=B8=AD=E5=8F=96=E5=87=BA=E8=AF=A5=E9=A1=B5=E3=80=82 @@ -179,7 +179,7 @@ free_huge_pages=E7=9A=84=E5=80=BC=E8=A2=AB=E9=80=92=E5= =87=8F=E3=80=82=E5=A6=82=E6=9E=9C=E6=9C=89=E4=B8=80=E4=B8=AA=E4=B8=8E=E8=AF= =A5=E9=A1=B5=E7=9B=B8=E5=85=B3=E7=9A=84=E9=A2=84=E7=95=99=EF=BC=8C=E5=B0=86 =E7=9A=84=E5=89=A9=E4=BD=99=E5=B7=A8=E9=A1=B5=E5=92=8C=E8=B6=85=E9=A2=9D= =E5=88=86=E9=85=8D=E7=9A=84=E9=97=AE=E9=A2=98=E3=80=82=E5=8D=B3=E4=BD=BF=E5= =88=86=E9=85=8D=E4=BA=86=E4=B8=80=E4=B8=AA=E5=A4=9A=E4=BD=99=E7=9A=84=E9=A1= =B5=E9=9D=A2=EF=BC=8C=E4=B9=9F=E4=BC=9A=E8=BF=9B=E8=A1=8C=E4=B8=8E=E4=B8=8A= =E9=9D=A2=E4=B8=80=E6=A0=B7=E7=9A=84=E5=9F=BA=E4=BA=8E=E9=A2=84=E7=95=99=E7= =9A=84=E8=B0=83=E6=95=B4: SetPagePrivate(page) =E5=92=8C resv_huge_pages--. =20 -=E5=9C=A8=E8=8E=B7=E5=BE=97=E4=B8=80=E4=B8=AA=E6=96=B0=E7=9A=84=E5=B7=A8= =E9=A1=B5=E5=90=8E=EF=BC=8C(page)->private=E8=A2=AB=E8=AE=BE=E7=BD=AE=E4=B8= =BA=E4=B8=8E=E8=AF=A5=E9=A1=B5=E9=9D=A2=E7=9B=B8=E5=85=B3=E7=9A=84=E5=AD=90= =E6=B1=A0=E7=9A=84=E5=80=BC=EF=BC=8C=E5=A6=82=E6=9E=9C=E5=AE=83=E5=AD=98=E5= =9C=A8=E7=9A=84=E8=AF=9D=E3=80=82=E5=BD=93=E9=A1=B5 +=E5=9C=A8=E8=8E=B7=E5=BE=97=E4=B8=80=E4=B8=AA=E6=96=B0=E7=9A=84=E5=B7=A8= =E9=A1=B5=E5=90=8E=EF=BC=8C(folio)->_hugetlb_subpool=E8=A2=AB=E8=AE=BE=E7= =BD=AE=E4=B8=BA=E4=B8=8E=E8=AF=A5=E9=A1=B5=E9=9D=A2=E7=9B=B8=E5=85=B3=E7=9A= =84=E5=AD=90=E6=B1=A0=E7=9A=84=E5=80=BC=EF=BC=8C=E5=A6=82=E6=9E=9C=E5=AE=83= =E5=AD=98=E5=9C=A8=E7=9A=84=E8=AF=9D=E3=80=82=E5=BD=93=E9=A1=B5 =E9=9D=A2=E8=A2=AB=E9=87=8A=E6=94=BE=E6=97=B6=EF=BC=8C=E8=BF=99=E5=B0=86= =E8=A2=AB=E7=94=A8=E4=BA=8E=E5=AD=90=E6=B1=A0=E7=9A=84=E8=AE=A1=E6=95=B0=E3= =80=82 =20 =E7=84=B6=E5=90=8E=E8=B0=83=E7=94=A8=E5=87=BD=E6=95=B0vma_commit_reservati= on()=EF=BC=8C=E6=A0=B9=E6=8D=AE=E9=A2=84=E7=95=99=E7=9A=84=E6=B6=88=E8=80= =97=E6=83=85=E5=86=B5=E8=B0=83=E6=95=B4=E9=A2=84=E7=95=99=E6=98=A0=E5=B0=84= =E3=80=82=E4=B8=80=E8=88=AC=E6=9D=A5=E8=AF=B4=EF=BC=8C=E8=BF=99=E6=B6=89=E5= =8F=8A @@ -199,7 +199,7 @@ SetPagePrivate(page)=E5=92=8Cresv_huge_pages-=E3=80=82 =E5=B7=B2=E7=BB=8F=E5=AD=98=E5=9C=A8=EF=BC=8C=E6=89=80=E4=BB=A5=E4=B8=8D= =E5=81=9A=E4=BB=BB=E4=BD=95=E6=94=B9=E5=8F=98=E3=80=82=E7=84=B6=E8=80=8C=EF= =BC=8C=E5=A6=82=E6=9E=9C=E5=85=B1=E4=BA=AB=E6=98=A0=E5=B0=84=E4=B8=AD=E6=B2= =A1=E6=9C=89=E9=A2=84=E7=95=99=EF=BC=8C=E6=88=96=E8=80=85=E8=BF=99=E6=98=AF= =E4=B8=80=E4=B8=AA=E7=A7=81=E6=9C=89=E6=98=A0=E5=B0=84=EF=BC=8C=E5=88=99=E5= =BF=85=E9=A1=BB=E5=88=9B=E5=BB=BA =E4=B8=80=E4=B8=AA=E6=96=B0=E7=9A=84=E6=9D=A1=E7=9B=AE=E3=80=82 =20 -=E5=9C=A8alloc_huge_page()=E5=BC=80=E5=A7=8B=E8=B0=83=E7=94=A8vma_needs_re= servation()=E5=92=8C=E9=A1=B5=E9=9D=A2=E5=88=86=E9=85=8D=E5=90=8E=E8=B0=83= =E7=94=A8 +=E5=9C=A8alloc_hugetlb_folio()=E5=BC=80=E5=A7=8B=E8=B0=83=E7=94=A8vma_need= s_reservation()=E5=92=8C=E9=A1=B5=E9=9D=A2=E5=88=86=E9=85=8D=E5=90=8E=E8=B0= =83=E7=94=A8 vma_commit_reservation()=E4=B9=8B=E9=97=B4=EF=BC=8C=E9=A2=84=E7=95=99=E6= =98=A0=E5=B0=84=E6=9C=89=E5=8F=AF=E8=83=BD=E8=A2=AB=E6=94=B9=E5=8F=98=E3=80= =82=E5=A6=82=E6=9E=9Chugetlb_reserve_pages=E5=9C=A8=E5=85=B1 =E4=BA=AB=E6=98=A0=E5=B0=84=E4=B8=AD=E4=B8=BA=E5=90=8C=E4=B8=80=E9=A1=B5= =E9=9D=A2=E8=A2=AB=E8=B0=83=E7=94=A8=EF=BC=8C=E8=BF=99=E5=B0=86=E6=98=AF=E5= =8F=AF=E8=83=BD=E7=9A=84=E3=80=82=E5=9C=A8=E8=BF=99=E7=A7=8D=E6=83=85=E5=86= =B5=E4=B8=8B=EF=BC=8C=E9=A2=84=E7=95=99=E8=AE=A1=E6=95=B0=E5=92=8C=E5=AD=90= =E6=B1=A0=E7=A9=BA=E9=97=B2=E9=A1=B5=E8=AE=A1=E6=95=B0=E4=BC=9A=E6=9C=89=E4= =B8=80=E4=B8=AA=E5=81=8F=E5=B7=AE=E3=80=82 =E8=BF=99=E7=A7=8D=E7=BD=95=E8=A7=81=E7=9A=84=E6=83=85=E5=86=B5=E5=8F=AF= =E4=BB=A5=E9=80=9A=E8=BF=87=E6=AF=94=E8=BE=83vma_needs_reservation=E5=92=8C= vma_commit_reservation=E7=9A=84=E8=BF=94=E5=9B=9E=E5=80=BC=E6=9D=A5 --=20 2.39.0