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 2AD25C001DF for ; Mon, 31 Jul 2023 22:56:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 95DA42800B7; Mon, 31 Jul 2023 18:56:51 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 90DA328007A; Mon, 31 Jul 2023 18:56:51 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7602D2800B7; Mon, 31 Jul 2023 18:56:51 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 6221028007A for ; Mon, 31 Jul 2023 18:56:51 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 2C4BE12036C for ; Mon, 31 Jul 2023 22:56:51 +0000 (UTC) X-FDA: 81073418622.24.A81341A Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf21.hostedemail.com (Postfix) with ESMTP id 64D501C0012 for ; Mon, 31 Jul 2023 22:56:46 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=nk4IAVF0; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=ZitgeSIx; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf21.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=1690844207; 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=ejyOtrZ8wcYMygOQ4l6qYakYxWqpdi6yUda15o8nklY=; b=NgFeqPrvtBBE5jvr9FjlWhsudFOiU18v6RGdjZ5jxnH5l/l12I6GoVlkivezn6sU5KYtun eaFkc1+1q5oURK26vQ2SGtNTv2J/rS4pMcqwi0vI28lmAK2nL268maJfCqtae0jPbZvFci MxFs1utLpvxJ5bC3shcHBF/OVgjUaeQ= ARC-Authentication-Results: i=2; imf21.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=nk4IAVF0; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=ZitgeSIx; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf21.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=1690844207; a=rsa-sha256; cv=pass; b=hNYtk2Ng4NcyhFzS7Dan96Bd8mNuV2z32Fy02LAGBrwwAZvlTrUeiZAjgEgfUpFWz37Egu Melb7tLy6U1yuWhUbxXWhOvH5AcL2RB56QikUPF+n2Vg5s03EyKW3hZE64WPNyhQbXCVAk VQUcI9/JXStT4P3blV5NNRsuxlgJKRI= 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 36VKnRsb004817; Mon, 31 Jul 2023 22:56:46 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=ejyOtrZ8wcYMygOQ4l6qYakYxWqpdi6yUda15o8nklY=; b=nk4IAVF0HwR3JNHePXxLKL/Csh2cq6oMLmTWPgHiZ51K0jny65LJFbYEPaGrljIY+0hc hJ28GErDwIvk77k1jsn5sXqsXECHkVutJ8TpoAnA37uL1agmuWmdi4ZdnK+/rEPD42nv nu6WOlLJNiJNZePQqOVzy1ODDn7GJDmr/iWIfUbAcIWt/Vs26YJnZu+PzxDZX6iIfkqI 9Ntd8sanCG/Mnm3XYpr0S78eiSMCCfdPvfqvT+giplVBiIL8pxQqQeuk/YhJp71hqDgE o0ZAYA+PmDxrI9jcaW2Jo7E/kN6fD1lEg+WEvbpHAlRrBXDf4NJoVYP+ZVH6sItiGO10 kA== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3s4uauupg9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 31 Jul 2023 22:56:46 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 36VLV90Q000770; Mon, 31 Jul 2023 22:56:45 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2170.outbound.protection.outlook.com [104.47.57.170]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3s4s75c6xm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 31 Jul 2023 22:56:45 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CwQ11DwljLLN+ZO7+r0SmrA7WAQEXHI/NfJaG50wmUDkPqZDKBI6v15Jd+3CnL0jzrZixWf787+IUM5iBOGBGfugkNBSBfzq+7eGGvVJFHi2a3w3hPlufqQMXiyjwNpEucBbNO2ei2HKbAiD3d2wJ5aryUxxcqqmx8/RXHJfnJyOZKXtaJlMGf/RDgORqPew8ZPqDhmdH05sAsIS14JrvYirCK5nUxT0eTKwI95GjgA/04vRJMv52cHdB9pi1oPHZQm5PF+ldMab52RlrHPCewb5GTgmT+ij4UlcUTDhbeH2BKgwsHg+XXtUhvn31VoPVjPynwP/kWttQhaAVmNpUg== 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=ejyOtrZ8wcYMygOQ4l6qYakYxWqpdi6yUda15o8nklY=; b=eWo2u0fnvDWmzpoMguZpU6hQK0vkSnVjFV5HDXuJTm9RtD7OiO52mqZOQ/QCX1yUzY7W2EMbXTyV1zLwwpeu00ezFUMJHEGT3bCElwelhZgNtVITWFpyNT9wPzel5Xjp/whRDqlNAF5odwsgg2UkPB9e8Syz3stcprVR/nKk255mTsehXxUnw6iDhZIKrzwyQntiusSZj8qsI5OJYXrKB8WcP6vjUcA0xuYaF5sHkjAlRm2XKklowqMPbJyPniRBiSxXf6Eb8CW8rU+p1+aL8J5SkI7nj4XPnMWeo8YtVFbz2B0XEapgVNJD2CApPvt210EqqkpNAFe4pLFlVEOJ0g== 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=ejyOtrZ8wcYMygOQ4l6qYakYxWqpdi6yUda15o8nklY=; b=ZitgeSIxsFiI1PVU/Egv34Z5J83uEnySNEPNLKOtRe2tLwqc8xLf1YK+WAPa2BGBQjU2nLB9yLUHq6J07jhqIaiIQ4mDucS15ihE/p/IEoVP6oHrPz+cDbGzQI3rBPPoW00D+FHhVukjA/QdLYdDbr1IYvhEUai3uqwIXy4d21M= Received: from BY5PR10MB4196.namprd10.prod.outlook.com (2603:10b6:a03:20d::23) by IA0PR10MB7384.namprd10.prod.outlook.com (2603:10b6:208:43d::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.42; Mon, 31 Jul 2023 22:56:43 +0000 Received: from BY5PR10MB4196.namprd10.prod.outlook.com ([fe80::92ea:33e7:fb66:c937]) by BY5PR10MB4196.namprd10.prod.outlook.com ([fe80::92ea:33e7:fb66:c937%6]) with mapi id 15.20.6631.043; Mon, 31 Jul 2023 22:56:43 +0000 Date: Mon, 31 Jul 2023 15:56:40 -0700 From: Mike Kravetz To: Xueshi Hu Cc: muchun.song@linux.dev, akpm@linux-foundation.org, linux-mm@kvack.org Subject: Re: [PATCH 3/3] mm/hugeltb: fix nodes huge page allocation when there are surplus pages Message-ID: <20230731225640.GB3351@monkey> References: <20230730125156.207301-1-xueshi.hu@smartx.com> <20230730125156.207301-4-xueshi.hu@smartx.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230730125156.207301-4-xueshi.hu@smartx.com> X-ClientProxiedBy: MW2PR16CA0069.namprd16.prod.outlook.com (2603:10b6:907:1::46) To BY5PR10MB4196.namprd10.prod.outlook.com (2603:10b6:a03:20d::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BY5PR10MB4196:EE_|IA0PR10MB7384:EE_ X-MS-Office365-Filtering-Correlation-Id: d0cc1e62-f2a3-41a6-57bf-08db92196880 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: sJooa6AibWYhU1Ggq3vASYrXroESnk6BPf2D0QoCL/vKKcyniYHhFgKSn2BIJyRavekEJbigIGCMX2nskNDqqXS9doYpdzVRsfgdfbq45/JHtVt1kCVnsTL89OJ3+SPkq5OY3YUErJxVNADfxm/GOmMgDSCifr9N/e5YAMvD2rHUXvnnX9PAhmPmUfT/Fd+KLE7MaEEFomwigTM0dXXgnB3SkFIe8K4oT7dmAuugK3cD6HG9ncL7dvCeyfkl8pYmLIikVvsLZflFZBahltTFQzbhJ+pJszhGt96stsTZ/91ZaJ66qVX5iZJgWxK/6OSMHbdNv0QOF31e6CWvhAgbnPduJChnpjXYNGMgik9RG0wrY2RkRsd5iGaQNDytdar3JAfeMLGWBDZXvsDyV4MP9rq79DweY5uGDMZMyy3VYWDe9KwkISlcNBQnl7ZFVN2krI9TQesROOTfmGRuW6L7+8wngTbN8cNekLUq1LZ2drm072hBu7seVineE7cRlSa8/Uty6VMMLR6M7aFluYcP8+kJqpHb4bnRH812yoZSnIDtQyYwYSFrWKG+vWdUKSf5laD8NYqnTINN4/HtUvV8JUgL8EavrhthrxzOblq5HCs= 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:(13230028)(7916004)(39860400002)(366004)(396003)(136003)(376002)(346002)(451199021)(5660300002)(66476007)(2906002)(66946007)(6916009)(66556008)(4326008)(44832011)(316002)(41300700001)(6486002)(8676002)(6506007)(8936002)(186003)(26005)(53546011)(1076003)(83380400001)(478600001)(33716001)(38100700002)(9686003)(6512007)(33656002)(86362001)(14583001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?vc1+BiuBFb5lAzervvHhwJgYwOVhE4pEWdjIb5VFKUehJjVMlBuwLZ9w0bSi?= =?us-ascii?Q?r0lowmGFned2t2IePj5ufVAAPJ4AzbHH5NQzYsJJhtIBhScV1JmULpazcRZc?= =?us-ascii?Q?W7ZlV8zRIWtw1Ns808MtKldvx87Loj5scusby41dML/rqhRGTMPtJ2N3MlWp?= =?us-ascii?Q?trsaY88k0PvZj+ywORPEdbGhpvuteoVbyebhLFU8XEIBFqxLK1AlXiDxYLPx?= =?us-ascii?Q?r6ghO73Je1+SZJeg1hgCYSlupJ2Xo3v6+ye+yX/6WlFg/kgKvtd+e4Hi1PB4?= =?us-ascii?Q?rc/6mZWxHyHp0280/prRS+Db37BHOP6dEAGLQw8ItbDHm0v6ILWDF6CzukhG?= =?us-ascii?Q?vx9WCb0RIWXw/Ohr9SGPfLp8cQ62Goyajvn/FPO3ySyZIloXKrOvDNXQRUWB?= =?us-ascii?Q?ZFI2M2ukAdIcf+HITmoRQL+T6ZG2VHVU37XLdgQ3f6l+JSvs44g2fWo43YRV?= =?us-ascii?Q?htacDrYjdnKgED06tM9iGwOkQ4Ffch861Jo9XnBWeTX4hGDCUukmHFybJkcG?= =?us-ascii?Q?ClIMeroojhS6hxMTPFrgMculxwAeStuVGh4Ry7FeGvUUpPaWeGjAI7noIMNm?= =?us-ascii?Q?sCOCuJWWyeihB8TW7o+sZHk0Qg0L59KMQTCEppE6nv5XZr86tqJjc1gQOX5l?= =?us-ascii?Q?WlZIPPtcPwX+xzBXNTIKq11uAGRpl+TOOkcjrO4UtIfXgakgSXNWXuoCgGpF?= =?us-ascii?Q?ReTUBxcAmiewp8jrjOvvPb8brFNLBRTgp/WqY5O0kFQnwrrp2pn9GbbrjMCl?= =?us-ascii?Q?EhLrduIZFgSL5chqm4Q8bFvlCCsLqkWgVM0+JY0EW6xb6itzIjH1R9ygCc3X?= =?us-ascii?Q?q/Q8HDROow/hmEA27rxv1Ihlq8qPRr9l+Y5yxpzt06wSsSSUN6p9r3TfkWrU?= =?us-ascii?Q?xqsvtsa8fJyBRghhOUewSbsSRxK4gu4Mz+6sMFInrubX95ZwPJfqn9GIEzk6?= =?us-ascii?Q?Dap3yDzsWxkH/LGyKxXdLDNw03jIT9+Z13XcFkEx7znsf0oTdzo37MuGG3xS?= =?us-ascii?Q?+xsFcM48q8qov/lqTazQ6rwnP4zH5nC5rOlfX54IYkVowTTgjqECTVqIHDtK?= =?us-ascii?Q?/lwCfevPJsIBmBkGSrssa/MmF8wsFLjuRiWwBYJY9hwXSD+55Nk/MvewLcw+?= =?us-ascii?Q?tjTUFWeznvdqDppWXTc/hVsWYodYe5iEF4HXvaW4EJwORjbBp2OuVOyhTkfF?= =?us-ascii?Q?k3RlMklEjvhgPbVijVkjgD5JjjAvjPzMNlstfy/YNtrk6TVj+SXd59NakXW7?= =?us-ascii?Q?G8wjTPOpljp3EKFkTbZqBWmLOY4bxramyzCuUCU4x54jALTMHtsYU/avx9p2?= =?us-ascii?Q?GceIYqbgHWipQcHnvNwWA+AR3JGMEsCMxRwoEyvvgFzyE/r+4LtjnKF0Nyz/?= =?us-ascii?Q?PmEAiIm9QJOD5Ox9fHNCFFID1M0FYCPGMX7U+5McXpe+lHe2WAF+IxsoMkVg?= =?us-ascii?Q?JWaZrxiezmj6PbtZIvKud1+rki1TG8qOdvBRhg0oX5ca2jqEPFC8LPDNk7HO?= =?us-ascii?Q?YvNLbbYY2Ny572LnTuwUJ64voXeshu19kApgAEJpeKsSmKrl6UQtU+fzik9G?= =?us-ascii?Q?tjejAIEOyDL4RnCunlJqrozIO26hfyCYWg0az36M4EssUx29jGydPfBmkyhN?= =?us-ascii?Q?gQ=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: HYXRsFPvsene/NnpolOupmSfnEKveEvhgzS6YEGZs7YpD13qxZbrHmYWuqI67FYiqL7RpQ8skgMTYIYLWlGoeKxpfDe225XtMT51cMk4fJNA8uk2fHu+CiiCfTS0YaqwW0A7NHpg+lS5vKXOTZEob6pGv//HusBMn7RdHHDfDsFU6Ox8QuEujnqWjexiY9shaYPnZY9o26/SuXItMr4am4FXGU73doft4r2YolAw7eBnEiLxEWXA4E8NLyaCialAukvVyszcihj52nDiXb1GtjCQw512wJQitRsILAgwrVkVeHNPGdQY36A80Ud9S+u9C02+xJRgMHZwACqsVnX+/4IgFhTdOSERd1vPlEYHrWmOhfiPa/CG6/uru+tW0K0vG6tH4lxDEDhsdMewuU4uYskx6qSq4HReZ7YAtDnFP7aILBSvxjhRLQqc39seUf9cwfXAdk04OiibeKdoDtNHoxkrSOziv8FAc38R6WOE3C4HOyw+wAF9bgCZrtgG2+oYA2k6d2umuDHTaVmFpyZ9uOECyJY59NdpCsTmI2JgwnGHZ8pxs997ht5W7U2HQkqATowI98HBVIFaexSsReHcJIEm61jizQbbgJ9HV30rgXn/sAqQZymvSApIh6ppEz0K8/9+VvQcaZUlmGiU5QfG7dhtriqCbW+/A0oV2TBUFWWzKOqvvDAixRCOcH5rt8qQMMzVAYzeKf7RoBTpVow66FBtcNi6LwnDgFGb9B636axBeHq/kD3YQkwI4ZPPreFVXII6QHDxViMUDcBj/ZvW3Y5hBzQ381POk3r9MTbC5307QRa6GPmUh4ZprCaQ7jF1xtbPE45gYbRXopqTy/DQ4jLWEFCUZVdAD2zUcQowQd8= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: d0cc1e62-f2a3-41a6-57bf-08db92196880 X-MS-Exchange-CrossTenant-AuthSource: BY5PR10MB4196.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jul 2023 22:56:43.1600 (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: BJjdA5688VxKpzaNRSQJqWpVgAmn5OxsdPX6gGmAo9tNnqEiXBoK0JFilF1NaLFWHe8kdmj51W2k72gztNoM8w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR10MB7384 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-07-31_15,2023-07-31_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 bulkscore=0 suspectscore=0 mlxlogscore=999 malwarescore=0 mlxscore=0 adultscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307310208 X-Proofpoint-ORIG-GUID: HXm_HMGv3Xu1pqpU2edOzeRy5JKAydpw X-Proofpoint-GUID: HXm_HMGv3Xu1pqpU2edOzeRy5JKAydpw X-Rspamd-Queue-Id: 64D501C0012 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: 1zy78utsdz693cuouxgixf57a5bxnnrf X-HE-Tag: 1690844206-191206 X-HE-Meta: U2FsdGVkX18CAOmK824AX9XD7AG9Xx/bXBMBrXf9rLsPUNFZwLBXR6F+7uAu5lckEt/KRxK7dQw4uXLPHhf+oEu+TQH+s89mOWRGYhMjXipEyBrg9JDQ/AkCrbW4WfR/Of4RIZwOgbFw408jk2LHQ/FEUcGYR4EvaANUtjaBIuAWb2oVKaobD80tY6Rz70EeMrO2Gg5UcBLVIXLij6rd+VdPSda9Xu9eE/ZeExFDuSqKwWjtfboTeNMErUr/lKH/p6OplaSy2rvcbczidVqgTFI2sJrSRLjxWB7iwPNOfLfdWla21wquPEQAe8eH3X9IbPfYwToCSujM9i+A0RV9nxVg+0t21WW3PhmbAhucWlxbpMoBfNF9PiNCOn3ONHBESHNF1hwSbyNR89sxtiDXdY2fqDkRLej7TA0NNwsuHs1OWVZ6kDt2szWmA1/GEFjrJhWIGyLILww05tDf3LXbpTnjrqEzr7FuBy4PR1EMKZCuyQtTJJumC9mgy0MUPQlGWMXWgOxkCkLOL6XRzE/7eVKDv0smFrjGs458Ye5DRbcf7WnZliJbw8MZ7lko8lUHoF7PSF4MsQ8JK/raloeuUtB/oWrTdaLUk0gxwET67BFvVQHVSOn8rPsmiW3UUvjqh6PkwTldDxAE7sJBbFQjl2QgKUrKdvJFpNjSeKREp5RJXd86isKEmvLJ6TZDYPuWFAry1l5QkUZKc79WRl2LCERnNFJhVrwWdMVWZGnkrhPhAFOw9f9UygAtPW4NDaiDRnNK3ciMqzijYiCqv3JK69HbU+udH7jTC4dNYwNAlY1NhVEEWPnxKZ3ykQ0RjBoSLKP+cSep774PbejAMw0iSOYF7mvr+JcrbGuR0aruRPp4Pq1HxaCQsVvkIieYLmOSUyPnFkpMJrrjhFRKZL+0AtdzDksiJ3WZ76s+7qtxFOfmCp8+6vtDCkBa1h/6xrLfcHSNVYjO7DY2lyqy+mD IvHcXBPW AHtqeZn3luNXBTNH/m3LGBtQS3yireFtjEWLu/rMkLlCYuquXX0dW4SL/G3gZX37yWJ8NlwQk4Q3ZJxRcubXtR+Ie47Cdmvu0bXjCV3WYb63v0v8MvBKzI6W4dMeNvnsMWDY+2PnapPWkt7cZxH78wDJziLLo4r/GsSlNpi/ZXZWfOtCh5cebCIKRYMrre8lgDkCCse/eOFigBBOnYUixXiKpueEKGW9vjLAdt/W7Ep26PCUeR8uex/2iGl+cglMloryWvW1hfl7SdkEmtRc2NGcVfjtIuw0+uzxlu5WA6w20UKjoIkX16E+x48FVO+32KUgbv9pyCz69aAuPkHH1Qyr1dJ6Rc6r989v+c2JXpwTm9NrS+zA2xtgrXL2DrAVH75QyLUA2ZRyyYFUADAgs2YUrVQJifN1ofJtcQzL7ODl5fAQNorkEsjRsqLm0wiYYu8L0WpGkSonuyRZi+f8NT0Eb48FbfQ0EVu9K 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 07/30/23 20:51, Xueshi Hu wrote: > In set_nr_huge_pages(), local variable "count" is used to record > persistent_huge_pages(), but when it cames to nodes huge page allocation, > the semantics changes to nr_huge_pages. When there exists surplus huge > pages and using the interface under > /sys/devices/system/node/node*/hugepages to change huge page pool size, > this difference can result in the allocation of an unexpected number of > huge pages. > > Steps to reproduce the bug: > > Starting with: > > Node 0 Node 1 Total > HugePages_Total 0.00 0.00 0.00 > HugePages_Free 0.00 0.00 0.00 > HugePages_Surp 0.00 0.00 0.00 > > create 100 huge pages in Node 0 and consume it, then set Node 0 's > nr_hugepages to 0. > > yields: > > Node 0 Node 1 Total > HugePages_Total 200.00 0.00 200.00 > HugePages_Free 0.00 0.00 0.00 > HugePages_Surp 200.00 0.00 200.00 > > write 100 to Node 1's nr_hugepages > > echo 100 > /sys/devices/system/node/node1/\ > hugepages/hugepages-2048kB/nr_hugepages > > gets: > > Node 0 Node 1 Total > HugePages_Total 200.00 400.00 600.00 > HugePages_Free 0.00 400.00 400.00 > HugePages_Surp 200.00 0.00 200.00 > > Kernel is expected to create only 100 huge pages and it gives 200. > > Signed-off-by: Xueshi Hu > --- > mm/hugetlb.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) Good catch! I added the code modified in this patch with commit fd875dca7c717. However, my commit moved the specific line that was the root case of the bug. That specific line was added with the commit 9a30523066cde that added hugetlb node specific support way back in 2009 (2.6.32 timeframe). Fix looks good, but waiting on resolution of max_huge_pages usage. -- Mike Kravetz > diff --git a/mm/hugetlb.c b/mm/hugetlb.c > index 56647235ab21..8ed4fffdebda 100644 > --- a/mm/hugetlb.c > +++ b/mm/hugetlb.c > @@ -3490,7 +3490,9 @@ static int set_nr_huge_pages(struct hstate *h, unsigned long count, int nid, > if (nid != NUMA_NO_NODE) { > unsigned long old_count = count; > > - count += h->nr_huge_pages - h->nr_huge_pages_node[nid]; > + count += persistent_huge_pages(h) - > + (h->nr_huge_pages_node[nid] - > + h->surplus_huge_pages_node[nid]); > /* > * User may have specified a large count value which caused the > * above calculation to overflow. In this case, they wanted > -- > 2.40.1 > >