From patchwork Tue Sep 5 21:44:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mike Kravetz X-Patchwork-Id: 13375112 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 017D5CA1016 for ; Tue, 5 Sep 2023 21:45:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9F3888E0013; Tue, 5 Sep 2023 17:45:17 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 97E6D8E0012; Tue, 5 Sep 2023 17:45:17 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6E3D88E0013; Tue, 5 Sep 2023 17:45:17 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 471828E0012 for ; Tue, 5 Sep 2023 17:45:17 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 14ADE40A8B for ; Tue, 5 Sep 2023 21:45:17 +0000 (UTC) X-FDA: 81203875074.13.E07FE79 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf30.hostedemail.com (Postfix) with ESMTP id 883C48001B for ; Tue, 5 Sep 2023 21:45:13 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b="PHeGAo/B"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=xSWN3PSz; spf=pass (imf30.hostedemail.com: domain of mike.kravetz@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=mike.kravetz@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1693950313; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=/QCcumSTTIVe6iwff77MVSYTnNhMPc0aiSwQbQ0i2e0=; b=BvNJTm1S0zKOb/EX417A9XQ+hyyVKrB7mqEhTqekVft9XZCrbGpTr5NKRo7VDAX40p7QNl aztn+9Xekts9XPRIVvidRPH7+uL9Wd20uAyLJZ7ylEg1Or2YVtXHaPg6AS7KY8lj+bC3es p+xisgQuhueuKNwyKxAXuuvNnly55mE= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1693950313; a=rsa-sha256; cv=pass; b=AYtLjmP1pS9L+08QHpEzJek7lqGIZhcC2Bb/uyRcPhQNuQvZ7qrKtTsqnjBHEYjhCg9p/a AtpYq9rWBiCUKK4BNCI8yPOWJyziqnXY7tmF60s4pUwICLnsX21mhmlNwkDV7YR/xSiMfq x1WhJVKUFzVlMPBAB3RJLnyEFEnZ8AU= ARC-Authentication-Results: i=2; imf30.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b="PHeGAo/B"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=xSWN3PSz; spf=pass (imf30.hostedemail.com: domain of mike.kravetz@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=mike.kravetz@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") 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 385Le1Vl020747; Tue, 5 Sep 2023 21:44:41 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=/QCcumSTTIVe6iwff77MVSYTnNhMPc0aiSwQbQ0i2e0=; b=PHeGAo/BUfvzfdEC6WXZvOlGru5zcQoHcdFHigcYEZB7w7l0AUlfmcQIHFR/Cp0X/88U m1OdES3Cu7yfFEBsEljAFH5pdwV2252vKErLBtHm1cpacAyDYByHybZbacLDM/meY3DS xGOkjOd45qjJdmmh8QlwPTSSFLH2DjPr054Q1VW92QEDF9Iyj/mgDt3P8CPgk3ueXHhf Lzq0v+Th6gbxMMIR07O3H0uvovB1jzJ4bJXXo7AsmwoPPaJGDQqtEG7Cl3f0VmYB5pPY GHhUezNgW+txVWGQp4f6LOcbwwrzpLgqouRPRWN8sgXpUiB8XQTMe7fNEQy1KLdk2vWC qA== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3sxcem807c-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 05 Sep 2023 21:44:41 +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 385KMTvF006626; Tue, 5 Sep 2023 21:44:40 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2045.outbound.protection.outlook.com [104.47.66.45]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3suug5u9a3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 05 Sep 2023 21:44:40 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Teku9pawNoHPPbNZLS5wfxOuakd7GWHeoeq+lzed7emcdTY+Kz/dx8rzPzt1xvPbser/+gbsXUeDC4ifigO8kaZI/7gciqbJ2B7UJk4+pe1VqsD2GVimq5dTKBlpqlhJ3j9utYg94RGebW7LXi20Wmi0SM1FGUhCxeCAwdH5YQxC2y6ub1IE32CGzzY0Eq6hqUlvF3nM6UJ4Bhhmc3xo7JPfIcyeFwLLcjCGgpaNMMjl7CyLUhNlvnGYAiXWGf94vu4ivD13Gy5cX+Ddnmh2ZzQD/kQ/PmbSy/F0LaF2Wtv0abCdSTjx+Q1x6dWSpc7aYuG50JrgMRBiZkUvm1UgfQ== 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=/QCcumSTTIVe6iwff77MVSYTnNhMPc0aiSwQbQ0i2e0=; b=EZrd7y7SSDSH/ktjCq2+RGAJKjhjdhFz5+sJWxp3e/phkr/x/jxLTHX1tFhOnFebJOZ/Du1ASPG3YF+ktMeEfoN6WqF7eJmDDjw0lEXNKj7NhmQUvZkn8vr9LNRI3IUT9esqkQs/kY/Bkypkz7BTVprcP7jvO1qLKpLhDf+Yc/2jPVzbMPrT6LJbhnXavG846vd4BmTU2RFGo2ZZ1AreAGC2lyEbhrI6OcSRwKRUF+Fam41LJ/j9kuzWsYFDoiKsIbK/o3bhIKfaXMSk3Rxo5KHxOXGRccvE0krzNw8FFlqwWD/GHF3PCVhSRiqwFAwWiVxKSI8xHdt9PdxCAPZ3/w== 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=/QCcumSTTIVe6iwff77MVSYTnNhMPc0aiSwQbQ0i2e0=; b=xSWN3PSzeoWC9YBxMV+QQnYTzjPUQK2MV3KltIc4dvm1gxxB7ycApG1ZlalBKIeZ2+kQb1hD0FmvJAKAlTJMulVuq21KbS3KNr30Sa2b0LIsoOZgNCJJqu4BzpEjkKu718fyxW+4/aBKoNaUer0v1Sdpb9zMURFV6Ow++0z7qyc= Received: from BY5PR10MB4196.namprd10.prod.outlook.com (2603:10b6:a03:20d::23) by MW4PR10MB6395.namprd10.prod.outlook.com (2603:10b6:303:1ea::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.33; Tue, 5 Sep 2023 21:44:38 +0000 Received: from BY5PR10MB4196.namprd10.prod.outlook.com ([fe80::58d8:cf97:ae4b:1715]) by BY5PR10MB4196.namprd10.prod.outlook.com ([fe80::58d8:cf97:ae4b:1715%3]) with mapi id 15.20.6745.030; Tue, 5 Sep 2023 21:44:38 +0000 From: Mike Kravetz To: linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: Muchun Song , Joao Martins , Oscar Salvador , David Hildenbrand , Miaohe Lin , David Rientjes , Anshuman Khandual , Naoya Horiguchi , Barry Song , Michal Hocko , Matthew Wilcox , Xiongchun Duan , Andrew Morton , Mike Kravetz Subject: [PATCH v2 06/11] hugetlb: perform vmemmap optimization on a list of pages Date: Tue, 5 Sep 2023 14:44:05 -0700 Message-ID: <20230905214412.89152-7-mike.kravetz@oracle.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230905214412.89152-1-mike.kravetz@oracle.com> References: <20230905214412.89152-1-mike.kravetz@oracle.com> X-ClientProxiedBy: MWH0EPF00056D0E.namprd21.prod.outlook.com (2603:10b6:30f:fff2:0:1:0:12) To BY5PR10MB4196.namprd10.prod.outlook.com (2603:10b6:a03:20d::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BY5PR10MB4196:EE_|MW4PR10MB6395:EE_ X-MS-Office365-Filtering-Correlation-Id: 8aab66e9-b30e-4c54-95eb-08dbae594d8a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: F/JrOFE92/y6R3qVjFKG7eoTkPAcJQ4yeGvZTHKHOqPqlFtoGGlPv00X5cUgiVvtR7hp71njZxFwRXIaxTOrle0XBvaNgElSuJsbX7ZP4/w40IHU1/I40I4zJOpI7h0a+PbfbCTvGsvM6wpo9kM6juVpB4HMpBzj0j/RXbQ/ORoVYMcYrwhHhwvvSatt/Nd+miiJTxX0w52ZF/KX34bhQb6s9VZESJ9mMsjlnzsiH49fX9uwNAv1QDpZDLaIKi2LW9f/n2E0IKXu6hJI6JJXuMN/Fg/sio6HdunyxRHy7h2bPa2yixxUJkHZoliNM33hucadFdKUkKO+Fxp3NslNaegD5jJu+1k1LcHhaXcNPSn8FBpRgOiqgoBn7XlpZcsjx5ewHk1KlNOzL+Y2A010y/ANpzQh2lY/JVtyjsk89FYs/z0YQiI6Xs7VHWUAcBdb4AaDeWwvEi/R31hQlzpSpsvJN49TMhBzqDO72YxNu8iOr8zrxz9JuZ4r3wUzOYZnxrWn0DQjsJYuXAQwUwc7tPhVots/6RPGuu7FCNwda0OYSLB2jfssqGT55WzIe8Ee 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)(346002)(376002)(366004)(39860400002)(396003)(136003)(186009)(1800799009)(451199024)(6666004)(6486002)(6512007)(6506007)(478600001)(38100700002)(2906002)(7416002)(107886003)(1076003)(2616005)(26005)(83380400001)(86362001)(36756003)(66946007)(5660300002)(54906003)(66476007)(66556008)(316002)(44832011)(8936002)(8676002)(4326008)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 8eoITRbrIOfpfXi1aWgOcy6CDdQXndHuGnijwrXeFUougMfDG0ju11SNSTu6I19W4EToCO1n0TNoZq0xBENuNFPKYh2qMEoynrDP33y746uvmENTDct3BfmDTEWA0cGJEULo+PdtKYGBrnVfMc0RcIA21YjE2GR/gF1A/1QmdcU5cz+EpUuHjUybE60FWkQiv+DOFuXJRfoHKF1ILDThNuSgaj4Iu0vG0NL1OrCf7+daGGafcGc5/O8Oe/hQa4vaf1WJC26rLbkQdoT4TYl7Sf/lG+sjAueV/Gq+cU850crxLiwRHrNiR5LdU5ohXECXHaosONMpxKc4gg5gLA5d/RWYGIbyyNzAj4dnh0xVFl5Twh7qLcQIsCaty/wnyZZlV+8bLyoRPgO6H/Ov7KXztbQZKyCpXi6OUOS0okLn/HHNwFvvx7RDyI0dU21WFHon+n4mO2mFc4/vSVaupXqT8XZHbd+YK5O4UGAsgGM7J84IFzN+fDlktWYaoqU6Zq/stJTkZJlEi1P00+wdoANEBhbCHpH838/QuQUEdn5egWqpkkOzB/QPGS8VlRplePndtHFjoTJtD+k4Vz71Hpp3F/VnvHZiiyD32x0AqoBPO322qBIxSMu+p5U6XR1vdZX3EWPXF8nczk78fqHl8l+KqconP/98ViKvuj5dKI9hJwA5ut7DbJ+119x+7qHH1ed2P9BPTHb68ByCNkOcXkzR3/JNvkHjZ8JqcFbfhsvDczgT8sKffEejl/rh80s9f7XwhDs/r8uLv0DqACdrhKbFB9U1uJzJarjxGoqoKiQ5Ed9m0p6WWfHji5yBW3IPRifKgyHPr2iuHAKpmguYCikLkqfx/c7VCfdyKyT37T/1BrJJBxWM577KPdfWhp6Fx4IWZNasvzT1ob1QG14gAwc54zy9SYcW4V1Hd8VVWS4cHf5Ql8nsm/DOI0Yz8Gq6Yf+XDQBB4QYplDCdLFEIEcQ+wQNMwUzh/LpScmnaLH/a8xMojCC2B7qc1iEh2kYdAsEdbps3xthVMyXMYfJAWAKjY2ZZiB3mb+mGEFsziUCxvM9LzIKGsKyPBYa4l9OFqgC80ab90f7HfyYyevv8B27Yx58bkrHbJIcqfoAMI58AEtBTXOsggDO9ZS75qdNS0Z7s9OXt0yTu2IZqtDJNNUqcabW2R07CP5cb1AlHWZeE/3NVvxPXoekdR+mzWt5sFcikJ+S+hyb2jTUPyJKzzcQMyBK2TBOs6PIFfuxp3+rDArdl6bHHWxHz0MdeBp8yznLiu86wEpZk0HKCYnTboDtsBTVDFKbfxh+GezMR2/zCA2fBTemE56+5MlEjOUAa6m4vld9nUN1YFAaVf1CDF0jUWPNOFZFxn78UFUcG8VN5mSMrmJjFO0Ti1zlXOPiK3Ip9/WuRqHlOuRTtGZ/d319AEAhtoivyWUbt4tOrYpPgL4tYcEUxV/q6a17c30MMsJah+24TdPkQRW/rT1cTNz5cQ9uw60wGPT/HRIAiJEGEZbVR6M4sYp0nW8dsDw4CPZ4ZcgxyqmXnh0mj5ztrHkdpVOadrPUi3o8LT1g2qcyKI84SQuu9rrBMvJNFNAVZRsVOk0iZ1htKTVhlIUyO5/HgDQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 3InvulxbifxhVpx65aDDyQGX6vxAI2x5oGsl7eqIOXjkDboRP19YoIWYly0/g1HHDOFtFbYblRG1yZDChm01Cjr5ThuKTbG1vLjKWXggIQPKbkKtDuxZ7Wcmja08obUr+Suo/yCCa7OlMnzXV6gNleWQ564E4wMSRz8I9C8XqjjaXoRASpHj/uqb1+8WIw+CWlX+qZspr2S//fZhlDNN9TGBcq9N7mwaiqv4RL9p/DedBwRQXp7MrbM0TT32k3iUHCkYKUANfX0ROnhb2jkQ3psgQOvbI5+/HWcBzi5bERh/f4mYSOAzk8tKm9drcBTxwt95fGf2KIXExLNBA6iNpYDhBS2HDJXZFT+yKaTpuR/xGWGj2A9jC0uUJGbEdrj3c2k4BicYaGSCWN9YKEDfZGW1HcZ1FGCXbRXr6b45q/FNQKgiPJOOsQnAg2ssO0+gEF3GJeJEhf3/veTfq9VfbDjcPtWbeiF6mIZolm1uNv7pmuz4PJ7S/Vjf4yvWxb1FwthLYJooBOg2lq5jJ1kkeGQUUX9OR38iMnot8YpuDARw9atg9HF6d6aJ9g38Pz55m/cEvncqpYvmmfmKqCbFaR0DXD2p/fddn28jb/lf1nshgaOTQGTvzv7UYqM4W8zURRNYAWORYT017+/IVqRscGlMLBamfLseNhi2VbFUmS4qtW1ap5sUtc+ZBESqK6cAN789H2cFYUKDRCGmGHh8ocRkDNwLnITE4IiguPnPsPwOcbO8hTMhEG0+eeJdSjXOX9305NwB6Pb+AleFNpw74AdxMgiVEb6CJ7kDow0Nf7hVrkncMydgg4q89tOn1fmS7Yt0W/ROYH0VhaYriROZbOPN0gCc+mi684vAgocvsATa0aZQecRfq2UpE4jXUXWUcegiZfQwwzHJNGtl9dwyOlLVQrvWcdkhxEmjY7zItCuWJVNpifJKDLc5UJyx9cKg1p1C6cV9XexuTn23fAX5Ieesjh4XGgHlSSTmGy2u8kDP9fFeHFL9MqryCT5DGx2sdTpswvIEUp//ZLtpdnB85JsKfekvJWBRGwWlXaZl3ZgCEVCX7Lj3T78KZhNVkznT4/YEa7cNsMsLnr3SYmalApzpggUz3TppHCoUkIlMfxIN+IJUYVV5W379kAsVnwWw X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8aab66e9-b30e-4c54-95eb-08dbae594d8a X-MS-Exchange-CrossTenant-AuthSource: BY5PR10MB4196.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Sep 2023 21:44:38.0931 (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: XQwZrMWiLBro5bYwl98TwlpYCr9xyUhHc7Dunot+jAHBpOzQuZGtxQiQwPa8VfjRSr9PBsM6DGsDGKhsD0q8yg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR10MB6395 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.601,FMLib:17.11.176.26 definitions=2023-09-05_13,2023-09-05_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 phishscore=0 bulkscore=0 adultscore=0 suspectscore=0 malwarescore=0 spamscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2308100000 definitions=main-2309050189 X-Proofpoint-GUID: RJDh7pq58084jrsK0vboPqbAWoc1unDB X-Proofpoint-ORIG-GUID: RJDh7pq58084jrsK0vboPqbAWoc1unDB X-Rspamd-Queue-Id: 883C48001B X-Rspam-User: X-Stat-Signature: z6epynup4ma7x5s78ry56z49h4dzd5bw X-Rspamd-Server: rspam03 X-HE-Tag: 1693950313-398943 X-HE-Meta: U2FsdGVkX18DMKueLbkSVFqct2H+A+O1djRFHKfm+iGt/FovnkDeVFR6ZWtjDjio6vXa0+GDk2j6egNJmLH/HcJ8ZYk01XvDUI4IK9Gr/McCJWWhDOuB5pCSthBLmThJm1KRM5EbzaJo3E0umo3a8konp/TRJN4bUvfiWZIbx7x03hMzz/tOTU3QOhrkEPDtbt86NbTfE5k/R3e4HOtORPWmu6HK4GpQ/+iLmNWcn7OqFAw82wLMWDm/aFVFLwDYM8H9AnwXQsmmCRHOzEtK9+RG9+KNuzZ0MqN/mg//CprC5yK9ejZ+GxUwpl91RCiLm7Ezwg7vcHd0jz1xRBtD8Ups1Vj7iu1wl55tTtzwAAse7qtor0SPstFwAsQkwPlk/tts1yfaoZQiHUhtm2SmqdDICqd3KUXv7IPglbJ86yLN/V8oMWrWmFHo6ubvba/2phrU1/UeSS02cATfV/SddAX2Spxs4N+agjkyseid81xBeOmek1Duzjy6TCOK4KGNvyEcRAT8lJQRhuuwVFj9qdI2ZB2A85RTwJM+Ao0z7bT3zFPwF5B6bAnoGRG2puCQYKQlRrI2Lq3hfAK4JKXnyICEgGfsyyKX51C0P2obgA6E9e/OOrtGLEwR3obodo4u/iEPS1z6A6VfGBB26QyUIynGeHN420SeCQLfA18Qz4eVM9BiFkdqFtzCy6JeHVScbR36zVUNpuBLwv4Dx3NJIP2/cd8ivQ/299wBXd69Os5kVUaAMJYzwec6y1I0QNGmqNLc8AnoIumzy7u/tNgdWkL+A9OyjP3QdwBDvLXuhSVEVpf5SbtpIajxV0rKk+jNdTIcmTDEgjJ0JdbGpxvIIJEYVqkWdf4+GtN9r/mmncJMtZbEaPwWK1yF4kA0fwA9RN2ZNM0loO9tSYFJXLOsccMuNh0WhXlBlAt4myU5FRHMmjep4MkdhwXOt9jauP3R6AdtUmbs4j7ppJXPfOg pckzBtID +7fybWyxjnPiK0zOaNz7LdEodig5mQnGQsoebpYRFdUw9ngg5VwotDosGpUzveIbaDRUthPPy+lFysi+7hkknwT5sjYb6trPSWmqzXf6caQ2xlmRLFAFNPbxvsXXNU8hVXXjgW5vjmIO4QFXAwUxgyevkF2YyEBJbzxGUWWIgstP+ELGkUI11T09o7NTm3A8eJZvXqXrTmJlZP9fRBF3cP5MICo4L/ZWEb8A3bUtmibPi06jflOSQCZGkJHWgDq+G2I4AKpQd8dqyN7WjlupbCA55NgJFNlGOoGCZRUdQwei09EHvP9hx3o77XboO9Z67qj85UuQyTNquxRFAOfV1IVOKgmE6R/2Jd8J3Wb+6+jtBkY1ePfk0qpLkEY7XMhxmZmIQSgz/mmrJiFQwyx1Rt3II8nb1f7GQUM19U1YABgHDVuQKU8iVsgzm0ekMG2+DEioZr4tGpKTozuhl/L9egHF/cqm210SZ8qwA1jNOANNywSoWr3E3CG8m7+Rs4kS2O2pd 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: When adding hugetlb pages to the pool, we first create a list of the allocated pages before adding to the pool. Pass this list of pages to a new routine hugetlb_vmemmap_optimize_folios() for vmemmap optimization. We also modify the routine vmemmap_should_optimize() to check for pages that are already optimized. There are code paths that might request vmemmap optimization twice and we want to make sure this is not attempted. Signed-off-by: Mike Kravetz Reviewed-by: Muchun Song --- mm/hugetlb.c | 5 +++++ mm/hugetlb_vmemmap.c | 11 +++++++++++ mm/hugetlb_vmemmap.h | 5 +++++ 3 files changed, 21 insertions(+) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index d1950b726346..554be94b07bd 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -2230,6 +2230,11 @@ static void prep_and_add_allocated_folios(struct hstate *h, { 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 */ diff --git a/mm/hugetlb_vmemmap.c b/mm/hugetlb_vmemmap.c index aeb7dd889eee..ac5577d372fe 100644 --- a/mm/hugetlb_vmemmap.c +++ b/mm/hugetlb_vmemmap.c @@ -484,6 +484,9 @@ int hugetlb_vmemmap_restore(const struct hstate *h, struct page *head) /* Return true iff a HugeTLB whose vmemmap should and can be optimized. */ static bool vmemmap_should_optimize(const struct hstate *h, const struct page *head) { + if (HPageVmemmapOptimized((struct page *)head)) + return false; + if (!READ_ONCE(vmemmap_optimize_enabled)) return false; @@ -573,6 +576,14 @@ void hugetlb_vmemmap_optimize(const struct hstate *h, struct page *head) SetHPageVmemmapOptimized(head); } +void hugetlb_vmemmap_optimize_folios(struct hstate *h, struct list_head *folio_list) +{ + struct folio *folio; + + list_for_each_entry(folio, folio_list, lru) + hugetlb_vmemmap_optimize(h, &folio->page); +} + static struct ctl_table hugetlb_vmemmap_sysctls[] = { { .procname = "hugetlb_optimize_vmemmap", diff --git a/mm/hugetlb_vmemmap.h b/mm/hugetlb_vmemmap.h index 25bd0e002431..036494e040ca 100644 --- a/mm/hugetlb_vmemmap.h +++ b/mm/hugetlb_vmemmap.h @@ -13,6 +13,7 @@ #ifdef CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP int hugetlb_vmemmap_restore(const struct hstate *h, struct page *head); void hugetlb_vmemmap_optimize(const struct hstate *h, struct page *head); +void hugetlb_vmemmap_optimize_folios(struct hstate *h, struct list_head *folio_list); /* * Reserve one vmemmap page, all vmemmap addresses are mapped to it. See @@ -47,6 +48,10 @@ static inline void hugetlb_vmemmap_optimize(const struct hstate *h, struct page { } +static inline void hugetlb_vmemmap_optimize_folios(struct hstate *h, struct list_head *folio_list) +{ +} + static inline unsigned int hugetlb_vmemmap_optimizable_size(const struct hstate *h) { return 0;