From patchwork Fri Feb 28 18:29:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank van der Linden X-Patchwork-Id: 13996915 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 87B9DC282D1 for ; Fri, 28 Feb 2025 18:30:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B3FC1280012; Fri, 28 Feb 2025 13:30:18 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id AF0BC280001; Fri, 28 Feb 2025 13:30:18 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 96B07280012; Fri, 28 Feb 2025 13:30:18 -0500 (EST) 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 757FF280001 for ; Fri, 28 Feb 2025 13:30:18 -0500 (EST) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 022A31410E4 for ; Fri, 28 Feb 2025 18:30:17 +0000 (UTC) X-FDA: 83170193316.22.4F62263 Received: from mail-pj1-f74.google.com (mail-pj1-f74.google.com [209.85.216.74]) by imf17.hostedemail.com (Postfix) with ESMTP id 2E86F4001F for ; Fri, 28 Feb 2025 18:30:15 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=ylwtk38b; spf=pass (imf17.hostedemail.com: domain of 3twDCZwQKCAYl1jrmuumrk.iusrot03-ssq1giq.uxm@flex--fvdl.bounces.google.com designates 209.85.216.74 as permitted sender) smtp.mailfrom=3twDCZwQKCAYl1jrmuumrk.iusrot03-ssq1giq.uxm@flex--fvdl.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740767416; 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=pBBYpB4hgweH6Clpvn0bScN6WwMSi1BpuOUxZoDm4hs=; b=LOvnzl8xtO1ti/1qK66elw4eSpUa+tUiiacQrTGXWnh7blHRd9LV0KDTPapzoCaob+zW9i GY4Q5qeL8QZmU6maUnI5/h3TJaP1QdYHZenAEeUx7aWcfz7g8xkI2tlzxYIsdwyxj++m5d FLus//SbTWz+Z839T8EdMYScbpKAi5Q= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=ylwtk38b; spf=pass (imf17.hostedemail.com: domain of 3twDCZwQKCAYl1jrmuumrk.iusrot03-ssq1giq.uxm@flex--fvdl.bounces.google.com designates 209.85.216.74 as permitted sender) smtp.mailfrom=3twDCZwQKCAYl1jrmuumrk.iusrot03-ssq1giq.uxm@flex--fvdl.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740767416; a=rsa-sha256; cv=none; b=SxQOttQHo5tM9eGSD9/jLYNMEfVBAjXBDpy1M9NuzvM1ZOW25hdZAO+jjvGL5gCbLMp/XV 5NSOI9Kd9NdCxLcmuHF0HeBfWLGgOS5OGOZYNSZ6cIfXmpJ/M0cmpn8EXR5T9GGvkJcMQj PhWOUoVbqjzrcHvTeXbzXCYle1iQGA8= Received: by mail-pj1-f74.google.com with SMTP id 98e67ed59e1d1-2fed5debb85so50578a91.2 for ; Fri, 28 Feb 2025 10:30:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1740767415; x=1741372215; darn=kvack.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=pBBYpB4hgweH6Clpvn0bScN6WwMSi1BpuOUxZoDm4hs=; b=ylwtk38btHXhLN679ZN9SfjYplMpbbDQLkOYirrTuc20j256SBZUrSYMfQLPiX/Wba /81LP7QXLgT8CCqsvQCCjwaxASeKfBScbHnf7FUA1toiO69jJn1ds0clOnZPmDcrU5H2 NN8EA4V1vzbR4tagTx9BtAC7XYbkXlIGCDr83mDlJ22F7XJrAQn+jaD2S9quWulZC/Oa kVppDOzA18OLg6lYF/5OnvtQbLNRYIhi6KW0UIrHmDS7e5Ddjj2Ic4G8jldeQjsGnLPN osLksC+IsGb76Wih+aCKC/WPy4FmAoYqcHUk7vpkMTYHaoFjql+qDZTYquMduE1jSX2A trjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740767415; x=1741372215; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=pBBYpB4hgweH6Clpvn0bScN6WwMSi1BpuOUxZoDm4hs=; b=ENhF6P0HUd2WACdU/dDvwbRg/Ns1B1hrK/ZXLzXNuLEpoXhsvzV1R3PzY9soSSVuZG PWrzA+kebay63hfrTsff5C1wSFfD5gseW7rNsru2WUs4cEa44f9+feT1utXPVt7dBBCn +gXs4nlzig6gEChkM50GGx7JE0E7/ZGNqF3jG2HHbrCYtMza5dTl5H0jaUN0wpOHCkul Rpx6uP9F03aZpjZNRlq15P0CPgesJmx9KMVFfNmN1PsuWrZ50OjupQzAcaWoguGb+Csq fJD5AVasCF2/8r1wWVBD5WGVscp6/2WS27fOUiBx3oR5NuzMv5dIH4X88Z6TChI8ZgDp 8rVw== X-Forwarded-Encrypted: i=1; AJvYcCWvMLbkNzva9IW94QtvYMwsH+7qoj51IgR3g39GAs0qywzEVlNiSmZ03JQB0XkdPvZmaepjSm+hBw==@kvack.org X-Gm-Message-State: AOJu0Yyni5Cylp7R/0gFN15NjDUXORyKitHTceA45/r3KJ8rlUui95Sn 2UYcMPYhIeftJuGINbFLsi3BF/9Sdltq6BpI2RxY3iWTlgy7gSVtU+a64jvm5q5ixPNLXg== X-Google-Smtp-Source: AGHT+IGJ1/QMzLpmOmVFjGTQ/4fFo0bzWyrrthdyD9uiwQoixag+hgh7PWEv/GbYJAbMW/NyrIAhOQFu X-Received: from pjbpt14.prod.google.com ([2002:a17:90b:3d0e:b0:2fc:201d:6026]) (user=fvdl job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:1b08:b0:2fa:13d9:39c with SMTP id 98e67ed59e1d1-2febab3e741mr7883201a91.14.1740767415176; Fri, 28 Feb 2025 10:30:15 -0800 (PST) Date: Fri, 28 Feb 2025 18:29:17 +0000 In-Reply-To: <20250228182928.2645936-1-fvdl@google.com> Mime-Version: 1.0 References: <20250228182928.2645936-1-fvdl@google.com> X-Mailer: git-send-email 2.48.1.711.g2feabab25a-goog Message-ID: <20250228182928.2645936-17-fvdl@google.com> Subject: [PATCH v5 16/27] mm/hugetlb: move huge_boot_pages list init to hugetlb_bootmem_alloc From: Frank van der Linden To: akpm@linux-foundation.org, muchun.song@linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: yuzhao@google.com, usamaarif642@gmail.com, joao.m.martins@oracle.com, roman.gushchin@linux.dev, ziy@nvidia.com, david@redhat.com, Frank van der Linden X-Rspam-User: X-Rspamd-Queue-Id: 2E86F4001F X-Rspamd-Server: rspam09 X-Stat-Signature: edu4sqwibzuibrzeehnsagknmtb66af7 X-HE-Tag: 1740767415-435045 X-HE-Meta: U2FsdGVkX19+q3HRU/WOln723acNM4z64aM+/DoBPGZaJ36DkD69N7lB03QA4moXJ8h4Fx/MuvEho5pPBLVjsoxl/hdO+O0JMcPvRN2pGsSAY5IQDP7kKzXhAva6M9moaTSWLLLfVRgBaORTSiMxEon00/iTqTL8eerUCNDKcz9u8n9bbNq6khtVBG3IG2PEV+E9Yw4Op2YZEmonZ3gYvi4V54uRt2bb7MkXZT9xDrzo1N0XVz5BCK8RN4JWNit0z1ctAGARpX/nfvaEWT6HXheVED9K8MEyLHA9BPBSM3K94ocsYHfMAt5hqIwViFX8fHKD3G7Ii98bbbG8oIUfgbbSfEKOdbk1h5RBDm1DDYgKLpYFg5Hpf+jfn5Touvln8xVFQFjj9XhGYfORQRIOkqe/nGw1BHBlWnTjvhEieQmURm5J+9Wc/H7tNhX45lPEvk8KKHln0QGOl0klusdY+tEMHggYRXpfvHsLDS1jrNf6QEyPhYM7FNnJ0yktwIOwNcixpZqt3UUfRBPffrRBCDXokPWZlidDSFB2ZXsHbE3UT22LtZW+FvUuA2JKJxKRxCQLVa1B8C5CRxE6aLrxnV5UugHPOmXNo0lBnSgNf4Y2JlsM6pOhelg/du/q50r1r+iM23PIuGESXSRpPA2j67Qc/fSvXjiuglK54Bkpo30O/edJWWlorg9dUAqk7AkhTiPN0MZbtTi4lcd6Lea8qA7JCk6Dtx6eXYTHECa5B5grLILypUnaNeYCbP5JWNpsQOL9PNAkBscD7OmHHJXlS8Jt5t/M/XMmsTvzqlsq7iwqqZxVOZuH3IjPvFv/ZyKgbPMFUFfex5QUwonbisE2iz1M2qOX/1SEsbwobFRBTjnwYwg3kG6CE4cr7wE3b/B++J8IGfomRHMasi4MoxHvBfWT3CUxoiofbz4Lfqwjl1Nk/Xc3/l1d+Qfqt9/h5BACIi8IfUfyzNN8zQfMSqh xUlHKwBV eSTI3/kaLifYH+n119xG+FkEheORV2FUeDS/KcpWJZjrzxLuPbkn13WkZdJCEHDjFjVJkU7jwPZ0lVQ3akWC7fwIEaYZ56EHqMXrYvDpzjKOtTGYZCO9XjqxZ6AJ7aV9pan8kmqNfr4ORaGqAVgBy/ezzCFENBRriQb9rw9uBn4LWUCfMnTZ6FwmZW5E6+fZHDU07OSJgMzzJRfCAhwgrW8f1QTHelWMd5BY0U37YOrQC9R7pJ/FuOnWb0q/sdWfUMNSJ2jmSEowT3qf6fd771610HMoSLTa4pRx0xBSvc3PeuCih6cbhV6v3xyEUp6h5+sBMCLmIgVv/mJ/j0hkRIp6ZQAPuGVyBPmgJdL5T4OPca/ixa0pWaRccwqjH/0s3HQZgjWLZ0g0qavuCjLH86WvXwq9uTBJpNEPa8IlNllrRaWnvqKe8dTAim8dwIGaBK4ggsp7OQod+kwWatIidCZm5KnnqDd7pHPMHycTQHVUVXo6Zy6bV4Ogj8sysjGM1d5pwSwtUunfsZgNhD9JfpHvQxT8AN9UAGpPTX3Hfe8fK+mgXDKRvN8mkRooTyc5E7pRg8ENUIdecAlvEu2gPkGkUjUbeL6VhxC9JE+2Mlx5ckso= 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: List-Subscribe: List-Unsubscribe: Instead of initializing the per-node hugetlb bootmem pages list from the alloc function, we can now do it in a somewhat cleaner way, since there is an explicit hugetlb_bootmem_alloc function. Initialize the lists there. Signed-off-by: Frank van der Linden --- mm/hugetlb.c | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index ea5f22182c6e..0f14a7736875 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -3574,7 +3574,6 @@ static unsigned long __init hugetlb_pages_alloc_boot(struct hstate *h) static void __init hugetlb_hstate_alloc_pages(struct hstate *h) { unsigned long allocated; - static bool initialized __initdata; /* skip gigantic hugepages allocation if hugetlb_cma enabled */ if (hstate_is_gigantic(h) && hugetlb_cma_size) { @@ -3582,17 +3581,6 @@ static void __init hugetlb_hstate_alloc_pages(struct hstate *h) return; } - /* hugetlb_hstate_alloc_pages will be called many times, initialize huge_boot_pages once */ - if (!initialized) { - int i = 0; - - for (i = 0; i < MAX_NUMNODES; i++) - INIT_LIST_HEAD(&huge_boot_pages[i]); - h->next_nid_to_alloc = first_online_node; - h->next_nid_to_free = first_online_node; - initialized = true; - } - /* do node specific alloc */ if (hugetlb_hstate_alloc_pages_specific_nodes(h)) return; @@ -4916,13 +4904,20 @@ bool __init hugetlb_bootmem_allocated(void) void __init hugetlb_bootmem_alloc(void) { struct hstate *h; + int i; if (__hugetlb_bootmem_allocated) return; + for (i = 0; i < MAX_NUMNODES; i++) + INIT_LIST_HEAD(&huge_boot_pages[i]); + hugetlb_parse_params(); for_each_hstate(h) { + h->next_nid_to_alloc = first_online_node; + h->next_nid_to_free = first_online_node; + if (hstate_is_gigantic(h)) hugetlb_hstate_alloc_pages(h); }