From patchwork Tue Feb 18 18:16:39 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: 13980410 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 A7E87C021AD for ; Tue, 18 Feb 2025 18:17:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id ABB1028017F; Tue, 18 Feb 2025 13:17:27 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A695C6B00CC; Tue, 18 Feb 2025 13:17:27 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 84B4728017F; Tue, 18 Feb 2025 13:17:27 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 573BE6B00CB for ; Tue, 18 Feb 2025 13:17:27 -0500 (EST) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 021F7A06CE for ; Tue, 18 Feb 2025 18:17:26 +0000 (UTC) X-FDA: 83133872934.23.C0F2DD8 Received: from mail-pl1-f202.google.com (mail-pl1-f202.google.com [209.85.214.202]) by imf23.hostedemail.com (Postfix) with ESMTP id 2060C140009 for ; Tue, 18 Feb 2025 18:17:24 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=bTVELaKr; spf=pass (imf23.hostedemail.com: domain of 3tM60ZwQKCGkMcKSNVVNSL.JVTSPUbe-TTRcHJR.VYN@flex--fvdl.bounces.google.com designates 209.85.214.202 as permitted sender) smtp.mailfrom=3tM60ZwQKCGkMcKSNVVNSL.JVTSPUbe-TTRcHJR.VYN@flex--fvdl.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1739902645; a=rsa-sha256; cv=none; b=IAQvnphNeYWFC6QQFJbJA4f0keYJVrfpd6uEde6W49WW4A6EcYMQEu1pouBUSrLOK0WZzo TuzzzhMmifB+ByWr+lfr7vp39CdvVoECeU65RlBmHF6jTabnNp70hg+4P18e8C/3/H+ash 8qR9FsGIH5ha+/MTP9FfzL2gHhhEoJA= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=bTVELaKr; spf=pass (imf23.hostedemail.com: domain of 3tM60ZwQKCGkMcKSNVVNSL.JVTSPUbe-TTRcHJR.VYN@flex--fvdl.bounces.google.com designates 209.85.214.202 as permitted sender) smtp.mailfrom=3tM60ZwQKCGkMcKSNVVNSL.JVTSPUbe-TTRcHJR.VYN@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=1739902645; 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=Ai+2PcLhfWXOAXIqdyoXE98yT4B7cK2/aFq2Flf4tfI=; b=RguCBOsYCF3/s3wxFyR43XvCrgxn7cHNZBwGaKz8bEqOXO/CykPbi5uEeB77ulBQZiC5cI 1N/pXoqcurtNfMUQPEvYx48BMnUrNx74IlG5Rp0+RaY5fczenk/LHDGhgP0E9KH2zBtrdW r1Cc7YJ7FVGAiComd8mbq63oBIXNoGw= Received: by mail-pl1-f202.google.com with SMTP id d9443c01a7336-22103ae73f9so72604835ad.2 for ; Tue, 18 Feb 2025 10:17:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1739902644; x=1740507444; 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=Ai+2PcLhfWXOAXIqdyoXE98yT4B7cK2/aFq2Flf4tfI=; b=bTVELaKrp65MEQ2FfjBUEIyqo7MTReqnLWjf0LcrgDdxLTOlCX1CYCfsOku7CZJ6DI qkUmH8RJNX7yxwasRC4U0giZ+Q/ZMWZLRNvaz9GRN+C4mK9QlTnfFVB5V7bPr9iIEmrF WRUNVEIe47gvQZUJuYxwMvXc7uYryGyh3Z0jhPFB1S74whhAWK7qPkiq0pCb+4jS9aWG ESbbWejm4ad4SycHT2FS7s//Kn/tBQMVThkVZQmdOI5jTcoaV3naB9nNcPP6q7BEhngg PJTn6iq2SuxghDu4lTt8YEpg+sVgxXsKxWpBqTOvq/R4UkCg80FCbR3SCFfmewfY/Al+ UmKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739902644; x=1740507444; 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=Ai+2PcLhfWXOAXIqdyoXE98yT4B7cK2/aFq2Flf4tfI=; b=g5RdD2/C//WBx3SasTzYLeu3wyATG+92q5nJwuqIrjgjlci6nzoOnn2fZHPCB3vTdB h+k6UwVA23tDk7cLbplQJ3fqQgpmvmrKthHBBwFp2rnV7b5BS1CIqcehHdFv4Q4ryTII NBMkZK+q1eMhUePTSsPCO5AXozfUe0kFHROAB+VDNOnGU1i1QL/GG3DFHSvw98noqVeh C9aFFgEHRSeX5cgWz0Oc+JrF4KKHkwBXpdP/VkXgzF5kqDiDC0EXUpJN/nJNYEj0M01N P9uAE4vti6bc41yVUKsuTa6nAqlJBYBaTPqUTbEWi0dk/mSXe7pIP8urBjHOtWaxoAcq HHYA== X-Forwarded-Encrypted: i=1; AJvYcCVx5u84/0XJhOFGID9agGlc+bEoSDm0hEvkcYUIJMNmcLLxURqVIltUqtfa8i6inB3Vo56srgK8xA==@kvack.org X-Gm-Message-State: AOJu0YwfLMXrCkj9LHPgiPpYbYMWTGhsifoZzqXmWBUSh/nBuNYXx9wE +P4ODEL5FWXhZyjryknzp8gQJYPhqtcY+gYEo2xpa33u44rd9sPifZCEglWGTbfu7auQDQ== X-Google-Smtp-Source: AGHT+IF2lNuKdgyZ+cnrzIuVV9ax0N34a1mxx5ftlrEwON3P4oKuHyNrXFqevuyZxYmpfAFSTaHfDRgc X-Received: from plblb8.prod.google.com ([2002:a17:902:fa48:b0:220:e952:af68]) (user=fvdl job=prod-delivery.src-stubby-dispatcher) by 2002:a17:902:e5d0:b0:220:d601:a6dc with SMTP id d9443c01a7336-2210405ccbamr231723465ad.22.1739902644058; Tue, 18 Feb 2025 10:17:24 -0800 (PST) Date: Tue, 18 Feb 2025 18:16:39 +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-12-fvdl@google.com> Subject: [PATCH v4 11/27] mm/hugetlb: set migratetype for bootmem folios 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-Stat-Signature: 9318n4mm1rk73hjw3wmrf8t3q7aj5nu7 X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 2060C140009 X-Rspam-User: X-HE-Tag: 1739902644-463532 X-HE-Meta: U2FsdGVkX1+HbQLAgG4E32KL7/Yx2U1Nur+m9Dt07gML0p90wakPHWY16SwUUuXlYgtCkdXItfO1Ov+JpQljqvkxmNhka4kZBdA+y6g1K8PD3ljucKHQafZGfiSjf2LqEamOLovNYucoJwH47S3IoU1w3jVqSsIH8zwa/D1c6jnLUBTymCemYbuJfnO1UlWsqx6t+zsLEru5eVZyfovQdIJUao4Q0vj6tRbY1mjKU+uqEP+3627d2hOD2pY+YgIMYM5YH7Vudlu1/8vZeSv17fH1w6XVLutxa8+1pxFlQOM9VeBVmc3SFD7Oa2/vz4Ymh3pARMg4Qz2yZ7O8uOG9RsaI7svYNS+4wc3hCZFO4G566+T8wiuJZxNoT/gFIEaVWl1CZ6ZBZifoHvqFWM4p3kid+VBAhR7Eg97XgvDW8FwJ3F9jljGoaFgCkDGwkBzXcWiYs1TSLtOQrys7Uuq1IlLbQqKx9QXNkhHRcrHOy8skF2BuFSCo+pXZLYa4Qo4Lvjy4Z8OKAmYCNbkds0Q7TEbIY7XRhfKPqXrelJ5gXl3qp/W8NEaTGZjUhVUFY7DW3rwAKxXgQKUjlmI1x0u5Zh1T/9fVGx9MdnTinbmv7DQClC+w3HU2+1M+qruzLIPprGBmmRiMJdUvrFgCun0HDL2xQ7BN9moaCclDE5rNGrCwzkAk/YCXeus7G1yfJ/pxPzPjqu6nghJUE3VYrDdsI4tvGHRMWlPrGzQc603o36FLaY7FS4KarXn9srmQfIOQRKoak+2e02rVhnBgNZDmyPZ5uV6yzvXCQUu5Kskvp4N5MBKdS+eygN6DDn8mTH+RRyXmCoBiYD068Z7Jo/vAJV+lighK5xEoa3oGnrYWZ9yjNaM02+CbKFWl2oE2UuTdfQ8c9l+UWIgSPTLB/F7MeW6T/xwsxr7Df1PYalrQvGo/iJIbwCHPaYgEjF/EUnEz/ME/MLfGnldswvnuVwz vGYqtiV2 TOz0WIOqqDhqbzUlj/BMEAKTyag47XhtSq8sLFmsI2OCaHnQ68GAx/ZY9u0UR5YshlLgUwMDk/egkt1WuA4kKyxCfoQnVX7TG3Fye6ThD3xNuLsQT3NF+Rsjzpavjd3djVq5blA+p3F6dCu/v8kCRNCZUmKnj7lRDV5q9QgnUgrf7M32UzG1LJ8lEdEqxICvplmZSqWb6h6oVDoXdwbCwQpzvJcSUpsmhZd09YNDh0PJs/Vb73+Rp/5IdGWdmw7AJiqXv2RYXbD7WIbhg5w6rlb1+sMv5vurXyEPC4npjT3/xquYqpidUZbaGKq7By4YvwCG2XDzSCM9nZjSvD2fporqiFBe26qmmP92spsqjmtCDFwhWCncfXzR6F3+gEzPAXACOvQkJj89g3GKIZkDq1ovgxeZvQc7aWOvSVg2i7PJT/BP0YFw2Cw4aZT0oJViaOQfQdzi1zAbmrukqFwYQfnbJ28E/v2SN5JibsPk5+TQoZgB8aZdmlAjounULVZP2iE/1I7oE4PUxpSzIFAbKa9Tusg== 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: 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 --- mm/hugetlb.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 1a200f89e21a..19a7a795a388 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -3254,6 +3254,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) { @@ -3275,6 +3295,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));