From nobody Thu Dec 18 18:33:40 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 9EF70C77B6F for ; Thu, 13 Apr 2023 23:15:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230487AbjDMXPn (ORCPT ); Thu, 13 Apr 2023 19:15:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47372 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230388AbjDMXP2 (ORCPT ); Thu, 13 Apr 2023 19:15:28 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 894EB120 for ; Thu, 13 Apr 2023 16:15:26 -0700 (PDT) Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 33DKxFuS000556; Thu, 13 Apr 2023 23:15:03 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-2023-03-30; bh=PRIpQsJtmpDtH4hp/QDArazlqT6QZEBMdTRXKdj9SoA=; b=RtzKl0p7ZNwaWrvILRt+MQyJufmn63GPdkgum21o9gE9A6KQXKksBGcHwEawLkYkscSj mycnl7oYFp0hCergK1OxftAoZmIERPKSPuafEmkG8m9M5I/20ZoNTMqw2g1SaXKE5gGo qWJIkP5ty/6+eFLNa4ARKew3XEnYx3yOz0/y851NFI1wiioj0vDDyGMgNGM5nH78GI1S L9CxflTy1yJnyaRp+pjHjoAvngad0UELUb+wkLc0MuQ+4Tto76cnEYsMHgghLap1/f8K l/rhNtfVBFwLrNUi1lZ9Gr8lx3vr0bLDEnrW0iFeLz8lySCA/sAZAi5GKHWd4a+VO5Ey +w== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3pu0eqcuhd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 13 Apr 2023 23:15:03 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 33DL8UqK039696; Thu, 13 Apr 2023 23:15:01 GMT Received: from nam04-dm6-obe.outbound.protection.outlook.com (mail-dm6nam04lp2046.outbound.protection.outlook.com [104.47.73.46]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3puwbsfhdw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 13 Apr 2023 23:15:01 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cOi7SyG5iazmulGDaErNNq6dlPGmUK+JwSKFhv5NXCvyu6uvADDBRCKKm9sQXMGcMJV+VQqNc5yV73faQyWcZvt1Ek5bqKWhOiGg1NJwirFXz1FLK6DL2SEZfsUlJS/1NrXI+9nZYUOn7DZNMYdwf9yoyXWVES0hOeK/xMPfITqqP4wobL/FXGCDn0WqieWUqCvhaqoe7xcaTfr6sk9N+1BGs+z0sKlCpCJmEM7ywyC1rPKoB/A81fXpvoLOsVjRUgFyV+cJu5R4VRndN64XPACFHtHqNeYE3gkYHHEkiOdzuWizquFwdrMYaHRbafdGIQ22B5l2W7stvNf66In2xg== 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=PRIpQsJtmpDtH4hp/QDArazlqT6QZEBMdTRXKdj9SoA=; b=Jmd6HVDle4AvChDG2L+U0BtsIscis/2nzhqOqYHmqCUPVe3U94f+ihM8QS7KgORW7zPy02vvSRdKjo0l5Pk+zKwG3yzSQmIQKJHXgCEGTo6K40H2o/KTjdlnPzyeC2seHkVMd/2ONBeBLDXMWS3NtTYCmAqvTr7qhXOmKuEbSSfVGcyGsmGcUNOrXU+MgDRWGPg7owF+R6ksNybGRgbglvxjNsZHMBMHrwif6SutmxVSCDQoUmsaV0rxQn2OPQvumUp/tFpmFFQxj+nG10FS2UOimBrBuu0MbMVWt3zvi5oiH0BPG75Hc8ne3xYXDYkezgJmmzjktk5gC75iKLgbmA== 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=PRIpQsJtmpDtH4hp/QDArazlqT6QZEBMdTRXKdj9SoA=; b=GCSubIwnKa5WhqPfN5B2ZqpY2+IeFg5/LXj81ESwKBsTxMSQQkFhrz1q/tl0tFHFnygrsIoHpcuGzhm3+TmepKAua23m0iB9FASB8c8ZR6VbWww7+VaG8t2WBXV9qe0HOM+0gtr7ug878rdDxIEjQ+wkVp3plQ0mQrbJ46ZTf0Y= Received: from CH0PR10MB5113.namprd10.prod.outlook.com (2603:10b6:610:c9::8) by SN7PR10MB6287.namprd10.prod.outlook.com (2603:10b6:806:26d::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.38; Thu, 13 Apr 2023 23:14:59 +0000 Received: from CH0PR10MB5113.namprd10.prod.outlook.com ([fe80::12d3:3f71:5b55:c342]) by CH0PR10MB5113.namprd10.prod.outlook.com ([fe80::12d3:3f71:5b55:c342%6]) with mapi id 15.20.6298.030; Thu, 13 Apr 2023 23:14:59 +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, Sidhartha Kumar Subject: [RFC PATCH 1/4] mm/filemap: remove hugetlb special casing in filemap.c Date: Thu, 13 Apr 2023 16:14:49 -0700 Message-Id: <20230413231452.84529-2-sidhartha.kumar@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230413231452.84529-1-sidhartha.kumar@oracle.com> References: <20230413231452.84529-1-sidhartha.kumar@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SJ0PR03CA0154.namprd03.prod.outlook.com (2603:10b6:a03:338::9) To CH0PR10MB5113.namprd10.prod.outlook.com (2603:10b6:610:c9::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH0PR10MB5113:EE_|SN7PR10MB6287:EE_ X-MS-Office365-Filtering-Correlation-Id: 1c96e82d-37fe-497f-faad-08db3c74e6d1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: vdtDNffrFn9g11lYomChjMKhgY8OdTRgSVb12yH0sAwbtR/MZmulPH79b7qk7cGcdWSBfqsZdqSalt06ca8qyRu4SKWiyGvnPqlMCAGD6UfcwULKuo53xSKaAjWrDezW8/Q6LH+6K/qfUhYamGRQ4fZ5j9XIxHMk1vS70xc2WEsIhtRfP0Y2IjPwZjGeZfW+bGvTvkRh1207EgBbSkR2TWAlUSIMeCz4tacqyOQyvIhdQ5VQ8AffkBwq0swcu+85+t4zkLPwCzJGcJrby8sWITU/NMH0Yv1kHipmhskRUxat19Uo4dDfBG3NxNI8XK2gNr69nkfk44vI5je4n9l1iuaLQh+G8jF/7AJpej2Kgyphs/2hyXZYb+tvldhQa75uesxwbTBVmVe7VZVV5lJMNhOWcT3v6IDDfd1ipFYQZCyNnT9bb32CGV5tccXaSmMXstNMowVl3tJ65Gletc0KEgppH7CbiCw4xlTZZwZT5kkaoS692R8LJsSWnXwOacFKty+4ErbShAysZ5Fq5aMNGJQayUMbE+ddG4QixWDoxG0nKYzoe/Ea07rKWJdzysin X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH0PR10MB5113.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(376002)(396003)(136003)(346002)(366004)(451199021)(6506007)(86362001)(6666004)(6512007)(107886003)(478600001)(6486002)(1076003)(186003)(66556008)(66946007)(66476007)(4326008)(38100700002)(316002)(5660300002)(2616005)(41300700001)(83380400001)(44832011)(36756003)(2906002)(8676002)(8936002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?5AyJ1y5HmjabXx1w4Uaa344D2qwMtAyFqjb4IIAkK8Ry5VH6PDMCjseokjVI?= =?us-ascii?Q?IGJTVlSZYt7l7SXjk9kduD8zv9I51JnKOyQ4xqW2EVwMm3kQbR3CRFkNcbPr?= =?us-ascii?Q?cVVvD6hKXfaYRugFab5H5j62qfGIa5IN1SvDGgsk8A7+6hRX+/9pcTrrRAe6?= =?us-ascii?Q?i3z61PS0eFaeQwiePtgW58myP0W2IlGBT20aLG1SmQrm0Ww2PZuYCQmslWt9?= =?us-ascii?Q?1/RI8PHG7DlZ3D6MZ82nB45MuZLVjoGPvBnAS5ZoVWrm126r326W3y+KXrFP?= =?us-ascii?Q?oohfxIupkRpp0pS3YqQ1ik3DAqRsop3lNWPPPC8p43ueVHNd8pquj3pNAIwv?= =?us-ascii?Q?5i1M5t7zsRqfDUylWRJ2/QgD6w9CoBKpmAYXBpyhkM+5L4/Xhp9i6cDJcLu+?= =?us-ascii?Q?tj416zBpmDCW2Pq0bpgRrTrJq5jLulFGMFemVmOfJ/gBPX2ofjAct842dT2I?= =?us-ascii?Q?ZlSYoaTJfO8qtP+qcmNfPhpj2tow+4yfqv2OB70EanPfRGqFvWMBjxEM0DT1?= =?us-ascii?Q?aIruE9n5QQjI5S09x3ak020z1PbqWoRUBDsu+45Ku8rhBZ3bV2BlzCGe0P/O?= =?us-ascii?Q?xENpucDJGhRJKLITO3nhrJGh+doXM1pFHStocSmA49f+75Kp4XBT/mz/BdYL?= =?us-ascii?Q?FuWWNZ4ENN7zOgWFkTiPUf7Ymg4UAghbL5GFAr74yXwHT7H2ZALADqwmRG9q?= =?us-ascii?Q?OrZ660qYlPD0+CQbJi2CsDI0SYIzYZR9jUe2Rt3nOG1mnSrN7FeMVJu35IAz?= =?us-ascii?Q?mz2kCfgEGvVgt4p4OBKqT80KsCq+e3ZTIm4hK2FI/lrJe2iudLhEtdvnVtl/?= =?us-ascii?Q?3lKeVC5JVB01ZjjmVSQzlqqanTMPf9nz5eqvJO8DS5/hJGxbikbNoapmgbAd?= =?us-ascii?Q?XslINeYZ48aooP1AkkPUuxtWwJyejGBbKWavzYW4oqJbhg32mETn6iLab34l?= =?us-ascii?Q?fiMwwn+RSzyfYi2GhHjwIZZzavuEr1EGVnYP4ptPU+xX840LEK3ryzP+5+Kk?= =?us-ascii?Q?St/6HQxEty6P9mkFP6X6VqeJvTYWA9wl7erU3T3xeGRBymzMVcKVAXQ31+Jg?= =?us-ascii?Q?q5x1quK9oZp8lBUyh/HEMI3V36AluGgHn2dhSIsOhkTycUQp3A5mKN8tnZBR?= =?us-ascii?Q?gFnovm5bIND/KDiPJuYt7ps0L2TIpjOSypwQEKKyMeOE257kgyaCDDbjEcPx?= =?us-ascii?Q?prq7TCkX3kRxKzfOPCsV2J0Yz0NGXicitm28u+wrwaATIhP4iqHD2Fpyv1Yf?= =?us-ascii?Q?W8NDaihK3Df2UFlxAFuvBTxu/EqviIrqpbip+qc3+LFKznlVoVMGi8taT40T?= =?us-ascii?Q?xxsxrLqccZA8Zk+G9eVcTh+vF5YVeuRvgH4C9lRmHm7GSGQOnNBbyDpBg6aU?= =?us-ascii?Q?ZEj2QaZvesiAKUAQhqb4fVS1xr4t+P/kAmyrrTPv8Ol7+HX3H6qgU5D1GF3+?= =?us-ascii?Q?Dai48P87tINeiCO5/fSZSIlaDzXLFKcBDaJhj9Vu5Uw8yqaIfG/5UhrExuSW?= =?us-ascii?Q?uholzEEoJ3K2WTdQCK74RTmzqMIGa00dZNtbaOQU7me5fB5oqOK2eyOS4OtL?= =?us-ascii?Q?mR9nLDpnADBHPhOzvTszSEcyMZJaIQOJIaaNzR2CWQZmP3qplEWNPNZ/wjVt?= =?us-ascii?Q?x6pv11BspOi903jgHW/kLYQ=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: t967ruiFklitBy8Zd23w2HimJRec4trp4OJuAbbms3hFqNktMKoSipxtu2ifASeQWutQyRvCG1rw41S8jId4HJ+Jz6Rwu8fyLQztfaHFOOE5GJAKqWKWb9gIFokq1D01tBkR1kofYwcaN1XtYCXHTH2f5hr/Ev0974DJjaWQ/Qy5yktGyCuJ3uozFDqFLxP7tc+TEM8DnivH/550Zd+f3bQQSQHXSZ62TGvJLLR+VgGwvOQWbiNLqDFUX9eVlysI4QswMXfQuHmPsRzyGwdvBzMni9/K65tFnVQDVUyEhEG5jWR8jD8m+OV1h3i93woHTGM+wBDjwT0EhsRYs2a0ErMTq3qsDrF3fMth1sva/c7va+ROxGeBLwcJPpCbDlDimpPiH3GcSc43SCudCNdV379asRr7ZKa/818Ds2k4rKbMs5PVsnlPDK8WL8HK5pfW8NVCWhBy+z5Z+JFOxX/pz42wan5iw7cohSURIU8fFz5Tm1oYq/jFEXLkDfedz/1M77VIhPT3QBIXlc5gvOCE1PlbBy9b0RFnGn1ZUJBmHiWlmW/+3EIQUOe6iMywtJHgvwHB56CoLIxBOXVmC90rttWkq83w7edFf4bt/ukYmY0d78FtReSlkYkeJCmwP7QseWKUTG8wfbUIxzzHOEIziPuDVQFZJ7Hih9kLDIXNLr1+UA/WfwvkH6jqf30m0s3vhzu62BVH9ojIBr9gN+hqgUmEHLnzaJstwOXR1b/27/IF08qjD45d9uV4UiAHYyC27TcXXjdU/PFXcd68vrXVYZIsFWgYy7R8V9UgYJGfataceNWdUAvRO0v68EzLJgjNfEJy+4ZlQknS+BPdzZ4Vm7n5d4FZWo3fNML2pDgiSaj8yOG4hPzzrZdbuSOEastNf9n+abf9L6gcjzt+UXKxZSEQRciCzyGqOCJ18fd0zW8= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1c96e82d-37fe-497f-faad-08db3c74e6d1 X-MS-Exchange-CrossTenant-AuthSource: CH0PR10MB5113.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Apr 2023 23:14:59.0681 (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: 6sw7GDjbBv/MCVN+GbK3b062fYIHZzCUWzke2bQACAZKfE80yrtkSIshtk7T62JOtJdLU4AmOVZbGOdeiy/lM+1PS/WUXcpOq95OK7m3bkk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR10MB6287 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-13_16,2023-04-13_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 mlxscore=0 malwarescore=0 suspectscore=0 bulkscore=0 spamscore=0 phishscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304130207 X-Proofpoint-GUID: y7rTOmua3XSpD2ZxXbo6N_BQud3xTn-d X-Proofpoint-ORIG-GUID: y7rTOmua3XSpD2ZxXbo6N_BQud3xTn-d Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" This patch aims to remove special cased hugetlb handling code within the page cache by changing the granularity of each index to the base page size rather than the huge page size. Signed-off-by: Sidhartha Kumar --- include/linux/pagemap.h | 6 ------ mm/filemap.c | 36 +++++++++++------------------------- 2 files changed, 11 insertions(+), 31 deletions(-) diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h index fdcd595d22944..330b1db913f5a 100644 --- a/include/linux/pagemap.h +++ b/include/linux/pagemap.h @@ -717,9 +717,6 @@ static inline struct page *folio_file_page(struct folio= *folio, pgoff_t index) */ static inline bool folio_contains(struct folio *folio, pgoff_t index) { - /* HugeTLBfs indexes the page cache in units of hpage_size */ - if (folio_test_hugetlb(folio)) - return folio->index =3D=3D index; return index - folio_index(folio) < folio_nr_pages(folio); } =20 @@ -844,12 +841,9 @@ static inline loff_t folio_file_pos(struct folio *foli= o) =20 /* * Get the offset in PAGE_SIZE (even for hugetlb folios). - * (TODO: hugetlb folios should have ->index in PAGE_SIZE) */ static inline pgoff_t folio_pgoff(struct folio *folio) { - if (unlikely(folio_test_hugetlb(folio))) - return hugetlb_basepage_index(&folio->page); return folio->index; } =20 diff --git a/mm/filemap.c b/mm/filemap.c index a34abfe8c6543..fadc8ca9b9695 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -131,11 +131,8 @@ static void page_cache_delete(struct address_space *ma= pping, =20 mapping_set_update(&xas, mapping); =20 - /* hugetlb pages are represented by a single entry in the xarray */ - if (!folio_test_hugetlb(folio)) { - xas_set_order(&xas, folio->index, folio_order(folio)); - nr =3D folio_nr_pages(folio); - } + xas_set_order(&xas, folio->index, folio_order(folio)); + nr =3D folio_nr_pages(folio); =20 VM_BUG_ON_FOLIO(!folio_test_locked(folio), folio); =20 @@ -234,7 +231,7 @@ void filemap_free_folio(struct address_space *mapping, = struct folio *folio) if (free_folio) free_folio(folio); =20 - if (folio_test_large(folio) && !folio_test_hugetlb(folio)) + if (folio_test_large(folio)) refs =3D folio_nr_pages(folio); folio_put_refs(folio, refs); } @@ -855,14 +852,15 @@ noinline int __filemap_add_folio(struct address_space= *mapping, =20 if (!huge) { int error =3D mem_cgroup_charge(folio, NULL, gfp); - VM_BUG_ON_FOLIO(index & (folio_nr_pages(folio) - 1), folio); if (error) return error; charged =3D true; - xas_set_order(&xas, index, folio_order(folio)); - nr =3D folio_nr_pages(folio); } =20 + VM_BUG_ON_FOLIO(index & (folio_nr_pages(folio) - 1), folio); + xas_set_order(&xas, index, folio_order(folio)); + nr =3D folio_nr_pages(folio); + gfp &=3D GFP_RECLAIM_MASK; folio_ref_add(folio, nr); folio->mapping =3D mapping; @@ -2069,7 +2067,7 @@ unsigned find_get_entries(struct address_space *mappi= ng, pgoff_t *start, int idx =3D folio_batch_count(fbatch) - 1; =20 folio =3D fbatch->folios[idx]; - if (!xa_is_value(folio) && !folio_test_hugetlb(folio)) + if (!xa_is_value(folio)) nr =3D folio_nr_pages(folio); *start =3D indices[idx] + nr; } @@ -2133,7 +2131,7 @@ unsigned find_lock_entries(struct address_space *mapp= ing, pgoff_t *start, int idx =3D folio_batch_count(fbatch) - 1; =20 folio =3D fbatch->folios[idx]; - if (!xa_is_value(folio) && !folio_test_hugetlb(folio)) + if (!xa_is_value(folio)) nr =3D folio_nr_pages(folio); *start =3D indices[idx] + nr; } @@ -2174,9 +2172,6 @@ unsigned filemap_get_folios(struct address_space *map= ping, pgoff_t *start, continue; if (!folio_batch_add(fbatch, folio)) { unsigned long nr =3D folio_nr_pages(folio); - - if (folio_test_hugetlb(folio)) - nr =3D 1; *start =3D folio->index + nr; goto out; } @@ -2202,7 +2197,7 @@ EXPORT_SYMBOL(filemap_get_folios); static inline bool folio_more_pages(struct folio *folio, pgoff_t index, pgoff_t max) { - if (!folio_test_large(folio) || folio_test_hugetlb(folio)) + if (!folio_test_large(folio)) return false; if (index >=3D max) return false; @@ -2252,9 +2247,6 @@ unsigned filemap_get_folios_contig(struct address_spa= ce *mapping, =20 if (!folio_batch_add(fbatch, folio)) { nr =3D folio_nr_pages(folio); - - if (folio_test_hugetlb(folio)) - nr =3D 1; *start =3D folio->index + nr; goto out; } @@ -2271,10 +2263,7 @@ unsigned filemap_get_folios_contig(struct address_sp= ace *mapping, =20 if (nr) { folio =3D fbatch->folios[nr - 1]; - if (folio_test_hugetlb(folio)) - *start =3D folio->index + 1; - else - *start =3D folio->index + folio_nr_pages(folio); + *start =3D folio->index + folio_nr_pages(folio); } out: rcu_read_unlock(); @@ -2312,9 +2301,6 @@ unsigned filemap_get_folios_tag(struct address_space = *mapping, pgoff_t *start, continue; if (!folio_batch_add(fbatch, folio)) { unsigned long nr =3D folio_nr_pages(folio); - - if (folio_test_hugetlb(folio)) - nr =3D 1; *start =3D folio->index + nr; goto out; } --=20 2.39.2 From nobody Thu Dec 18 18:33:40 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 1CF76C77B6E for ; Thu, 13 Apr 2023 23:15:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230483AbjDMXPk (ORCPT ); Thu, 13 Apr 2023 19:15:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47370 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230386AbjDMXP1 (ORCPT ); Thu, 13 Apr 2023 19:15:27 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 40C51BE for ; Thu, 13 Apr 2023 16:15:26 -0700 (PDT) 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 33DLfvWm012832; Thu, 13 Apr 2023 23:15:04 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-2023-03-30; bh=nNGzYXNZiU1HGYEV2TvGskVf68jn6hY1qJpj/I7cqww=; b=r1GL5EkjS2MTXcND/H3g1BFigCOSnP3y18rQsEZRVOTSfLLfaJGaaxc6uyx0zbE/fpAq x4bjhgtR5e8gPP+JMAR6gATRbdIUeprym1QRb8MzKfwpDlAl+OPIQvUhL/SUKF2HxuAo HWavCDLiUIHe+GW2NQfO8gaPKVz+N5qsLVuAUmBJj1oOm1rYVeLDlXpT+tSpI0vyv3Z0 ZHrWw3SIWcJrAgLmn8wUm5ep3KP8ZC6u5owHd+D3TpCvjrJJxT+vucToo1x9ys/8peo7 5eB7mgjrGuXmzqcZ0szjp526TunTmO/5WqlwTfhviN++rf53FDmAXIwx2S9AtQnex8Yo sQ== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3pu0bwn0pd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 13 Apr 2023 23:15:04 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 33DLeMve025109; Thu, 13 Apr 2023 23:15:03 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2169.outbound.protection.outlook.com [104.47.57.169]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3puwdt922n-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 13 Apr 2023 23:15:03 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=h9Ds4l3QeXH7RjubDukRnzbQyurfyKBnqZ3YPOM+/+Iw11LpTN4IZIRLgsfAB0cKtU6lUclQ6rPTCLYXNGqrs2T30+93ZjvQWM+qMAz7Vm8SCYKHHRUOYtjhgxYNIQ7wt5UIf9cwqZZ8wytY2GwD0s8OqJ8PV1oMyklLitrFd4w/vV9mYB1QfRZCUbukOywoCovmnC85XREbuCMdcOSkuf1ycz/QZQfwMUFCLxdGXuxMGp8foCnJMNZ2gg4StMgNLTw5y0TmnXoR8qQvrowf+5PWYE3lSs8OjRQgowu68F7yjj2CIz3tvIZAPpi23xyCMfGwGaoY39pTiAgtgpI9SQ== 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=nNGzYXNZiU1HGYEV2TvGskVf68jn6hY1qJpj/I7cqww=; b=ZQ2hiA+bPxO7+xgVLTEHZCvyoC4weXQwpOjg3NOUUkYH+MOw/mHca09TwDSWGDmtc3SITQBYVDrPgIPjuTxoNA5ke2LLknG00GsMNFMMgfLeF5uL5IlcBkQm1oxMYP2wJLDOkue8ERi/fkzcMMPUGv1SWcdS7W7/rWR5+5VYLy870+vXFYd0IOisuQPsmDQgleX5rFEa6agF539mlfEVqssJxMPpojTIwShyrzcv7Rq7NXmkMe2g95kTlPdAHQdcCRC8vUEBNQgDR+EC8sq0kpgsaTdmH+CQLyVFI97LV8r6bUxCT0c9QpnFkIPcRgFZpUZhfaIdW6J9/2PQ4+oSFQ== 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=nNGzYXNZiU1HGYEV2TvGskVf68jn6hY1qJpj/I7cqww=; b=BFTFRveuwm0X0wALVZ2EZQyCuyeZxrbktxb5vWQH/ejUDpvXytV6LIh7m28TOC2bKLyD7csd8q+zkYLKnDGKbRU20xDaKqtd10UU1MpcPDjyOFxXExlI29Ap3LvGhKfwr6h2elX5IcqZD2DgJ7NHH2afsKhzF20tpCYNJVqEbqU= Received: from CH0PR10MB5113.namprd10.prod.outlook.com (2603:10b6:610:c9::8) by SN7PR10MB6287.namprd10.prod.outlook.com (2603:10b6:806:26d::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.38; Thu, 13 Apr 2023 23:15:01 +0000 Received: from CH0PR10MB5113.namprd10.prod.outlook.com ([fe80::12d3:3f71:5b55:c342]) by CH0PR10MB5113.namprd10.prod.outlook.com ([fe80::12d3:3f71:5b55:c342%6]) with mapi id 15.20.6298.030; Thu, 13 Apr 2023 23:15:01 +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, Sidhartha Kumar Subject: [RFC PATCH 2/4] mm/hugetlb: remove hugetlb_basepage_index() Date: Thu, 13 Apr 2023 16:14:50 -0700 Message-Id: <20230413231452.84529-3-sidhartha.kumar@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230413231452.84529-1-sidhartha.kumar@oracle.com> References: <20230413231452.84529-1-sidhartha.kumar@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BYAPR08CA0030.namprd08.prod.outlook.com (2603:10b6:a03:100::43) To CH0PR10MB5113.namprd10.prod.outlook.com (2603:10b6:610:c9::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH0PR10MB5113:EE_|SN7PR10MB6287:EE_ X-MS-Office365-Filtering-Correlation-Id: a25a9b17-5ef8-4420-16ab-08db3c74e822 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0uABKVaLs7QYZGQm2oft410K/vB54Jw01PyDPt+o6U6qqUVj2QuN1qhBk0r4m4qhgW5KpSR3RHRhl5PKSNrDq09gd7z3SGqDkRtHv6JhjDv5nVKigwfe0dwqCUa/rEY1/VIa1LGzdUqiYEBAeJ0NQ0xgIf/8JLbQknk8yhhds4lIpoKHYEAD/S8o4xA7nchtNA/yeujwqEsKjPZBHP9h3XTIqYHbmJ3F9fXAHcVN/VJEKOKjGhzoop+MfeOkwHgUP2KIHxPD6N//0RY22MkYlKHA0EuqgaaIDL9PzwI5ilae5n2iO2/cqeocPGDl5StoLxPUsU92t+znrAcQxHpOAT9mX7ZvC6vcZDpMv5gAqbo0blLcjXmYgDJWpyJwIXGSSHyNzXsJ3C/MRPjM/rhrJhj/y9sGg/hSkEq37XjgHNGdMBHnMy25i/KQeY7Xw+PIvOdLHgi1BaAYChq0U6Utm9v5tL2E989pjpcJ123BVAVngN/nP+y4cL9+/22/eeGhpHImystF78VaZ0t/ac9YiY87MXDPZove8wlPcmBE4K/dGGPGJEc520LyQzaainF7 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH0PR10MB5113.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(376002)(396003)(136003)(346002)(366004)(451199021)(6506007)(86362001)(6666004)(6512007)(107886003)(478600001)(6486002)(1076003)(186003)(66556008)(66946007)(66476007)(4326008)(38100700002)(316002)(5660300002)(2616005)(41300700001)(83380400001)(44832011)(36756003)(2906002)(8676002)(8936002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?6LBj9ZHQd8TUsZgUJ4OTe3HbIGLw9DQpdPVmxyp4mtaUZcXbxTKrsRRwHhB/?= =?us-ascii?Q?fjC/ljQQUqcGQ7Bm1POca73H50ll6MUnbqM5wT6o1NBRuWgTgp5OLewLezg5?= =?us-ascii?Q?/tvAjMDjUoMbf95W1BPMCDIleEhvyL0fAh20nydyUR6JIAJgF5t8idLtov4t?= =?us-ascii?Q?fqUpk6X4gzaMi/6ZxxhW2HHmIf7fA8hJAJHhx8efYMF87IK7PbfMp8NmZwZA?= =?us-ascii?Q?kd6lUCXPFpQuQFDHm+cwZdpameGI2rU7cSfotWnc8wfBBpSRs1Eyc/X9kZtL?= =?us-ascii?Q?EOD3nqLdDY289iVhQmi7VkYXw2+IPj/LHAgCS9v3aPwCzOWX0K6g+s1l1tjL?= =?us-ascii?Q?aJ7KT8zDbntIeI7eoEiyN3Ou/J8NUkAl95gPkS4dqUVCWXO6j8sLnZFsza/Q?= =?us-ascii?Q?rn2Ja2Jlvg2W/HI8Zq8vlKeom2VNLveHnEFREKmCgKpuS+pnWKx3EngkSC+S?= =?us-ascii?Q?SCF4TZ9z8HC75f0hbyY4b7kbALvPoi/kmF5LfGF49zVOCrOMRlMhnB5u/cDk?= =?us-ascii?Q?Lti0pCuGxQPGAXtTPP0r6PBxlAcm7NkjtZxAsdt/MEtxNA6kMe4fKp32rm2N?= =?us-ascii?Q?Suo3Ui5l64XBVeK30bV1av587b3WRHkYUT7e6TSTixlVl+lyNzQMfuKSv42u?= =?us-ascii?Q?w396iAnx2H362CAF/Ipj5cDT0wCNj01sBhsmnq4Ux68AKigCS9EmBhGQw8C1?= =?us-ascii?Q?NmFpW2Y8vcqTxJW5hg4JcXnjm8zhTpHZWyqbDDXx3BK1qcjeNBxMU8Nh821Z?= =?us-ascii?Q?KtlSmEdM9LzwyjexEXQRBT1ZOwrx5VL6n5Qf9Rqssng34I2BqapdyttHsvHh?= =?us-ascii?Q?3Tbk8X8lqJRFvyHkdK2lebMGYJTsh0ZQ6uJ6fmi8FlBhH9aomP6lzvuTjleq?= =?us-ascii?Q?GbdYtQoUtNLL0c74ByvaU1JYbXBmnUpfNO7/DGzlHwYubx84Ls5GpnQNG4f4?= =?us-ascii?Q?2Lldl3Ehu6oDdkkzYorHKZh/j1gLcpIxvu2dgQwTr5lRBSGM7DvZwYeq80XZ?= =?us-ascii?Q?mnThRTbd19w4eH9U9tIwffZfQQdH4fImwjdFv8vquINyUawRTLfSCGCw932k?= =?us-ascii?Q?d1oWqczZKQtQTnpKB5T3BvBXNUEBwb9JkDBnxVW8E3Uhy6sRLv2gXe2H9wmp?= =?us-ascii?Q?s5IcxXePhKYV9JcL4oDf7vryXMM22XLVaqafIFipUQoTO6cDQMKVAUi2RX/R?= =?us-ascii?Q?xMZWck1L52wlWyr1fUvfsyOnzjfHIfpCeqhGncLvTCtqhBq9tfqLbzj7W4qk?= =?us-ascii?Q?Jc/9fMvvilWGnvDwXmKA7ckPuoGrqwNvsI4btB9YqVL9iXqFem7P6IbtMVqD?= =?us-ascii?Q?I3l1kNGueXIv07QxEwhnRJSOxQ/Zil2mcGjfI47x5dh7ShE69UuJloFDWVrv?= =?us-ascii?Q?/MLg/1HvB+B4sVerYj6eMCj4K0E1hnum4k/vNfpQHpizTCIMDjBu+vUHnw9a?= =?us-ascii?Q?+vUVlHAhY3bm0fIAKpMR6LuT1P+e2dt3BNbQSuYUbPsIZYe4Nt56z2wzXenP?= =?us-ascii?Q?zUKv1yPVZxhEp0MeMZKfnHZvHVgEoAiDq+vG030tV2DqjMbdN+DxdHcUHBDK?= =?us-ascii?Q?5bViCGk5F9cpKpVhK9ehYmU3AggWA6uuEdm4/Wx0TqWAOmLIZJ0ugK8PNEbl?= =?us-ascii?Q?LLgBCkiRohPx9KthykSyXFU=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: ttVfZV9FqBvk/QkqSOm96vIepP094YAfDH0/qcyBW86FrFLaSs1RSsADW7FrtsJcsDnbmxmuG/OOv3+VrjKh1pqGvQaThD2AkcGUAKsKp0WQR9Ul4THL6tu0vwPIuiC0VsfPvX5Z0cT9MiWrrKcgPHQAEOUXXaDzlGV5rx2wvo0KwiATSbH1F80ky+teww03qduhbTxnoHMGTZWkriKr3bwL8ObqY3Q0S8yySaX7wUlOt08mUGdil0KmJZ5hxVb6JMJwKQ1Ar9fvoSg7SFxyuVerrrnWCxvdfK0uCl2+2hrhJz8//X2E7SftuFvtLbxz3itgkD6hLVuwj6BTKhfkH1qMfbRrxKLjb5+287Q8B733skMoMHRM0Vw2AZyK61o0vQ39+yb1sAFqCWZ6sa7H4zdbSrOy2D9/qW4BLWg2D3S+yNr+i1b1n8pGF+BuXsi3lbvgc6Ymr4CWCJqJbjz5BP2VdWGvqn2C3fUSBlJo+C/pZ5KHqk/T5D9YO2BAJXE9l/j+251393DXbfVCj0divbTlq8OnTbFswU/+AP87ns2/eAxWFlr9E3MdOACfHVm+ZP0KaRDw25Sp04JMj63Eby356QUWRw94eePocdjcvh06lzE5ShGJ0mLH+6YJmSlJyVp5JktxSq4pg1ig4OKNx5tlSSS5cBT0u0Ui8SRBreARFOknwG9tzHW1SCPEf586o6OhV8SNM2tbW+C0G5aDaumIWIukR/WLq1y932QteZ03wkEEhNmf14QWYfvW6QOTOXyFY6zjqsOhAg8hfRiCWf1phouNePDBi6qNojtyHLJVYFjqlWOHSMUE2l0nNwZsxxkrcWICHtCrV+gUD+oMy0C9H/TO4jGWQOi79srMEv6YP9iMVNzZZDOMOxvX34juFfaozKofv05xQp5qEEFGGD6gyxisu4Z0m4Lf+mHqBcU= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: a25a9b17-5ef8-4420-16ab-08db3c74e822 X-MS-Exchange-CrossTenant-AuthSource: CH0PR10MB5113.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Apr 2023 23:15:01.2705 (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: /5sw/U/qKegAloe+DwZ9HEl6jXblC7HBsGASMo9UyLDuUxNhTKkjsZTcGipGA9PdbUXi3d8WYISWZz6QLeoU8QcPzmMPT2Z5MZLvS2AE34o= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR10MB6287 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-13_16,2023-04-13_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 mlxscore=0 mlxlogscore=999 spamscore=0 suspectscore=0 bulkscore=0 adultscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304130207 X-Proofpoint-ORIG-GUID: CGdbZDWTTTrGciyPweo43NDpf6YvVJui X-Proofpoint-GUID: CGdbZDWTTTrGciyPweo43NDpf6YvVJui Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" hugetlb_basepage_index() can now be removed as hugetlb pages have ->index in PAGE_SIZE. This also allows removals of vma_hugecache_offset() and linear_hugepage_index() which are replaced by calls to linear_page_index(). Signed-off-by: Sidhartha Kumar --- include/linux/pagemap.h | 7 ------ mm/hugetlb.c | 50 ++++++++--------------------------------- 2 files changed, 9 insertions(+), 48 deletions(-) diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h index 330b1db913f5a..bb60282317875 100644 --- a/include/linux/pagemap.h +++ b/include/linux/pagemap.h @@ -792,16 +792,11 @@ static inline pgoff_t page_to_index(struct page *page) return head->index + page - head; } =20 -extern pgoff_t hugetlb_basepage_index(struct page *page); - /* * Get the offset in PAGE_SIZE (even for hugetlb pages). - * (TODO: hugetlb pages should have ->index in PAGE_SIZE) */ static inline pgoff_t page_to_pgoff(struct page *page) { - if (unlikely(PageHuge(page))) - return hugetlb_basepage_index(page); return page_to_index(page); } =20 @@ -854,8 +849,6 @@ static inline pgoff_t linear_page_index(struct vm_area_= struct *vma, unsigned long address) { pgoff_t pgoff; - if (unlikely(is_vm_hugetlb_page(vma))) - return linear_hugepage_index(vma, address); pgoff =3D (address - vma->vm_start) >> PAGE_SHIFT; pgoff +=3D vma->vm_pgoff; return pgoff; diff --git a/mm/hugetlb.c b/mm/hugetlb.c index f16b25b1a6b93..011020a30f4ac 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -949,24 +949,6 @@ static long region_count(struct resv_map *resv, long f= , long t) return chg; } =20 -/* - * Convert the address within this vma to the page offset within - * the mapping, in pagecache page units; huge pages here. - */ -static pgoff_t vma_hugecache_offset(struct hstate *h, - struct vm_area_struct *vma, unsigned long address) -{ - return ((address - vma->vm_start) >> huge_page_shift(h)) + - (vma->vm_pgoff >> huge_page_order(h)); -} - -pgoff_t linear_hugepage_index(struct vm_area_struct *vma, - unsigned long address) -{ - return vma_hugecache_offset(hstate_vma(vma), vma, address); -} -EXPORT_SYMBOL_GPL(linear_hugepage_index); - /* * Return the size of the pages allocated when backing a VMA. In the major= ity * cases this will be same size as used by the page table entries. @@ -2087,21 +2069,6 @@ struct address_space *hugetlb_page_mapping_lock_writ= e(struct page *hpage) =20 return NULL; } - -pgoff_t hugetlb_basepage_index(struct page *page) -{ - struct page *page_head =3D compound_head(page); - pgoff_t index =3D page_index(page_head); - unsigned long compound_idx; - - if (compound_order(page_head) > MAX_ORDER) - compound_idx =3D page_to_pfn(page) - page_to_pfn(page_head); - else - compound_idx =3D page - page_head; - - return (index << compound_order(page_head)) + compound_idx; -} - static struct folio *alloc_buddy_hugetlb_folio(struct hstate *h, gfp_t gfp_mask, int nid, nodemask_t *nmask, nodemask_t *node_alloc_noretry) @@ -2703,7 +2670,7 @@ static long __vma_reservation_common(struct hstate *h, if (!resv) return 1; =20 - idx =3D vma_hugecache_offset(h, vma, addr); + idx =3D linear_page_index(vma, addr); switch (mode) { case VMA_NEEDS_RESV: ret =3D region_chg(resv, idx, idx + 1, &dummy_out_regions_needed); @@ -4810,6 +4777,7 @@ static void hugetlb_vm_op_open(struct vm_area_struct = *vma) static void hugetlb_vm_op_close(struct vm_area_struct *vma) { struct hstate *h =3D hstate_vma(vma); + unsigned int order =3D huge_page_order(h); struct resv_map *resv; struct hugepage_subpool *spool =3D subpool_vma(vma); unsigned long reserve, start, end; @@ -4821,11 +4789,11 @@ static void hugetlb_vm_op_close(struct vm_area_stru= ct *vma) if (!resv || !is_vma_resv_set(vma, HPAGE_RESV_OWNER)) return; =20 - start =3D vma_hugecache_offset(h, vma, vma->vm_start); - end =3D vma_hugecache_offset(h, vma, vma->vm_end); + start =3D linear_page_index(vma, vma->vm_start); + end =3D linear_page_index(vma, vma->vm_end); =20 reserve =3D (end - start) - region_count(resv, start, end); - hugetlb_cgroup_uncharge_counter(resv, start, end); + hugetlb_cgroup_uncharge_counter(resv, start >> order, end >> order); if (reserve) { /* * Decrement reserve counts. The global reserve count may be @@ -5582,7 +5550,7 @@ static vm_fault_t hugetlb_wp(struct mm_struct *mm, st= ruct vm_area_struct *vma, * * Reacquire both after unmap operation. */ - idx =3D vma_hugecache_offset(h, vma, haddr); + idx =3D linear_page_index(vma, address); hash =3D hugetlb_fault_mutex_hash(mapping, idx); hugetlb_vma_unlock_read(vma); mutex_unlock(&hugetlb_fault_mutex_table[hash]); @@ -5669,7 +5637,7 @@ static bool hugetlbfs_pagecache_present(struct hstate= *h, struct vm_area_struct *vma, unsigned long address) { struct address_space *mapping =3D vma->vm_file->f_mapping; - pgoff_t idx =3D vma_hugecache_offset(h, vma, address); + pgoff_t idx =3D linear_page_index(vma, address); bool present; =20 rcu_read_lock(); @@ -6014,7 +5982,7 @@ vm_fault_t hugetlb_fault(struct mm_struct *mm, struct= vm_area_struct *vma, * the same page in the page cache. */ mapping =3D vma->vm_file->f_mapping; - idx =3D vma_hugecache_offset(h, vma, haddr); + idx =3D linear_page_index(vma, address); hash =3D hugetlb_fault_mutex_hash(mapping, idx); mutex_lock(&hugetlb_fault_mutex_table[hash]); =20 @@ -6185,7 +6153,7 @@ int hugetlb_mfill_atomic_pte(pte_t *dst_pte, bool wp_enabled =3D (flags & MFILL_ATOMIC_WP); struct hstate *h =3D hstate_vma(dst_vma); struct address_space *mapping =3D dst_vma->vm_file->f_mapping; - pgoff_t idx =3D vma_hugecache_offset(h, dst_vma, dst_addr); + pgoff_t idx =3D linear_page_index(dst_vma, dst_addr); unsigned long size; int vm_shared =3D dst_vma->vm_flags & VM_SHARED; pte_t _dst_pte; --=20 2.39.2 From nobody Thu Dec 18 18:33:40 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 D2208C77B6E for ; Thu, 13 Apr 2023 23:15:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230414AbjDMXPd (ORCPT ); Thu, 13 Apr 2023 19:15:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47404 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230379AbjDMXP0 (ORCPT ); Thu, 13 Apr 2023 19:15:26 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 29E91114 for ; Thu, 13 Apr 2023 16:15:25 -0700 (PDT) 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 33DKxDtY006509; Thu, 13 Apr 2023 23: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-2023-03-30; bh=uWAWqf/Ei3Fj5gyx8nFYEz2lrYRudR7/nq90cXKlESk=; b=aAJT1FNzLwYB2/uI4hlFnCsz9tYb9S3UnpJu6rqGiIvyvNiLEPBFLtzr6WYy+iY2W4Nw oUM60yCwU1/1zKEnhk9Vpli7Arpv0/0vWKmma7gCGKhaG0XTB3PMDpJBiBLpzrPD9FS/ FRnLqlj7sA5tgmWNGRAiCKOwQxL10q9fqFGyU3jU9g67oaKq4mWMi5fvuP0QJkaY0O9g rFCl/15cGT2WSR5tA9x+KeTbaNN+rzs+NVr6Y9yDO1/cnByND3MBOiZ3hkJoX3yML6yi 03YY44T6/rjprXKydw0g6SMuSWr0vBPldumt7t7zqzKVcxDY4eknrzgXhNrI9p/4POYD Tw== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3pu0hcct79-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 13 Apr 2023 23:15:09 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 33DM6C1i012738; Thu, 13 Apr 2023 23:15:07 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2045.outbound.protection.outlook.com [104.47.66.45]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3pwwgrs6sx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 13 Apr 2023 23:15:07 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GyLAHQiJb+QKJpj+/CyYxfrHo9VeW60e/IYWnABXMnYcjxE09oP44vUNVGViCV0pdjJ5hECSnodegTmx+Gcb0s4IMZngVvbUgKlbULPjcGsIi95H/zinbIP8hpvr6H50IujDu6QNqmsmJwDvVTncC3FRSxrm23lz8acv83b5qRByg7xtCyGrgAgR3jnFMjIGkhn+PhT7L55dA3n+DAZZmmq+Sq8AMkXrZtcD0+Hy8QR0GGse9AzKkXplvOaZE2xICPEK9oc9JfW5L3CWWBRSpB9/dzUoGq0aqNbcRNbIUnYyY4oDN7Y4ZE8b8jyF48DxaafLMKIitClTtEQcEFNCow== 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=uWAWqf/Ei3Fj5gyx8nFYEz2lrYRudR7/nq90cXKlESk=; b=gNo6A2ccqV1d8or7J+bmt5dyk2F7j6a1GGVCHC97vMnS3oUwgydlY8JA9bI1Qc7c2Z5WEMN12bsMAVDXVIT2Ay2SDdniiftv5JjoRbExYWjuix7/kekXz4LxEbbA+65UOBVB8YIXVKox8YgDGX1HcPuCozN55gKSnrGD4c9ARCHl8nNQR/5CI5JbkQXYT5Fyk558NYeSmtt7WTaFmRDdl53s5aAhBfuHohu9ziclOsYhT3eorUPhYpHgRbk9p9QBE18wB0OlBY1xrn1NQLSynFwTx/A0vruaiof5WvVR3kinx2eNm2d0TRw8auyt+Hvf9TPUAnjk9uODJnRJbCILcw== 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=uWAWqf/Ei3Fj5gyx8nFYEz2lrYRudR7/nq90cXKlESk=; b=uqU5YTufFuT8lZEI8q3DUtTRvIHkNDPyXN97/m1HW7wI2VHOuqTfAnfdzoZMTkEywm5JC/udCWaHi5inYZkmYCdCzLrKjP/JEsL47fx0RXZCzpshKpK3J0ToJNc32gc8/ixqFbKLcuOHVqZZ+mY5TOqiZHMlWpvwuP5vpuqRXeM= Received: from CH0PR10MB5113.namprd10.prod.outlook.com (2603:10b6:610:c9::8) by SJ2PR10MB7058.namprd10.prod.outlook.com (2603:10b6:a03:4c5::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6298.28; Thu, 13 Apr 2023 23:15:03 +0000 Received: from CH0PR10MB5113.namprd10.prod.outlook.com ([fe80::12d3:3f71:5b55:c342]) by CH0PR10MB5113.namprd10.prod.outlook.com ([fe80::12d3:3f71:5b55:c342%6]) with mapi id 15.20.6298.030; Thu, 13 Apr 2023 23:15:03 +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, Sidhartha Kumar Subject: [RFC PATCH 3/4] mm/hugetlbfs: remove huge_page_shift in hugetlbfs_file_mmap Date: Thu, 13 Apr 2023 16:14:51 -0700 Message-Id: <20230413231452.84529-4-sidhartha.kumar@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230413231452.84529-1-sidhartha.kumar@oracle.com> References: <20230413231452.84529-1-sidhartha.kumar@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SJ2PR07CA0009.namprd07.prod.outlook.com (2603:10b6:a03:505::6) To CH0PR10MB5113.namprd10.prod.outlook.com (2603:10b6:610:c9::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH0PR10MB5113:EE_|SJ2PR10MB7058:EE_ X-MS-Office365-Filtering-Correlation-Id: cbf7892f-e418-4a0c-84ef-08db3c74e942 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Ft7Q9VNN4CuRV2Yg0feXbICi3Dk2njvd58Tpia48t/RIARVTji1dHoYShTCjBbDIqVa+uNdhONI8O+Roa025A0kM3igt6J0gA66xhSGrkCS1ZgLhx3SnlrdNGBHxHpTtO0i4anIjSbw6bXRYDx6YL2FJNNViXVHte3G+fpuoBMUmSTUufSrblI+gbVgt9zNk6GeIFh0cfk3o3ywpIabFP5YNxjNQfFGKx7egS0LtOMf8jtFxm03+RVm+rk1MR7dnL/NohO31syEEJi//jJkuYbBN0vUeCu7bs7e8gtCp0g5eVQmdHHQ4iSuPRKFqMV6iyp+pRHK8QIJULJB24JNVvGkkBpkLp/CMF1xfUhlo4zkq/d5+h+qzy+84gfDlwzGWBRgeMwU2UqXfC95MNXtPmFvqFMfiwe7l2J6Hl7tcz1/7pq08V0fe30S+6oM3W33nUTsU0fW1eekRBPDOH1TjMaXUHhIqgd6FhmPVeYK0/+7dPBNvD7Adz1sZNkU0SbIeDaWKbX1NesmpqCs2pqsw2/aHKq4APzTUYIxJXITOEbRWIDc1SxAQ0YVwbqutlqV7u/07s2KVWYN2opvYTccQ8MwB6G9HLv80jLxauNoq3r4= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH0PR10MB5113.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(396003)(376002)(136003)(366004)(346002)(451199021)(83380400001)(2616005)(6512007)(6666004)(1076003)(478600001)(6506007)(107886003)(6486002)(186003)(44832011)(36756003)(38100700002)(5660300002)(4326008)(66556008)(66946007)(66476007)(8676002)(316002)(86362001)(41300700001)(8936002)(2906002)(14583001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?jQ+ytWDpVxXiuYHL66opYg0wPYSzop7viMdSsUmNd2KRqsEz5kOyXMgjRZf3?= =?us-ascii?Q?FsHfgMTC3jfvG3fPrnZUU80qId07LCLt1OJNcMzduZB0NJ3wCrJTEeFVrIl1?= =?us-ascii?Q?Pyv+HnP7p5uO4iUJ3vln78XngzjoGY6+z24bIpnsZhDZOcLvYVXwvGkweeNV?= =?us-ascii?Q?k9VT8WydNvHKq07RUsVxo0WlwieL9HKGgEuy9EDyurXqqjl/xwgm7sq4lHW2?= =?us-ascii?Q?UamMkGpHhUUVuYxCuAlD5EJ02cZgFbEnRRPsK0iWW8q96t4EIv9gf5NAU9on?= =?us-ascii?Q?rtSMU+RHj3R/4NJIQjnPYvCByDOEt5Rqey0tlm6P9PIU+zbIm0y/7ldxafUR?= =?us-ascii?Q?oHrfB4KxEk4lau7V8ol/9kA3q6akLv7JN7aquS13bJ+aEhaucZ4UikeL/grE?= =?us-ascii?Q?vciecK87w+5w0PZUscv6rKRZG/QTtevWb3FfWqq3Wqmx0/xLO2K4hfIg/2Ir?= =?us-ascii?Q?16Q1yNoWg29wTj9LZJT6AXnj+8xOlK5eBbm7RdnKA192YqWK0COTH9yeBdVr?= =?us-ascii?Q?EkRO9dHkxjDRKy+9NVbysQDeIm0ymWirKglOKfRxnH4a9q0KZkjmmJP2LxhA?= =?us-ascii?Q?LzVcDOd5Bse9DYkIaWf8feavFJpcmhyHsne3gLnGK/Q5jpEAUl/Ywevakv/G?= =?us-ascii?Q?VuTQoMKgThW4AUf1ApB1wbvhD9T/7w6K1nuhn39cyuUU7CBYJOtAW+x6jWPS?= =?us-ascii?Q?o1rNEp20GJpVrBeeMSOgBB6wrsaRX9FBWAA7Kcc96zfB1cx/ICaYg7FYY9Kj?= =?us-ascii?Q?6FvDEf6Yf7tawwt5YDKH/u/zyMawdl5qXyOWnaow4FIAQI1e9sHAyyt4ePLq?= =?us-ascii?Q?BAN3rY7gzjuvzNR/IVBA+Bl/nYPWB141Wsp1EKLwJ3zVs1iOCfE+g355Irhf?= =?us-ascii?Q?cVq2uxZqMgwNUcy4KwVp9cnsmIhfsWYGZgImpb8IxU4dhwmmHSYZm6iNQBPm?= =?us-ascii?Q?GlIRo8z2JAIo6AycCJTkQ9DyaEZQNg33U4zrnwKToiW2HX9XY37OIwF4Rfyv?= =?us-ascii?Q?N0+a3Lr97iFmLRKxX62dD7IKtC+6g7hDmFC4Xz0RehcNg2CvcGK/oIe+QlDr?= =?us-ascii?Q?kq5fAkfHuqG9oWxOnpsmAHJlKtc6gFLrixoj+2HGZst4VnhxmQyLH1GmlIVP?= =?us-ascii?Q?riHs2u0HT6nGNHZy/ThzkxTzC0pnSUj8A20NO+UWbrduAvhXlBgXgpz4Z48A?= =?us-ascii?Q?RnuQYHTbx+1CMDLbho9niVW2AuFOT1kyLDU+wwjLXn1HA3Hz7Z+I30SzoMst?= =?us-ascii?Q?1AlgdWVsTel5D/eZP1xID5IpStgg/7XronYPhNsEhp+Mo4kC+D0kC/cdtz6K?= =?us-ascii?Q?f2Jke93sijt7v9jwqJ6ULfIoLAqRFxkkGKgXcP0LZfPZCiaV3tPnFHiZq436?= =?us-ascii?Q?ei9fJMlgro04eJdpkKz42xkI+IM/KDRfbTBi1IHQadoQ3QdIs7c+bLdl84Vb?= =?us-ascii?Q?5b6j59066ya20EJoI4PoYBTUSyi9iwuez/unqi4FocvyAk2j/gEPd9JZlkRI?= =?us-ascii?Q?tCXnXapqsMohgasgnfRx7tD+H/VitqVVDhhSQO3blRY9UdTxJK0WxUPK8xBi?= =?us-ascii?Q?c39j6ehWemJ4wju+hXfYpYTiQIsZQBXjI5L1WTllqCuGwq8QUcHRiSXrb2Ck?= =?us-ascii?Q?fNn5BjJKmepjet/4dYf6d6U=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: +FlBMkAOwUNyXovwUkkRKJQpFyrbECUFu18m1tOr1ZNRaJx85XB582gvRh7zlVv1qKAnh7s+iE6BaabdhG8/UE8LjnXu0meDGeJzQru1iRh0usFBtQAB+Zj7yhMrkLg6m0BfRKN504Dnnlr4jVezdcFhDv5BNE5GqSL7aRPCCGTCIpnn0kZ+RV4psTqlmTnJi9E3VC/W6rfnIl9ojmrRSA3+hFvTVlZ5tMZzWvb+MeqtKr3k2gtDo+KS1hrR2YeMHeD7Qg0bK8VkYf0LYJscBBiQcRR65jDznAJcpTgrMdgP/gfIyzMSNyuLqWWqKc52XkrkJyp8AW56v42dVgVeoxiCV3JvwGKylznl+lfclvmmkNyTYlwK0AdI9WBXf7WvnjpvMimwCQWh774NNBk/lKI1nWVATLNWb5CxLzSj2UU7ASa3k8MYf/8yBdzgOvWQzAKrSajnS6W3fZP3smVAbSxwhk4siJW+eQqM6qLzZ+WpRfaJCkaLbK2XzvYzcFRkYKT38SCIvJA92Nv1l3+eTUqbVw5EOpqmILQc0DuwiFDtFCwvi2OIdd505v4vO28pb8y7xwSyCJmsMeBWy87Q3qRBuNuP+Ff+ycAgBJfrgwunM7iwmjv7zgB0jJ6eUqJ3+Zyo5aVYNJxjYBSbm2egelES2aE6ryzdX1S9qXHhUYQvYHFIZsAqls1oC3VLXY2qLf21FxTYfdrag0urkGm5NlXU73G9uIGweAMXyLDm8d3narNpMVOW8ZORFp/WvdQPNfO2EecjkY3KFk2g+qJYt7yWKdaFWWhSNBc9fnhs8A0e2hWsjD8bRjifNr2/4ZIsWVrnG9be1n5rrRYdy4C07dodhiz7riimuSV5IwlYO4H1ElCZCdfzgEc2SnKSkJCLSBLZfTpGwGIQuMKWDybWPcNqQxmyQOLASnOiLnseKIM= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: cbf7892f-e418-4a0c-84ef-08db3c74e942 X-MS-Exchange-CrossTenant-AuthSource: CH0PR10MB5113.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Apr 2023 23:15:03.2415 (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: 8Rq9LQ6h9sTjvE6awaoRWwa03U3iAeca2fSwzi/vZYclS3NgJeohBiUHNaIJ4qGlOjfkvFzjDYmiXBKlygwOtF7NuIhgkKbikpo7hODvcjg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR10MB7058 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-13_16,2023-04-13_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 adultscore=0 mlxscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304130207 X-Proofpoint-GUID: oTJEq6S9dbV-oLmX7WngSRhbdy9gbx2z X-Proofpoint-ORIG-GUID: oTJEq6S9dbV-oLmX7WngSRhbdy9gbx2z Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Remove shifting the vma->vm_pgoff and len arguments in the call to hugetlb_reserve_pages() within hugetlbfs_file_mmap(). Adjust the chg variable within hugetlb_reserve_pages() to match previous values which are expected by cgroup accounting code. Signed-off-by: Sidhartha Kumar --- fs/hugetlbfs/inode.c | 4 ++-- mm/hugetlb.c | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c index 702d79639c0df..9f2e71f2e9f52 100644 --- a/fs/hugetlbfs/inode.c +++ b/fs/hugetlbfs/inode.c @@ -165,8 +165,8 @@ static int hugetlbfs_file_mmap(struct file *file, struc= t vm_area_struct *vma) =20 ret =3D -ENOMEM; if (!hugetlb_reserve_pages(inode, - vma->vm_pgoff >> huge_page_order(h), - len >> huge_page_shift(h), vma, + vma->vm_pgoff, + len, vma, vma->vm_flags)) goto out; =20 diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 011020a30f4ac..a28fbdff886ff 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -6752,6 +6752,7 @@ bool hugetlb_reserve_pages(struct inode *inode, { long chg =3D -1, add =3D -1; struct hstate *h =3D hstate_inode(inode); + unsigned long hpage_shift =3D huge_page_shift(h); struct hugepage_subpool *spool =3D subpool_inode(inode); struct resv_map *resv_map; struct hugetlb_cgroup *h_cg =3D NULL; @@ -6791,14 +6792,14 @@ bool hugetlb_reserve_pages(struct inode *inode, */ resv_map =3D inode_resv_map(inode); =20 - chg =3D region_chg(resv_map, from, to, ®ions_needed); + chg =3D region_chg(resv_map, from, to, ®ions_needed) >> hpage_shift; } else { /* Private mapping. */ resv_map =3D resv_map_alloc(); if (!resv_map) goto out_err; =20 - chg =3D to - from; + chg =3D (to - from) >> hpage_shift; =20 set_vma_resv_map(vma, resv_map); set_vma_resv_flags(vma, HPAGE_RESV_OWNER); @@ -6823,7 +6824,7 @@ bool hugetlb_reserve_pages(struct inode *inode, * the subpool has a minimum size, there may be some global * reservations already in place (gbl_reserve). */ - gbl_reserve =3D hugepage_subpool_get_pages(spool, chg); + gbl_reserve =3D hugepage_subpool_get_pages(spool, chg) >> hpage_shift; if (gbl_reserve < 0) goto out_uncharge_cgroup; =20 --=20 2.39.2 From nobody Thu Dec 18 18:33:40 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 AA266C77B61 for ; Thu, 13 Apr 2023 23:15:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230451AbjDMXPg (ORCPT ); Thu, 13 Apr 2023 19:15:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47230 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230385AbjDMXP1 (ORCPT ); Thu, 13 Apr 2023 19:15:27 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4848BE9 for ; Thu, 13 Apr 2023 16:15:26 -0700 (PDT) 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 33DKx5RC012833; Thu, 13 Apr 2023 23: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-2023-03-30; bh=Pn/uyozvyYbUQ9JbCnKLeYMPmrjAiQHRp1hAqucWDsI=; b=0dvFtMF/fpryAsXldSwLoCOp18Z1Lyq4GG7YFBi5OOD9GFD9dmPWoZhZ8xM1JSx7L1SK eucmDj0bz0j/GwgndlPjy9NLDhn1dCueDVSgM2qaRibZ2dgUtevoHAb9kpj8LvOjETh3 uT4Gf6UsdwQ6pGfkIuU8A9dWGtsJpnjNVGwNzRFHwe2n9aZWR4rsUxB0I4OaicBpnb9g dvjTSqypsIrSl9FhUcQ61DWxqzSFFCl1+sHPf8KsR1LbK3s6zIkTZuJQ9ybb0dgnJtdC tknwBgnLaONdblIjyx0QxZNfzzUXL4AaVWl4ZhhImiF5D/psRNLeTPeHkDrslSqi08TQ 5A== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3pu0bwn0pe-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 13 Apr 2023 23:15:08 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 33DM6C1k012738; Thu, 13 Apr 2023 23:15:08 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2045.outbound.protection.outlook.com [104.47.66.45]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3pwwgrs6sx-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 13 Apr 2023 23:15:08 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HpC8EINTOSjvKdPEXqqJ4dCdQTOGU+rpHjgjIjgZ+f7pL7QuaGEj7QvijeOspuic+yijS/Hum2LHfYNpR7KgRZa41gqmCddXKjF/+ZC9HJyQ+PVFQG4fpxy5g4wNsnf1vnIj+1+A+V7vQTE5Lu3gtQTZX5pNl8GTtmGT/AWu517Iwn5Q7oMcRgorDO7fX8uqZSsGXP5izzuuwFFMZWROXFcAD5znvfRSSkPViLA45f5hnTwTphjQaSaaQJW0kD34UzGijSltcHz9VeZCC2ufDcuZjurGQnskZaIPn0sRR2nnEVevZPOjyKKrzze7C4QZNhK3bTxlKmF+pn552+ml/g== 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=Pn/uyozvyYbUQ9JbCnKLeYMPmrjAiQHRp1hAqucWDsI=; b=odF2m/tGzJ7Xj6pDKN3HPt+ZBMO8zpVQO2rgcG8qi5rkU+UPgpi/mFuBDZZq9YHhxefhsnl4wK7aNys8akWaQs33FfsYzxAA0uExkqgmACQF1/+3piE84LkEnOwF1HtB3+Up9Jq+JmaC93Qo4DEOHM2eN26DM8rCfLQcqnCbQOfZi4DtzvTpUXFSAtKaw2G5wZFg50UTUYg96FNYaqFHbV5gFnGQDEKBm3Obn920PnRpWMWvQfaF2VKbwEm5vksD41YapALrFIF24H4xGQBQ1ePTkvZ9RGANfywz73WPl4J6GUpRbR9Ruf3CptbJ7rgLX1YZ2AFtKdbqQWacsEpHcg== 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=Pn/uyozvyYbUQ9JbCnKLeYMPmrjAiQHRp1hAqucWDsI=; b=rFxE/ssf9PHxMr7IiXgHAnbcdxEubXqJat1r2Gs19VXWzr6/aoAw06BXj+60sss296D2E0clgrFduh1S9IRKvyd8WEcKDL+sHSawlOWnr4WO8TqnFuT4SYRnHY20yYRsR/ojOiK1MPnd24lP9YBGaUIDSfO87+aSPOHyP4gy0fQ= Received: from CH0PR10MB5113.namprd10.prod.outlook.com (2603:10b6:610:c9::8) by SJ2PR10MB7058.namprd10.prod.outlook.com (2603:10b6:a03:4c5::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6298.28; Thu, 13 Apr 2023 23:15:06 +0000 Received: from CH0PR10MB5113.namprd10.prod.outlook.com ([fe80::12d3:3f71:5b55:c342]) by CH0PR10MB5113.namprd10.prod.outlook.com ([fe80::12d3:3f71:5b55:c342%6]) with mapi id 15.20.6298.030; Thu, 13 Apr 2023 23:15:06 +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, Sidhartha Kumar Subject: [RFC PATCH 4/4] mm/hugetlb: add hpage_shift to alloc_hugetlb_folio Date: Thu, 13 Apr 2023 16:14:52 -0700 Message-Id: <20230413231452.84529-5-sidhartha.kumar@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230413231452.84529-1-sidhartha.kumar@oracle.com> References: <20230413231452.84529-1-sidhartha.kumar@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BYAPR04CA0024.namprd04.prod.outlook.com (2603:10b6:a03:40::37) To CH0PR10MB5113.namprd10.prod.outlook.com (2603:10b6:610:c9::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH0PR10MB5113:EE_|SJ2PR10MB7058:EE_ X-MS-Office365-Filtering-Correlation-Id: 0ce97d5c-a0b2-46fd-2b85-08db3c74ea9c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: w4/AiuRqqnVrhVz90TnGnmq8iYraqYbHQFN0ywLo01p+6Nkyxy+8APIkKnCCFF6NmncmBEr/T8MVygvqUz4VFRKo8inelt/eYNaTZwm/aGyZGjdxb3gyfuGDIRWUHZ7tLmKlJ1C1m/97jqgv9dSdY67VKWTyLurZAJl8uIXn6aJw/Vmw61BmlUkH9LgRu/axYCvwHLMONDALjQxAhH+13mMxYJc7GnzUTHeoq3tjnqzToPPOy49BNPPi640SCEBUB/tOA3ZJroQBgLhATkNKoeWahilbvv8xoYEFBi4NS5qdo/cyGy2DDYgZe4v+mn8Dro3Hd2ioa/GPiPupjaIGlfvWLMXki9KQ/e/9k1N9g3I5ptdlJKzb6t8l+Myay6rrNj92lgiQK0MPgd7NNQfi3muieRcVOiGkph4qo4p/6cQo7gLf3S/nW9qh+0JKAFMErcwax3CAf1cP3q9lF8/zDbCM935zGcslQ+yrx9vBrVbHqv4GDEB5Ps0eWOEDAVteTz0zb9RebLIck7H88GzvQpiwVn1xBDADCNxf+c5/v/9lb6w7eCt3SKr/wAGbbRGC X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH0PR10MB5113.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(396003)(376002)(136003)(366004)(346002)(451199021)(83380400001)(2616005)(6512007)(6666004)(1076003)(478600001)(6506007)(107886003)(6486002)(186003)(44832011)(36756003)(38100700002)(5660300002)(4326008)(66556008)(66946007)(66476007)(8676002)(316002)(86362001)(41300700001)(8936002)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?zQ0cQwAyeZuO9ZaIsSmTn6mpukd5n+njao2oscvJ/uV23+2c8nrxDJfLn3w9?= =?us-ascii?Q?Yc3nNSKGUKaq4iWnx7lqn0/zFauUmyYY853tHFMIgU1XrLA+4n0+6sD0lXtu?= =?us-ascii?Q?L+K3M9kQeXryXZK74byFdA67ZAndzmNQRzXgQpG1YUuXdVmAZjVy4ZtCooAY?= =?us-ascii?Q?nxPR79582jHO4xg/tHoYEjfPUxQTKw3ayOjfyizUidat2Gg47EyURZOUvczd?= =?us-ascii?Q?xqd4CXqEq0Wc/rmYmxyLYvhWjGC7ouMcQ6Ck9LJH0EjxzvLZA8WpQn/kX679?= =?us-ascii?Q?x1WGtXn59lglJCUoVcQmCvl4S4SJxsXSYGmeZC6KfFRWxjZwJqzQW8zobBJg?= =?us-ascii?Q?r/xVyp/ALQZiP4/4DHHrEkJog1Y5Fqe2TN7bOTjEZM1NHHlGJNCazNb6h+Qd?= =?us-ascii?Q?h3Eoh0CyAu44WJw+lhLS+grmnji6igSOC0VNZusZKDGpbbElOk56e4l/yDrn?= =?us-ascii?Q?ULTDhpjPtpKiH96iJwjl/kd9o2ajCWnIUl+CIocHQM0KkgwAY1aJqQUI6cQu?= =?us-ascii?Q?/XP70mGpEYmrYYN3jJltg7daxiK+1sBh4oS0Ot+F3ZvPVTQUvh/pofvLuUTZ?= =?us-ascii?Q?buifO8JdOwhmVh9vDUo97Asp2E7sSaA9xy43+Ezym3SYGzKFeWs/FFoy2Uap?= =?us-ascii?Q?sFkWRszHIOJ+beJhCneStRCz+xxsgxSBPfueZQy8Hj6ME8VkhMGILyCYR7+x?= =?us-ascii?Q?JEM2dsYwBwP/m9iDebXxzPY1/5DW3z7w1W2X7/Ynpd9Y3gav6nE7iVdww006?= =?us-ascii?Q?0oAOsmTuqoCZIw7YYP7FzSxS2ge6claEqcXXGyqKlOHuDZTBO18xEN9zmJI9?= =?us-ascii?Q?W+OwCYkb2HCppmwMPnw1TragwQfnOBo4GYQHt1SVnhN89/C8eOh72KTDO57c?= =?us-ascii?Q?NMjDNvhGaCHDN6XwXD2quKk4Q85d1Mr3Rz/5q+R86JYwHQTJoL/nWpW2Z/6r?= =?us-ascii?Q?orszgMrSvH6+p9plDu2u8mvw+0RHpXa3/W689KxE5nsJKgal3IajYkd2KlQM?= =?us-ascii?Q?ER63Jg71m5K4C6ewvW8lEpqS10zdD7kaZnf6A9Oy3NfXk1Teuc5eJqkyLZDn?= =?us-ascii?Q?pA0/+k5U9CtbmXEE0wHUuU5QTlGftOAM5dJ7CXwH01/lZT7CEiv6c8vy3GUA?= =?us-ascii?Q?zcsfnJc42N2926HL5QInOTwfIC0GkTbysXswaeGcY0zcqFiAuQVpr0pQulwu?= =?us-ascii?Q?oNZgddu5seffF8ZjKGZZbAH3YCPbdL/zaDHmnVAbTiEvTSIK2MtMeZA7s218?= =?us-ascii?Q?GnAKMdik6lV7KCh4+6s2vSGUJ6hvvpu34i7Y4Mr3X4wK/bICh+/ItkGhK7cF?= =?us-ascii?Q?mw/r968lYYTKS4eOFF6kk4+mmoE1mErZI2Av0h3u7V3bkk9abCKK+cOM+UK6?= =?us-ascii?Q?Q3QeYfX6OOxRGXLWu6IOBIFEJ0UqdZD24hQS5qrjAvsfaIZXCtc4mOUcJk5i?= =?us-ascii?Q?SOnVVnh5kXYm1dqnln7HdWE5Ztwyb+MuUldTB87bdWi4xbkuD/Jg2GWAWWWJ?= =?us-ascii?Q?gs90b9NgQxiT/8eMeXvRAQPMthYQ9rK8G6po4gXYYvPdWyNQHaJ9/PM83V5r?= =?us-ascii?Q?UlvR9bjAW29vh/ix1KbGhvcN3I6C8qHLTBDVA1zg/s5l4I6fp1RBzuXKYOvj?= =?us-ascii?Q?jy/s7/WAbCC3O8r2BH7b2eg=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 3zEwby3LZ8OvMnyC1lSDD+KKAq0vX4CgJuPqEnd3R6fb0gfP9cUhSaRJhvTaNbtBiyXLAuPVFWKSuA9bg207qngbveIZKxPxzPDF0SHfxGpOl1JVlcOr+ct7gM5W6D+NS4UbK7hLcb3KdYdy3ZAKq/bQBavdiT5vKYtR8EVvmzkMXIj0vLx9gZZVYckwTUXrcfy/gdtb4CDd0n91EhO1WOuInxTq9IuTwasEEnS2fK4fGMHQngMgkq0ZhVumfeP6mHBty4nesu2IQEXEdzln3ioj84jrQePLrcLVD8nxAdsr/MxVisQ1wXODpImYR2gN1h+GBh8GcDeLZ3+gD3EKWIkdJLA2R/HKQ1Ovi0sGMJrv/ZiQJWrZNLyuYoFCe3zEHrwbPoSfB1deXXsnxuhfUR90wR3rJbOo0HvfDswXIQJ4QHVKeBs33qGP9wY6oX4xF4WqaJkKafb3EYs1rLRUPZj1b6vs22DoA6+C3gYKcc/lS0W/b6/2obMY579tzhiQ+LvjgjKfN88FEWCyWxNd86IRcFJHCrqiTaeGCF+BesjDkBEtdk3Mo9vlTW2aazFSicTYK/kaoHeg+43BYx0MzKu7pMB/fx7E3zqdfuq9A71OQldhQ9VWmIpxBUq2BS9f9lv781lyJVKVk0MBYMRghDBz1ER1cES7lz7uLw2FgWkIZDJu14ebbTWDYSje031r9nYPTOvBGjmZgEu9nu2N76UCS9sCCQrht37wRhwqoPPS6Q2Ru3z23j3vx0h68I+vQ+HYYnFfuHgIufHGbkbG5/h9F371LKl7JZtly0rNJ3Rgwne3OICbQKtG4mIeUmJFswpHmNyVPEGBJKx7kLtGxQpvSaWPJj3JEjYQSEzb+NLRmRYEv8AdNchM3w1J4narrZ0Atr+4wDgyqA7fpPHNzgLnhh8mT9qRnoC1Req7p0U= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0ce97d5c-a0b2-46fd-2b85-08db3c74ea9c X-MS-Exchange-CrossTenant-AuthSource: CH0PR10MB5113.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Apr 2023 23:15:05.8760 (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: TdEePQS+mOhZL7UIm+AP8kCmw+1+c6r9OJN8KAStDXoxMRRahulsj2xVVIi7v9fjKJmICLHNoIVmihkdzXKacavravfa3hWw2g9RzaLH0/k= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR10MB7058 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-13_16,2023-04-13_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 adultscore=0 mlxscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304130207 X-Proofpoint-ORIG-GUID: n6gWasBagPD6C4GIBWJiFpEWZl7Uo6re X-Proofpoint-GUID: n6gWasBagPD6C4GIBWJiFpEWZl7Uo6re Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" adjust the return value of hugepage_subpool_{put,get}_pages() by hpage_shift to be consistent with previous values. Signed-off-by: Sidhartha Kumar --- mm/hugetlb.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index a28fbdff886ff..258c211020c3a 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -2992,6 +2992,7 @@ struct folio *alloc_hugetlb_folio(struct vm_area_stru= ct *vma, { struct hugepage_subpool *spool =3D subpool_vma(vma); struct hstate *h =3D hstate_vma(vma); + unsigned long hpage_shift =3D huge_page_shift(h); struct folio *folio; long map_chg, map_commit; long gbl_chg; @@ -3017,7 +3018,7 @@ struct folio *alloc_hugetlb_folio(struct vm_area_stru= ct *vma, * checked against any subpool limit. */ if (map_chg || avoid_reserve) { - gbl_chg =3D hugepage_subpool_get_pages(spool, 1); + gbl_chg =3D hugepage_subpool_get_pages(spool, 1) >> hpage_shift; if (gbl_chg < 0) { vma_end_reservation(h, vma, addr); return ERR_PTR(-ENOSPC); @@ -4778,6 +4779,7 @@ static void hugetlb_vm_op_close(struct vm_area_struct= *vma) { struct hstate *h =3D hstate_vma(vma); unsigned int order =3D huge_page_order(h); + unsigned long hpage_shift =3D huge_page_shift(h); struct resv_map *resv; struct hugepage_subpool *spool =3D subpool_vma(vma); unsigned long reserve, start, end; @@ -4799,7 +4801,7 @@ static void hugetlb_vm_op_close(struct vm_area_struct= *vma) * Decrement reserve counts. The global reserve count may be * adjusted if the subpool has a minimum size. */ - gbl_reserve =3D hugepage_subpool_put_pages(spool, reserve); + gbl_reserve =3D hugepage_subpool_put_pages(spool, reserve) >> hpage_shif= t; hugetlb_acct_memory(h, -gbl_reserve); } =20 @@ -6871,7 +6873,7 @@ bool hugetlb_reserve_pages(struct inode *inode, (chg - add) * pages_per_huge_page(h), h_cg); =20 rsv_adjust =3D hugepage_subpool_put_pages(spool, - chg - add); + chg - add) >> hpage_shift; hugetlb_acct_memory(h, -rsv_adjust); } else if (h_cg) { /* @@ -6908,6 +6910,7 @@ long hugetlb_unreserve_pages(struct inode *inode, lon= g start, long end, long freed) { struct hstate *h =3D hstate_inode(inode); + unsigned long hpage_shift =3D huge_page_shift(h); struct resv_map *resv_map =3D inode_resv_map(inode); long chg =3D 0; struct hugepage_subpool *spool =3D subpool_inode(inode); @@ -6939,7 +6942,7 @@ long hugetlb_unreserve_pages(struct inode *inode, lon= g start, long end, * Note that !resv_map implies freed =3D=3D 0. So (chg - freed) * won't go negative. */ - gbl_reserve =3D hugepage_subpool_put_pages(spool, (chg - freed)); + gbl_reserve =3D hugepage_subpool_put_pages(spool, (chg - freed)) >> hpage= _shift; hugetlb_acct_memory(h, -gbl_reserve); =20 return 0; --=20 2.39.2