From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id F38BFCD68E2 for ; Tue, 10 Oct 2023 01:24:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 39A2A6B007B; Mon, 9 Oct 2023 21:24:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 34A996B0080; Mon, 9 Oct 2023 21:24:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 174B36B0089; Mon, 9 Oct 2023 21:24:40 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id F238A6B007B for ; Mon, 9 Oct 2023 21:24:39 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id B3F6E1204C3 for ; Tue, 10 Oct 2023 01:24:39 +0000 (UTC) X-FDA: 81327807078.29.E584FE6 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf09.hostedemail.com (Postfix) with ESMTP id 51ECB14000D for ; Tue, 10 Oct 2023 01:24:36 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=cumuAEA7; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=v1w8tdeT; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf09.hostedemail.com: domain of mike.kravetz@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=mike.kravetz@oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1696901076; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=d2F1NmNmUprzJxbL83t+V0Ca+ssv40qgBp6dteYUhac=; b=ADqKfamCKOPwLC1l8d/Ads0HQmmEOkrSq03YZCr/rkhZnjXZhFwlrnJ2HnddNeoADc4f2Y FVWImhpJA5+rrI8GB7qgutRNGmuKEyOcinzOjEjiUFWEZsGoL1RdKr2+H3PCFwSUddvjvd QEHUU2ciKh66AG4mFZntpZiTwZu7UEY= ARC-Authentication-Results: i=2; imf09.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=cumuAEA7; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=v1w8tdeT; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf09.hostedemail.com: domain of mike.kravetz@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=mike.kravetz@oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1696901076; a=rsa-sha256; cv=pass; b=J3tes1WIVqaGHnqBGPPBNIni+GaUjFfdYXNRzbAhd5KKeBq8RP4zAQwx0HyIy+Nl4YlXXe N4P/xb4SIijnJAzoAJbq1fzKcah2m7XKviSjnBbf7mDySOGp57VdNFTSveWPElmezy31dG WiHXR9oWmv5ejh4GSfKyGLUqr3whiJk= Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 399NxIZC016164; Tue, 10 Oct 2023 01:23:54 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=date : from : to : cc : subject : message-id : references : content-type : in-reply-to : mime-version; s=corp-2023-03-30; bh=d2F1NmNmUprzJxbL83t+V0Ca+ssv40qgBp6dteYUhac=; b=cumuAEA7b36WHw6xmJiYZXF3ley5qjRl+7FFYmbDe9QTGhRhBJWXoVqJ0cJYm5R3+f0Z 7KOhbSEunC1lSS3jrN0ADb8f/Xz9c8H4IS6izZqjA5GgoG7QgsubsdHYxthNLNvxDW8c DYGmQ1lxJPlZiZQBW6weiXof2mxXdfCoS/gsFurzdUw3va2Kz+ktWW8dfYU55CfYZjzC 5YKaJx0CxnZdX+qNLOkVuJWRUEcnuzxdUAGcfJBid0MG8pRdTHTJQVV5LFOcvv7WYsWt QA642RTwzlV9K41dbRBxUEzCxXM9Lw+ECy0c82RDGRz8vCdrTVR/+Dq2hwJ4S4asHU6A Hg== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3tjx8cc0vf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Oct 2023 01:23:54 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 39A1Ha0A016364; Tue, 10 Oct 2023 01:23:53 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2169.outbound.protection.outlook.com [104.47.58.169]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3tjws608wx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Oct 2023 01:23:53 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jMleT4Gv7U/xRg/dBxenFT8b1JluQCuptEXPLmUXDLNcHgeWkhG2Tguw1M5NGPOXZdE8zZK/CIckEC1wvKld2Ykz9RHl5nTHgtNcwcc3lUiDJSL62C/NRtajRiObFeLXJoEDLG0JJn96c1pFiRxhCUF0WOPymuXnW7S1fy+uVB1Mg74/mTlRblqW01mP56AbpQPEIZeOC/KNbSbO7HlVFtLzX+cU7KPHT05fSYNDxZwGoaoTGnI3W+x2Nexlj4arDK6Kl+Etndh2two46mffzrQ8qNiyBGjpnXJya7pId9PibrVP4oPCBNBAKTL4e29Sxmz4dS/Pwd+J6Cu2ztcWJw== 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=d2F1NmNmUprzJxbL83t+V0Ca+ssv40qgBp6dteYUhac=; b=FCD9BxcGR8g9tk9g0E/qJal+WF5exbyAqwDVV3ROqWdy28VxOXsDFL+LFkfFOJWaTjownkNiXrkT/J8t3zu1vKAMc8RXZbltGsY+/OjP0MOr1I9OLXI5DT0kpdHV8WAvmNWixqrOM90rCjMdu1oIOa9YRJfu3BanQbIE4YmqpG71DOsllvw1cLLgkkXwQSx/9vYjIrZBX0OoAo8dXylbaVj9cX5XSNCYBLmC+1kqBvOtDqivOIwrr0ihVurBglm4WdJLkQYbqHpLCvHrYy7KYBXKrs/EohFfPcKVV6W7MRhnsc3JkiAGAANl8TJF77A0Fduu+JhlkH6E4fS2J62WBQ== 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=d2F1NmNmUprzJxbL83t+V0Ca+ssv40qgBp6dteYUhac=; b=v1w8tdeTYP5pH1MHaBGf0z3Wb3yjjv7VxURQ/nFU6W6CaIYmfu2jRYkTkhS8dA7cVgJwx/jCOdykJQI9a059gNaUXNO1QTu/iO1xxvFZ1nGBJb2MszYLlL0ww+4dC/5DEepiZaCuKW4Jgp52zOVLMM8qvNFspyp25KYFxidNq2Y= Received: from BY5PR10MB4196.namprd10.prod.outlook.com (2603:10b6:a03:20d::23) by MW5PR10MB5825.namprd10.prod.outlook.com (2603:10b6:303:19a::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6838.27; Tue, 10 Oct 2023 01:23:49 +0000 Received: from BY5PR10MB4196.namprd10.prod.outlook.com ([fe80::59f7:ec45:eb41:d8c2]) by BY5PR10MB4196.namprd10.prod.outlook.com ([fe80::59f7:ec45:eb41:d8c2%6]) with mapi id 15.20.6863.032; Tue, 10 Oct 2023 01:23:49 +0000 Date: Mon, 9 Oct 2023 18:23:45 -0700 From: Mike Kravetz To: Usama Arif Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, akpm@linux-foundation.org, muchun.song@linux.dev, songmuchun@bytedance.com, fam.zheng@bytedance.com, liangma@liangbit.com, punit.agrawal@bytedance.com, Konrad Dybcio Subject: Re: [PATCH] mm: hugetlb: Only prep and add allocated folios for non-gigantic pages Message-ID: <20231010012345.GA108129@monkey> References: <20231009145605.2150897-1-usama.arif@bytedance.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20231009145605.2150897-1-usama.arif@bytedance.com> X-ClientProxiedBy: CH0PR03CA0033.namprd03.prod.outlook.com (2603:10b6:610:b3::8) To BY5PR10MB4196.namprd10.prod.outlook.com (2603:10b6:a03:20d::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BY5PR10MB4196:EE_|MW5PR10MB5825:EE_ X-MS-Office365-Filtering-Correlation-Id: 28e83be6-6e65-48e4-168a-08dbc92f8e2e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: k27H54fCHjTtNpjO2w5gJgRh8u0oSxbg64mntiah8Mb6ybDtfA0JRqhvk655caU43OU2Q9gIFyzCkFwTzONTM5dE8eTAfDKKrXQ6GmdAtF0jl6OVtREe8RKVkDwIwKo0CRGFFRaQICXZymjrwZIwdXFZD37DMJDsh9oGwHCuHoOuvDqYNMtYjEoPtpczhxmGNm4h1KAHtuYjNgdJVSevn5R48IBTEU1S3J+im7/oeMI/zzR8rLF/vhMWp4TOyoF4C9Jq6/rXTHnU0YHJdSfdMdCvGCehVGl4B1HeGTPkPsMSnFeW4/2bxkaqqFUcieHYUtjhDrF3rmYGhRql+1gcIH9dntGf+0tLDKDHjq247EuuzzUM/Pzy1apybLeoT6kfRx43B5O4ThBeukP1faXqrNYgdToFaKuimFqW0y39Z5D727y7/bO92+Eu+fWkrv7PhIeIojjKR2kvMebefqJTst+2jVVxoSnZt3qj+QY5l/GCjhMD//BaFgoDv9CIQYZbrL8NUgTJWk0OYk4z4ODjkjSALHOCob4Hr4eP7f5X2r+YFwAvZWRPRKsuiHn10TRn X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY5PR10MB4196.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(7916004)(346002)(366004)(136003)(396003)(39860400002)(376002)(230922051799003)(64100799003)(451199024)(1800799009)(186009)(6666004)(26005)(5660300002)(38100700002)(53546011)(33656002)(9686003)(45080400002)(83380400001)(478600001)(6486002)(7416002)(8936002)(4326008)(8676002)(41300700001)(2906002)(6506007)(44832011)(33716001)(66556008)(66476007)(66946007)(86362001)(316002)(6512007)(6916009)(1076003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Tq//HbHFv2FmTylihptGohpBTrrMTVaNuVDlo90GGf5KaIyj9UIQffnUYdeP?= =?us-ascii?Q?MAn8D1V1Dm2m7lVmFKgfnm9mZ1OF0Ey5X8bdkFVn+VZ8CrAjEB9OPIEjVBSa?= =?us-ascii?Q?EwKVLqkRiJD/JNolPmdE8kKvmOWDNmMhjXVe3gsZGVWtaVOu6ton5JJUxxYJ?= =?us-ascii?Q?7zF7/pNtLF3A8W9kMFYcbd58VfbohlnRTK3AON/F1GKzSM4PmeVrPyQHHkfy?= =?us-ascii?Q?F0vGG7ZRZJryfYLZ7uDjoBhyz9xj6J49CL9QZv4tm/XaGfRmo5oIOMww/LNz?= =?us-ascii?Q?MHT46QnAPs8WDwtwUSUZPKLWETfAzPr405/+EeuYYzcdsSn3l+XqdtB+v921?= =?us-ascii?Q?5FuLvduMXf56lhzEZs5dOqYFZztgL0hfnxvJbFSgcYO0Bw9zYbcKIYcGqa/7?= =?us-ascii?Q?LHsmpibKo2WpucZ4bdO6icdBKbFLHbfffFF/yH57A+DRzKneF+byWx5+S5NS?= =?us-ascii?Q?VQKQX0NCJa6qrBs4mmB1MrDaLRgLhg9ZJ0o+cfCMCrMaG7TQ92Y2F+IMUxzr?= =?us-ascii?Q?wgJ/DSnTWxMSxQwSiSoiQZE/kr6lAL71niMiEYtmKtHvpRZxjQNHyWJQ+aQG?= =?us-ascii?Q?8GiSoQagR/21pul1inNNxlUO5nBtNJ+ssj0GaYTYVn/7cgORM0ZY/qT6ei+u?= =?us-ascii?Q?PaC7GH2VBpafWySyVDz9HtNTfSzoifCaWHZgbYJM3aTQ9y0TWknP1Lbrmi5n?= =?us-ascii?Q?6rpR/7tZMnLbq0Bd0iH1TilprslHYwG5UiYUSEJBOsj4QdkJ2/BHE/13+7VE?= =?us-ascii?Q?yaez0A26UK6baQy0QvvsRgSutmCE93LT/M03PjryFmPJ8IwSlqUKVpt/Qyq4?= =?us-ascii?Q?YUkQLWWxrlcaREgOhq4HZ31OayhXzpiMh5gyG9WeP/ol1sMqDZC/N07XFoBX?= =?us-ascii?Q?61Tt7pbFO8qRCktowvDOdNPWt5Pfz1JAFVQ+Cv2roHLB2FAvq0s0R1nOEtr6?= =?us-ascii?Q?DG2XtUcC1cBIxZQC2TVlewpHUBcRgqayYI+i0NFKoJWJH4fv9EZJnsLg9+ns?= =?us-ascii?Q?4nXD7BlfMt8085tgRv5alQNV2sVEDeSlgA04HDKTSWuEk/Td5rnwKql7AVY8?= =?us-ascii?Q?AKU+KbB7qrGn0aNsC2WUKVokNf5n8aWPJHmC7TniejuFjvr41G0RpRgUDeTu?= =?us-ascii?Q?ohlcK3MaDKt8R1Jlsd380S85aDQFjV00F9jxPPBuCvcDs95KnKlBwY2GsSoB?= =?us-ascii?Q?F3HUPTE4whGGtVczy8uxgIMT3LGXtSwB44T4yYPowd4j6Jo+F2QFCzLwSlPc?= =?us-ascii?Q?nZmoJZASyTARv2tyGR88rHr2wCFsbQhNxKCM297eEReQjaVEs37Q7hSVLNUI?= =?us-ascii?Q?zCAYLYZiDLJWHM6ZefgaJMeg0PmHVLNqWxa03TLJZ5Hrfg5uNdpaSwQ7OC/5?= =?us-ascii?Q?EwZhtBp8rFkD+ol0qy62Nc2ZHzuCsFX75zCjGBAP/SmGQh4XPQpULaCuqvHg?= =?us-ascii?Q?XC5oiwy+kuy+OzNPByzbuH1+l4zwixOp30VfQcxQSI0FvFG6kCo4zRXNNqDU?= =?us-ascii?Q?Qd+epFdcULYsQt+fMHR9Lue+pLVm7H16ppcBpbPpKpThnWoBL3HEg1pCJAMS?= =?us-ascii?Q?okvVnpHOq58tV+cWf63VcbDy7pZiQftcdGM9mZbydfW1Ej6J9P5EUGSRx82k?= =?us-ascii?Q?XA=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?Ww3/emoCr4n9vbMdzjUZwmeykUm8lOpLU394jYLcEGyE+1Rv6SLMDiZs69V3?= =?us-ascii?Q?+kVgFklHsehTxOgIyu/SKwZ5yggl9GiEJx+NR+XRO/i0L3u9zL4Pl6TwZDim?= =?us-ascii?Q?wqhqMxetMIqBz+RsHKJ79tqrfnv3U00MhcKEG5qNAX7pHzwfrG1W7HBbqfW2?= =?us-ascii?Q?bv0k0O6I7CSi8fWlHXwuANDubLLESg9ujHMIABTtFKMq0wzOctWfthUgmjnN?= =?us-ascii?Q?PsbMm/KZ6M2nMYvDE0Qir4AHnDM3GJwhLzLJttku0tPBQSpA56t+IFtedEeW?= =?us-ascii?Q?MUuNG68rrKP2nyz1WEiGAjTDTfuksk4wWU6yZHxHx/jUjePvMfbsoaaMr5UL?= =?us-ascii?Q?2rgmtTOymWTPU0Ldy3W6dbCpF8baUe6RZU1b22SlXAgdjrdaZtfg9FDf8eOY?= =?us-ascii?Q?1jU5utiiJ0+QH4u8dN2BqFmf7KfYiwLmbJHJzQE7DnSf23n8gDixw6BIcrz4?= =?us-ascii?Q?R/15xOlJF1IdSl7hhrK7j9ku4aDqwwUXAduJFro+DPTsDETvDGpcM5Oa1on5?= =?us-ascii?Q?UqDK8g7inMFISHqXSZ/ac1VTEdKuDfesFglB1XiyvpEq2VxAATZ0rO/XhwbT?= =?us-ascii?Q?ZNXXWmKEzdMBppi2vy7+UXb6P3XX1ADpDadsA7kIPrDHnI4E93PWhY950DXH?= =?us-ascii?Q?jiBimYGZtNqUY6pyeM3QRokdyLnhawTBoOnGGeoX6suMyMsoWeEsgS1QTUpG?= =?us-ascii?Q?6grdzJ/uM4kIWRmkE66g0pVSq2aaAPOE37Y76x0SVaiZjtDrZC68kUhtRQx/?= =?us-ascii?Q?ivLelIAjbdIbnDax7iw5M5e3gwzmjogWtjTHfmHeUAkgqwv5yp8dWnhEANAX?= =?us-ascii?Q?CWllhs3GyZl/+gwfkj7JGaKT4toiWAFPQ3ptvP/+r72PZJLJ7mGSUA+APaX9?= =?us-ascii?Q?EApkFwLcp8VMdocaYkpfsGhLMcwVTKZ03CpaXkkB7W6+/FLztWkND8jGrY/U?= =?us-ascii?Q?gXFHJHP/JQqARR9Y+mtp33gAsQsOOMD7pimuRLqNdEI=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 28e83be6-6e65-48e4-168a-08dbc92f8e2e X-MS-Exchange-CrossTenant-AuthSource: BY5PR10MB4196.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Oct 2023 01:23:49.2576 (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: IqAom6LcBuZtBg+O7v/ubO0jPVvaaqf2goFNBlwSF2D/DOfaaMImNB9OEmtpLn6hay8n4h6oWHkdWbPjiGKdVQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW5PR10MB5825 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.267,Aquarius:18.0.980,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-10-10_01,2023-10-09_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 suspectscore=0 spamscore=0 mlxlogscore=771 mlxscore=0 adultscore=0 bulkscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2309180000 definitions=main-2310100008 X-Proofpoint-ORIG-GUID: oRkKYSl6bnz_Ja9W4DID-HkqMV9UatzR X-Proofpoint-GUID: oRkKYSl6bnz_Ja9W4DID-HkqMV9UatzR X-Rspamd-Queue-Id: 51ECB14000D X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: 73kus8k5jm8ie7phza64m9wjzr3btxx3 X-HE-Tag: 1696901076-305628 X-HE-Meta: U2FsdGVkX1/2UJMwE3jtpNSF4E9sdvfTQ2fOKcLTyilk8FFUPtPvG2k0rSY2o5tPz9Q+hGiWJ2FTOJXZWzjK+RlMZxf8FFdDYdPCMxm1oc7RIrSe/cj+7GP1blkK0J/uFZIv/onjXWgBhMvKmAWpmVGC1b369SMuyVv8Ub0h7bodeGZQ0t+9avDGQ3zRY//sAlVeEzoMrDY47QPMU9TBO9wM2C9zzUlB/bZF+O3HZcOAI4A+KYEalCVqXc93USb9HkFZKBVSyYGFnPAUvr9aMPBOHD2MznOU62+0WXNmSZMULSETi89R1cwKiskGhoSvNRNhFyzFAr5HxuTxHtpcFFZ8IKADsHBSNviJgW77zPL8BPT45lLPU/uVzy5emnA6zfefH6QQaaBQqVXh1L7s1flxcA8me+9tIPV91Rb/juzS5nG52CY60cRpRyJDX9kZ3kjKLWnSx8DJqbZVyp8fSXSy4H12I5VMgEVdkCXbn5wPOGlXLHOEy3y5TXJVMW0C32G0dHQL7SN5y/0AByyUIOeg7OXcuibm7+5C6aeFVeHckQJwa7ITOqkMf1J4ajlHgbkHb2I3PneXCMh+W4+Kh8FOqEy1XgWEsxEuvY8fwalb+JtFggLZILXU3uKvsSZaRDKMgh45coe5tsv1hxNMPRS5v3ovox9xNQPTTAIABxh8mp0EToTZ2d2C5cOJLhr/q8Yg4O1fVQoWT2sXVVj6dnz4UCC5/WDFUdygz1ueD/uN4kO5qz5KujD+z6cMP6tAF1li2M0SuGFesh/sJpN0t3zVveGsCjtfo9Eu7aAvFsaIUNxJbq9Jvxg+9c5QJ48fZox+i4fKMY4hoq915gg4EC2ZixbPbLfTpBtAbDv9Ctc17p9U1CCR2cdHi1qYc8tWeoQb34Q9LX0cVfnrNYZKTEgHEZtUx7EoLxUqiZ6MpkGTNtfz0I4li8cZwuZ8iNFGp+9ZBz5EO1eu0VGEKfT 6izD/e4/ slea5KSEsEuNfPlT+TszpkzBMUHWt0WWVPC6NxHWPGrRZcBHMLo2Xhx6In8HT+/nzYq3QEplk4dlrQ4RO3BS+yNeOtI3REur9gTFi2aUv7bLGDb+J1Gl4/+CuPf2IxgA79Edv+T4SKrQ/1R0GviX9BM2gtoX++BxOJQYN0Qx9AWCIDhRqjqyK+lJGJc5fhfs0/0U37CVo+RbLV1GEUJeqFYom8NwBy/tLYIqrzuUo79vl4krsY7RTLIafXQoPjwYeKXOBT7xgOy0+CMA/rYavaOpSUdgO0jhuDxOFJVaUM85tt6ajYb3XTNO31shUFndVEL9izwVZM3XuBJ9BdeyKARr38yxlcuCffM2ha9tclx7kNNbSCTnRj7FnDBPItMGKOQ5tCn9zxepvJtrsg2YHugEFoA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On 10/09/23 15:56, Usama Arif wrote: > Calling prep_and_add_allocated_folios when allocating gigantic pages > at boot time causes the kernel to crash as folio_list is empty > and iterating it causes a NULL pointer dereference. Call this only > for non-gigantic pages when folio_list has entires. Thanks! However, are you sure the issue is the result of iterating through a NULL list? For reference, the routine prep_and_add_allocated_folios is: static void prep_and_add_allocated_folios(struct hstate *h, struct list_head *folio_list) { struct folio *folio, *tmp_f; /* Add all new pool pages to free lists in one lock cycle */ spin_lock_irq(&hugetlb_lock); list_for_each_entry_safe(folio, tmp_f, folio_list, lru) { __prep_account_new_huge_page(h, folio_nid(folio)); enqueue_hugetlb_folio(h, folio); } spin_unlock_irq(&hugetlb_lock); } If folio_list is empty, then the only code that should be executed is acquiring the lock, notice the list is empty, release the lock. In the case of gigantic pages addressed below, I do see the warning: [ 0.055140] DEBUG_LOCKS_WARN_ON(early_boot_irqs_disabled) [ 0.055149] WARNING: CPU: 0 PID: 0 at kernel/locking/lockdep.c:4345 lockdep_hardirqs_on_prepare+0x1a8/0x1b0 [ 0.055153] Modules linked in: [ 0.055155] CPU: 0 PID: 0 Comm: swapper Not tainted 6.6.0-rc4+ #40 [ 0.055157] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-1.fc37 04/01/2014 [ 0.055158] RIP: 0010:lockdep_hardirqs_on_prepare+0x1a8/0x1b0 [ 0.055160] Code: 00 85 c0 0f 84 5e ff ff ff 8b 0d a7 20 74 01 85 c9 0f 85 50 ff ff ff 48 c7 c6 48 25 42 82 48 c7 c7 70 7f 40 82 e8 18 10 f7 ff <0f> 0b 5b e9 e0 d8 af 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 [ 0.055162] RSP: 0000:ffffffff82603d40 EFLAGS: 00010086 ORIG_RAX: 0000000000000000 [ 0.055164] RAX: 0000000000000000 RBX: ffffffff827911e0 RCX: 0000000000000000 [ 0.055165] RDX: 0000000000000004 RSI: ffffffff8246b3e1 RDI: 00000000ffffffff [ 0.055166] RBP: 0000000000000002 R08: 0000000000000001 R09: 0000000000000000 [ 0.055166] R10: ffffffffffffffff R11: 284e4f5f4e524157 R12: 0000000000000001 [ 0.055167] R13: ffffffff82eb6316 R14: ffffffff82603d70 R15: ffffffff82ee5f70 [ 0.055169] FS: 0000000000000000(0000) GS:ffff888277c00000(0000) knlGS:0000000000000000 [ 0.055170] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 0.055171] CR2: ffff88847ffff000 CR3: 000000000263a000 CR4: 00000000000200b0 [ 0.055174] Call Trace: [ 0.055174] [ 0.055175] ? lockdep_hardirqs_on_prepare+0x1a8/0x1b0 [ 0.055177] ? __warn+0x81/0x170 [ 0.055181] ? lockdep_hardirqs_on_prepare+0x1a8/0x1b0 [ 0.055182] ? report_bug+0x18d/0x1c0 [ 0.055186] ? early_fixup_exception+0x92/0xb0 [ 0.055189] ? early_idt_handler_common+0x2f/0x40 [ 0.055194] ? lockdep_hardirqs_on_prepare+0x1a8/0x1b0 [ 0.055196] trace_hardirqs_on+0x10/0xa0 [ 0.055198] _raw_spin_unlock_irq+0x24/0x50 [ 0.055201] hugetlb_hstate_alloc_pages+0x311/0x3e0 [ 0.055206] hugepages_setup+0x220/0x2c0 [ 0.055210] unknown_bootoption+0x98/0x1d0 [ 0.055213] parse_args+0x152/0x440 [ 0.055216] ? __pfx_unknown_bootoption+0x10/0x10 [ 0.055220] start_kernel+0x1af/0x6c0 [ 0.055222] ? __pfx_unknown_bootoption+0x10/0x10 [ 0.055225] x86_64_start_reservations+0x14/0x30 [ 0.055227] x86_64_start_kernel+0x74/0x80 [ 0.055229] secondary_startup_64_no_verify+0x166/0x16b [ 0.055234] [ 0.055235] irq event stamp: 0 [ 0.055236] hardirqs last enabled at (0): [<0000000000000000>] 0x0 [ 0.055238] hardirqs last disabled at (0): [<0000000000000000>] 0x0 [ 0.055239] softirqs last enabled at (0): [<0000000000000000>] 0x0 [ 0.055240] softirqs last disabled at (0): [<0000000000000000>] 0x0 [ 0.055240] ---[ end trace 0000000000000000 ]--- This is because interrupts are not enabled this early in boot, and the spin_unlock_irq() would incorrectly enable interrupts too early. I wonder if this 'warning' could translate to a panic or NULL deref under certain configurations? Konrad, I am interested to see if this addresses your booting problem. But, your stack trace is a bit different. My 'guess' is that this will not address your issue. If it does not, can you try the following patch? This applies to next-20231009. -- Mike Kravetz diff --git a/mm/hugetlb.c b/mm/hugetlb.c index f3749fc125d4..8346c98e5616 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -2178,18 +2178,19 @@ static struct folio *alloc_fresh_hugetlb_folio(struct hstate *h, static void prep_and_add_allocated_folios(struct hstate *h, struct list_head *folio_list) { + unsigned long flags; struct folio *folio, *tmp_f; /* Send list for bulk vmemmap optimization processing */ hugetlb_vmemmap_optimize_folios(h, folio_list); /* Add all new pool pages to free lists in one lock cycle */ - spin_lock_irq(&hugetlb_lock); + spin_lock_irqsave(&hugetlb_lock, flags); list_for_each_entry_safe(folio, tmp_f, folio_list, lru) { __prep_account_new_huge_page(h, folio_nid(folio)); enqueue_hugetlb_folio(h, folio); } - spin_unlock_irq(&hugetlb_lock); + spin_unlock_irqrestore(&hugetlb_lock, flags); } /* @@ -3224,13 +3225,14 @@ static void __init hugetlb_folio_init_vmemmap(struct folio *folio, static void __init prep_and_add_bootmem_folios(struct hstate *h, struct list_head *folio_list) { + unsigned long flags; struct folio *folio, *tmp_f; /* Send list for bulk vmemmap optimization processing */ hugetlb_vmemmap_optimize_folios(h, folio_list); /* Add all new pool pages to free lists in one lock cycle */ - spin_lock_irq(&hugetlb_lock); + spin_lock_irqsave(&hugetlb_lock, flags); list_for_each_entry_safe(folio, tmp_f, folio_list, lru) { if (!folio_test_hugetlb_vmemmap_optimized(folio)) { /* @@ -3246,7 +3248,7 @@ static void __init prep_and_add_bootmem_folios(struct hstate *h, __prep_account_new_huge_page(h, folio_nid(folio)); enqueue_hugetlb_folio(h, folio); } - spin_unlock_irq(&hugetlb_lock); + spin_unlock_irqrestore(&hugetlb_lock, flags); } /*