From patchwork Tue Feb 18 18:16:44 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: 13980415 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 B6EACC021AA for ; Tue, 18 Feb 2025 18:17:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B7B11280184; Tue, 18 Feb 2025 13:17:35 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id ADF59280181; Tue, 18 Feb 2025 13:17:35 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 931F2280184; Tue, 18 Feb 2025 13:17:35 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 69A5F280181 for ; Tue, 18 Feb 2025 13:17:35 -0500 (EST) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 0FED61C6FBA for ; Tue, 18 Feb 2025 18:17:35 +0000 (UTC) X-FDA: 83133873270.25.E320F3D Received: from mail-pj1-f73.google.com (mail-pj1-f73.google.com [209.85.216.73]) by imf19.hostedemail.com (Postfix) with ESMTP id 3D3C41A001A for ; Tue, 18 Feb 2025 18:17:32 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="RFbRofL/"; spf=pass (imf19.hostedemail.com: domain of 3vM60ZwQKCHEUkSaVddVaT.RdbaXcjm-bbZkPRZ.dgV@flex--fvdl.bounces.google.com designates 209.85.216.73 as permitted sender) smtp.mailfrom=3vM60ZwQKCHEUkSaVddVaT.RdbaXcjm-bbZkPRZ.dgV@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=1739902653; 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=9lCunPNvyoNHPREweiOwt6l2g29bvKIWb/bOkZd5SCY=; b=X8chlEClzIn0wzdlodguikoPDqPtrnk8eMhtNG/lDveqVmj0FHICKF3ufdBUkqJFZW0p2S TDzZsKdUS0FWB3DpKXmOfUzUqYP3ib61bS+UcnhuApfuB6en4fxgiaV4RJTb6FTN85PTdN mtmIsn++PUFefIOBPqJ7EJEpAG7lYzI= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="RFbRofL/"; spf=pass (imf19.hostedemail.com: domain of 3vM60ZwQKCHEUkSaVddVaT.RdbaXcjm-bbZkPRZ.dgV@flex--fvdl.bounces.google.com designates 209.85.216.73 as permitted sender) smtp.mailfrom=3vM60ZwQKCHEUkSaVddVaT.RdbaXcjm-bbZkPRZ.dgV@flex--fvdl.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1739902653; a=rsa-sha256; cv=none; b=RyQCw99vPvb+orzbsIJ89Q7dB/M4dFhGBXZWnVNPOGRp01SMFrok51F/6dos6Ut+rAMNJ6 78Xd/YI2M1s3ErodkhgZKnjObns/10Wwpxxd23GR4inzshhbNboV/Fs2x1NCulpZVCbHk3 dW5srIJ8RroTGphyFogdNEMmtNdBLSM= Received: by mail-pj1-f73.google.com with SMTP id 98e67ed59e1d1-2f46b7851fcso18470723a91.1 for ; Tue, 18 Feb 2025 10:17:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1739902652; x=1740507452; 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=9lCunPNvyoNHPREweiOwt6l2g29bvKIWb/bOkZd5SCY=; b=RFbRofL/6nmog3TNhuj1WWvbuJiFbLj7aucVmoqEhx03S7XvTkKZviH/mteAjbXBfz NyGbqi8VcMLEn/j2nxV/iYUt5Y1rHoNoYQNyCufyx/agrjRHvkzmNKJbTBapCiklNrdy W+BqIbU5xtT/uTpKTYUv+8RweLaJC+C+4GsKWgHG2oy/zFx/qjeCEgdLHV4+qOCWZG5e 0glaUknCI+sWchmeSBHw3AFKi1iqVoR/pIOT7bywO3l9oFEK2Cz7wXCyEnVwoPT45S3K MX/g5zUD9erN3uqS25O3+nKXYKpKZaLgwPfQcw2VGKbI5hRbhjNzC96ezJ1nb5u0wlER NjTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739902652; x=1740507452; 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=9lCunPNvyoNHPREweiOwt6l2g29bvKIWb/bOkZd5SCY=; b=FYswK5F65E+kAguoiuCXVF9tq9EPQFAN5JFuBA87f9oiIvTRBUJo0ZMCBvOpLNrS1u gjFAyp2x6AqIF4z8SGsYvQJxh8R19k+AFx0bz7eHqBWKpTRjPX/oC+3glfSgXzQaN4gk irh2Q6ep5xGtZ5Ia1eBE64LBlujD3EDUl2lPvw4TnLiMMu54F3dhISqliowNJwuKTTqy U8UnhJoUE5IWZUbHdg4fknSedoUGGKcnNS1jzjb745C26lCoY42T8mwutEGfb3xlJWkz 6WI/yZh8V5zshp71jJHfNSUVxaBIDuqTa5i5XVozr6ZPBx5+XRTrYhz6A/CK80i/x6pV Fp5w== X-Forwarded-Encrypted: i=1; AJvYcCWSpH4doVHHeZkrNEtO3zV5a7y96kGZ9Hyg/xA4Hs92vLBSEWa8tfpP2CKLj5OhcAWnk3LxFb88Qg==@kvack.org X-Gm-Message-State: AOJu0YzimtdklyCyYCFYdoFoe5lUpp2T1QiGD/IMfo2f/woVR3TZk2j4 Y56PLqOUVXqwfrYjpDRCQ2Gy7d2aZoHiHiEa49tYT8fUvAKOLFqyjs1gob9hYAWHEejyTQ== X-Google-Smtp-Source: AGHT+IEiGtyScdRky5bkAafNraZwWCRGFXYj414LaJ08JfaMF+efUR8WKUPEyVMq5sIlSaMu51tlCpWi X-Received: from pjc8.prod.google.com ([2002:a17:90b:2f48:b0:2eb:12d7:fedd]) (user=fvdl job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:4a09:b0:2ea:9ccb:d1f4 with SMTP id 98e67ed59e1d1-2fc4078e984mr27765805a91.0.1739902652189; Tue, 18 Feb 2025 10:17:32 -0800 (PST) Date: Tue, 18 Feb 2025 18:16:44 +0000 In-Reply-To: <20250218181656.207178-1-fvdl@google.com> Mime-Version: 1.0 References: <20250218181656.207178-1-fvdl@google.com> X-Mailer: git-send-email 2.48.1.601.g30ceb7b040-goog Message-ID: <20250218181656.207178-17-fvdl@google.com> Subject: [PATCH v4 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, Frank van der Linden X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 3D3C41A001A X-Stat-Signature: h771kdk5soydx6fzefninbgw6s551rae X-Rspam-User: X-HE-Tag: 1739902652-662978 X-HE-Meta: U2FsdGVkX1/HUOucww21GnFyTT2BWrpHEm7gMkaobNRqH4SG8plr5OCEJJd9r68mUAFT597o5xnTHBvW/HX1fAQY5ifYYSvCVfbYd3vzZ4Jm3UC//1P8nEZPulynzd4gdf9tZyijqDvJyxK+H2UACnEy7LAGeA8Zz7PSEoBh0Nd+U1koAQXXaiQL9xpY5FZ9TDBmKZqI9oypxQKGy3e20ndo48KTLYv8152LqCUiFgS53o4boGVY41Q0Fv0cDm8gVFtABzjlX67HYqzd0lCHhZIdpnoemyJbbkCgEz3ciVsbJDlmwyckzYBUQgL2puzwlyFVl7vgdlnlMtlci49fg0wKhjjdUwwC5OhjkrIPgDq8XVNYCzyg3vCzQqBhafQA0UqiPDZ78lSd1NA01cx3MagDRwe+7paYFKEM4LIkTZu7R2loPwJaqF8mTZJGfY+J4Uguctb/NEXXieVDANgOcvnaJYxTk9yWzVfs23y7VirZjVFCse0RBcYHbwfs2ogjBAoGdei3Ez2aPLWA75dkPr/0JCE94Sa7wmEOxHqH7efei7Up95AL/Lc165Ut2UFihxtcT7cPpz0impaDmKXO1KsVXuAD0Dxd70qotz67QlixXbHS/+fcFlXhtDvePAVG0OoJ/tFqxvtQltPexlfAGOIntn4QX72n23/MzozR7K0cUuEFv8ZO2Ptq+VrEZrNecuXrBzeuh7/03EUKOy54OM+n+Sv+EDfgoRKb4/vBCXHC07KizMnkohwyPGTpqc6i6cy2E4IhgoWwwaNNrr7Jve5yxBAH5eMMIALktX47W2aOytIYrYf//m/BJBGthyMILGTxxh5HBG2MsaNdcknTfUXP+DblSiNQEEGTrmkxE+9EeRlE904hEy0nhwhakNdpoPcdf3+V7WQKZrY1hlifziYeN7+95uZdFZrTWgAAesaLUWqha+zgPa2e4b38083TT2WGi1yfGTvV5VPb1fq e4eqe7Ae 7UimOqRk2Kbby2yzdK/xXiQ2GG2MFiYQISy3Ie4qOSBW0Ak4fpDGIbV6ur+K8LJz9ThdQPOPjfV30gDZl90b/Ahj12tlRmSHz5PpKVNGoAi8kWC51HQVHVMpY3ZoXgjh3oR0UKYoXHZ1/lyEa3A/rQU5mCN+v+I3OdC4pM5/z3OsbXcHkfIBYUzB6Fp9QiZxhfa3trasq3c9igUhXvKR31gWPDDoGp3KSmMR5EUPbwBG3DbR3NkCjlRYFXpnoUJvlzEY21X4C2/7eZHsknuHny4B2mPiqfspUILKPvvzjjXXxsEyX9xBsI1Ltzw8g0Bzn1ohWRkfnHzeWJo9iM49MKqszu+fvoUJW1vlAehAIbpQ+GJi/TXzDyn1USutD/B65nDCeF4jcvd5mMSB8MmM+VggxC6n/00jGgdAONLmZS2lvWisV2I47BN4c0RMi8vgkoftaeoDkD9xOdyaCRlLkNdD1UKbHrQJmTcGYoD+YrqMi3CjWd0d91n/ChyXx1PIkMA91QCOqin04SV0DV5xsC7G3941GP+ncaEKuHcPwScFHMeptlcKOxQgaQGuxW/8Szi/xE/uhj+j0jT6L6U+lYYoo9FEgHc7o9Z53lttD6El7+t4= 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); }