From nobody Mon Sep 15 18:04:06 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 BE370C46467 for ; Tue, 10 Jan 2023 21:29:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233290AbjAJV3P (ORCPT ); Tue, 10 Jan 2023 16:29:15 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39826 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232959AbjAJV3F (ORCPT ); Tue, 10 Jan 2023 16:29:05 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 70FCE5C1D7 for ; Tue, 10 Jan 2023 13:29:04 -0800 (PST) Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 30ALGkw3030256; Tue, 10 Jan 2023 21:28:35 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=Ue5KRszYjMTnj2K1AHindC7y6fInHEG2p6kUaNmTi8A=; b=iMO/PPajVxFO19BeECZndmlvYZIh0EAoodECKmu0hzspwbUcmQW0WBPLp1A3YNOVeTVT Bnp5CAmm6jFu4W/pnYgeF6Kkwt4tPnEL/9ctbxJaq8wkkulj956Tw/0TtsMHUwxgjTrl EWTMKxQCWGGP5eSINKkpKUwes74b07QTotrmVELXx8hCUONUrHpI/k7KU6CkV0SsxQye zCgUTZ+lp5mC0EEtOitZBpJWX7A/cjBxbgaap5bnca4uRQ8ddJlNKWC6CYjlvy8KyiRR +3J2tp5cz29In3YVCjNC/XysnVFcNviBp73Y0ZOZUOqvuI48aJ4WAy0mRFn/wLejJ5Dx Kg== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3n14nf9syr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Jan 2023 21:28:34 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 30AJcce7024447; Tue, 10 Jan 2023 21:28:34 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2174.outbound.protection.outlook.com [104.47.59.174]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3n1ebume2q-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Jan 2023 21:28:34 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=chM2DfBur+/QebBmLXEUfooxLCLcIuQMMGhLtl4m5kaBlcxtqvjtmoxgJfpU2hn2nsnwBEKtqeabIYBmXOdl2VCGAcf2HagvcsB6rMyXgzv5l5zRfT5yK9h8JfqMNTrT5nyDdEknZPT54FEjE7JMIY8326vsFERL492YJ2iyynjbJS/olx5eOwg2mjfk04lvmk3LGPInEn7xwR+nPRlP6SH7N5rhZ4E8LccR7M4axqEPF9rs9BUItC5hA6dIQ0Ugl5AgBFoyW8/X4qZdd2xxb7tKnOGVyDTzVg7Knjx67fU81th37jmRllhVz0v+476TLat1gT4ShDAxbwOtGHQ8fw== 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=Ue5KRszYjMTnj2K1AHindC7y6fInHEG2p6kUaNmTi8A=; b=jLKNzCfihGbsy1d7IGSi/IFxG7vUsLMoC7ca8+3bbq9Cnp7fkJ8ZCpaeybs+xeGmFeLgzYOiPaOXbb+EvSYhKwyDoKyYRQCqdvUurOras3eq29KA4ZRFzXF27k2z/HA6l/ZEPEzm6uKY+1GeS4MxDvO2lfoFmsRbvlMGNJGxw7JJtq8QaDNn6pzBCvk+CVwkzoZqlRUI1pWhtEAD4v+Ita2X8UlIVoHvY+CBIOgZTjsCNilZPpYZKVvOBF7MLqREbowVAjdcHhPtFGqOKAkrmh2wyEYozcb0cKRbIkCvkllq+ZthQKdzdQb+jYP33463UmT9GiD4SmUtJFCuycZ+HQ== 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=Ue5KRszYjMTnj2K1AHindC7y6fInHEG2p6kUaNmTi8A=; b=RiPI0k9NV9G1CXpmf1US8IqMj6F6qK8Ya9sCjgIaP1r4wnnLNeWT01lv+90+94zE2LqB63/E+svEgJrjqekHaIILgnQnZBAOcU6Z56WvOgwktZHmpjXBAfEI7fYy//K6pRd8rsCboNfCdH4eg48dIGtXvYQU13vhk8odhZNosEg= Received: from DS7PR10MB5117.namprd10.prod.outlook.com (2603:10b6:5:3a6::17) by DS7PR10MB7153.namprd10.prod.outlook.com (2603:10b6:8:e0::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.12; Tue, 10 Jan 2023 21:28:32 +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; Tue, 10 Jan 2023 21:28:32 +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 mm-unstable v2 1/8] mm/hugetlb: convert isolate_hugetlb to folios Date: Tue, 10 Jan 2023 15:28:14 -0600 Message-Id: <20230110212821.984047-2-sidhartha.kumar@oracle.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230110212821.984047-1-sidhartha.kumar@oracle.com> References: <20230110212821.984047-1-sidhartha.kumar@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SA1P222CA0027.NAMP222.PROD.OUTLOOK.COM (2603:10b6:806:22c::11) To DS7PR10MB5117.namprd10.prod.outlook.com (2603:10b6:5:3a6::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR10MB5117:EE_|DS7PR10MB7153:EE_ X-MS-Office365-Filtering-Correlation-Id: e7a814f3-84ea-412f-10f6-08daf3519fa0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: a5yDz8nknjeIaDQRw4n5fvsVxDpHdXxoqDwTrvyBc7qCFFoYkmXoBVjjIYnx/dCfTUaQexMh18WHh/0mf7lJjZD2NgdOTXXkME9lHJnDN7lbNrKOlgDuVc4Gy90eNWDqKA2DX01hFDPv9aSwlKcQtsHQJGbyWjdVKb0KRFseXdaktLk46SnDVB+rL+f2JqiNz0NeygOzPD3llRnmKbmIcoAHNCIZdmovOZcSbyNC9Xox7m9LJxLR/7vL8qtXpRKTNhBJpvoP5q4p+qgYK4FqatyXPjqtiBVlU9LoqE5Tnz/F60XOXSmRRaj76hX50CtA1mt3rhSr7qwFiRxXIzHXsRtbbxeAXv11LwrvW6TeZc20BrGggRly4DafCxZnwligd+4D+KouQXd3LkMt2FglYEgXBDS4gGQUtUI0fL2kkI+xbIBI2b750z7/YnonVJnbLEYNrYgIUr99bxbFch1NULb0WSTfrD+nPH2MHsrr2VQs7Jbe/JQk8/g/pbL/y5wR2FbIf+cbR9jyKOg9ndW6OCP5/b2gaTb1thD7iQa1zxxPF/bpUkzXrlT2BHt5DFayDn+QyhRptz2lPbkjTRoRFRAynJXGph++ZXWyryejVymSDytBJwepJoW4I5MP23Q0iLYMYGcoxkyoq8pVPtNhtQ== 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)(376002)(346002)(39860400002)(136003)(366004)(396003)(451199015)(2906002)(5660300002)(8936002)(44832011)(86362001)(36756003)(4326008)(41300700001)(8676002)(66946007)(66476007)(66556008)(38100700002)(316002)(6486002)(83380400001)(6506007)(2616005)(6512007)(6666004)(478600001)(107886003)(186003)(1076003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?zZnn3cBj7RDKUW3rBwjrXZ+9I/KAPKVnKOdi65DF2Aa3Q/qKYc7NMr7Z/atE?= =?us-ascii?Q?HwTF5k50EFFs7C0Hr6aPriXqiZyCinXEptBiV7wJJAiRV+prG9b3yUdT/SWC?= =?us-ascii?Q?2qltoQmYo9UIuT41kv7sJYhdWMj4jBtsbJIQwyBNlolQ3bZxPsN5NbsrSbd7?= =?us-ascii?Q?E9PdaC6Y4zc74xGcmSwm2DTEZkPBzaBkIcEXGk8AWbIoZkeiID/wt1L4PmcQ?= =?us-ascii?Q?yBYZYLQ0XmNvERO1qhaSjVU2refiLPUXU+Mtp3oLyaWnwM50a9j87PaXThVH?= =?us-ascii?Q?JDO77G2OTPwgU2oseUFlLkH11CeM4Sp08zfrrVhNjBsI1yGsZbhaatfWhRbi?= =?us-ascii?Q?JKD0omgCj8PpqtQHhY+4eDxyLjjVRc9ljlC2G9az9UEX65AnV15d56CDKOid?= =?us-ascii?Q?MbZYSWfGFG+PQ3CtXhSqsf7jvF41+i+5HD++XMpk5xxREx3BJ46gTCbTeMVf?= =?us-ascii?Q?mI4lC+vHIAqB0ZLytnslxH8p6oAcAACIqp/wuVtvPKTWJs65IFpOgYp1DcdU?= =?us-ascii?Q?q2dnefkfc5+gu6VygZBeB50+HcBE75pe/LaeTD+PnAMYYC0IJwLHSaNCYtT2?= =?us-ascii?Q?//78q1JimhtYRYrUEE6OqYha1TPKx3bXqcQJ8K2/8kbdzUUKE3tF8HaVwE7J?= =?us-ascii?Q?lXP4fZqCGiLsjVNXgsi2qeS/6dbwuxUtFwXarJHQvdygXzRH+k6Gcidzdrqj?= =?us-ascii?Q?wMOhBPqX50iuP3FfHbfdNHC8yf+AClXNsrZMpQyo+X6EEevDHZUEg7t2nBsq?= =?us-ascii?Q?A/oeS8Jw6wGnOaq19N/6Sq8jN/cNf1dW7qt18iJbybdWeMKkRcQAoPowFfcX?= =?us-ascii?Q?0GH126mvLsFpsHc1hep/txMk6yWKyaPx2YW/LVRci4eyKBbms9YwSeZlbV5j?= =?us-ascii?Q?EE7d0fXJfCDK9DmWA7zZ4a+D+HEv7O/vTpH0wb5YbilOzziuur9FrL029gKs?= =?us-ascii?Q?uyCEfWu8C3Z58Wjhs2JfxjQDxeDDmeK6aCdlYVm2HP2sDnq9qStFQ387lrMF?= =?us-ascii?Q?jpDcQBVSIObf8QFgnU18BVEZUa8Vbj5bVp/e0OtMBnoHxeW6yA2j4H/dSvuA?= =?us-ascii?Q?Y2iwVZ2FXp3tVflyzWfM+ViNAcoAXoqonZ8cfQ6Fk02mIspt/t1YYe3LaLno?= =?us-ascii?Q?D80ozB/S3Td4tuJWhqduvR+ZsYjxzANH/jALdodQD2VCEMoENc8WC6E9UFR4?= =?us-ascii?Q?ZPIN0yk5/+Im23fwF+UIADVak5HLZPMCa5zVnpRRP9B5GcnNIlMYXia0Q+VR?= =?us-ascii?Q?GYVjykL9CXfOB+M5sDkBNJ25i1wzDF2RrWpoGB8dLxIe95vFQeEaSCIB+m41?= =?us-ascii?Q?ojTAOuKRkr88v2YhOa1CQXYBQXDIjJoNrz8DQO8fCn0BdM5QF95Y7KICrcsi?= =?us-ascii?Q?+h5GOYzST73zwBjZ3rolG6bzUypxi0QGfdfBPLSeOZKYpkVN0ixw8C+HOQv7?= =?us-ascii?Q?tP2Hi+rvvwr6xpViurK/X0qCuATWsm9MKoxfQ6wyacWYoKkw1l4Fs1NHiGKs?= =?us-ascii?Q?S/6iNIgchBGHztuqne9suPMmH76kWjGlXhhINA2Ix3I2/UTfnBHnwxDP8UWT?= =?us-ascii?Q?SNl5kXc7sCu/9hTLXFk2nEoJ6UcR+ksqJ9HT1s1oec3qq/VpvHm7bbOqvTHE?= =?us-ascii?Q?RQug7XsV5Jgpp3U3YKoS1Nk=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?LF2Ehjul5ZGvP8sDyNbxdelVPE4QklS6QJWZ6cZr89ZSKLoIvkI6bg9m3IHA?= =?us-ascii?Q?So98/LQ7BQVOXrmFQWTZRPrpJdUfQqp3N3QOr+V9yAoRYDIWJ1Vq99fWmOee?= =?us-ascii?Q?9RfCxLAmV6jx/KfKMKcjIkEa4wC/gw0jUaFe+s+R7e1FE/DD4ALbFyKyp4bg?= =?us-ascii?Q?mMk1ogognDTvK6KORZGu8L+p5Q5GskJUgoJ1sRSOWnq35j2nukOOalttJxwf?= =?us-ascii?Q?HKVH+iK1k1RcuYi35LCM/4CACJCKkS+IiOSnqrauOqqJzt1zhYnaPAt8FRyv?= =?us-ascii?Q?esqiFWOgFAUpJGJFk8TY8jXyJQa/ReqWYCexDTcYEM5JOKC2/DH8jE0KESe7?= =?us-ascii?Q?Qwk3Vr0HeZxBlMs8mIjFGhoPb2rZeBWdr960RvzT02SiH6m9qsI/iihxdFLJ?= =?us-ascii?Q?CDarDAAjt9v41G8a1J3zqOhE3bfhNcXNTFZ4ue5/5EzpWr6R7qlWIz3zFfft?= =?us-ascii?Q?q7xl30/J2IqkXgAsvN4y6QYDzrg4by7jp/2Y5he10w+H/ChYIY+CWOk17OCq?= =?us-ascii?Q?5EjXHQHmib1cRY1uIAVyJ9C9i8T0GSZ3VoF03v9HBliRT73adx/2QewPNtZ3?= =?us-ascii?Q?kKrV0vG9GBzMFh7Rm5WkPD0IMyr2C3HLbyBchFCshuLSn2w47kqLjSllZjS8?= =?us-ascii?Q?xXwU6vxI9QEmjKyLa/9i7HpYh+jhbDI3IAt/vFLwPh5CnpYAsHbfJ6rCANXw?= =?us-ascii?Q?mkDAdWuiYQ6Vv2HhxNvYAzvjnlX5clg8YwVJwP4IZj1UUSBv1nDnhQCxdhub?= =?us-ascii?Q?ZTygkpAtYcypiDeIWsZCPj7wvNFmKCkUgfT1vUwizLulNWvKNL2/JYszeGBO?= =?us-ascii?Q?rvoo/8A5VeR2Cx95IDlWJ06AWJ+TGSKvhMU7WMq4YdKX5l1jTVHbdDYTNgJF?= =?us-ascii?Q?g22FFepmQnUXeti7onKpSC62rjmzzrN1t6SNnMVTUHZ37cwtDu+EAT6lvw2B?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: e7a814f3-84ea-412f-10f6-08daf3519fa0 X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5117.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2023 21:28:32.3720 (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: I3NNSGOHisfW3M20/hUTBQeNx0yW83pww5Zki1QfvD7QFD9by4wZbv9mV7gL/t3iqdBktJMo/gFApJrBG7uI0Ry7sRGQfB8dtIM1pVI6z6E= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB7153 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-10_09,2023-01-10_03,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 mlxscore=0 bulkscore=0 adultscore=0 malwarescore=0 spamscore=0 mlxlogscore=825 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301100142 X-Proofpoint-ORIG-GUID: 0nUvyz0MlfwaLtX4PEUnXexhLEvWSstL X-Proofpoint-GUID: 0nUvyz0MlfwaLtX4PEUnXexhLEvWSstL Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Convert isolate_hugetlb() to take in a folio and convert its callers to pass a folio. Use page_folio() to convert the callers to use a folio is safe as isolate_hugetlb() operates on a head page. Signed-off-by: Sidhartha Kumar Reviewed-by: Mike Kravetz --- include/linux/hugetlb.h | 4 ++-- mm/gup.c | 2 +- mm/hugetlb.c | 16 ++++++++-------- mm/memory-failure.c | 2 +- mm/memory_hotplug.c | 2 +- mm/mempolicy.c | 2 +- mm/migrate.c | 2 +- 7 files changed, 15 insertions(+), 15 deletions(-) diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h index 551834cd5299..482929b2d044 100644 --- a/include/linux/hugetlb.h +++ b/include/linux/hugetlb.h @@ -169,7 +169,7 @@ bool hugetlb_reserve_pages(struct inode *inode, long fr= om, long to, vm_flags_t vm_flags); long hugetlb_unreserve_pages(struct inode *inode, long start, long end, long freed); -int isolate_hugetlb(struct page *page, struct list_head *list); +int isolate_hugetlb(struct folio *folio, struct list_head *list); int get_hwpoison_huge_page(struct page *page, bool *hugetlb, bool unpoison= ); int get_huge_page_for_hwpoison(unsigned long pfn, int flags, bool *migratable_cleared); @@ -374,7 +374,7 @@ static inline pte_t *huge_pte_offset(struct mm_struct *= mm, unsigned long addr, return NULL; } =20 -static inline int isolate_hugetlb(struct page *page, struct list_head *lis= t) +static inline int isolate_hugetlb(struct folio *folio, struct list_head *l= ist) { return -EBUSY; } diff --git a/mm/gup.c b/mm/gup.c index 5182abaaecde..bdb00b9df89e 100644 --- a/mm/gup.c +++ b/mm/gup.c @@ -1843,7 +1843,7 @@ static unsigned long collect_longterm_unpinnable_page= s( continue; =20 if (folio_test_hugetlb(folio)) { - isolate_hugetlb(&folio->page, movable_page_list); + isolate_hugetlb(folio, movable_page_list); continue; } =20 diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 0c58f6519b9a..540f33d8cc51 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -2781,7 +2781,7 @@ static int alloc_and_dissolve_hugetlb_folio(struct hs= tate *h, * Fail with -EBUSY if not possible. */ spin_unlock_irq(&hugetlb_lock); - ret =3D isolate_hugetlb(&old_folio->page, list); + ret =3D isolate_hugetlb(old_folio, list); spin_lock_irq(&hugetlb_lock); goto free_new; } else if (!folio_test_hugetlb_freed(old_folio)) { @@ -2856,7 +2856,7 @@ int isolate_or_dissolve_huge_page(struct page *page, = struct list_head *list) if (hstate_is_gigantic(h)) return -ENOMEM; =20 - if (folio_ref_count(folio) && !isolate_hugetlb(&folio->page, list)) + if (folio_ref_count(folio) && !isolate_hugetlb(folio, list)) ret =3D 0; else if (!folio_ref_count(folio)) ret =3D alloc_and_dissolve_hugetlb_folio(h, folio, list); @@ -7271,19 +7271,19 @@ __weak unsigned long hugetlb_mask_last_page(struct = hstate *h) * These functions are overwritable if your architecture needs its own * behavior. */ -int isolate_hugetlb(struct page *page, struct list_head *list) +int isolate_hugetlb(struct folio *folio, struct list_head *list) { int ret =3D 0; =20 spin_lock_irq(&hugetlb_lock); - if (!PageHeadHuge(page) || - !HPageMigratable(page) || - !get_page_unless_zero(page)) { + if (!folio_test_hugetlb(folio) || + !folio_test_hugetlb_migratable(folio) || + !folio_try_get(folio)) { ret =3D -EBUSY; goto unlock; } - ClearHPageMigratable(page); - list_move_tail(&page->lru, list); + folio_clear_hugetlb_migratable(folio); + list_move_tail(&folio->lru, list); unlock: spin_unlock_irq(&hugetlb_lock); return ret; diff --git a/mm/memory-failure.c b/mm/memory-failure.c index 63d8501001c6..cf60c0fa795c 100644 --- a/mm/memory-failure.c +++ b/mm/memory-failure.c @@ -2438,7 +2438,7 @@ static bool isolate_page(struct page *page, struct li= st_head *pagelist) bool isolated =3D false; =20 if (PageHuge(page)) { - isolated =3D !isolate_hugetlb(page, pagelist); + isolated =3D !isolate_hugetlb(page_folio(page), pagelist); } else { bool lru =3D !__PageMovable(page); =20 diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c index fd40f7e9f176..a1e8c3e9ab08 100644 --- a/mm/memory_hotplug.c +++ b/mm/memory_hotplug.c @@ -1641,7 +1641,7 @@ do_migrate_range(unsigned long start_pfn, unsigned lo= ng end_pfn) =20 if (PageHuge(page)) { pfn =3D page_to_pfn(head) + compound_nr(head) - 1; - isolate_hugetlb(head, &source); + isolate_hugetlb(folio, &source); continue; } else if (PageTransHuge(page)) pfn =3D page_to_pfn(head) + thp_nr_pages(page) - 1; diff --git a/mm/mempolicy.c b/mm/mempolicy.c index 61aa9aedb728..4e62b26539c9 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -601,7 +601,7 @@ static int queue_pages_hugetlb(pte_t *pte, unsigned lon= g hmask, /* With MPOL_MF_MOVE, we migrate only unshared hugepage. */ if (flags & (MPOL_MF_MOVE_ALL) || (flags & MPOL_MF_MOVE && page_mapcount(page) =3D=3D 1)) { - if (isolate_hugetlb(page, qp->pagelist) && + if (isolate_hugetlb(page_folio(page), qp->pagelist) && (flags & MPOL_MF_STRICT)) /* * Failed to isolate page but allow migrating pages diff --git a/mm/migrate.c b/mm/migrate.c index 4aea647a0180..6932b3d5a9dd 100644 --- a/mm/migrate.c +++ b/mm/migrate.c @@ -1732,7 +1732,7 @@ static int add_page_for_migration(struct mm_struct *m= m, unsigned long addr, =20 if (PageHuge(page)) { if (PageHead(page)) { - err =3D isolate_hugetlb(page, pagelist); + err =3D isolate_hugetlb(page_folio(page), pagelist); if (!err) err =3D 1; } --=20 2.39.0 From nobody Mon Sep 15 18:04:06 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 473E5C46467 for ; Tue, 10 Jan 2023 21:35:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235005AbjAJVfn (ORCPT ); Tue, 10 Jan 2023 16:35:43 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41102 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234892AbjAJVfL (ORCPT ); Tue, 10 Jan 2023 16:35:11 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3F4F215FF4 for ; Tue, 10 Jan 2023 13:33:28 -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 30ALURlI023382; Tue, 10 Jan 2023 21:33:10 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=ia/pKYvs485DK07VT5Hlv1uptsr6AIwYUeTt8NNpORU=; b=fTNoAIxRBkWp+dRlqkY7ujQX9WGEtZJDvbyhlydkZfv53fbfajR067Rj3a6dcNYpU3W/ jUFl/9/NIG/RksQkLoRhM8XKR8ekr0jYPCVdcV2k/yuPycrfpzaFu+zZqkVFylq7lUa8 zoadp3gd4wZgFcyfmzOsK38lJygxwzLX8Aio2e9i+vILQAn56P3BNnnYxuDuePQJEDQL 2TyWkN3/LQQhqjWyDTHTVuP6s1OZfMKdbNdqXFhJCpoT9isVp/1W6beNtxfiFHZH/CTz FOpRIa6Cv/+GSWUg6/RBh8J7mKybr1EAiNKMbmkYuYb7JKTA0xdqPF34sNXJKv8gFgXx 9w== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3n185t96fy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Jan 2023 21:33:10 +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 30ALOdsJ003116; Tue, 10 Jan 2023 21:33:08 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2177.outbound.protection.outlook.com [104.47.55.177]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3n1fwera8d-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Jan 2023 21:33:08 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YddkCwTs2WJx6lF1QYlWr6nXo9uq68Q3IaF65ne9uA3+55ALdKrRg8LeEpYePctlEMvN5t3r+DRrdFT4ptitq2v0b4ImzS13/AafEchnCbFq3VObCwjLQdmDiikUH3QtLD0/AqWlxl7WVcGOjCIlqMTvI/yqhU5S/F8Wt9On/0neVbsN4ZG4MMRCGP0wEJl5NYSXpnVmDpGKPfXJDKq4GZBq+Vc42MF3t8kC1S3ttXz2X/XD1zdzjUpiJ2hU3IZcyDK9XVn3bEPH6ty0znyD3e7JB93BlJKDSOPpc0K/U7AX3Gcs1F7lyS8m4YQfRd4MQWaO3r8ycNzxGHaJlqebOQ== 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=ia/pKYvs485DK07VT5Hlv1uptsr6AIwYUeTt8NNpORU=; b=jspRWFq/I4w6EYaofsW5E0iB+XkSyEiox23EmSmaoSl3KZd0CSw+upZRrAoFx17FCCNgscI64gbvn87Vpn4kG02Ff2G++7SOt/5Blldp+k54cE54ccT3QmplpOnlDFCyeXuv2OPjMJT6qR/S6aUht27+LTvi0+weEDdsDSanPIkHfQp/CdgiBsTmBntXKmt4p5PXTn6iEzckuJoxGE/BG7SH4vO48Ky93EVzZSG5t+zOVKOFO4jRP+V0rIwfUrkxht2geCQ03bU8L0wpEXRk4IgHkFbekuvcP9cYKVoFo1OjPz7879Z+j+7M2Yel1Sb6ehGUlorunfI6Rg6tnbgprw== 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=ia/pKYvs485DK07VT5Hlv1uptsr6AIwYUeTt8NNpORU=; b=iWkdDCSAFFZ/Q9I9TVULsXtOXbWVvCss81IOOTDw8Q1zqQ7DiPVENV1JHsX0ytXZaBFlSVUYDWkhGqJAGadOJ12Z53tqWOvOujt1heeGZ43q2/ckRUI9CC9qXbvMrnm9tB/W4EH8p23q+8PHUrkHIf3Fk2tMkf4fQ7t3GHWm6ic= Received: from DS7PR10MB5117.namprd10.prod.outlook.com (2603:10b6:5:3a6::17) by DS7PR10MB5133.namprd10.prod.outlook.com (2603:10b6:5:3a7::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.12; Tue, 10 Jan 2023 21:28:35 +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; Tue, 10 Jan 2023 21:28:35 +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 mm-unstable v2 2/8] mm/hugetlb: convert __update_and_free_page() to folios Date: Tue, 10 Jan 2023 15:28:15 -0600 Message-Id: <20230110212821.984047-3-sidhartha.kumar@oracle.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230110212821.984047-1-sidhartha.kumar@oracle.com> References: <20230110212821.984047-1-sidhartha.kumar@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SA0PR11CA0109.namprd11.prod.outlook.com (2603:10b6:806:d1::24) To DS7PR10MB5117.namprd10.prod.outlook.com (2603:10b6:5:3a6::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR10MB5117:EE_|DS7PR10MB5133:EE_ X-MS-Office365-Filtering-Correlation-Id: bdae4b27-ffaa-4b77-deea-08daf351a15b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: mI9lrunfJ2xs+JpKSSar20cyp8EwLL/4pNDZMnyrtDBiBX4zxs6ILAMWm77IIoiOIPSia23SFowSIY8KTV+Qk9kLPmn9jkQTh4Lr4Xu2Ggc71mOh3kV5KMYcvfaGXCe8XRZdkVU4VawuhNItrwA8olsA8tugZ9k/HcQy0kHyKb3ocWdFZHW7B0wBgl3gs3GrJAPoO5eL/oUiSo2u8J6Prlz4zFnsMqEhyEU3BFybmNNl0HTGVevc0DRvk+i7muIWaO5lYAcES/CEiS+lx643uDYS0DvlpHkU8abQ1LH3AYrCsfTciVg1it/5rfwDXT8cN91IpArIJoyJmeuz39s6279EHW3tA60eBIhcvcnL7KPeaBV3VjGGjTQJyij25YQfLVOSFI/T8sUZYlHp+foLufpsHuJadD34+52g2qW/JXcygKUJxAbGogj8N+MluZVViEjVMymRSUp1EKvlVHbktC4AMWIlfsvn//PvT13EH+bMhUkp0JzbTMMTsVWTVIuMosD3malqjhZp+zi16JlB1U9V2zqkYu+G9mW6DKkhIIft6U+UpWZ5sMfn6T5ZWhOaCEMOoWUXnQbMm4/PHuItaNvTESjd2Vz1xgHdVvQQR/ZjlXtsXYFoNUxXuAx3wf/QVIr5S+sHBwjO8WX4SqAlTg== 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)(39860400002)(376002)(396003)(346002)(136003)(451199015)(38100700002)(316002)(36756003)(5660300002)(2906002)(41300700001)(44832011)(86362001)(8936002)(66556008)(66946007)(4326008)(8676002)(66476007)(83380400001)(6512007)(478600001)(6486002)(1076003)(6506007)(2616005)(107886003)(186003)(6666004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?1pf4ss0ZXrngEpP3s6Fad79txZOqDpBBGjLpdipeLg6G8e9jy+polv57fGNI?= =?us-ascii?Q?xaCl0sH+r81aV/734H5ZSrhKMseLeczA6POCv6P64E/rR33aI33+eDIow7P8?= =?us-ascii?Q?M6hxIdZxcbCawbgZeuAZPSYHs+9Iwm0aet+CQSYu/YF/inxuRys2xXV1fuId?= =?us-ascii?Q?gv5rdJKdlGDJPcfZxPxE7G30NB1ZuIYDrruavIeWDkm0L6s8dLO1d/C77HsS?= =?us-ascii?Q?fgEF5VOXHRpoPb7bc1FruBO8Fgh2FYp63PNxQqpQbX8c/eiu9QVQK4aJK/P7?= =?us-ascii?Q?jiwvRw6FsIimWAj4uRMy5G9qvlNV/taaLrIaq3Jw6Z/W2tSa9VksuMDIaGQv?= =?us-ascii?Q?XiZ1WqahA3MHzur/f61XnJ3CKM1mnXbyTlMs2KbPQv8chO3UiKOFCRGf5BjJ?= =?us-ascii?Q?Kh15rz5VeloitGZGJnE5OQNqni1nbd7Y0OAszuPJrYQ37gTwP3/i7YJoRz6a?= =?us-ascii?Q?A7mr1t6XI8pagzgtkX4GEgLvQzHj3XAMWeYD5RHdoTtJdat/Bfb/sYGOKSX9?= =?us-ascii?Q?iUv68mz9wiVRmERmIzwMpzMRT4bYuMjn+rKKhtdqFY72+5WKFmwv7SXMERkI?= =?us-ascii?Q?IyetDrvupWWQIg9Z29tmbDt2LTFMa9MU2bYvBvav5H7kOrTKiKhsLigKaVet?= =?us-ascii?Q?OPaBBl3h3scQeivRld7O2VCNhdiBIQEtJ+lGfuNiJSVFxs0uw/MMZgPxQ/3W?= =?us-ascii?Q?gW3BgzOkPFTYpgQDzYnncuBPv8rYXZV0mLEUeaseHEC0z5bMC6t6oTxbPwx6?= =?us-ascii?Q?pmP9FtPmdTI+2Ar1phCzyRazol7Oix6jN2CUwL9QaN6d27C3nkWXiwkV17Pq?= =?us-ascii?Q?CA4HAsfunv9l/iPJ2kpH0opmYGQ+o5vLwIKBCvIGfuY2AoYpk/LOATbXqG/s?= =?us-ascii?Q?E2n8+vLjkR+Uz9asjVr7/6VO4AKqFavH+ieLXe0y3Bj2q/NY9Zvsv2WnmbB3?= =?us-ascii?Q?l40vTCoviJaqgHFpJnwjIqNqZMUEVXWrg9CwjTPnN7/PiIOeaMta/EkV4+cm?= =?us-ascii?Q?yfh1eaTSGv4alWfipjxmQReL2l1bzyMtWXGv1fhP2FH6atSxVvpGEAbGttom?= =?us-ascii?Q?TYqnNjnJiSsDVnbuDeKR1pT2+5/4QNVkFdj40buooaCZ/I7eFSdu4hCRJvey?= =?us-ascii?Q?VxauUXp/n8w+Eutgyhhi+Uq30IhWhjmg2q31iOsmKEzDD/UNogmlY8E57jxy?= =?us-ascii?Q?lTw3dfZ1nfiMLh7Xl3y+U+Q7b15Y8Ml+6jxws98poPpYCQZQ0gPRZhTYmzYB?= =?us-ascii?Q?yI9tFp2NAPqjVo73NzSwZFuKC3moA3vHKbLwK99YiSksp0gM+UW4H7cKJrhY?= =?us-ascii?Q?rDbGJSYaShoKAfT2oIzz4KdaweLPwzy4RibS0VasFjmhKA6+ZWZdM17P4Pjf?= =?us-ascii?Q?R/EYIPsm0/y5TxRgEvw5JM49++eZ3o00WXktyjyGmn4vIgbboTvHZOOtiQEo?= =?us-ascii?Q?fCwRcgGnuD5KjdbRAHf0mrqpUwBEAiNjsQRZOxQP7GZjIysAe/P+lJgVi4jf?= =?us-ascii?Q?yukv4Zn1g5LE3w7noVMUnOeTQBShbcMa3lYOILCe2H3ssMZOn18Y4R/JYyYg?= =?us-ascii?Q?wzfUXNnoy1HEAyenLOdFknaLaMISAOSK5VPTkNlVXqWHegoA9kbTFpNJ5vO1?= =?us-ascii?Q?WXBRikyjrnyHSycGTHV8T/0=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?JSxArzg/iEwXMYb7PqUj78oZCdfqdmOiDDVqEj3AtaJWGs8gVz6eq+pViM5s?= =?us-ascii?Q?rd+6qv9IjlJtU0l+FkA0Gc/7uCmUctofGpJs77Xy7tgvCNWLYZNc72Qmzgli?= =?us-ascii?Q?GIfgKZVtrLHN4S2bUJy+8oT6n0lfjAAuOjDG5eb5/uPCIlFBkqcQ/f5mEvdv?= =?us-ascii?Q?cbKJNxfEw3qhzf2v3F47ow6cz4DZRurr80e/ukoLjyB8uxbPJKglycSLSBa8?= =?us-ascii?Q?0aqYHclQdbflqXg0WkjEwhp7Y3iiULxMg+hBzcnjiNz7FhdWGV+kI9GYVEGT?= =?us-ascii?Q?TeYVpYGi/jb4GSUux6lj+a2jlMbJhjV4suKRNiYf8z2YbRQ/amaEq+7tAVxi?= =?us-ascii?Q?Zm1a8xdianEXaCkJJ3qKGvKfDXy8JQBeS/mPth/EVEfXvjZKyay79zVHoBVI?= =?us-ascii?Q?65xsQC4m0h/jOpg67Xva5dEe2uLgTy3HZ5ipfM3UsRU/wUri2GSUcE7x4m1H?= =?us-ascii?Q?ISrtY9ehWdl2F0aowd9g1gd0Xxw8P2CSYuFKT7OUzgWZtcV5G7Eg2EWkkZXW?= =?us-ascii?Q?l6JMFU4bi2mCp/mPM4bjEB/idpKTIQZhSUeZZmdDJ0L080ZzFzB+iOcRUctY?= =?us-ascii?Q?/hj0xnPnuKKAkH/o38PbwDOpZgwZkWBKn9erlSYGSboK9MK4XOW6/uBRJlJI?= =?us-ascii?Q?v9A6lRoZbRt/VBJ7XnolW3W8FKlIdAXpFXqXQCXB1Llul1CFXVmsaIVPMG0B?= =?us-ascii?Q?Cnf5m1fxoUomItkW+PXeOghyGMI90OoFTPA1vEWEtxEaBt78mD57VYTEGqMg?= =?us-ascii?Q?zIUYdj/BrJEYdQTl82lSXK7i1Vfts5O+LmcUEMo9KUvXIlOUozRcvvki7xXw?= =?us-ascii?Q?WR+QEpfCG92smTUX73XdP5pSz8oqKAI4MWa8YiqLLY/LLa+iON5Op0vFveD+?= =?us-ascii?Q?BCINdO+BMeMpR7yzITXxz4J6ZziyYQePY2SqmMqXBNT+EG8vK8Lps1eQbuGw?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: bdae4b27-ffaa-4b77-deea-08daf351a15b X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5117.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2023 21:28:35.4055 (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: 4gd9ZhhDq8ibECPYdu307LtwCie3V4cksyW2DRS9ZjCXfrypo9HejW878+QpbCFwjE5bN0FPnewofDgZDAJEcimmPFKNQX/E1zKu4VdamcU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5133 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-10_09,2023-01-10_03,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 phishscore=0 suspectscore=0 bulkscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301100143 X-Proofpoint-ORIG-GUID: krBTCGsmoZ1qLCk89MOoVIMewxOellAd X-Proofpoint-GUID: krBTCGsmoZ1qLCk89MOoVIMewxOellAd Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Change __update_and_free_page() to __update_and_free_hugetlb_folio() by changing its callers to pass in a folio. Signed-off-by: Sidhartha Kumar Reviewed-by: Mike Kravetz --- mm/hugetlb.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 540f33d8cc51..9155bb5ee570 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -1556,10 +1556,10 @@ static void add_hugetlb_folio(struct hstate *h, str= uct folio *folio, enqueue_hugetlb_folio(h, folio); } =20 -static void __update_and_free_page(struct hstate *h, struct page *page) +static void __update_and_free_hugetlb_folio(struct hstate *h, + struct folio *folio) { int i; - struct folio *folio =3D page_folio(page); struct page *subpage; =20 if (hstate_is_gigantic(h) && !gigantic_page_runtime_supported()) @@ -1572,7 +1572,7 @@ static void __update_and_free_page(struct hstate *h, = struct page *page) if (folio_test_hugetlb_raw_hwp_unreliable(folio)) return; =20 - if (hugetlb_vmemmap_restore(h, page)) { + if (hugetlb_vmemmap_restore(h, &folio->page)) { spin_lock_irq(&hugetlb_lock); /* * If we cannot allocate vmemmap pages, just refuse to free the @@ -1608,7 +1608,7 @@ static void __update_and_free_page(struct hstate *h, = struct page *page) destroy_compound_gigantic_folio(folio, huge_page_order(h)); free_gigantic_folio(folio, huge_page_order(h)); } else { - __free_pages(page, huge_page_order(h)); + __free_pages(&folio->page, huge_page_order(h)); } } =20 @@ -1648,7 +1648,7 @@ static void free_hpage_workfn(struct work_struct *wor= k) */ h =3D size_to_hstate(page_size(page)); =20 - __update_and_free_page(h, page); + __update_and_free_hugetlb_folio(h, page_folio(page)); =20 cond_resched(); } @@ -1665,7 +1665,7 @@ static void update_and_free_hugetlb_folio(struct hsta= te *h, struct folio *folio, bool atomic) { if (!folio_test_hugetlb_vmemmap_optimized(folio) || !atomic) { - __update_and_free_page(h, &folio->page); + __update_and_free_hugetlb_folio(h, folio); return; } =20 --=20 2.39.0 From nobody Mon Sep 15 18:04:06 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 E6739C54EBC for ; Tue, 10 Jan 2023 21:30:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235092AbjAJV3y (ORCPT ); Tue, 10 Jan 2023 16:29:54 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40122 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234326AbjAJV3Q (ORCPT ); Tue, 10 Jan 2023 16:29:16 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B170760CFE for ; Tue, 10 Jan 2023 13:29:11 -0800 (PST) Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 30ALGs7j030302; Tue, 10 Jan 2023 21:28:53 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=HWdBF1Wlcs9D9iqHgpLX6ouOUWk7M0HHi9i4cwaLOUU=; b=gRaCsTfUIBzx95Yz7G2YzaxsO3ttrccPO0pbzgPbu4JOYwEXa9TfgAxiKYZb/+5GbPZ0 KltVcuBZj0vDBbkBEsLXi2mp2kQvEy/648iBPi6ZA5a3YMtmrb+PcHks7D6SM/FKlde1 xfhI+XpWviHZU4ohce0sJ36z5i+TH78jK7LIj1HNSmfm029a6TQn5lx0T1vG5ZJep0Eo yAr2RLDc6SjRva+ft+qQv0Jo8J0xXQdv7FsJcpWtTeckUY/G6B8a1k6A/WWuDVfUz9MV YQEJnkH6lGWkTOqjbHnTs+0MJtgF12XLj21Gn7iqKSBscMxVb8DAoNFN24e4/D167KDu zg== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3n14nf9t20-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Jan 2023 21:28:53 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 30AL8cBX013069; Tue, 10 Jan 2023 21:28:52 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2170.outbound.protection.outlook.com [104.47.59.170]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3n1fp4gngq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Jan 2023 21:28:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=enYiR0rA6BOEgu8ucj18ec30RZOSZIdqztKuksE5kdnhwS05oCjYwD+ADBQ9223Vw/PT23VzQJY9Q/TFtvFOVnRv0XlLlYiNRmYvs2TsPTF8utx/6l/lmFDtiSm+0OwEcBpyUEOI2kTXB2r+/IbgYqw7P5r7bDTawGMO87KHQqdTzOyyLU+O8pBsvd+b/u7iKBGSv7LYY4rO5SBvXEJthcjGgyZaSHgiW2a/3tldG2qQb7IJJ/7SqNFHFrfGmAEGV9j5l1nPh9NocnRkhNSFaXZmhh7vTXIraOwxjS/AbntoFgz9pz7ux5jR1sNZYEhOdT36y1pBtIoOplksx+l5bg== 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=HWdBF1Wlcs9D9iqHgpLX6ouOUWk7M0HHi9i4cwaLOUU=; b=Jkzie+AX+KOu4xGrzjPpDEaDxp4IIOMtF8mtVCq2ToUXX5widJDWI6vNZlKdZScJ8ccFEgHozI5U87zmBrlPKP9T7b49PTw16RcC1MBve/PuHs0zPT965nzmO5bV0eSok3plo54QPw9DWq4oTAcW00LwmpEj6X/G1JlpClkN67q1DLjLJmi6a5+0g7p/THBMwCfNEa7yfmFpTVrTdzHQCMYAoJLuJhHaqPQD+77Lg6Rzw/qVXPBBhJoNjCqhHVONpz5OvmtJKmkwFfzJDPwjvLtrEg6HxmUx+SHGZMOCWuGuWUaFqm1/egmlpKBfDjSl2u4Sl2ysyx7bbNLVu1gsWw== 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=HWdBF1Wlcs9D9iqHgpLX6ouOUWk7M0HHi9i4cwaLOUU=; b=IczihHzODhEkVWjSMY8OhzRFtwbT4+YeHNryldNrNyRTBcTle+iq48p//f1svgYOwQ+OsB//xnZAmo7T6b6O8tjI8xby7IU9PG8NXMSZar+dzjIXwpqcTzU2qAIY45W/eHKmPgNvn7oY6clbdzQ+acM6YXc6PL1GSe0A8buBw1A= Received: from DS7PR10MB5117.namprd10.prod.outlook.com (2603:10b6:5:3a6::17) by DS7PR10MB5133.namprd10.prod.outlook.com (2603:10b6:5:3a7::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.12; Tue, 10 Jan 2023 21:28:38 +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; Tue, 10 Jan 2023 21:28:38 +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 mm-unstable v2 3/8] mm/hugetlb: convert dequeue_hugetlb_page functions to folios Date: Tue, 10 Jan 2023 15:28:16 -0600 Message-Id: <20230110212821.984047-4-sidhartha.kumar@oracle.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230110212821.984047-1-sidhartha.kumar@oracle.com> References: <20230110212821.984047-1-sidhartha.kumar@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SA1P222CA0016.NAMP222.PROD.OUTLOOK.COM (2603:10b6:806:22c::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_|DS7PR10MB5133:EE_ X-MS-Office365-Filtering-Correlation-Id: 1443c24d-3124-4b07-f278-08daf351a2dd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /Zy0KqXr5QXuevtZouKUoXH/g+00Z74A9TBRoFB4mMgxpT0EgIAU3PzqUgtQCcK1T8E5ZLaQlBXu7AEkVbqGRw6B1hRbaowgIfDqjxivKTSI5Jirpx80bXB+/CuSPY137hKyJARoEKeDAiTm7JqQqe1YbqqEzGxbju0EOcgMo1U3qJB79t2HzAeUacKMacHmUAQU6eg8vfeXldEAIdYRnEzOp0ysjhSD07Uuqow5ri3sHcu4ENHgERtSecR11yENJrHn0BIuUtW/J/4e2nHJUu10wlDMvVAgypOF4SVwEJaR9HKDvL3NdMWt0JFF7XpPoL0d5uBcL+4AJGweYt91GNFA6yOe4yZ7pEYDJJ+8BzQ7il3z6dj3KN1bdbapJJYFeHC5n7Hjc7WdLAU43OHhPuGBGQmTb3YkfKVt5j/K95Ic5ElJqriW3219a94dTY1U4xyTBlVBlqtmEogCiXoTzLOTEZYlsAeBJmMs9y+lC+E2xmVLXQfRpgcKDZ5xIIj0v5BB2Wh9WZvG9nyKpxZIX/pJL7Qt7HFJBvaXyNuyxv34WFxcxOCV9zmFCB0In4AXXeQtSZhZ/7hAShNotI5ewhtV0VPp2wcYFgm+MUKzSlc4fK+HEBv9Y0ar9cBmWTRtwyq4cOSgDatcr4hVVg5yOg== 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)(39860400002)(376002)(396003)(346002)(136003)(451199015)(38100700002)(316002)(36756003)(5660300002)(2906002)(41300700001)(44832011)(86362001)(8936002)(66556008)(66946007)(4326008)(8676002)(66476007)(83380400001)(6512007)(478600001)(6486002)(1076003)(6506007)(2616005)(107886003)(186003)(6666004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?rftnzb3txsJvaKEUskxY25Xi0ehcYAgD5j5sE0VcKHQcujzbhtvknSAFUZTH?= =?us-ascii?Q?t6gCZ4AHCR42cYzyTQxqkHObAOpvxEs50pdpEMUck7kO59RLTckJ1h+acIAD?= =?us-ascii?Q?JtV9Ao4Chie6gP7orAttU2/jghag5K+nLBb0domvtM4Aigtu0axf9Gh7j2wL?= =?us-ascii?Q?Uh1Wp7wQQDgjWg5fRM2lydJqU2EjIokMAOy8yFzpaOtusZ4X4h1KFHl3TeVE?= =?us-ascii?Q?3afYCnFYL6kOpAJF8ew7Gxo5ab/r6696aclv2W06rDh2ZetiBVbRHfZIvIl4?= =?us-ascii?Q?Q4fkDZZ8PctsoxefTZHAxu4fnkz+bKHmPK6d4/ZsZo2yzpab531JwSbFQcV6?= =?us-ascii?Q?wf+zLL4yQNy3k9uRRepH4XqGjutGp1wfec8ftzsb5FXDqA1ECyBA30vw4612?= =?us-ascii?Q?go2CeEEWG0E8KzbBP+DVnAE1ov/vxsInVmsNImUOj6tMj9K/zBXaRZcp9dxE?= =?us-ascii?Q?bXKLEgNDAXp9zPfBlup3V+Hlt5pR9220iweXY3SygltLCj9W+xVDyn33iq1N?= =?us-ascii?Q?4fq6Myfh/NmnN/vLnSU2LVYJbT3iOj0VCh8tvIUvvxt8tLBgsHRdwRwkU3Rv?= =?us-ascii?Q?s9MfDNEJY6a/AviNbEatTS2JY8fvHVyM1q4RBJBzNUQnG34xTqsrIya+1dU9?= =?us-ascii?Q?UVIBKWdplBr53eLWMeZ5+ypwikanZBpJcV6kArGviZzRZZYk7IuihZPpQqu7?= =?us-ascii?Q?RISFEsRjGNcneBvlZaEo826BmfS9EBgniwqmiypyICLh7Q50lODfhy1Ky2xF?= =?us-ascii?Q?3+QQq5+Qo5jpuNT8Jzt7mIpaoy+YsDLHGk22dCK0zK/EdHOI14HviAyWvS/G?= =?us-ascii?Q?REJj3AynQqDhRjrsyLRHUcLAsurijyCiZbyxYjIld2E5UnBC1rpt/+s35u39?= =?us-ascii?Q?5TLHDYqQ16Mmo3C20Ly5dbXXPDJYjPCLTi9y8i2qKYLKTCK+YzeiQwwo4tik?= =?us-ascii?Q?DVt+QiahM+hdfsmQ2cE2C8Hf8E4vAmK5crU1WhbhMeR4lOSRMQ58sZwbhJs0?= =?us-ascii?Q?+mhPjCHVrUY9sgPvBlwthIwvtCDJjY/3D9mr+uTokZCKkYz+A7ovZv2dPmv+?= =?us-ascii?Q?pItxsfbAxeyRebg+2YKEFtAch+xOG1eDQaQKSR67drfxnqk3nsdHnX6pUn9X?= =?us-ascii?Q?Oue6TwU2X+NO61CJiBzVcb36ogcYL9oWqEqqqCoyjrtRXJj+G9fA9VozXBKR?= =?us-ascii?Q?zak0XwrsfXO8xUxmBjxXrfpRZi3fudvCqN85tNH4cJ2TB8zvCvWdCMF/zher?= =?us-ascii?Q?DUMfpoUM/yIvu9L5o/5BtEQQgjSMlXkbxcNj+vMgCXxekJTSiLXz//msec8a?= =?us-ascii?Q?EuYSn99DxZier0FRUgwgM9vHJOLiCf4JD/uoD/0B5yHsIe7LhVJvAQeU9peE?= =?us-ascii?Q?G1zjTUT09nK5539k/phFyf+WiaaWLZLWbcitJ3pkJscmo4KYXdODjaAtu5rU?= =?us-ascii?Q?LzJU65QvsZPLhYhYAKX9sssExChrPIp+A8Yulp95QxdobctquQzcQF+iJgIA?= =?us-ascii?Q?yrCNSvSb4Yl41PGE1E4htNVRl1RQU8/t3KJOUIkvOvPz6sVfCW7jZEPCGLTT?= =?us-ascii?Q?f0RPC+yKsoWyqT97DQXFEsVjclfV4TqQewDNnfamiiagPRbLmNzTWFyh0NXd?= =?us-ascii?Q?q4g5/V5EXbJVzD+1fUB2qPM=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?wC3G+f4Oh53egn+YRzZ426/KOrVQrxBwBcmsBwiwKq1inEzs1CI2OyLiXP8Y?= =?us-ascii?Q?JWXlWXq+xqeWjdOXFSxvw+65nKnNWQO2dx/OTAHTv1Ip6Tn7ZW+UX1TX/IIU?= =?us-ascii?Q?3paR6weNaJNDhZFciIArqKjsMJakEPVouGo0qAUeHLEvLe6tGNB3PfWb/qEH?= =?us-ascii?Q?IF6aTitgSNKe5dgL+Xjnb9HMR2Xei8txhlHsdThZ/vlasJikYW1s+Hx+7aFR?= =?us-ascii?Q?r2cS7TevkbFSPxy3eAkpFtHRXSzWSSzjnLw4p1Mx8srMgrIWp7GbMHpPHJxD?= =?us-ascii?Q?0wBp3pMCppDQ7fJAD7654yRSZxE8U1LHZkvyb/r0d0F95CdAkyQkz0jsysaV?= =?us-ascii?Q?WtzY4xke2ABAJfIw+1neIZL7287kwX8dQmHs0AHvU76xNbygPdPi3T3szKXW?= =?us-ascii?Q?yHMM9m2c0eu0L/LuyOpOo2xmsqjOEIdN0SdrdOPee9bMY+S5ZJj0rEs/Tkfd?= =?us-ascii?Q?2Ma3WxodapzzrmUURUwCUrsiCqdNQi4A9t3ODonCSqXA9RIUTiK3/Q4wRL+9?= =?us-ascii?Q?IBqtPQIegbbTDxTzoZxfcTb9yqxnt+Gd6yjqFmnlSYqboqQPmifq1dutN4Jq?= =?us-ascii?Q?nULj4bW4Tlzn6gKvbYbshqsMV/3ABmUEjSjQS2m1Wh71b12xnTYYtjMm25z0?= =?us-ascii?Q?pNYOJMFthpRWANRli81tamNbgjIYcwmUR3n+jHSOkRCrgklz0n98aZO23hQ9?= =?us-ascii?Q?6ZpQmmfyiE/6ufXi2CcdNpbgTmsf9XmQyel6XhlOPd6tUsXEaxJHxB5kD27q?= =?us-ascii?Q?6l0UVBl3716Qt6lvvs0eLkGLrkXexYeFxvriQkQy92Qq2NTeR2xfIVDesKV6?= =?us-ascii?Q?tJwEwRtioWTXL/H6w4cykVwA6HqU3XefpuFA9XpTOPCc+waCHMxIaJmlPHDu?= =?us-ascii?Q?eXmRcF9QhbuGiB4DsR+3QkEmXRtwh1I30bFixHmEzIWoYznLDSiJ6rCweXoM?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1443c24d-3124-4b07-f278-08daf351a2dd X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5117.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2023 21:28:38.1700 (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: gXKdbphwEECgzz85cTJlsHLqAubDRk++Tw3AnoTHsXrjFuo9sWB93nj+sEIXfBiSl00LJ99BlU49tT6wC/U/n+YN4a0VmdytxQ59MfdW6IQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5133 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-10_09,2023-01-10_03,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 mlxscore=0 mlxlogscore=999 spamscore=0 phishscore=0 adultscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301100142 X-Proofpoint-ORIG-GUID: F8pDYTWsLqR7dy66Ea6uKUhzx4AvaDMC X-Proofpoint-GUID: F8pDYTWsLqR7dy66Ea6uKUhzx4AvaDMC Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" dequeue_huge_page_node_exact() is changed to dequeue_hugetlb_folio_node_ exact() and dequeue_huge_page_nodemask() is changed to dequeue_hugetlb_ folio_nodemask(). Update their callers to pass in a folio. Signed-off-by: Sidhartha Kumar --- mm/hugetlb.c | 56 ++++++++++++++++++++++++++++------------------------ 1 file changed, 30 insertions(+), 26 deletions(-) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 9155bb5ee570..c206a8c1ddb6 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -1140,32 +1140,33 @@ static void enqueue_hugetlb_folio(struct hstate *h,= struct folio *folio) folio_set_hugetlb_freed(folio); } =20 -static struct page *dequeue_huge_page_node_exact(struct hstate *h, int nid) +static struct folio *dequeue_hugetlb_folio_node_exact(struct hstate *h, + int nid) { - struct page *page; + struct folio *folio; bool pin =3D !!(current->flags & PF_MEMALLOC_PIN); =20 lockdep_assert_held(&hugetlb_lock); - list_for_each_entry(page, &h->hugepage_freelists[nid], lru) { - if (pin && !is_longterm_pinnable_page(page)) + list_for_each_entry(folio, &h->hugepage_freelists[nid], lru) { + if (pin && !folio_is_longterm_pinnable(folio)) continue; =20 - if (PageHWPoison(page)) + if (folio_test_hwpoison(folio)) continue; =20 - list_move(&page->lru, &h->hugepage_activelist); - set_page_refcounted(page); - ClearHPageFreed(page); + list_move(&folio->lru, &h->hugepage_activelist); + folio_ref_unfreeze(folio, 1); + folio_clear_hugetlb_freed(folio); h->free_huge_pages--; h->free_huge_pages_node[nid]--; - return page; + return folio; } =20 return NULL; } =20 -static struct page *dequeue_huge_page_nodemask(struct hstate *h, gfp_t gfp= _mask, int nid, - nodemask_t *nmask) +static struct folio *dequeue_hugetlb_folio_nodemask(struct hstate *h, gfp_= t gfp_mask, + int nid, nodemask_t *nmask) { unsigned int cpuset_mems_cookie; struct zonelist *zonelist; @@ -1178,7 +1179,7 @@ static struct page *dequeue_huge_page_nodemask(struct= hstate *h, gfp_t gfp_mask, retry_cpuset: cpuset_mems_cookie =3D read_mems_allowed_begin(); for_each_zone_zonelist_nodemask(zone, z, zonelist, gfp_zone(gfp_mask), nm= ask) { - struct page *page; + struct folio *folio; =20 if (!cpuset_zone_allowed(zone, gfp_mask)) continue; @@ -1190,9 +1191,9 @@ static struct page *dequeue_huge_page_nodemask(struct= hstate *h, gfp_t gfp_mask, continue; node =3D zone_to_nid(zone); =20 - page =3D dequeue_huge_page_node_exact(h, node); - if (page) - return page; + folio =3D dequeue_hugetlb_folio_node_exact(h, node); + if (folio) + return folio; } if (unlikely(read_mems_allowed_retry(cpuset_mems_cookie))) goto retry_cpuset; @@ -1210,7 +1211,7 @@ static struct page *dequeue_huge_page_vma(struct hsta= te *h, unsigned long address, int avoid_reserve, long chg) { - struct page *page =3D NULL; + struct folio *folio =3D NULL; struct mempolicy *mpol; gfp_t gfp_mask; nodemask_t *nodemask; @@ -1232,22 +1233,24 @@ static struct page *dequeue_huge_page_vma(struct hs= tate *h, nid =3D huge_node(vma, address, gfp_mask, &mpol, &nodemask); =20 if (mpol_is_preferred_many(mpol)) { - page =3D dequeue_huge_page_nodemask(h, gfp_mask, nid, nodemask); + folio =3D dequeue_hugetlb_folio_nodemask(h, gfp_mask, + nid, nodemask); =20 /* Fallback to all nodes if page=3D=3DNULL */ nodemask =3D NULL; } =20 - if (!page) - page =3D dequeue_huge_page_nodemask(h, gfp_mask, nid, nodemask); + if (!folio) + folio =3D dequeue_hugetlb_folio_nodemask(h, gfp_mask, + nid, nodemask); =20 - if (page && !avoid_reserve && vma_has_reserves(vma, chg)) { - SetHPageRestoreReserve(page); + if (folio && !avoid_reserve && vma_has_reserves(vma, chg)) { + folio_set_hugetlb_restore_reserve(folio); h->resv_huge_pages--; } =20 mpol_cond_put(mpol); - return page; + return &folio->page; =20 err: return NULL; @@ -2331,12 +2334,13 @@ struct page *alloc_huge_page_nodemask(struct hstate= *h, int preferred_nid, { spin_lock_irq(&hugetlb_lock); if (available_huge_pages(h)) { - struct page *page; + struct folio *folio; =20 - page =3D dequeue_huge_page_nodemask(h, gfp_mask, preferred_nid, nmask); - if (page) { + folio =3D dequeue_hugetlb_folio_nodemask(h, gfp_mask, + preferred_nid, nmask); + if (folio) { spin_unlock_irq(&hugetlb_lock); - return page; + return &folio->page; } } spin_unlock_irq(&hugetlb_lock); --=20 2.39.0 From nobody Mon Sep 15 18:04:06 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 6731EC46467 for ; Tue, 10 Jan 2023 21:30:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233891AbjAJV3p (ORCPT ); Tue, 10 Jan 2023 16:29:45 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40202 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233179AbjAJV3S (ORCPT ); Tue, 10 Jan 2023 16:29:18 -0500 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 86E805F48C for ; Tue, 10 Jan 2023 13:29:14 -0800 (PST) Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 30AL0Pw0030230; Tue, 10 Jan 2023 21:28:56 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=8LXZYJ3IF5YwIJs7/2QVzJbgQ0tay2z86vhYBUXlFls=; b=liQg+Oyswq18i1XeSN3JWa52uLQp9deuM2P7BlKCXG78m0B9FlGi+QEWp5yI78W7ggAA HvGbPavVCePAhYF7ITFEHfuGOU0RR0iyRk4ME9oOBgnACOIhHbRfEPtSwfYlFX5fi0OP pdA0BvpJrQylVEkibI9nNIc4ft12AmuxoUfJkoYnUgBrqUZLI8GBUVYZJFoq/Hhgepwg tMebYCJUmJU7USUJ3C+5L/fAWI+Yd8jQEk/oEDM4sDo+R/LAa45ZVfnPIK6Us7qKduRI Pf6hMYVJtIkk/U1NXY5qZIl526QXzK6SKYZhC6PAZ48kksuwwtalO7sS08W9OZRerLK+ 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 3my0btpf80-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Jan 2023 21:28:56 +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 30AKY8kU022668; Tue, 10 Jan 2023 21:28:55 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2177.outbound.protection.outlook.com [104.47.59.177]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3n1f5x25br-5 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Jan 2023 21:28:55 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=noEEqFT94ehjSChaYsvymqQ8m7qLp3FaARO3VVRR87U22ybv+PIOwc+wxM2rjraHSTAIksqcD3YvDcMljyapVJUN28I2y2VsW1oKciEkg6TNvWWE0xM7fZBfqFizwrir8CkoQ24bINKTJo5puuPuxzMGbaNcMAadh/tJQ/TVyD8jLppBCdpcmlZJl2La89V/SobAigcCDorlhG6yoDUFB7l2bXx/u7gKUZu3g8FVE4rMXBLedsd+nZm1LuNL/H1XmT2S2zuftxfIoBg4Gvj7soSA5h5VaD6me1vUmVU2fF7bI3BLgjKXQHK2//te+1p5lJKhUZvZaDnIFDUKoiZFpg== 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=8LXZYJ3IF5YwIJs7/2QVzJbgQ0tay2z86vhYBUXlFls=; b=GukLpCRdkDNd1+Q8Fuq5R4SmINQyUwfRvAlF6V2MyDC3Kjwc6OvyMN8sBRg0g5mTg/b5R9ygTEuvu2CPP1ShNHt19blV5f8A/sNGrkjQmbePAjtIksX2c2eDzUYY/5vCa/ulOtNcbH2li2ZhoZPfdZEDYxHL2krFCePKO8xuNcmD51CrQckckGNY+AiGOWZSQcGTs59kjaLPkSVvMABkDy+GJIEfcs+nMn5fFS5qa5qO81YQCHvWV7ueUZUuQJioKYn/gR8PbOZ3Xj5RDbmJuVXx1Lox4Sd2RU/0kly8iw1Te8U3FFozlAeAu85R6EP9nO0jCbpSytIn7AFvy0lZ4A== 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=8LXZYJ3IF5YwIJs7/2QVzJbgQ0tay2z86vhYBUXlFls=; b=kApGot+ru9Ozl1Xg/OMtUn9lilmbUIPbpZM1cB4k+bB8e4lQAdQbVOnIQo72hXx7Ndik0vw5EtHgemeAWWMStQwurPsB2TObXXRrfSTrGaDrf77YdE4ijHnrNaNT+PROorxBjm5rh9UpfJ3Kgirpwl3GaOuJGdeQb1VkwPxHCKQ= Received: from DS7PR10MB5117.namprd10.prod.outlook.com (2603:10b6:5:3a6::17) by DS7PR10MB5133.namprd10.prod.outlook.com (2603:10b6:5:3a7::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.12; Tue, 10 Jan 2023 21:28:40 +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; Tue, 10 Jan 2023 21:28:40 +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 mm-unstable v2 4/8] mm/hugetlb: convert alloc_surplus_huge_page() to folios Date: Tue, 10 Jan 2023 15:28:17 -0600 Message-Id: <20230110212821.984047-5-sidhartha.kumar@oracle.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230110212821.984047-1-sidhartha.kumar@oracle.com> References: <20230110212821.984047-1-sidhartha.kumar@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SN6PR16CA0041.namprd16.prod.outlook.com (2603:10b6:805:ca::18) To DS7PR10MB5117.namprd10.prod.outlook.com (2603:10b6:5:3a6::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR10MB5117:EE_|DS7PR10MB5133:EE_ X-MS-Office365-Filtering-Correlation-Id: 13bb35ca-93b6-4bf3-87aa-08daf351a488 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2GxtNwQ8zfWyyIXBljBK/5885SE3Xvh1pSEOBIzJzuzMNDFhi4kaHwUtzmdkl88LwW3C/mkj8zDLKI7gXCDkVYdyP6Dp8R0gXSRpuzy6Fbxa6ikurUoPC9wRGl8nhrZ3UqUSsFo6mGc9Un7jhui/3fJ6qqn1cp0lwSAymhlzRGjOWlYJfWk2a0P1TpxvdqZ7xdP0/CpMa6L5QDDk8+ZbFvnTfeoiJ05iBzTZkmsFu45Lvwj1RnldFU+ZAwjDCeM6BWPAhUwO1ZcPw9z8jTf052BldLz90ezDQ+OISm6w1EXnlawF0NUSDUyMyHfZaIjk8WcUyzXeHFR0rvmilGyceeCicXY2W/ZpMKnJw8WSZDSWgd7udX/1f044EXVrATe5aNRmKCnP8l3O9inmlLJ/g2pXfSpnjKb7zwVac49qUsF0f69R6nng4qVrhm3AYKXcE5Wa1+4yQdY8kyoC0Vh63qhQCNvmxM9YtkfMMxaEoulIt5afP2FJosd0Wj0QZqbI3uviVZ4lTy00rfXP6vxJOGl/X1vqy3U5Uln5RPaNdTcWH70AG2W9UxiMmpm5JmPcVarnfbSHZgDPemR79FItLLmGK6IOm8M1hpSVqdR+dhQPuOcP4oMgewjPrS/duAODtfp/DjpOwpwBctH0dAIViUuufEtsDCR7ThgA4Fq38c4nKIlgPbwyi9KhGoNg6QiG 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)(39860400002)(376002)(396003)(346002)(136003)(451199015)(38100700002)(316002)(36756003)(5660300002)(2906002)(41300700001)(44832011)(86362001)(8936002)(66556008)(66946007)(4326008)(8676002)(66476007)(83380400001)(6512007)(478600001)(6486002)(1076003)(6506007)(2616005)(107886003)(186003)(6666004)(14583001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?tQUB09hrqR/ZraybNqzfdzZZp0FPodD0QdtV9aAQKyo0wvWBDVLLps0C73WQ?= =?us-ascii?Q?CdJZ4/mKxgzYxsZvxrtE4+I5PHaYBzmuHqWijfHuWdOuu0dHxYefP4HNTuzw?= =?us-ascii?Q?IEoj4iNnn1fsQd27nMoU+O5OP2lfqGwoajC59dxbnQHqs5C4y0SIT7fzuzf6?= =?us-ascii?Q?cvbVUvjlZsoESwLipPIorkhHpdvtcN6xBxHg7KqVSZTPX42icA+NkeYvnkLH?= =?us-ascii?Q?2oalg4efiFqxv+noFRKPZr8VnHN4unCEeJUptjaYg9gbiS/Zh/zSJsYJ2vkg?= =?us-ascii?Q?tDkt3Xf83mzoTuIjsMgnDs8y8C8ElRPlnwcflygI2VZumzp1CBXyDmzA9neE?= =?us-ascii?Q?o0uU9RoMfgzARDkFC7kzHR7kmjA567QuJXZ03c1vZATtmytRnR7M4YTdpiT8?= =?us-ascii?Q?nYnk6bdYmr64bENe2PN2ooAs+UIYeOpqjyqeuaBYhjXMK8vyzwfJIFqtkAH2?= =?us-ascii?Q?kr1Q+li6yo/b2zGyaGa0Wz0+GzjhkGawakNjKtyyChYmCRdRljqSSHBEGNCN?= =?us-ascii?Q?sRMT8sjrC4YxWDGMlZEjNDrHsYLIEyRbuxuA6Q7Kxd4UoL0W34tJNfl3TJj6?= =?us-ascii?Q?MppJ60vMqPbe8uw3mMRhd26QbL/PVSzSLRZB7jNRxGIC0Vul2kafDDSYtATA?= =?us-ascii?Q?vQfiMa57abDzyiO/SVagXKjPNsQiUHbnzBi5wOO+r9k2xMU9UgWOvXLVpXif?= =?us-ascii?Q?DeLNus13z6Tl3xauwCxdXAaEQ0NpYq2O/Z4bAQWBbnaptMsoAGpHyj+6ekyt?= =?us-ascii?Q?GL3gITzO3nh7t/p8xKGE+Rir3HmqAaImejsaKgTJHkGbGatlgSRdTrAGciOC?= =?us-ascii?Q?LVlBKeyWDU+20IOJccNaaVr9jjdQWuZn1K+a+W4hgS7SNagN6XxeYcmIBlBM?= =?us-ascii?Q?V9l9bsfWoO3ij4VxriHur+jhO5HYi36venjZgJRo11nTN+Kne4yMIIqVZdtZ?= =?us-ascii?Q?imlPpTmqrADoRgIy6hCjlJtZPJ1wKhBGXEAzO4JK2/+vy43inrsldH+eX8HQ?= =?us-ascii?Q?p61UmcERGX1HoKQqi/j5eB7YZaAyNJFwh2EdkGwym4z5TdATWXEPTzDukMxi?= =?us-ascii?Q?lb/x7igrUzdrhyK7alEnnDNTP/18w0+nTLFsIxmUEwE7tsF2wlBPsscGbjFC?= =?us-ascii?Q?d2Cas3dhjjoy5CxAlwGV61xxiftnoOhOGQmUtYCnKisHIzPnYwa83MJypkLP?= =?us-ascii?Q?eXPQiQgs5c7X76zUK/6jO9YuMbZrb/QnxGIeipuPW8BatEqGoX9bxm173Kox?= =?us-ascii?Q?YmTyFfu09yCfI0wBRy3N599CAbkaHb5cERwp46xoZfjbu7xlUVjVH4/zN2FP?= =?us-ascii?Q?e/B2/ndqx4ddqQrY2OqhUlvDJWLWtnYThocfGPklc2m9W+0OGs/nZ/tJYpv8?= =?us-ascii?Q?K8Lgo038PonWQd9qQGvCLH3O2ASNMfONL9pMhH8j8uPuWZsGSbpFGF4DjkRV?= =?us-ascii?Q?xws1BID/D+/OKVv8ywIrgAzim293/cRvaBqmUMtIo0DROuBLUdFhKPhFHFjg?= =?us-ascii?Q?seCojr3z5s27JFx6rLbFvcASWzAKwLAjP8DJux6o0caFQSpSTfNJeGWEtugz?= =?us-ascii?Q?iCpeJ7vHZdw855cw5mxlgSqb01RR3hO74BnBd4b2Fs1AosF8CJpbteL8tHg4?= =?us-ascii?Q?1nReSa6vMxMiVJadK3V8kXY=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?WLXKdyFDxDuZGgbzCmMs5l2Ck9vVGh95OE9yDUJqjiWqmaXnZng5WOZv7Ps9?= =?us-ascii?Q?xRH5m4uLmbFqQdLuL/zhgnzWbNxqYe+jDgxnYfJhJOZEYrvWH0bv12sS8cWm?= =?us-ascii?Q?XWm3CMgHSKKKBQ6Ftx6njDEgWPAsomAlMDEdKZYG9pBI1ZLc+CEqWpSBSJ/I?= =?us-ascii?Q?kRNmtB8JRu3zMZvSzlDP1HRmbQ800X2c09g9/zRR4e1FJyu+g1pEJnjpAUEC?= =?us-ascii?Q?vT7v1yiOMkc92wjeNDex3e0DVEOzS+Mnhtwe4wWf0sRSnifVOXO0xP1zeHsb?= =?us-ascii?Q?mB8KvycgYftbMiWwdmiaBVzledsKbZt187KHRoijSzLKMhoTI9bvzaCRhshB?= =?us-ascii?Q?7MIdspq2tjo7G7dfePBC9MZNt/lVwPda8I/mNEJvS7hgxKVGUajBUbdyPfld?= =?us-ascii?Q?dgJO1yKxk+eDc5lzFvJuk484nz+4/DdB78Toimtv9w6G3RfBaHwF0H1oznyS?= =?us-ascii?Q?MfUMTE+07XTFEDW4HCi47yD6sQMaMEb1tWLYo47/1sAwTxKyIzEylUuuIiUl?= =?us-ascii?Q?Kx5mFoY9yPgsWF0vYjkt11H0xIigYklr49JRFfTdKvgd8ftYSNOrK9qUOcrk?= =?us-ascii?Q?JfUDCF8/7U7X7N1082qzRniWyisJk6ygqp1HnnIIeEmwa0QK+ZG8AGJb2vt0?= =?us-ascii?Q?9TiJs07ggZe0I6IcvQjaLEw7WMV7yxeFcmT9MWU/SAPNZ4dnq2JT/O2/Gi/V?= =?us-ascii?Q?5NRzUtEyjKujjoXoSeCCTUhA5yV0oaf6tPSbl1yToR4oSce46pqMYlfze0Gp?= =?us-ascii?Q?BiKSbOEn0+xYh8Go7l5F6evwsigwFvREbrb9kJa6cm/Qy8Yz6/gRfnKxGcma?= =?us-ascii?Q?az833IOZsuR+tNdOPf0OK/VAc9xIsHvqsdN0rYiqM+vli/SY/XTpjuBu38x3?= =?us-ascii?Q?Jx07AIdHUo51EAe2q6/cdfqaNbjq95w3Idv/k6YvXhz3N22hA+ipJyovpin8?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 13bb35ca-93b6-4bf3-87aa-08daf351a488 X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5117.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2023 21:28:40.7313 (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: 0rNl2NzajHxHF2kx/Jsej0Ic4/Y8SdimmIcriQwIs0uCTwnBSXQPho0UpUa1mLMUm+2zDQP7PE0ALnTQYmG3gik8/maBieh6mENKZ/cxTUI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5133 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-10_09,2023-01-10_03,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 adultscore=0 spamscore=0 mlxlogscore=999 bulkscore=0 suspectscore=0 malwarescore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301100142 X-Proofpoint-GUID: X8_GjbM1-XiPd5aTgnVEMPyCWNJx3trr X-Proofpoint-ORIG-GUID: X8_GjbM1-XiPd5aTgnVEMPyCWNJx3trr Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Change alloc_surplus_huge_page() to alloc_surplus_hugetlb_folio() and update its callers. Signed-off-by: Sidhartha Kumar Reviewed-by: Mike Kravetz --- mm/hugetlb.c | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index c206a8c1ddb6..62552172683a 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -2234,8 +2234,8 @@ int dissolve_free_huge_pages(unsigned long start_pfn,= unsigned long end_pfn) /* * Allocates a fresh surplus page from the page allocator. */ -static struct page *alloc_surplus_huge_page(struct hstate *h, gfp_t gfp_ma= sk, - int nid, nodemask_t *nmask) +static struct folio *alloc_surplus_hugetlb_folio(struct hstate *h, + gfp_t gfp_mask, int nid, nodemask_t *nmask) { struct folio *folio =3D NULL; =20 @@ -2272,7 +2272,7 @@ static struct page *alloc_surplus_huge_page(struct hs= tate *h, gfp_t gfp_mask, out_unlock: spin_unlock_irq(&hugetlb_lock); =20 - return &folio->page; + return folio; } =20 static struct page *alloc_migrate_huge_page(struct hstate *h, gfp_t gfp_ma= sk, @@ -2305,7 +2305,7 @@ static struct page *alloc_buddy_huge_page_with_mpol(struct hstate *h, struct vm_area_struct *vma, unsigned long addr) { - struct page *page =3D NULL; + struct folio *folio =3D NULL; struct mempolicy *mpol; gfp_t gfp_mask =3D htlb_alloc_mask(h); int nid; @@ -2316,16 +2316,16 @@ struct page *alloc_buddy_huge_page_with_mpol(struct= hstate *h, gfp_t gfp =3D gfp_mask | __GFP_NOWARN; =20 gfp &=3D ~(__GFP_DIRECT_RECLAIM | __GFP_NOFAIL); - page =3D alloc_surplus_huge_page(h, gfp, nid, nodemask); + folio =3D alloc_surplus_hugetlb_folio(h, gfp, nid, nodemask); =20 /* Fallback to all nodes if page=3D=3DNULL */ nodemask =3D NULL; } =20 - if (!page) - page =3D alloc_surplus_huge_page(h, gfp_mask, nid, nodemask); + if (!folio) + folio =3D alloc_surplus_hugetlb_folio(h, gfp_mask, nid, nodemask); mpol_cond_put(mpol); - return page; + return &folio->page; } =20 /* page migration callback function */ @@ -2374,6 +2374,7 @@ static int gather_surplus_pages(struct hstate *h, lon= g delta) __must_hold(&hugetlb_lock) { LIST_HEAD(surplus_list); + struct folio *folio; struct page *page, *tmp; int ret; long i; @@ -2393,13 +2394,13 @@ static int gather_surplus_pages(struct hstate *h, l= ong delta) retry: spin_unlock_irq(&hugetlb_lock); for (i =3D 0; i < needed; i++) { - page =3D alloc_surplus_huge_page(h, htlb_alloc_mask(h), + folio =3D alloc_surplus_hugetlb_folio(h, htlb_alloc_mask(h), NUMA_NO_NODE, NULL); - if (!page) { + if (!folio) { alloc_ok =3D false; break; } - list_add(&page->lru, &surplus_list); + list_add(&folio->lru, &surplus_list); cond_resched(); } allocated +=3D i; @@ -3352,7 +3353,7 @@ static int set_max_huge_pages(struct hstate *h, unsig= ned long count, int nid, * First take pages out of surplus state. Then make up the * remaining difference by allocating fresh huge pages. * - * We might race with alloc_surplus_huge_page() here and be unable + * We might race with alloc_surplus_hugetlb_folio() here and be unable * to convert a surplus huge page to a normal huge page. That is * not critical, though, it just means the overall size of the * pool might be one hugepage larger than it needs to be, but @@ -3395,7 +3396,7 @@ static int set_max_huge_pages(struct hstate *h, unsig= ned long count, int nid, * By placing pages into the surplus state independent of the * overcommit value, we are allowing the surplus pool size to * exceed overcommit. There are few sane options here. Since - * alloc_surplus_huge_page() is checking the global counter, + * alloc_surplus_hugetlb_folio() is checking the global counter, * though, we'll note that we're not allowed to exceed surplus * and won't grow the pool anywhere else. Not until one of the * sysctls are changed, or the surplus pages go out of use. --=20 2.39.0 From nobody Mon Sep 15 18:04:06 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 AC9A6C54EBE for ; Tue, 10 Jan 2023 21:30:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234541AbjAJV3t (ORCPT ); Tue, 10 Jan 2023 16:29:49 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40134 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234551AbjAJV32 (ORCPT ); Tue, 10 Jan 2023 16:29:28 -0500 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BCDCB61338 for ; Tue, 10 Jan 2023 13:29:16 -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 30AL3ccn011294; Tue, 10 Jan 2023 21:28:54 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=ON8r4iAi/C54BL7LxCnv7ms9x+EBmJEmmOUIFctdR/Y=; b=mOdAsIBV+cT382pE6Oia/JAR/CyKuOIoItJHs1+lWj87QqQjBcvfBcj/o+PPadRdox0k GKrmbyTHZDOagxh4IZJKk1V0DKZErXWQB1Ptxpq2995dTmMGnW3oysxGoHPZsnST2bqH rVhb7/Jqv5mIdYADWVJsgP8kuZB8CtOvI5NBe85PPP/KmZ/GiA/ulr5nGy/tyLXGKu06 dH3g7UQPZN/qG/XTA/YecMqVLNUc4KtOrsEimWrFJ3Ironco1r3F9Ko5deRwIjKvd+gO jMrwOrvMhK4Ym5oqLQHC8h9n89EkNeisoAURV1ihtQwxSRAwURI++FAPLBXrAzl0OqNz 8Q== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3n1fe5830w-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Jan 2023 21:28:54 +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 30AKY8kP022668; Tue, 10 Jan 2023 21:28:53 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2177.outbound.protection.outlook.com [104.47.59.177]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3n1f5x25br-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Jan 2023 21:28:53 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jGFv7gtGJxVlGP5fjxefIKdR16jZc62au8tQ/K0FmydO/DuymeTFIpIc8lX2dwTHr0K46lMQxuHXo6vRK7Ns/3idYGKY2DqUgSVIOEy14bXKqb6tfAcwfZGpTzx6oKqUVJJrpDtN9eJbQEln5I9vgxkyLYDQA9HYoWQpxDMBUZkRSS3rrEFWKXm9/Zw9U7EJJ/+r++fKW3k2YrlnLshbnZpcqwFIvP/C6lgcVoFMITeTZu36KDmNDzUTZjaV4/LJE4Lm7g4kbN+Z9JKNcCuVATERA9Ag3F7YFvrxUcgG6rBfpFx268ICB49r/xhOElD9e9svKbk8yJg9beo3sNnB8A== 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=ON8r4iAi/C54BL7LxCnv7ms9x+EBmJEmmOUIFctdR/Y=; b=YmhBIMFU7/nDvYkt158LloSqj8GC2rbUsEL4Kg97r5UkU2PUT8pzF6DgRo1I5Yw34LULJOQ74cWB5IZy1SXhdaE8GZoNyo4SbZ58YjN1E8z0+wwkJ0cVSR1v70uzXn2jdoVy1R3yrGCDY3yEQKuc8yZTByEgqPTOT32iYkIEQKOdrfegp25PEJBmyCwjMntnFB90rd3lHfcMwWofDIsuVa6QnfrY8HZXEEhznCZQKz2p3GmeRc1+YZrFshNFfVN36wVeiawz4KYd6qulRyvTYyz1pvFOkJ+1I+fTXQOscYJlR3SHlYNUOqcEt4HZBfxFs1qeiHsFSktnHQ4+U4y9Xw== 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=ON8r4iAi/C54BL7LxCnv7ms9x+EBmJEmmOUIFctdR/Y=; b=PReBubmr2rq5V/Xo4W4IU/JIW2qKsSnxndx8v5oV/DJH27ePUrSpYanBy2e/MM4DOb+8jEB7K0ZY/KYolKH+OO5ubZ8SKmtPXj5hT7mmmZis6E5T7bY77dAN532Bie96rz0FzxWI1C4H4jQgYeaeWT2gwCwNeu/23/KhR88rApc= Received: from DS7PR10MB5117.namprd10.prod.outlook.com (2603:10b6:5:3a6::17) by DS7PR10MB5133.namprd10.prod.outlook.com (2603:10b6:5:3a7::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.12; Tue, 10 Jan 2023 21:28:43 +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; Tue, 10 Jan 2023 21:28:43 +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 mm-unstable v2 5/8] mm/hugetlb: increase use of folios in alloc_huge_page() Date: Tue, 10 Jan 2023 15:28:18 -0600 Message-Id: <20230110212821.984047-6-sidhartha.kumar@oracle.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230110212821.984047-1-sidhartha.kumar@oracle.com> References: <20230110212821.984047-1-sidhartha.kumar@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SN6PR16CA0053.namprd16.prod.outlook.com (2603:10b6:805:ca::30) To DS7PR10MB5117.namprd10.prod.outlook.com (2603:10b6:5:3a6::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR10MB5117:EE_|DS7PR10MB5133:EE_ X-MS-Office365-Filtering-Correlation-Id: e13fcf2a-5eb9-4d70-5447-08daf351a61b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: UTILyRM7v1NDC4eyaE36NrJ0kqnkQjBiuW/ffcN0ovNVVNFCCnr2nWFFOTPJVA4qH3FVcHTkQXue+OqWWANRJZCyxafE0s3o8gFRce54NHAJ6kiHiv9UCk0u78yK3BdjHddlsR7873/AXSAiMONRox/s0y39+Xfp2B/UsXpCyIcBXUsPeL4nftP62i9MFPMlno1YDN44aPUJzubYXFCwcx1h2cM96Kk7enPjCWhTccwCQSilyrfNWBoiUQSeg3mCVcqTzPihKaDSEcxZ8EW8JMHcE/uWZHo9yHqhEgf9CSfjQUJx6yXoRSd0OKReKyN+RHTwoBVuzCZCaJpz+rAKw+ZZswlZNtY3T0XhlXHBuoLAjzovp08lTjtn6w1MA0qAZ8Sh+9kY4AITNckOvuI0+b6QV/5SpwTP5Iiw00Kdi6nkEGtMkDhg1oRLhhfCWniC02kJsvVlX/XPnXrLwdG5jIl/ahy/XgEeRjw8RWQUGXyVO5raPSt6VWzgtcyHFcRXJFACU8/P1LYzakvS10c9E6jfw2aJRp8VUnfRYOB8t0udaNEI7QWsOeJf/jGAw/6Vkbqs7ML9D7HpDi5xNUVh9F8dD/K24ducCJYG7MH2Cz9q/SshgF0EkC0nPHQzSC4BM7PIW9Y+zj6vNdA0NM2QVPf+ApYZa087xi8LrjTuZjX6D2OY/GK2mWWAXgVplSk6 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)(39860400002)(376002)(396003)(346002)(136003)(451199015)(38100700002)(316002)(36756003)(5660300002)(2906002)(41300700001)(44832011)(86362001)(8936002)(66556008)(66946007)(4326008)(8676002)(66476007)(83380400001)(6512007)(478600001)(6486002)(1076003)(6506007)(2616005)(107886003)(186003)(6666004)(14583001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?uCHurwADmS/zdCWzGip5P+tGn7009sNnsPA1wpXmYIVwz8DMlv6ow0L81wbX?= =?us-ascii?Q?3Xi1crPDgWy3VjgDiIKmNTRS19WdFTjlWfAwPQn++KGSKzc/UwVmuem+Mqye?= =?us-ascii?Q?5F0LKG+wOl67XAaU595Zg0Gh32276qHMHsu8qKwQnv4PgpwHoyGq+E8zbnJu?= =?us-ascii?Q?cxT4IZCICaapQTT5x2OF+9Ar+6T2PxxDjlkSCascWkCiVCNu9Yh/oj9+Z5xp?= =?us-ascii?Q?DaouhkBqtTDLYPtNeV3DBuXhGo6Tyelqzsc5DralmSGIuMWt2cH1QsWI+TZX?= =?us-ascii?Q?yShDsBrPDCjTnnDaiXrgtijf+DJKAsea2n0ediquqnqJxOR4c8aTrkAU94jV?= =?us-ascii?Q?hziMwDn97A1QLginqmtXMVlrAFuvygfG8BkT/sFRym1/qZy13YH3htTJmyka?= =?us-ascii?Q?0wl8xUdo/8XpU6tTAPstq8ipa7GUAf9hhSR9a4y3wuGHYjxqhalvgCDOBb7w?= =?us-ascii?Q?43x1EcFHVrJgDy0sr+Zzy+fDd/ZxvpFgPAsYEowl9G+dQATfqhwtGxrjsnJz?= =?us-ascii?Q?Gylknv4eYbxZ9lcXOfnkDvpB59Y5PSLa67tGzkDE8/SHPiUesPzcWtW4nykE?= =?us-ascii?Q?gs3qThhg/QllQ4Jnr0MFRyfAVPJRIL6KctcbYudixQ5uoBPpuP7JTK6kNc1P?= =?us-ascii?Q?5MnzzYhcN9P/MzNR9P3rdOiovtdM6gjx3ZhCxUtYgktND4oYMCGFm6ikllcY?= =?us-ascii?Q?iGinS6eFPez0fA8WQUgVrWKS3MNeM6gmF61yO9+lLIr6EiyJ3faE1Y7q5Zn/?= =?us-ascii?Q?vicPvN4fGN9AdYZMe44s0xzNcW0KM7urMpmLUgShKBFjqDr3wEAMlzR9+l+h?= =?us-ascii?Q?lVLceFwQ1wBaKBpoWObHW89qfm3Jra9PNXjWxy6kSVb+4l7yiEqXhxH294cP?= =?us-ascii?Q?Hn7FTXoZRPOJG3fj/2vvRIm6t03ie+4ysLsBlqu1mz9uAaArfqxoaGcgAKum?= =?us-ascii?Q?KB67zt3eVV5JVsvhpBMJxnN10vUPMAJ18mgku96oXvB1M1v5LdcvsgPNctw8?= =?us-ascii?Q?97SdQoMw+Ee5KQLQxd9ErTSrxCj+4Z9U2MTvzjd2uBg5reKBC+ZYJOvlJ3bY?= =?us-ascii?Q?tawwZl5ie8br2QdwMJOuNdT+0mICaSKU4X82OiK0tY31t7+rzB1iR7boxzHg?= =?us-ascii?Q?OSG6Xin34ScM4pBDYeGYre/UZDh+c4G2q6+NxqgsS+P3vUJav5TNybCfgpE1?= =?us-ascii?Q?5FqQoDFbZAwT3srdRTvrBjhEJ8iQ/7QMpNkuEhPfimwhh+pH1ErcsYMhEHqA?= =?us-ascii?Q?q8y5N22LU6F/OEzTU8/+DbZqJPR5s5ZjnqmmAG+7cG7qSaOO54w9AugSTyIh?= =?us-ascii?Q?51Gz6AqJsnIHncYCbedM3W0EO9F8x0Nhp3dYY2h/Xli/20xDIQQHRn5PMefX?= =?us-ascii?Q?QmugYcfcgm0Nofeu2h8vKhODE3nzFrxiLKK15ASTGWHXFTNopZ3SeRlC5RA+?= =?us-ascii?Q?yJNaAnRfVCmXqN12Pfj9nsU5frFxD1q6XHFV3s3H8jA2KFw0PIauNWoIq4bu?= =?us-ascii?Q?SRj5Db+DEJYCEpHitz+56vaA4Z0PBbxqxcG9S5T2zP+alxOfjjoeQ6vW9hFu?= =?us-ascii?Q?0bMgaZX5NAefCRYlw+W3MOYd3NI/TFeeRcTLKKmjqt5ynqfshNT5LzUbMSlB?= =?us-ascii?Q?ydWJU2fOnhk+K8NMLZSJJYA=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?qDD0T76kCWV2Ddg1lqkR2EUSCDR2m1mMztHiQlp9gCXGvP4hPx6WIG8hNkWe?= =?us-ascii?Q?QFGUoQ2xZJKbgdPbSuSTrROU9t5u92U78hl5mx0BmfudrjK2JFY5kWkJIoWM?= =?us-ascii?Q?zXH2/G6SMy1xGKzzDrNVmzTlF8j1iesUOUXrE/1DVjGBzKRXwpyK+qlyirXg?= =?us-ascii?Q?pNj2xzc1C/LQKrsRbFk7i12qFV42F5ZWYgKi0wicuAhXmXnV7s6p4MfC9f35?= =?us-ascii?Q?uhkx9utnnkhi/1b22iAiJGa/mDdwF4VZPsvVKmIO6wjMu9GMLKxT7xYGA1P6?= =?us-ascii?Q?YTmIZtqrzMmpubGlCGiSyXvRcBRUaghaIFDuQgiS7YI2q3CHG4qF3vFVwHtB?= =?us-ascii?Q?/0cJD9RoW4awCDrDyM1tXTxTCE1Ew3r53p7R841wI1R39oJrRHcnpYN1w0X4?= =?us-ascii?Q?Eyt3g4jfkw59Ni/Gl8pdUQJoKjRgvJ+vSs5Bki702R09Qb2KAecEZ3OoUwoO?= =?us-ascii?Q?FKq6F8Tq7b209VJ2Xe0DYQW2Dwr8U7kZ8yKXOAuzw9++ZqzRQkI0/HvCeYbp?= =?us-ascii?Q?dgh0yV/VztW9v1s+Xn/TmzIqawfmMVPKhkVRvKVWFRkO86Z7lCIf61E5pEEN?= =?us-ascii?Q?Tfwd0x3Heb5z/GhKMf6eiw594dgEjNWcXyI/Ukp4bGkt/g0qRUk54kdOJmXj?= =?us-ascii?Q?YB9Qbrh886TSNJO/7OD3dpFQbUDNqdUX0AFgQxJMuT6UlvynWrWpQhUNjvum?= =?us-ascii?Q?RGG0WyTJHsn+p1R9c+hK/O9eviwbnS+iwsYKsdudrVZCDYYjBSnUryz+ApVO?= =?us-ascii?Q?cZwkOHUBF7F3SrTmlhViueIZ7O94ItfNZvZteqQx9AvtRpyABnbCp+abmjJu?= =?us-ascii?Q?i2O1TJ6uVGiXswa+Cm0/kYdh338llTAGlSb04JIQPZodNaQgRXgC3sd99cut?= =?us-ascii?Q?4TYHx/SVxWARGeFbaA9eEMrFVsXeLbqA37hMibx4GVlV+V6O5Cqa3pAll88R?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: e13fcf2a-5eb9-4d70-5447-08daf351a61b X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5117.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2023 21:28:43.2774 (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: JrMchX/CdYxNIYn0ONyzoN0RbbLX6ilnoBiRFi85YnuXOsIUmDiEI+dnKn/b83ujdBpc6v2/aovH931Bl2+lwCvtxke5W/H/1SN5MHHeNpE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5133 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-10_09,2023-01-10_03,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 adultscore=0 spamscore=0 mlxlogscore=999 bulkscore=0 suspectscore=0 malwarescore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301100142 X-Proofpoint-GUID: 8SP4qecE-oqOC2h013PD0HmLHcddQYM2 X-Proofpoint-ORIG-GUID: 8SP4qecE-oqOC2h013PD0HmLHcddQYM2 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Change hugetlb_cgroup_commit_charge{,_rsvd}(), dequeue_huge_page_vma() and alloc_buddy_huge_page_with_mpol() to use folios so alloc_huge_page() is cleaned by operating on folios until its return. Signed-off-by: Sidhartha Kumar Reviewed-by: Mike Kravetz --- include/linux/hugetlb_cgroup.h | 8 ++++---- mm/hugetlb.c | 33 ++++++++++++++++----------------- mm/hugetlb_cgroup.c | 8 ++------ 3 files changed, 22 insertions(+), 27 deletions(-) diff --git a/include/linux/hugetlb_cgroup.h b/include/linux/hugetlb_cgroup.h index f706626a8063..3d82d91f49ac 100644 --- a/include/linux/hugetlb_cgroup.h +++ b/include/linux/hugetlb_cgroup.h @@ -141,10 +141,10 @@ extern int hugetlb_cgroup_charge_cgroup_rsvd(int idx,= unsigned long nr_pages, struct hugetlb_cgroup **ptr); extern void hugetlb_cgroup_commit_charge(int idx, unsigned long nr_pages, struct hugetlb_cgroup *h_cg, - struct page *page); + struct folio *folio); extern void hugetlb_cgroup_commit_charge_rsvd(int idx, unsigned long nr_pa= ges, struct hugetlb_cgroup *h_cg, - struct page *page); + struct folio *folio); extern void hugetlb_cgroup_uncharge_folio(int idx, unsigned long nr_pages, struct folio *folio); extern void hugetlb_cgroup_uncharge_folio_rsvd(int idx, unsigned long nr_p= ages, @@ -230,14 +230,14 @@ static inline int hugetlb_cgroup_charge_cgroup_rsvd(i= nt idx, =20 static inline void hugetlb_cgroup_commit_charge(int idx, unsigned long nr_= pages, struct hugetlb_cgroup *h_cg, - struct page *page) + struct folio *folio) { } =20 static inline void hugetlb_cgroup_commit_charge_rsvd(int idx, unsigned long nr_pages, struct hugetlb_cgroup *h_cg, - struct page *page) + struct folio *folio) { } =20 diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 62552172683a..f3e1d052b40c 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -1206,7 +1206,7 @@ static unsigned long available_huge_pages(struct hsta= te *h) return h->free_huge_pages - h->resv_huge_pages; } =20 -static struct page *dequeue_huge_page_vma(struct hstate *h, +static struct folio *dequeue_hugetlb_folio_vma(struct hstate *h, struct vm_area_struct *vma, unsigned long address, int avoid_reserve, long chg) @@ -1250,7 +1250,7 @@ static struct page *dequeue_huge_page_vma(struct hsta= te *h, } =20 mpol_cond_put(mpol); - return &folio->page; + return folio; =20 err: return NULL; @@ -2302,7 +2302,7 @@ static struct page *alloc_migrate_huge_page(struct hs= tate *h, gfp_t gfp_mask, * Use the VMA's mpolicy to allocate a huge page from the buddy. */ static -struct page *alloc_buddy_huge_page_with_mpol(struct hstate *h, +struct folio *alloc_buddy_hugetlb_folio_with_mpol(struct hstate *h, struct vm_area_struct *vma, unsigned long addr) { struct folio *folio =3D NULL; @@ -2325,7 +2325,7 @@ struct page *alloc_buddy_huge_page_with_mpol(struct h= state *h, if (!folio) folio =3D alloc_surplus_hugetlb_folio(h, gfp_mask, nid, nodemask); mpol_cond_put(mpol); - return &folio->page; + return folio; } =20 /* page migration callback function */ @@ -2874,7 +2874,6 @@ struct page *alloc_huge_page(struct vm_area_struct *v= ma, { struct hugepage_subpool *spool =3D subpool_vma(vma); struct hstate *h =3D hstate_vma(vma); - struct page *page; struct folio *folio; long map_chg, map_commit; long gbl_chg; @@ -2938,34 +2937,34 @@ struct page *alloc_huge_page(struct vm_area_struct = *vma, * from the global free pool (global change). gbl_chg =3D=3D 0 indicates * a reservation exists for the allocation. */ - page =3D dequeue_huge_page_vma(h, vma, addr, avoid_reserve, gbl_chg); - if (!page) { + folio =3D dequeue_hugetlb_folio_vma(h, vma, addr, avoid_reserve, gbl_chg); + if (!folio) { spin_unlock_irq(&hugetlb_lock); - page =3D alloc_buddy_huge_page_with_mpol(h, vma, addr); - if (!page) + folio =3D alloc_buddy_hugetlb_folio_with_mpol(h, vma, addr); + if (!folio) goto out_uncharge_cgroup; spin_lock_irq(&hugetlb_lock); if (!avoid_reserve && vma_has_reserves(vma, gbl_chg)) { - SetHPageRestoreReserve(page); + folio_set_hugetlb_restore_reserve(folio); h->resv_huge_pages--; } - list_add(&page->lru, &h->hugepage_activelist); - set_page_refcounted(page); + list_add(&folio->lru, &h->hugepage_activelist); + folio_ref_unfreeze(folio, 1); /* Fall through */ } - folio =3D page_folio(page); - hugetlb_cgroup_commit_charge(idx, pages_per_huge_page(h), h_cg, page); + + hugetlb_cgroup_commit_charge(idx, pages_per_huge_page(h), h_cg, folio); /* If allocation is not consuming a reservation, also store the * hugetlb_cgroup pointer on the page. */ if (deferred_reserve) { hugetlb_cgroup_commit_charge_rsvd(idx, pages_per_huge_page(h), - h_cg, page); + h_cg, folio); } =20 spin_unlock_irq(&hugetlb_lock); =20 - hugetlb_set_page_subpool(page, spool); + hugetlb_set_folio_subpool(folio, spool); =20 map_commit =3D vma_commit_reservation(h, vma, addr); if (unlikely(map_chg > map_commit)) { @@ -2986,7 +2985,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 page; + return &folio->page; =20 out_uncharge_cgroup: hugetlb_cgroup_uncharge_cgroup(idx, pages_per_huge_page(h), h_cg); diff --git a/mm/hugetlb_cgroup.c b/mm/hugetlb_cgroup.c index d9e4425d81ac..dedd2edb076e 100644 --- a/mm/hugetlb_cgroup.c +++ b/mm/hugetlb_cgroup.c @@ -331,19 +331,15 @@ static void __hugetlb_cgroup_commit_charge(int idx, u= nsigned long nr_pages, =20 void hugetlb_cgroup_commit_charge(int idx, unsigned long nr_pages, struct hugetlb_cgroup *h_cg, - struct page *page) + struct folio *folio) { - struct folio *folio =3D page_folio(page); - __hugetlb_cgroup_commit_charge(idx, nr_pages, h_cg, folio, false); } =20 void hugetlb_cgroup_commit_charge_rsvd(int idx, unsigned long nr_pages, struct hugetlb_cgroup *h_cg, - struct page *page) + struct folio *folio) { - struct folio *folio =3D page_folio(page); - __hugetlb_cgroup_commit_charge(idx, nr_pages, h_cg, folio, true); } =20 --=20 2.39.0 From nobody Mon Sep 15 18:04:06 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 3CD6DC677F1 for ; Tue, 10 Jan 2023 21:30:13 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235281AbjAJVaH (ORCPT ); Tue, 10 Jan 2023 16:30:07 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40390 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234473AbjAJV31 (ORCPT ); Tue, 10 Jan 2023 16:29:27 -0500 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id ED15C60CD2 for ; Tue, 10 Jan 2023 13:29:14 -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 30AL3cHe011301; Tue, 10 Jan 2023 21:28:55 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=/QULkUox5rmihInJovSFDI1yjAOFhDzEXSOdbMBjXi8=; b=eBp22SYBtvNKEZ6zOprjdyIyBSwdb/3z273+jMBssMP1Okfy1mUL8kBPSM1Gv0hY3TnQ wSEomke+4H9hQppoydCfvgDKVmk7D85tVfzmeg/GCSorOP9xI8gHo21Dr05AkvRKlBSg L3Faf6Y60oK8vgxwdIYAY5824ClAXfoCBLc5Z2P6HGFRYFSJxXO62FcgaJJIh8+kGjRg e78EWlNhWybGV1WreLzVMt0yAjaoUfdb4QKWuWjNaFWHTiCqu7KBiQ42LPeDuqXqcut9 w/TcFnmRSUaANd/6kDLYou4zBvVJGh1S0P5INzij1Ksu8swXwBOOqIGD06lLYMnheNIY YA== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3n1fe5830x-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Jan 2023 21:28:54 +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 30AKY8kQ022668; Tue, 10 Jan 2023 21:28:54 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2177.outbound.protection.outlook.com [104.47.59.177]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3n1f5x25br-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Jan 2023 21:28:54 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MeSmqLawREU9WB+NmaDkjvt3fVoAV39/HkUC+wGMFw/8IaQ88aKt/druCCT1C7kqta2NazqsxcDeHSv37bD0PoGBezTQfTI4SF689Z9902pLe/KrdIsYIazWshlBwRMLavBPurmbino7McaneItpuhS5jT+w8FTNLCWtOQEZJEWzKUBAiNajptLYrGhaxQ2/cMHuFlSgYAEixVumqqbZkpdYf/P+4JR2AT/JeLJf/LHIgQzEEzTidU0YFbnRbrny3bjjywgHLdX5SGeK5J2MRq0abdcDxtgAhrpJN+SFXeOAkheVFDCu1gbsYuCFBTdo1oMU716WuUlWz5pbhFJtlw== 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=/QULkUox5rmihInJovSFDI1yjAOFhDzEXSOdbMBjXi8=; b=GirLEpTHL9Vyu8eipOnHfKDPdlzHFmgvcdIgeZ88diB+QObIe8YQqX/SOV4S+wwibEHUxMXqWf0VWQOHTLZsI1+5Dwvq/0p7TwbHuwIidXrXutu/SgQKa3rqr532kjI0Hw/m69Lnt5ZYxYaz/gw8hJG+fLXbXRgIlmlwjiKuHDnrMVDJygkb5Klk1W/8FKdmJN7u4t2ViDqw58/Lakzb7Oz4dzhbicO2i6qtmuaf/DCmXfIYHW4Ag3W0w1V4nWkYKuU0zljZn2Ks9E59huz8vxxtm8GpoV319t2OTBEdsOWlzD4qZsLQ8sZGxhm2ye1nCnj7RQ+TqI0h5+tjRvjpMQ== 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=/QULkUox5rmihInJovSFDI1yjAOFhDzEXSOdbMBjXi8=; b=wOwCSzhrSDm5sM4iJ4hMhPgXHZFFkCA0su5HSt5Tuj8MkP7KDmDVbqzo9POoJjc0BhL+lPCIKcfzlkmr/b1LWoQIznHm/S7LPXcIvLOQOBcurLkNZUHkDuFFWYDMjr8oDfYRWD7DcLvkyqt/LhCWlZStTs4o24iBFvF3FBUJymI= Received: from DS7PR10MB5117.namprd10.prod.outlook.com (2603:10b6:5:3a6::17) by DS7PR10MB5133.namprd10.prod.outlook.com (2603:10b6:5:3a7::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.12; Tue, 10 Jan 2023 21:28:45 +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; Tue, 10 Jan 2023 21:28:45 +0000 From: Sidhartha Kumar To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: akpm@linux-foundation.org, songmuchun@bytedance.com, mike.kravetz@oracle.com, willy@infradead.org, jhubbard@nvidia.com, Sidhartha Kumar Subject: [PATCH mm-unstable v2 6/8] mm/hugetlb: convert alloc_migrate_huge_page to folios Date: Tue, 10 Jan 2023 15:28:19 -0600 Message-Id: <20230110212821.984047-7-sidhartha.kumar@oracle.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230110212821.984047-1-sidhartha.kumar@oracle.com> References: <20230110212821.984047-1-sidhartha.kumar@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SA0PR13CA0029.namprd13.prod.outlook.com (2603:10b6:806:130::34) To DS7PR10MB5117.namprd10.prod.outlook.com (2603:10b6:5:3a6::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR10MB5117:EE_|DS7PR10MB5133:EE_ X-MS-Office365-Filtering-Correlation-Id: 5d520678-d78b-4982-8d93-08daf351a796 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: HlGY2VRmQt1jtAqr6txqzH723D1txWZd7Q1oyO2nJH5eNBSPayQPIq4WO2tlL1isVaZgFzMO6MT7ZPPj58uwraEU8HbLqeNMIQw4U4x4yH0UHnYqh18uG1vlXnKRieksSa9y3CG9Uz29BaK9UAV5gMxnTuYg+CotPBGCChrr4CYfDLPMxTXofT4/rY1q7Y5KIKdbtMXscrpKXvH7OdbZnYP0Six5S1HxBUxTr8V5mR2VqB334MHhhRBnMXHQfzCQk4u/b+FbgWFNzwZ4Otd1HTuG5p2N2mdzTiO3GCSFn4p6jJC7cXMstwZxt+rj13uZlFLFJjsC6PH8+yt4AP8YZZagw77pedHaydMbTiZ/WMVvzVm8n6JyDYrpz1SCsrZX6wYixUn/Pg76LzOsxu0N/hn6d221ZLcUelK2kts5IN63f5uzZzd1Hi87A7mEkKp1qASsUer+OAR9B5z7+xPgIzuyg2stCqSe47PCK0Zg+Vi1Zm+0vFGpTnamD6Kz35BUFFpVmToliv3Rnm6YJSaTmYISt0oJ2nIgkEmHFrtiSWo78ZRRcwzkJthEUALRp+M6IoYRNFLzz50xd4OqyqX5D8BZNbxogq037tRIbgGPa+OS0rtU6VKhaghXp9MRmxrJ02aFTiBJkIrCee8DsDJlmQ+NFgkKjA38Fbv441k0DAL2XQe0NO8rnIfUdLIJ2sId 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)(39860400002)(376002)(396003)(346002)(136003)(451199015)(38100700002)(316002)(36756003)(5660300002)(2906002)(41300700001)(44832011)(86362001)(8936002)(66556008)(66946007)(4326008)(8676002)(66476007)(83380400001)(6512007)(478600001)(6486002)(1076003)(6506007)(2616005)(107886003)(186003)(6666004)(14583001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?7LIBioIc03Vjh6qEcvWWmobp+Axm8JVNcyNppew+iqYv8I7buyvg11hhfy1c?= =?us-ascii?Q?PJItgzUJtcPGTGEs7iJ53hGG7ERZ3Od0iiLnFv+hoCav3/cJdxz774E6u7Em?= =?us-ascii?Q?20bdjw2m3oCRn83SYw3+btqrMc0d98w2k7We5B0i6pjQWJmunQ8Tb2ETuyy2?= =?us-ascii?Q?PNcX1G3SCkSvb4smtWHqm76y33TuRkK4QxNFSTkywYO5S646m7p38d62olk4?= =?us-ascii?Q?wQBhLujej1wWZOJre7oUxeAJRZ+o3/HrzyAEgdzjg7CdMRWZ5qNo7jUBprcY?= =?us-ascii?Q?w+IvImPLhB8QHZwBKBt71aPlEQu5ECZTItypOsWw2jytlZnEY3W8O1zTuV+W?= =?us-ascii?Q?IOZb/bbSeG0awAxSXf6VzH7JgZmLSgHHgrZmVsa/H3ikVDhlhMo2PmjaGf7/?= =?us-ascii?Q?va9gwIkb5LkhiEg/vt3U1rZNVBau8EZiNUuLsVr7+jnnYTkQQrL0gci3iNLG?= =?us-ascii?Q?3CfowDGypBa/ct6HaQYAU1czX90iBPsnoKFsl9aEA88CIuq3SVOCHAqvk/q+?= =?us-ascii?Q?WvcwLBG+aqyWndSjA38GpHuIgkga56qRaYJYG62jtc3UmR4bRUK1ATyTjIFb?= =?us-ascii?Q?4wEGPqqFWMNjMhDO4mm15CipvG18cY3LV8doiHD7JN6NzFSnvTCxzgDn+m0d?= =?us-ascii?Q?N7zGBTt2LUl+719UMNbb8Cd6qP4fAOypCQOq1xyYGbyuAkHW2R3c+ZAyTteJ?= =?us-ascii?Q?ON0/iSj5vuKkdAWXGhm0IURwXDVoKrkChpUoEkzUA1nXzDgUgSw5kwft63rh?= =?us-ascii?Q?nj8qCwfs9RqrE/pnFhfnHIF6RXkb9Biy+5NBshYa8dGwxX9/fjosfuAUXSin?= =?us-ascii?Q?GNhP57nJPKtykEF/VpLyw/e6yTJsonRYNcwrnxJL9seUh4IFvniL6BkHPFr0?= =?us-ascii?Q?oGFAH/kURZPBHH0pvtr5UtHYGV6ftm/+KzjKx5WqyzhHCW4cUDFzSznTEaSE?= =?us-ascii?Q?OtbdOYMny6M3K8+3SzN2DCJw+y6apytpGURlvEnY7hlxLCR8rkMlv11Ml8I3?= =?us-ascii?Q?kyYJ47akvOpU+GdqsJnylYvV4oGUNNUJfU5Fh3FZpgeRjp+BNyrbn2NFGI0W?= =?us-ascii?Q?+c11FZwMf+wjHZycHF6zVnPMzLt21MaPnkO9Og3kZPlv2i+XULpGOSPqnUI9?= =?us-ascii?Q?qTk1nohw2EYErzXv99R4HjQ2/kFWyFKXJbEsvTyNYm8+hl5/C4QPaDbl06JO?= =?us-ascii?Q?g1qevq74Xj4Vm7pA5RmA3+IE79ADJzoV2F+kDKuML2SwoAH5RId2Ke+snOzz?= =?us-ascii?Q?Zii4k3nblOB//Wma4e5jLPQpPMwYMg08cJEgfXqBUS9D6l4VY6UIn0u+2Oin?= =?us-ascii?Q?mPsoOGWRShPZ2yaDl/agNFv2r53q4q0+tIir5qKjcB+fcsJOOYFrwB7AKArs?= =?us-ascii?Q?0HgeWQTOKIL/nejccQLEUtyFSIfp3dGFuqgwZpT5tUfg2jyg0XYsDQxtujtx?= =?us-ascii?Q?v/T5+67JfUCGv/vK0xa+8VTnuqjGAKrOqdWHTDX2lc4vVhF0YqymRoTFxcLz?= =?us-ascii?Q?zva7gCtBV76xUHEV598Se41wcmkb/JQzkID2W/yXJtW07hRdC9gn50Hug22u?= =?us-ascii?Q?DDqlcGdoOI8C57TMSxYu3GX+egAYFDxuWv2oVD869EgQOqai3Q8qRTZLfTah?= =?us-ascii?Q?mZwCZ2zzoE5rS1LQbiP1ZU0=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?QFdxagAbmlEy4NFpvyB1Cq/ckqpXjvI5PIIQh0g3cdgvjux86cBHx1Vt+qX3?= =?us-ascii?Q?L4/jLhBkpSh5Drv5khCQ0IIgb5UHmNeGe5vxwpo3pcVpFh1yUQLPznFOnXUI?= =?us-ascii?Q?9XtLt6P8u8x512bKxponOK4KtcAtVRwybL2TcSq5YGTVRUAe8Bt4AgzQjBj4?= =?us-ascii?Q?Fgy0v2UeZcpHGZBP5U5yAlDMKbq/L1rKzpWju1JBbrSOhrdFuQpZa9WL6oXD?= =?us-ascii?Q?t2rYI4a2Mw8SAGjg5TAq9pVc2MEvOOtkQP9AaEhUNzRZxlhPas1ERtXugMuv?= =?us-ascii?Q?03BJnen4W3H6Z9juUlF9WrWb7Agmcwx5Xpu6X+ZBzw+Ar0LBIiJpwbK6qji2?= =?us-ascii?Q?Y9hzX4WefvqXBUnhGlSDI5tORQIB2NoLZBTzG5wEz7isPTGF8HkORkUdCqoV?= =?us-ascii?Q?gks7cpUpvkC4xRfEa1R/ezopZF9nR9MZvKPgzvMLTfWZSkSyDfj5mupxondj?= =?us-ascii?Q?HYZfw6di6IgdMZ3M6xd52mA2cxq1OkhKEoAbRgYvmb/bmLoRzWP+Kwum6Ux2?= =?us-ascii?Q?EqU4ivGcXHpXOTVBYIiuPYFCUkX7+7S1xQra8Ce8Z29cReMj6DehckaFTQVg?= =?us-ascii?Q?0W3xtTzlz0wAZRz75BIkHSFIYYjwLmT2N8ZyrB9A3qk5Zrw62tHQkyoFdkAN?= =?us-ascii?Q?4nyLXP+Rq5oNwj1yQvC3kJ2asFa2PLQr4g7NapnqEJ+fNbnv/VCViDjXbCal?= =?us-ascii?Q?zi/6VVEh7nvplqoOYyGDypPL+ei/5TAniUohlow1Ez8QCfWecN41RjsdBiYh?= =?us-ascii?Q?TmA+CQPR11u/kXvlCUAMoS+LOi0fItghC2lyBAMtjkrf0LkU9RExaIcjk+ML?= =?us-ascii?Q?Z1J6DLeiTMpWDran6D/OLMFP93pBBLdroXqyZnKEewKbeuVVDapAtQDnfBr2?= =?us-ascii?Q?ozKx2Z1GKGEL/hilndisaUvTIRZSEfxXloywcEVEK7qJYKJOtB+TOARp3LbG?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5d520678-d78b-4982-8d93-08daf351a796 X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5117.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2023 21:28:45.7783 (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: LFJznWQHR27S4a41dMgZ27GkYO0X18py7ywBMWPzMlzgzx4MV4xlHX9OsMVClLaq9RKp0CzmsxYpWDAiTsC3tKqLJl0XXJOX+rPxaf7oWrQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5133 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-10_09,2023-01-10_03,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 adultscore=0 spamscore=0 mlxlogscore=999 bulkscore=0 suspectscore=0 malwarescore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301100142 X-Proofpoint-GUID: zZBcUxr38dw456bCMStSmob7VO_kQPnR X-Proofpoint-ORIG-GUID: zZBcUxr38dw456bCMStSmob7VO_kQPnR Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Change alloc_huge_page_nodemask() to alloc_hugetlb_folio_nodemask() and alloc_migrate_huge_page() to alloc_migrate_hugetlb_folio(). Both functions now return a folio rather than a page. Signed-off-by: Sidhartha Kumar Reviewed-by: Mike Kravetz --- include/linux/hugetlb.h | 6 +++--- mm/hugetlb.c | 18 +++++++++--------- mm/migrate.c | 5 ++++- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h index 482929b2d044..a853c13d8308 100644 --- a/include/linux/hugetlb.h +++ b/include/linux/hugetlb.h @@ -680,7 +680,7 @@ struct huge_bootmem_page { int isolate_or_dissolve_huge_page(struct page *page, struct list_head *lis= t); struct page *alloc_huge_page(struct vm_area_struct *vma, unsigned long addr, int avoid_reserve); -struct page *alloc_huge_page_nodemask(struct hstate *h, int preferred_nid, +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, unsigned long address); @@ -1001,8 +1001,8 @@ static inline struct page *alloc_huge_page(struct vm_= area_struct *vma, return NULL; } =20 -static inline struct page * -alloc_huge_page_nodemask(struct hstate *h, int preferred_nid, +static inline struct folio * +alloc_hugetlb_folio_nodemask(struct hstate *h, int preferred_nid, nodemask_t *nmask, gfp_t gfp_mask) { return NULL; diff --git a/mm/hugetlb.c b/mm/hugetlb.c index f3e1d052b40c..c0cfb075cd58 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -2275,7 +2275,7 @@ static struct folio *alloc_surplus_hugetlb_folio(stru= ct hstate *h, return folio; } =20 -static struct page *alloc_migrate_huge_page(struct hstate *h, gfp_t gfp_ma= sk, +static struct folio *alloc_migrate_hugetlb_folio(struct hstate *h, gfp_t g= fp_mask, int nid, nodemask_t *nmask) { struct folio *folio; @@ -2295,7 +2295,7 @@ static struct page *alloc_migrate_huge_page(struct hs= tate *h, gfp_t gfp_mask, */ folio_set_hugetlb_temporary(folio); =20 - return &folio->page; + return folio; } =20 /* @@ -2328,8 +2328,8 @@ struct folio *alloc_buddy_hugetlb_folio_with_mpol(str= uct hstate *h, return folio; } =20 -/* page migration callback function */ -struct page *alloc_huge_page_nodemask(struct hstate *h, int preferred_nid, +/* folio migration callback function */ +struct folio *alloc_hugetlb_folio_nodemask(struct hstate *h, int preferred= _nid, nodemask_t *nmask, gfp_t gfp_mask) { spin_lock_irq(&hugetlb_lock); @@ -2340,12 +2340,12 @@ struct page *alloc_huge_page_nodemask(struct hstate= *h, int preferred_nid, preferred_nid, nmask); if (folio) { spin_unlock_irq(&hugetlb_lock); - return &folio->page; + return folio; } } spin_unlock_irq(&hugetlb_lock); =20 - return alloc_migrate_huge_page(h, gfp_mask, preferred_nid, nmask); + return alloc_migrate_hugetlb_folio(h, gfp_mask, preferred_nid, nmask); } =20 /* mempolicy aware migration callback */ @@ -2354,16 +2354,16 @@ struct page *alloc_huge_page_vma(struct hstate *h, = struct vm_area_struct *vma, { struct mempolicy *mpol; nodemask_t *nodemask; - struct page *page; + struct folio *folio; gfp_t gfp_mask; int node; =20 gfp_mask =3D htlb_alloc_mask(h); node =3D huge_node(vma, address, gfp_mask, &mpol, &nodemask); - page =3D alloc_huge_page_nodemask(h, node, nodemask, gfp_mask); + folio =3D alloc_hugetlb_folio_nodemask(h, node, nodemask, gfp_mask); mpol_cond_put(mpol); =20 - return page; + return &folio->page; } =20 /* diff --git a/mm/migrate.c b/mm/migrate.c index 6932b3d5a9dd..fab706b78be1 100644 --- a/mm/migrate.c +++ b/mm/migrate.c @@ -1622,6 +1622,7 @@ struct page *alloc_migration_target(struct page *page= , unsigned long private) struct migration_target_control *mtc; gfp_t gfp_mask; unsigned int order =3D 0; + struct folio *hugetlb_folio =3D NULL; struct folio *new_folio =3D NULL; int nid; int zidx; @@ -1636,7 +1637,9 @@ struct page *alloc_migration_target(struct page *page= , unsigned long private) struct hstate *h =3D folio_hstate(folio); =20 gfp_mask =3D htlb_modify_alloc_mask(h, gfp_mask); - return alloc_huge_page_nodemask(h, nid, mtc->nmask, gfp_mask); + hugetlb_folio =3D alloc_hugetlb_folio_nodemask(h, nid, + mtc->nmask, gfp_mask); + return &hugetlb_folio->page; } =20 if (folio_test_large(folio)) { --=20 2.39.0 From nobody Mon Sep 15 18:04:06 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 24001C678D5 for ; Tue, 10 Jan 2023 21:30:13 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235253AbjAJVaE (ORCPT ); Tue, 10 Jan 2023 16:30:04 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39998 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234449AbjAJV3R (ORCPT ); Tue, 10 Jan 2023 16:29:17 -0500 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0516560867 for ; Tue, 10 Jan 2023 13:29:12 -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 30AL79oc003394; Tue, 10 Jan 2023 21:28:55 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=JSuCthEGD9mFVQwtGBQpQYgIPpxHUVzJky4kAU11Yd8=; b=bjHs6MOmTGzeiHevdYCLp9OUxMfy+MIR2ELZC4G02tYO9Fsc5HJSaL/bg9gPquqGyNfh cjL1Np2LC6r3yLb8c8HO4HCWxI0Lua5qbozQH+g8D+jzPK9YNWF+lK2LUrEbWsEuXLx6 uecQYGYq76DDu5dIedNOA3Gz01RB2U9UcICLB9vFuK2TCt3N6XBcsdxjQUONKsKiyCAU jjEWcxtv3MqYrb6yGOzbj8evabR5F4trPt8Bv//NZn0R+D+vAb02sL2UKdQgMoqOeDnw 2mMuphu55zSmVx+n7FYOtvazjNIAJnQB/CiWgwHHNtpMpcqIRvRmKmWOibUnulzPwVov 9g== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3my0scedt7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Jan 2023 21:28:55 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 30AKY8kS022668; Tue, 10 Jan 2023 21:28:54 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2177.outbound.protection.outlook.com [104.47.59.177]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3n1f5x25br-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Jan 2023 21:28:54 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=S5qV87XunAXGbyq6K7n/4PFOCelgPxU+ic+HyQrcTVq2GzfrNpvPPU96qdl3sRGbIFtR3y8wa8uVEUOS0zH9ESBSqpwyifjBjhKJANvuD2Oc1X4cck53jeKBfGwwy9euu+bpjtRkfQ8fhmO5vjij8YiPdCMWMpmz2a083tRm+WYW9VBVmEfOp4B6ULKe9ROhNUP6yj4CEoye27pWdW/1GGjKAWyY1vEhCR40rQ7K8NMM9v1485F/NRauicrYmde7Sd6tN1YnEPzUIoRgNpUvjamD7le9QFB12fmGYiRMBH7GsWwgXY60paebmYedCcB0j3exYLx8RYwCWcvLaABxAQ== 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=JSuCthEGD9mFVQwtGBQpQYgIPpxHUVzJky4kAU11Yd8=; b=O8SOIX+4kAZVGhWCM45Wk0DvCAs2QMcApXfCZiuQy/I20HQPGWdajE1vP3Q9yRI2bH+DnRV5jgJI5KhXQIDQtVXRgpMlpky29I0k7ti3/hnqZVa3GYYQ5qADSV7c4RKPolNZg6/biPsSxp3e/w3qPQt3a8M5liLXKGdF7ggvp0+lM2L5l8mep0SzPpa18LzchOWiZcUyx0iemGTVmxredMwxVsnpOQWSBuUkFxa4epbNhH/BiqGHGDIFxfw0YA4pRUG1+1/1gnyGL8eY/TK+6z8RNg9bYGVuEj57sEnjaP7G/25SzjBGoo1jPBUOVyqS/ZznmT7DtarefGU0wbFlfg== 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=JSuCthEGD9mFVQwtGBQpQYgIPpxHUVzJky4kAU11Yd8=; b=BVjtNSEAMruyUhcWbt80p6WDBx2GX9o0sPxu6vfc58yh9NA9JbPQpdCvN3QnCur4BdmjUwiUdLV5p6Jz6XdIHFZmCclHP11ERNs5YKuNGCVpgH+Od5+yuCDRplQ+nlG4HkGihtWWvMOJjavtD0fKW8ekdjfNr4JqPZ5lLzE5CKk= Received: from DS7PR10MB5117.namprd10.prod.outlook.com (2603:10b6:5:3a6::17) by DS7PR10MB5133.namprd10.prod.outlook.com (2603:10b6:5:3a7::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.12; Tue, 10 Jan 2023 21:28:48 +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; Tue, 10 Jan 2023 21:28:48 +0000 From: Sidhartha Kumar To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: akpm@linux-foundation.org, songmuchun@bytedance.com, mike.kravetz@oracle.com, willy@infradead.org, jhubbard@nvidia.com, Sidhartha Kumar Subject: [PATCH mm-unstable v2 7/8] mm/hugetlb: convert restore_reserve_on_error() to folios Date: Tue, 10 Jan 2023 15:28:20 -0600 Message-Id: <20230110212821.984047-8-sidhartha.kumar@oracle.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230110212821.984047-1-sidhartha.kumar@oracle.com> References: <20230110212821.984047-1-sidhartha.kumar@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SA0PR13CA0017.namprd13.prod.outlook.com (2603:10b6:806:130::22) To DS7PR10MB5117.namprd10.prod.outlook.com (2603:10b6:5:3a6::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR10MB5117:EE_|DS7PR10MB5133:EE_ X-MS-Office365-Filtering-Correlation-Id: 931f2644-3f35-4a0d-76e5-08daf351a8f2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 7Op1fJXOAhxt/B+MP2vi8aVDyrKQCCF16EDsX4LgqB/PPrt9PF9DDVGfeVLiuIjioLTYPNFllbxfN/t/IhjIoYPsgu+Wsr6CXgX4Z6nuf+VRiUCF2QGOq0/bdXt0CMr0azBjSXGrXMnjopwT52E1lwEtKLx8W4C5i7UxjsreAo45ZzWuiBkplfDuXZBiinx1XYaHOtPjvCu1Xrm5a291uCgEcBKX+d6ayMLx3tO+hMARjjKBTu+falnCjcFZ3P9f+ezao1r+amHUCu3VgiN/KbdBXonQ02uIXGKzZ6pqU8tSmCqmkPdIMYnjgq/s4W8JTvPG1U/4G40IG6o1cG8Nay5wCPkjGoFfyFj+V8GPxSFFEcVHYGlNMrDbTKyEssCN+tXhVpXwb2Q1Nc/QCnmjB+ZmTvqVRVzxpZvER0S8myHhVN2DfVOksyL36M0N7xkLnNvGqqM+UwdTXXSZL8EMqW/5OOWhEZdVJ0g3ZWSPc3bwnBoBV31/mFj4DlEaB21GSOwIvk3Cv8y+xGWwdKKkhnvc8Pp1g/sPMcEke62ZD014rn7TC9XR0uqnQeQYHUQgmfXAUZHNZ9H3Ph10RAs2uWQFWYSm9DFoAZzCjCMWGHvBZ40f6oIIE//655Rakwc/2JMGy+y5IIalGp5PVFxgXQ== 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)(39860400002)(376002)(396003)(346002)(136003)(451199015)(38100700002)(316002)(36756003)(5660300002)(2906002)(41300700001)(44832011)(86362001)(8936002)(66556008)(66946007)(4326008)(8676002)(66476007)(83380400001)(6512007)(478600001)(6486002)(1076003)(6506007)(2616005)(107886003)(186003)(6666004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?7iTJpskraAojz1GbnE2AT2KG5kENru52V+8Ww0Lv8DFjHudNUWU0CAOleQRi?= =?us-ascii?Q?Y2nX+ZND1lQ1lZYvxo3xXiWrb6Ccrg0FECyBpgEzNb4k9VBJHX4NxCeylKGV?= =?us-ascii?Q?70jrXixozeJ+SqEux7wZvOd6+OipxFNyLxTlHqWmflgg84AIu6hUicNWq1lT?= =?us-ascii?Q?r2fsplPflTqgdlskYg8vBoTh8SwS9Gq05JnzpIaWzoq9BodNJUt8gOj3Vovr?= =?us-ascii?Q?OrJ4bTKK+2Q8w3RvG/yiGlHi4vzLRWKYCuIqgZyjAXRSaErCDpPmAhWrlZFd?= =?us-ascii?Q?ELt0QropSaRN5mbslF6PAP8AJqdhTyqhPwrpWn5w5VCQR4xZYu5a2emskWR+?= =?us-ascii?Q?IYgdrkV2z16D3qRzXBMUZfKEeos0x5eOD/svweiYWGgEueKngBZBsnb3kdF2?= =?us-ascii?Q?rB7SHl/YtOzy/xS51SiH14oJRNbpbReGD5RCb/pLs/irfZQGGQRbOTSghjdo?= =?us-ascii?Q?C8Sc/NT+9u93YjsAXrLse1XZmmyZo+ktB0+ZUuHIX3P3san4LOcYUy08gRtB?= =?us-ascii?Q?KjCztnA4ABRcIhAvnRg0+4jMK5Qc2vaiceGjvx0jAoSMeHu5GJNY9AKFsiX+?= =?us-ascii?Q?N/7+VyyGg6PFqS3c0RhOPZfHxbVtwasyKOOQsf4wj1BFtYAMn7asrYIFHuol?= =?us-ascii?Q?nE5t6rNo3YDIuwbcTmSqDyxsZLGYNyH7krs3AfWB5GvT+AAp/6BoQZMr7pr0?= =?us-ascii?Q?INBzn/3LSM5Ggr3NJcQYrpdluTd65uU8I7vXNgBCuACChLycOpDR0A0av1nH?= =?us-ascii?Q?JnZEvLHH2Nwiu2PR/sYClkzDN7UrYSEtLk2YPYLwgH1XXdV20ttQRQqByZOl?= =?us-ascii?Q?vOx69VKhNf3GdruR8t5yyRfz4BNiSg4xW17bWq9FlsqzFjBc2zjHlCQuuTvg?= =?us-ascii?Q?oElRHjXJEy6m04SLQF/vY64Edwg3egHQeAjZ5i284LtFku4dQfpocNUecNrX?= =?us-ascii?Q?pw3L63kur+bU5ggia9sop2DF1s96JJceN+EUGEtTFZh3R6butqk9Ebi8D5/K?= =?us-ascii?Q?Bwzl3mEquJxHGzDFPlowTJk7kB4yFZcABp5G2GajMrIcPiwT1B0nT3o0UZ4b?= =?us-ascii?Q?9MekuXcjNOJCt+/VfjbOkx0SRQIp5iRYLeVOd+ygAGpOu9+CKcOm/HLJIHoP?= =?us-ascii?Q?0i7BcHV0Uf/EtTBpApFEXvA5dL+EXHBwFWHuW+qD7TFT5evggEyreBxVYXYv?= =?us-ascii?Q?43fg6Ftj+6HktVCdumishP3wnr/fFYmB2izCLN5VIhitpLEEFqYG5ediU6ec?= =?us-ascii?Q?WYZEAC/9vaXRhN1YAm5sg7ZDB3pRKcFaRbapM5q9BqKoUQk1VspDhRDiLJ2b?= =?us-ascii?Q?1MH0DHN7C105Byu/D/rH6BvANETEYiGnj6a4bpMI8tKk0k3o4+juOjp8tfz1?= =?us-ascii?Q?JMNsIw+yc7uEKMbR7t/ynN7pKWEmsqBZx2V9RrP3dNIpsWoXnQGV5A5HD2py?= =?us-ascii?Q?xavZRVxYFel2Ji8LufS9y+CKkON8HNyTFXZtZ0v7W7HwL0SGNbotqZSB1H3H?= =?us-ascii?Q?DhMV9mq14wV0v2zDT1daeUKVzAr3j2r2qQGQk/plmElcTrangVX6kJNvxkiO?= =?us-ascii?Q?5Xqbknt9eghnvpOiInn3keeqZkP/yf2ifDBZlXcvzNQbRrJi0iIRjxHRd+SH?= =?us-ascii?Q?lakyd2X4s+IYAm9BdfYZelU=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?bRDofkayIcbX0J0MrCaEGjj2IcQyMu1AY6ZZ9k6XDgrbGn2SSgqexySob4tD?= =?us-ascii?Q?gzg6BsFmEkyGF+sPzUGeBLbpEuXQv69iqdmeVeDHB4tTrFh13KmFsJrRVSBA?= =?us-ascii?Q?uyzBhWkKwZrhkuhs4V2smS9NAjcVPEFGyZ23QDM5fQ51Rxpg8tlEkETHgBf2?= =?us-ascii?Q?dPSPR7e+Yz8TPTOBONM2MTQgXzW4+9fW54MopuDRj4L4yAqIqSpuIk1y0XMj?= =?us-ascii?Q?47L5rKDadvc4OpKnUlb2zFEOw3C8l7CUAfSK/dQj6aCusnGmKflaWuRiamdK?= =?us-ascii?Q?E64/zvzMP9WKWhZ6q7SbG+ngceMJ+ngj9OobWYl2K9HOh8Jp+7r2ZxHle75z?= =?us-ascii?Q?Nu6/4csafbi+zRdf4R/eOpUZoOEcihxej/o0Qv/D7ipvk1fZWRF+GTuL8HKw?= =?us-ascii?Q?CoFHVUk6UPWk4jKcCdPnEGlQwX7exKb9L5ed5uwq0ki8HyYm/fNVfxVVBbHm?= =?us-ascii?Q?HCSDMeV33rWIKJvG0LN1V97SomHhoZ4U8JWV31oq5yOdziyrbqDyCuIBO5Bm?= =?us-ascii?Q?2zUr3aNbWcTp4f/kGBLMu8RYsc0ZVjYw5OfgtFkRNrhtPIOsVywrTV43CESz?= =?us-ascii?Q?h87JcSi2ck9kh5O7LR8kS2rBN5rIrlYBfOOKzb4WjQmYnICEt+Upq/3iJGy9?= =?us-ascii?Q?413E9iKYYAr93yfyhR+kr04rDX+Q5dGbfV9bfNk+MG/eQOfxlcNmzKOedRJr?= =?us-ascii?Q?fMGESHwdkQFftATL0PtyEEgmgktLEkxeM5mS5vz1dzxXkk+ozm8uR+tjZhll?= =?us-ascii?Q?yZMssxxjqqayeBEjS9yq+gEzpGwfbxRLVGNB3EX5of0AVBrFHdkqhhW4kDtj?= =?us-ascii?Q?cp+TpfdPbcSj4QCYro/Bx/VH+zk6UVRN4gVULqVG8TXbCpLkL09y1yFhzKyG?= =?us-ascii?Q?ecaB7HM4ykB3a+HxxxxdliBC2H3qakNaAs4W7MzpPdWjoN1gtsnxi6EhyIX/?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 931f2644-3f35-4a0d-76e5-08daf351a8f2 X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5117.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2023 21:28:47.9959 (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: wOsK31rU8axA2Cv8B8kDQsG8IaEwd+oQ0zNcUBdkQlJJyDCPTTplFYGX2VK/PfgZoyTlXPfEm53Ss5+d7eOpgya0gkjUKz59fKu+pJsSgTw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5133 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-10_09,2023-01-10_03,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 adultscore=0 spamscore=0 mlxlogscore=999 bulkscore=0 suspectscore=0 malwarescore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301100142 X-Proofpoint-GUID: cPj94O7dIZTjnwK0wnKPwlQ1Wwdctz9p X-Proofpoint-ORIG-GUID: cPj94O7dIZTjnwK0wnKPwlQ1Wwdctz9p Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Use the hugetlb folio flag macros inside restore_reserve_on_error() and update the comments to reflect the use of folios. Signed-off-by: Sidhartha Kumar Reviewed-by: Mike Kravetz --- mm/hugetlb.c | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index c0cfb075cd58..f8cd0c694fe9 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -2675,22 +2675,23 @@ static long vma_del_reservation(struct hstate *h, void restore_reserve_on_error(struct hstate *h, struct vm_area_struct *vma, unsigned long address, struct page *page) { + struct folio *folio =3D page_folio(page); long rc =3D vma_needs_reservation(h, vma, address); =20 - if (HPageRestoreReserve(page)) { + if (folio_test_hugetlb_restore_reserve(folio)) { if (unlikely(rc < 0)) /* * Rare out of memory condition in reserve map - * manipulation. Clear HPageRestoreReserve so that - * global reserve count will not be incremented + * manipulation. Clear hugetlb_restore_reserve so + * that global reserve count will not be incremented * by free_huge_page. This will make it appear - * as though the reservation for this page was + * as though the reservation for this folio was * consumed. This may prevent the task from - * faulting in the page at a later time. This + * faulting in the folio at a later time. This * is better than inconsistent global huge page * accounting of reserve counts. */ - ClearHPageRestoreReserve(page); + folio_clear_hugetlb_restore_reserve(folio); else if (rc) (void)vma_add_reservation(h, vma, address); else @@ -2701,7 +2702,7 @@ void restore_reserve_on_error(struct hstate *h, struc= t vm_area_struct *vma, * 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 - * HPageRestoreReserve would be set on the page. + * hugetlb_restore_reserve would be set on the folio. * Remove the entry so that a subsequent allocation * does not consume a reservation. */ @@ -2710,12 +2711,12 @@ void restore_reserve_on_error(struct hstate *h, str= uct vm_area_struct *vma, /* * VERY rare out of memory condition. Since * we can not delete the entry, set - * HPageRestoreReserve so that the reserve - * count will be incremented when the page + * hugetlb_restore_reserve so that the reserve + * count will be incremented when the folio * is freed. This reserve will be consumed * on a subsequent allocation. */ - SetHPageRestoreReserve(page); + folio_set_hugetlb_restore_reserve(folio); } else if (rc < 0) { /* * Rare out of memory condition from @@ -2731,12 +2732,12 @@ void restore_reserve_on_error(struct hstate *h, str= uct vm_area_struct *vma, /* * For private mappings, no entry indicates * a reservation is present. Since we can - * not add an entry, set SetHPageRestoreReserve - * on the page so reserve count will be + * not add an entry, set hugetlb_restore_reserve + * on the folio so reserve count will be * incremented when freed. This reserve will * be consumed on a subsequent allocation. */ - SetHPageRestoreReserve(page); + folio_set_hugetlb_restore_reserve(folio); } else /* * No reservation present, do nothing --=20 2.39.0 From nobody Mon Sep 15 18:04:06 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 1292FC61DB3 for ; Tue, 10 Jan 2023 21:30:13 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235207AbjAJV36 (ORCPT ); Tue, 10 Jan 2023 16:29:58 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40172 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234454AbjAJV3R (ORCPT ); Tue, 10 Jan 2023 16:29:17 -0500 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 376AB5BA14 for ; Tue, 10 Jan 2023 13:29:14 -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 30AL75TY003384; Tue, 10 Jan 2023 21:28:56 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=0HbIDU9gvROZzz6/UYBDpx1N31Qr4FGP4cShMjeUTgc=; b=njljbaOhL3N5YeyKZeNnCX6TrY2musWjLmR5Rpl1V0OPHc6pkph8IpEE2VlfpkF6LziH 7AFSviSYFNDb7B/2+e373lCxzxwlsaHxDwqxuvVNZZyHn6GQx3OHOE8Q5Z6BkhVqf39O tuKw0iHg4RdDyAUURi2NS5bm3KZaESngj9DJcjxeqbw41kUrGiZgNKP62PGTdknQ9yF+ plxQgYECpWUnoVYiuhVTSBBhiVQqJDSnUnaEHRBkNqECN5OhR23LKKAovMQmWFchVCXe iiQUgPQNEcrZJm21KueCBpn5IiZOq1vOVjdJrAZKeXhuqDm5O8e6Hha7oWw/tAMDj7xy 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 3my0scedta-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Jan 2023 21:28:55 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 30AKY8kT022668; Tue, 10 Jan 2023 21:28:55 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2177.outbound.protection.outlook.com [104.47.59.177]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3n1f5x25br-4 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Jan 2023 21:28:55 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nRBJjOOnvG1jserSMLEHUEEH68giFPpMa1AAvA0PWSbAgeERLuKaIglq8GdzJoLrOWjUTpep4JGs8I9ZJcCQkSFCxwVmUk2kQi2KHuIr8oh7prL/rFNcULP7+9v0EpA4t/tK2oPDttLkksnau+yTNJu00SVPZP5GMp51Y5+lLzuT/9ishVPMagvk9WVmnxracJfhK8aNGfq1RCaX+Rp8wnLsId5HLbVmf5a7oQBccNq7ORZl4hdbShUo9Unw3Reok99s/mGvsAzXbOMreo1IgXpiJ+aKALlBYWvnMK+ORCbHCHu4f1VJwXzs2ZJhSZQ6tcz9Z6AJmGHy8T07YsixBQ== 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=0HbIDU9gvROZzz6/UYBDpx1N31Qr4FGP4cShMjeUTgc=; b=JDo91oBPJ6Jjz0DywgB1Ag/gxsSNG5B8Kn1sRiuw6jBvajE94bv7Co3Jhh3W/ktqJCTrzx/TXULgeNBOA3UidsFzYS5hdAN+tsREn2BpyoN/W4WFrJAU5KDbxPxNR3FqOzRKMwPew2y151WBkET78Wthk6yKVhQ4cBSFDkXG3r9cZofvrsj483Em9VuCvEzI0cu6cMOyNKad3Q30psVDLIoiUhFiVXsF8thy0RQHlZ0X7IWmkl2x/GjmbhFGP3lSt0ZfIqNTUBuEe1C+M+5RbZEJqhe4JgKpD/9abBCu0PrnQ/TtAWAAnFnrFrT7dokFCMwmEP98/BAE38ZoCFS28g== 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=0HbIDU9gvROZzz6/UYBDpx1N31Qr4FGP4cShMjeUTgc=; b=tH9NMA72cmOPxLCU/xr5C4XarjTe9y8DGDVxrA9dZ9OGcpfZdGdhOG3PA4z/Yu1q+xTPgwPFSu1DvP61EmgHo4lq7EQVcyUx2fPy8OqsI5iiX0VixxU3Pz/fA+H93LCs5Diyao/2QKR5YIIbugbTezeBsERNPGiyuNyyxkXsEIs= Received: from DS7PR10MB5117.namprd10.prod.outlook.com (2603:10b6:5:3a6::17) by DS7PR10MB5133.namprd10.prod.outlook.com (2603:10b6:5:3a7::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.12; Tue, 10 Jan 2023 21:28:51 +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; Tue, 10 Jan 2023 21:28:51 +0000 From: Sidhartha Kumar To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: akpm@linux-foundation.org, songmuchun@bytedance.com, mike.kravetz@oracle.com, willy@infradead.org, jhubbard@nvidia.com, Sidhartha Kumar Subject: [PATCH mm-unstable v2 8/8] mm/hugetlb: convert demote_free_huge_page to folios Date: Tue, 10 Jan 2023 15:28:21 -0600 Message-Id: <20230110212821.984047-9-sidhartha.kumar@oracle.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230110212821.984047-1-sidhartha.kumar@oracle.com> References: <20230110212821.984047-1-sidhartha.kumar@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SN4PR0501CA0109.namprd05.prod.outlook.com (2603:10b6:803:42::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_|DS7PR10MB5133:EE_ X-MS-Office365-Filtering-Correlation-Id: 43935b9b-26fe-447b-7543-08daf351aac8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 7mNVaNsS/guQTrxyy2p95G+lLeWq/OkTCtVnsik/T7HgI8wWsIQb9gn8bI1gNgz/xx1KxJ1k6Z/VKiChOcYX5V5FzJcQC5ld5BCsLFUoSQ2chfbxQb5dk3lEX0w/3VYRZ92EtqCSOELTD8g1QX7XlLlgDAUkmCMe62dJTcBXK7tfhgFVDBQ06ndDbZEqaHEnINTQJurvopEsKFnmAONj/GzyJrvUhpHbJZuyDGFnat/uu7fCQZPTXbodq7tdTJAYHX+A1vZYIe1bi2cq92Klllx5YuN3xvUQxHr94viLEZOP2Cc3TkYlqpGGw8Weke8GMNrrb7IZBTookoP37eYaPmfgpHQV9fjTXkeolkoU6RLk8jsKoLRWg0SsJifhuEIVbD2WMeGiAGNsdWcFb3xx0XL/k1ocuD4BGs3wmxy/F3eAQfpQr0e3Nlfj+owEOn5LzsdMfmM+MmwgkaLuZo7kqfGlZDDBwndz9wNJb8eKyLWYnAV8cHDQYwq0vrooKsg4707rjjK0AtDnL5ClFLY8HMmmXopR85158lvpNk2sh515fvr8pnGnG0WX01CY18Gm6yu9p/qXfu0yNDYZMC8Tq58qGpAXsPNg9qk/no9RZQwOSf36E3XC+Uoq2XnHGe/nb1qu8RfX0XaJr+sMLWv++RC/bS8pzpiq4adxJSA7MvFQRoB/s9TD9ZIYpDpXBvbA 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)(39860400002)(376002)(396003)(346002)(136003)(451199015)(38100700002)(316002)(36756003)(5660300002)(2906002)(41300700001)(44832011)(86362001)(8936002)(66556008)(66946007)(4326008)(8676002)(66476007)(83380400001)(6512007)(478600001)(6486002)(1076003)(6506007)(2616005)(107886003)(186003)(6666004)(14583001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?WfR9fycZJrlV+w33zHd3+UlD8TH81Dgs3hXBqUm59bub4cmph6Gw5A2GMFdn?= =?us-ascii?Q?h3dS6ryrT6EpEWcr33n0c3SciMSrkoUHbDWSEQ8bGr452fi643JDjkESoM7C?= =?us-ascii?Q?OHYRmbQTbgmWed7faiQ4s5X8SwCt9MAwuD8o/XyanZuvuC5wLypAK71Ej+sZ?= =?us-ascii?Q?LpUK5aXfRub9pV1zZqFkuIXmDryBHU5lfoCC+2InrUN4IhlraSJK0LgKTzuG?= =?us-ascii?Q?by4NUlgDC9Z8oUeCCsy1yt9qWAMESQrBi2yt173UwC7xcKk9wC8/DeOjSQca?= =?us-ascii?Q?Z8vsGCdNPYznbV9//Py5Zxvx7uhnVEKzebufONq92lC3sjml1W61FV+UUiNO?= =?us-ascii?Q?9ka3ae2pb9vuL31L9Nb41VWlZ05yUnq2rndiw4Ggg6pHhi7lwANRAkItgZGJ?= =?us-ascii?Q?4qQs9vfFF+7KerR6uT9UNjIB9J8bRz5auN2M0rumZuEl7zbsMfV0mLIm+aP8?= =?us-ascii?Q?z28Cc7KCvx+sNz9Lt5eu/TT6yKcO/lNsacSSAiPBzF0jL5B89c3SLwOwvnHX?= =?us-ascii?Q?0yAwQaAZn8b1pdlyjJKR4ujo5qgsW0nKyKsuEQEJMcj5x97Gj2yK7E6XDDMP?= =?us-ascii?Q?0E63zj6Su4KtYNraBrZDjn6vxiglPMpV63GUanyKng6WqAgtS6SpWhPa+DzC?= =?us-ascii?Q?W6AnQt4peU0emCqW1iqQydNbKQ74PqeJEI3NSh3xsCW5mTy+lecbHLF4Wqnb?= =?us-ascii?Q?37eEtf5fqhzbLbJb2h3xKAi2C/s1baxChxmiq84WNkraOPV97TLG8DnGPshU?= =?us-ascii?Q?gvSePYl5FtRDase5uFQwdY0wcH5oyPso1VlRJtQMFR5rSVXRZhzdv1HFuFhI?= =?us-ascii?Q?p+KeI8TG4lst0IX0tWN/gOeGrvAkOREwaWg3t4zpr/2olywu+/RSAFCXDmhB?= =?us-ascii?Q?0I+8KpdZcIIUpYj6us7JDVfABt8/uEJnmMLPi2aOwIQ7udbwXVqYGpagQYqy?= =?us-ascii?Q?RyablD/aTUxIuGlVTZNhM0BSJBqQl/1Z7fAhzYNTW77WaOkrJw6njssyuHig?= =?us-ascii?Q?GZdPlwoUzthvihJu6symbtUzxX+dGtp4oJ4Bq/UVW2raTvCgyAu1DXh4Z/A4?= =?us-ascii?Q?cjPpShHK+wGmVxpoUOMGLE5A6eIX+pKVuozLCuSmNHetGIy7upyWaVxbjEFn?= =?us-ascii?Q?yLTbJ5pR4kQiTfJi7BtjioG54P5ha8mgaUcLejBIKp7RAxwOYbr5bn4DJTk6?= =?us-ascii?Q?dIx0dlaW/5LD+bYwV9CNs6pgXlmPKHf7AGIAT5UZ6DxWSe81djPyKECM26TG?= =?us-ascii?Q?fUnSaANgCxq8Xy1Y0LJ6v+Jm1lfWdPlBCJ+NPBCmujKDsNUBkIk8L0Wjw+dh?= =?us-ascii?Q?FCt5ddpxbsF9Hq85ifAQTTyzOhDQWTxEaLWKfREP3shz5sUUN+FqxIJpvULr?= =?us-ascii?Q?6hap7GIJ60em+9vC8jY14xaJNV6SJmqndpSLLEw+WhlzyvfBi+JUmA59r9Bq?= =?us-ascii?Q?U/KAytIP7EAy4XZZaiBhCeSt8TVBCTHt/vc6Ww3zBBrbgM7u59nQguryE3cJ?= =?us-ascii?Q?rB4TeW8YItIKJDr8JrWAEppaemGnirFLary3gc9zWhrfa1PNbxs69I3HIuuU?= =?us-ascii?Q?2ZZ19a53DyXZZubwuSjR+WtRPTqAj0ePwPCw/hkdwkY5XBVal9h5mEZtf5RA?= =?us-ascii?Q?CoXs2Sq+7yQpED4MnhbE+b0=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?wgXLepa8X/0lwVDYyj4C2M+F9hYJ4qDDZI8EIoAw7ysGEjNqfJ/AaxF61r/w?= =?us-ascii?Q?Y5hWNPJdzKF5MFzRXKJMJmqGoo2jPqx7ztxBYjW02q2zfWX/MWWYrM9QDto9?= =?us-ascii?Q?wjmAoVlhcyLnb/gDBHejQMKi2s3+ak8uahNg2G92JtD97YAWn7tYNsZIbzR3?= =?us-ascii?Q?fYaZ+WOqh8x4FhqVjtZYma/jZBmHHVVRsGpC7V+a5Pm/PRSJFjNczL+5k8ej?= =?us-ascii?Q?Jzm7MZ8E8kYgTux7G8WnfZcRdRNYu55UHZfh6PUpYK+2ghUkjny3c+5MCpAM?= =?us-ascii?Q?NIhFJWUFCcOvW/SWrSzIhWK+BumlrwXVIROc/tTHARHNKNuqaEalntbmLFts?= =?us-ascii?Q?/dU9HpYl2EeAUyj8db/PUUQO5lNnLqrS2+Klm6mxkYMekLfIBSHZXOfp8pgi?= =?us-ascii?Q?QqNSCWrSYKrdKGDeSmNvBrG0i0wviC2zmTFJvjDvZtNg2NkYxeC8VlHiJ/C5?= =?us-ascii?Q?LAJvQh39ctDcB221fDqGZM0owlIuR1RByAKazFfsnEVZPZSFOMB+5Q49XcWA?= =?us-ascii?Q?6/2uNPAq3r2a29kblRg74Z+MNsbbuPDESGHY+GrZ93zTjGDT5LgR3Ewt44QO?= =?us-ascii?Q?GvkiDWLn8dY5e1O12xySkTWugiEIYsA+SoU+E7C8/6KoqA8RAV26aSRsNznV?= =?us-ascii?Q?DH4P7D/PNHh00UpQgEEoXNUNp0v6KgTikoW2X4x7DLS6aAqHZC6G4el7yjG7?= =?us-ascii?Q?wHoqi5k3I90otvqsd6lILhuYdlaeQ8XE2A4Z/eu+TGtKwp9agzSgFIXeeIT0?= =?us-ascii?Q?yVYiNVxLhYqcTEdbwuKwfD6v9GijYE7+FUjnUFM+bQbWl+U5icOsKRXGNncS?= =?us-ascii?Q?JwQxrov1vuZkR4dCX+jx2GnW/dfSmvq85X6t8YVstjKgE0wZNOdd/rjC/Q4y?= =?us-ascii?Q?zX3dvnvnWxEbvIdoT9sEQtq6OtLbemAhKvdFGm8RiXdaVf/EbeRXGgtTk70J?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 43935b9b-26fe-447b-7543-08daf351aac8 X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5117.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2023 21:28:51.3104 (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: EHwiKpbqr60yiE2+jZSaiTR2yVp9m03k8khCqSolb3D3g48R3EMXVZEZAhEp+05nV78VpqTkd8ZkqJrCjFGY09YZ+HjdYznt+NA/bZFn/AY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5133 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-10_09,2023-01-10_03,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 adultscore=0 spamscore=0 mlxlogscore=999 bulkscore=0 suspectscore=0 malwarescore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301100142 X-Proofpoint-GUID: TK6OfMZXmgatTfrpscOYNIbXxvyTBP7w X-Proofpoint-ORIG-GUID: TK6OfMZXmgatTfrpscOYNIbXxvyTBP7w Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Change demote_free_huge_page to demote_free_hugetlb_folio() and change demote_pool_huge_page() pass in a folio. Signed-off-by: Sidhartha Kumar --- mm/hugetlb.c | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index f8cd0c694fe9..21ffab744c8f 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -3435,12 +3435,12 @@ static int set_max_huge_pages(struct hstate *h, uns= igned long count, int nid, return 0; } =20 -static int demote_free_huge_page(struct hstate *h, struct page *page) +static int demote_free_hugetlb_folio(struct hstate *h, struct folio *folio) { - int i, nid =3D page_to_nid(page); + int i, nid =3D folio_nid(folio); struct hstate *target_hstate; - struct folio *folio =3D page_folio(page); struct page *subpage; + struct folio *inner_folio; int rc =3D 0; =20 target_hstate =3D size_to_hstate(PAGE_SIZE << h->demote_order); @@ -3448,18 +3448,18 @@ static int demote_free_huge_page(struct hstate *h, = struct page *page) remove_hugetlb_folio_for_demote(h, folio, false); spin_unlock_irq(&hugetlb_lock); =20 - rc =3D hugetlb_vmemmap_restore(h, page); + rc =3D hugetlb_vmemmap_restore(h, &folio->page); if (rc) { - /* Allocation of vmemmmap failed, we can not demote page */ + /* Allocation of vmemmmap failed, we can not demote folio */ spin_lock_irq(&hugetlb_lock); - set_page_refcounted(page); - add_hugetlb_folio(h, page_folio(page), false); + folio_ref_unfreeze(folio, 1); + add_hugetlb_folio(h, folio, false); return rc; } =20 /* * Use destroy_compound_hugetlb_folio_for_demote for all huge page - * sizes as it will not ref count pages. + * sizes as it will not ref count folios. */ destroy_compound_hugetlb_folio_for_demote(folio, huge_page_order(h)); =20 @@ -3474,15 +3474,15 @@ static int demote_free_huge_page(struct hstate *h, = struct page *page) mutex_lock(&target_hstate->resize_lock); for (i =3D 0; i < pages_per_huge_page(h); i +=3D pages_per_huge_page(target_hstate)) { - subpage =3D nth_page(page, i); - folio =3D page_folio(subpage); + subpage =3D folio_page(folio, i); + inner_folio =3D page_folio(subpage); if (hstate_is_gigantic(target_hstate)) - prep_compound_gigantic_folio_for_demote(folio, + prep_compound_gigantic_folio_for_demote(inner_folio, target_hstate->order); else prep_compound_page(subpage, target_hstate->order); - set_page_private(subpage, 0); - prep_new_hugetlb_folio(target_hstate, folio, nid); + folio_change_private(inner_folio, NULL); + prep_new_hugetlb_folio(target_hstate, inner_folio, nid); free_huge_page(subpage); } mutex_unlock(&target_hstate->resize_lock); @@ -3505,6 +3505,7 @@ static int demote_pool_huge_page(struct hstate *h, no= demask_t *nodes_allowed) { int nr_nodes, node; struct page *page; + struct folio *folio; =20 lockdep_assert_held(&hugetlb_lock); =20 @@ -3518,8 +3519,8 @@ static int demote_pool_huge_page(struct hstate *h, no= demask_t *nodes_allowed) list_for_each_entry(page, &h->hugepage_freelists[node], lru) { if (PageHWPoison(page)) continue; - - return demote_free_huge_page(h, page); + folio =3D page_folio(page); + return demote_free_hugetlb_folio(h, folio); } } =20 --=20 2.39.0