Message ID | 20250206185109.1210657-13-fvdl@google.com (mailing list archive) |
---|---|
State | New |
Headers | show
Return-Path: <owner-linux-mm@kvack.org> 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 09692C02199 for <linux-mm@archiver.kernel.org>; Thu, 6 Feb 2025 18:51:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8F1EF28000C; Thu, 6 Feb 2025 13:51:39 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 8A246280002; Thu, 6 Feb 2025 13:51:39 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6A61428000C; Thu, 6 Feb 2025 13:51:39 -0500 (EST) 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 44054280002 for <linux-mm@kvack.org>; Thu, 6 Feb 2025 13:51:39 -0500 (EST) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 066A71C9171 for <linux-mm@kvack.org>; Thu, 6 Feb 2025 18:51:39 +0000 (UTC) X-FDA: 83090413518.20.D57489F Received: from mail-pj1-f73.google.com (mail-pj1-f73.google.com [209.85.216.73]) by imf30.hostedemail.com (Postfix) with ESMTP id 3E32580002 for <linux-mm@kvack.org>; Thu, 6 Feb 2025 18:51:37 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="UU07Xw/O"; spf=pass (imf30.hostedemail.com: domain of 3uASlZwQKCJk8O6E9HH9E7.5HFEBGNQ-FFDO35D.HK9@flex--fvdl.bounces.google.com designates 209.85.216.73 as permitted sender) smtp.mailfrom=3uASlZwQKCJk8O6E9HH9E7.5HFEBGNQ-FFDO35D.HK9@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=1738867897; 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=3NeQMOnzxPkjyqTJozldr6OrEIjuFMWwE6WQJOgcCAA=; b=VyvxwualuUTGB3jvCunK0Mix3KhVGq6m0dCuzNDOssBUphRgxFULBs7gKGAHDBPiiwv5nz QlEwUNNV5CoEhAzVc0vW8eU5d5+69sQciJ2TEP9F9cJrle2e/s9riJRzVzmPqHdn/OPg0H yovWM91RS4Y33hF/ljv6hiS3c9hINY0= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="UU07Xw/O"; spf=pass (imf30.hostedemail.com: domain of 3uASlZwQKCJk8O6E9HH9E7.5HFEBGNQ-FFDO35D.HK9@flex--fvdl.bounces.google.com designates 209.85.216.73 as permitted sender) smtp.mailfrom=3uASlZwQKCJk8O6E9HH9E7.5HFEBGNQ-FFDO35D.HK9@flex--fvdl.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1738867897; a=rsa-sha256; cv=none; b=oNv9zK9XBAB2pvNNyoXMOTyheoOfhwa5Rv1Df0/GT2TIoeQrWIQqLSNf5u+1b8eybnY0qE ecr3tTqfv7kRFaOcZp/Dj1d2Je2GJHuieHtUERxGLohLrVLgkh7bC3l5IOmNT3WSZOrz4z leP1bmTkevhhWrE9nxvtYGwyF2IBbnE= Received: by mail-pj1-f73.google.com with SMTP id 98e67ed59e1d1-2fa0204ad21so2418523a91.0 for <linux-mm@kvack.org>; Thu, 06 Feb 2025 10:51:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1738867896; x=1739472696; 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=3NeQMOnzxPkjyqTJozldr6OrEIjuFMWwE6WQJOgcCAA=; b=UU07Xw/OObHEnQNNUn1sJaYIhYA0Y4n+jjdp3syBY+g6XS45XgO4QOVIShIkmUf9ea 7WjNKM9Mo8pmfLYDlBY7B9zhP8httjGSq67d0TfGK/7nBRZa1Sbgb0lSkFFeUZPSCaih vu6VyNo4WQsVP422VVsfoZSfDx84WKeTY0IiwamQRFVhtqQocvgPpuJZ5yoFceXTuSKY z7zZ6IBESIht3QRZXWUi0VA+3Rvb63JEmmbSVEjCgPvpXn7Gr0ty4cANN7ODjAMYtmiW tSELM5iaW50DH6T9Cx8SGskkbDWMHMTam1XsSB2ep0mW84GT3+wNRE4K9Fd+FQVHBJhw 3bpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738867896; x=1739472696; 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=3NeQMOnzxPkjyqTJozldr6OrEIjuFMWwE6WQJOgcCAA=; b=QKErz2O9OL2urRbV6z5an1y3g8cK4r/+xUKYyTmsU3T+gUcrqtoimwGN4DiytdcMP+ qmR5oxnQPd7h6P6hB1nmwVNZJmYulT5xiXDeFsE1pjCcNMEY27vOxOmm5GUW26/UhZIq Fu+ye0nElHDWp+5BoAVpGwgp68bORJyUXs2sAnSJDCcf6jlKTsvgefCBFZuh9UMv9ylj bJZQiQS9ktnRuY9DSjvlrhNMT15vXdCMX8pcyKO8EofopG6/15HrPx9aXOsk+9s+ZU4B 2lU6SIY854i+NED92lHlt85OHSxjw5Gc0NsxbIFCRvPaO/quy7n2wtxar4fut40DnU0M jO6g== X-Forwarded-Encrypted: i=1; AJvYcCViqPlNE5VBoQncvStPWeksl+8/YH3b7FWH9ChSb8R/hf6JQeOTcv6LuQKmu3NPzXt5RWqd/qRvqw==@kvack.org X-Gm-Message-State: AOJu0YwTYqiO6UnVpQgiWAxYcvWGaDzqfVYsg2asaOyig266tXVI9pUC kjwH3/yIOWr0L4jRCxGAzGwKLsSa5QdPN+liVNBIa9MjcNl/tl8bVbBefPDefg4/6sqOHQ== X-Google-Smtp-Source: AGHT+IH7ZN2LcrXXo7ZGhTfjqav29224bEfR3b4dopinjdsKyhAOEliIZ1YG+HBMVTQXtNzOsKEFpkdd X-Received: from pjuw5.prod.google.com ([2002:a17:90a:d605:b0:2ef:eb2f:ebe]) (user=fvdl job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90a:f94e:b0:2f2:a664:df19 with SMTP id 98e67ed59e1d1-2fa23f436d6mr217716a91.7.1738867896108; Thu, 06 Feb 2025 10:51:36 -0800 (PST) Date: Thu, 6 Feb 2025 18:50:52 +0000 In-Reply-To: <20250206185109.1210657-1-fvdl@google.com> Mime-Version: 1.0 References: <20250206185109.1210657-1-fvdl@google.com> X-Mailer: git-send-email 2.48.1.502.g6dc24dfdaf-goog Message-ID: <20250206185109.1210657-13-fvdl@google.com> Subject: [PATCH v3 12/28] mm/hugetlb: set migratetype for bootmem folios From: Frank van der Linden <fvdl@google.com> 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 <fvdl@google.com> Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 3E32580002 X-Stat-Signature: 1ggdw735z9fb3rp6nz5o5qa4qq6i1qoc X-Rspam-User: X-Rspamd-Server: rspam01 X-HE-Tag: 1738867897-141534 X-HE-Meta: U2FsdGVkX19cAz0A76xgOrEPFfzr0iKarSIpk+rL92a7e4bZUt/1i6WP7rXCH7Tb3wrKnxHet406hNNvu9kUxoVym49ep15hifQFp8hJZG58evyMro4O5EtRTdZgVQX04M1XLJzChFMRkWYICoEiBuhjBBteLpvpGmwNiTilqWRDa8fBDdA/PW+MWRvPxdfRmbju4jm+3KQWiXBdlJVczNgYFATpUcNMwu0Y8qKhaMvjKDtKISGTUR4LReezcBvDMgHMAtzMYkZxEJS5BgJy+UVK1sOyOY0znkASobcSGDTgKfmm2y4i/E1eIEarAV41fWmOw0lU42VLGptlzcSbcbR3aXA3gQJpcFmT4FN3wq3hW4hJqIJsPSfz+ERsN4NAM4BqiExtbB2E271Wqk+2WejFJn9lhaPjToh7WNTo5go5Mf3Jx4cOMhGub45nRw5/vNtTg1cWrNnOoA+Cs6ApQINEvszk7LCVj/0j0ejmJVFcpKxoOI3sSaA5rPg4m86TmOb1nr7Xn4VBTZ2NTzqU80Y4SBLEBxkuyN86CoEzqZX7oZl8tVzbPq9sAmDVGpaPx0ToI4UmLu7jg7SwTh5jjOP5SNp5WJWllQ5IrsAPAYDV0idwoxaFVu8uF5DGoJXs0sNONyTwLCX1eNukfPbCHE7iATwXqkSCq6VluVIl63FTdwc6JxrHg8CoqU/bvW/EjAN4p8Y8Sb6hVAptu2IUxgK/2Oxw4T9aqbdlK6wIQnxj0YLzoJYh0+FUb2yOR+eKGlLiEp72j49R6bzJ8dnNL9I7TorJfZzBbLkyH174t7xgmVP4MtoZikW2N2Jjc0NkD3GDBKnCplIPotWgzVqPa5APKLVXWXRFVfJykHr63bSp6Jc2OM6pci8oEsGO7p8MR+97UhSL1osl4RdpA6HG++FGgvmcVWOXT1oqyMzWg8i8tc6OFGRzTe5VBFRi/Yf1lFHzMiG6FxJZy2ogr12 4x5s76Qu un/WzNy4vmmP1fN5HfuBRONfq2oac9hzeyKm4mGZjGncclLqU9SwQMO+MBOyn0Jr2f/5WZy0Au8WMjC9YafvxrsUEH8mLKdkF3SSyyH/4H/dqbczfqmR0OBeDKbXX/SSkmMlFEdbx57iYrODRQHwDmZVue4EZ3UyFjae+/gHpHgVp+NEdWjCwmCZWYhVHP8Tz1LkP1yoRu4y4fKe6MldDvSVLNJWz5VNf38pKUKQnSHoqVKBdQcxu7RrhtcujozYDNunSqd3KimdgW7c5NRy3fdGsiSGzgHEaRIwwMzA3pVtMJxm9ezEH+SUmoaLTlF63ymPdLzzytgPviXT2r+NkL49xPi093Rdd7ywSITx0XzUE6asr4qO6TEsWMGDUVInt4GMelfZjd/ZMLrevdd/Rr/W2jEnHXZyFXdNbVJADTUD3khQP0oBv3o38Au7au3lHzpGWm1GBt6bElyL44sxCf7dkaeIxAKt08gWm7+XwPkNB0IIQVY0i4pS3KiQH/9U6QGnD1izXkZtpb4g/SrHIpS0B3Q== 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: <linux-mm.kvack.org> List-Subscribe: <mailto:majordomo@kvack.org> List-Unsubscribe: <mailto:majordomo@kvack.org> |
Series |
hugetlb/CMA improvements for large systems
|
expand
|
diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 5a4b322e2bb2..de8adfb487f4 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -3258,6 +3258,26 @@ static void __init hugetlb_folio_init_vmemmap(struct folio *folio, prep_compound_head((struct page *)folio, huge_page_order(h)); } +/* + * memblock-allocated pageblocks might not have the migrate type set + * if marked with the 'noinit' flag. Set it to the default (MIGRATE_MOVABLE) + * here. + * + * Note that this will not write the page struct, it is ok (and necessary) + * to do this on vmemmap optimized folios. + */ +static void __init hugetlb_bootmem_init_migratetype(struct folio *folio, + struct hstate *h) +{ + unsigned long nr_pages = pages_per_huge_page(h), i; + + WARN_ON_ONCE(!pageblock_aligned(folio_pfn(folio))); + + for (i = 0; i < nr_pages; i += pageblock_nr_pages) + set_pageblock_migratetype(folio_page(folio, i), + MIGRATE_MOVABLE); +} + static void __init prep_and_add_bootmem_folios(struct hstate *h, struct list_head *folio_list) { @@ -3279,6 +3299,7 @@ static void __init prep_and_add_bootmem_folios(struct hstate *h, HUGETLB_VMEMMAP_RESERVE_PAGES, pages_per_huge_page(h)); } + hugetlb_bootmem_init_migratetype(folio, h); /* Subdivide locks to achieve better parallel performance */ spin_lock_irqsave(&hugetlb_lock, flags); __prep_account_new_huge_page(h, folio_nid(folio));
The pageblocks that back memblock allocated hugetlb folios might not have the migrate type set, in the CONFIG_DEFERRED_STRUCT_PAGE_INIT case. memblock allocated hugetlb folios might be given to the buddy allocator eventually (if nr_hugepages is lowered), so make sure that the migrate type for the pageblocks contained in them is set when initializing them. Set it to the default that memmap init also uses (MIGRATE_MOVABLE). Signed-off-by: Frank van der Linden <fvdl@google.com> --- mm/hugetlb.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+)