Message ID | 20250228182928.2645936-12-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 8E81DC282D0 for <linux-mm@archiver.kernel.org>; Fri, 28 Feb 2025 18:30:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C1A2228000D; Fri, 28 Feb 2025 13:30:10 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B6589280001; Fri, 28 Feb 2025 13:30:10 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9DFEC28000D; Fri, 28 Feb 2025 13:30:10 -0500 (EST) 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 7E10E280001 for <linux-mm@kvack.org>; Fri, 28 Feb 2025 13:30:10 -0500 (EST) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 4177712114C for <linux-mm@kvack.org>; Fri, 28 Feb 2025 18:30:10 +0000 (UTC) X-FDA: 83170192980.15.BF29438 Received: from mail-pj1-f74.google.com (mail-pj1-f74.google.com [209.85.216.74]) by imf12.hostedemail.com (Postfix) with ESMTP id 7A20940013 for <linux-mm@kvack.org>; Fri, 28 Feb 2025 18:30:08 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=c4q0OIsW; spf=pass (imf12.hostedemail.com: domain of 3rwDCZwQKCPwjzhpksskpi.gsqpmry1-qqozego.svk@flex--fvdl.bounces.google.com designates 209.85.216.74 as permitted sender) smtp.mailfrom=3rwDCZwQKCPwjzhpksskpi.gsqpmry1-qqozego.svk@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=1740767408; 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=kbowoUPJCyiQsizxpkD6Ny3B5kmia3e97FJeeBCM/C8=; b=wyBkQ9gVi/k1tnCp0TZ8MFV6vDmcgVsvqktC7ZStP/0M8ZMHGDpEQ77eUlO4EfPFLqBFXI VSGu8uBivyL9A7fhksQCRA3/bdP6DSR4GtbbftVW9usAdWhFIDwcrrorV0skS9U/7/YjbY 4g9uvrBZp+KfaIQP5jGUi+vZIVglQbo= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=c4q0OIsW; spf=pass (imf12.hostedemail.com: domain of 3rwDCZwQKCPwjzhpksskpi.gsqpmry1-qqozego.svk@flex--fvdl.bounces.google.com designates 209.85.216.74 as permitted sender) smtp.mailfrom=3rwDCZwQKCPwjzhpksskpi.gsqpmry1-qqozego.svk@flex--fvdl.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740767408; a=rsa-sha256; cv=none; b=m1Oxh/csNmBhqWZPSLTrG/lvLlyiDmkqKi1ec8zynBfivUiV+YO8n4Y/SZHcfSw2UJRCyI RDQJBIr7t2/UxgR4Z2m3fvz1MaQpMFe8WX/DLCpsLSwnC8QjwMhCZeku425/7CxGyyY5wQ ByHgDtzbYYC7jI7P1mkwK0Du9oox9yI= Received: by mail-pj1-f74.google.com with SMTP id 98e67ed59e1d1-2fc3e239675so8299656a91.0 for <linux-mm@kvack.org>; Fri, 28 Feb 2025 10:30:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1740767407; x=1741372207; 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=kbowoUPJCyiQsizxpkD6Ny3B5kmia3e97FJeeBCM/C8=; b=c4q0OIsWGnB6CLiny//4NpXn+apbFe6khjR4xQ0wmM4fKTzjJW0D2/SQjcjd4sfBTZ hzAN0y6+csJqcytmIGY8TowwG2EFgQxaoPrC9nXkmoJn5JAAohQTu1RNMZ7M38Ab3gGy ooQK6jiSxg0RTtGT/Lp5Vv9V0iN3G0pMWROxrn84BVInusnZ+4WlIFHxNfHIw/HA244z BBLNTpNPCaXTrzVWAzJVzq9ugJFQUgWnCbZ2LL4qjhfFNtdKVjnbnIW6P2EY41RcQ+Mf nafHaLWidBBLDbJ5yznw9KUzrqFAd710XDQeNLCbYMzuDEJjO3dG1ci/dJATcjcy/xzQ QSgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740767407; x=1741372207; 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=kbowoUPJCyiQsizxpkD6Ny3B5kmia3e97FJeeBCM/C8=; b=AT0qqX0vr2I/rvFX5G3XY5UMZ1DNcJHZ+O2FRRy9sNfYQOV9B7wiKuq6F+Oc0hHIG8 AqjWHrD64rW40/t8pwfE8hcDJetb9ZENrdXJ59IUFW0jHSkhQMl10Cnw9NuK3wfkul+J 4EalEnUYzewmsGcwaTZKBoT0HemoFb1JU62gPOamwvDC50wRLRVrIMo6Kgl9TslGORYt proC3aii967mWylU7xWtBaDdaFXfPBL30rOauU0wrpS6cDa7UNXq/YvXaBVDHIQsS6Ez i+7yRM7rymGItR1+RwDTvgTKA+qx0ipQZ4ua9zKIjAW0ipKz4jrCaTxO5tEb54jA60vp KFmw== X-Forwarded-Encrypted: i=1; AJvYcCVydjNYhtss642iVMiVSfDnEuvns2huNffusNvCqTYvxrE/Bo4mJ2kQzMKblqmkm8C/30wSKzue7w==@kvack.org X-Gm-Message-State: AOJu0YwzvUHG2M8hh4Be77KUGI9RvnqNf6JVdgrx0ksihcNMds3PWlKW eiYOS4A7QaosoVcVtLIfsj3PZJkHwl4vW907mWIaS5H8tt8jSMm0ESp+FOre+OplL22Aww== X-Google-Smtp-Source: AGHT+IGKuB3uJBVlbNU/F3YmwsBG4OICoUNsGFAqYF88KK7BiOQo3YRtYFp6xhdAPgZNqpSARz9qCLce X-Received: from pjbsn4.prod.google.com ([2002:a17:90b:2e84:b0:2fc:13d6:b4cb]) (user=fvdl job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:1804:b0:2fe:8c22:48b0 with SMTP id 98e67ed59e1d1-2febab7876amr7870153a91.15.1740767407364; Fri, 28 Feb 2025 10:30:07 -0800 (PST) Date: Fri, 28 Feb 2025 18:29:12 +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-12-fvdl@google.com> Subject: [PATCH v5 11/27] 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, ziy@nvidia.com, david@redhat.com, Frank van der Linden <fvdl@google.com> Content-Type: text/plain; charset="UTF-8" X-Rspam-User: X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 7A20940013 X-Stat-Signature: pn619wu894enr54xardh98r38zthcqap X-HE-Tag: 1740767408-483364 X-HE-Meta: U2FsdGVkX1/4tFThf6GQJf//FJ+crWk7Z6LT1gd3rnv6yFw7LTHDd7YI5icGpNGzwzJdLpMctU4q5FSaJn20sGPISgGFd4EuzjRj7jfnM7UN2CZOBv0tedsq4U/ps4vvYlIGt8CoxyO5YzYHnodgd81N23nJyyYFKEpxKKr1evrcmLKotxAZL3nWUZbmQnwPfFEonqgm4RDbeBbv5TK97Qvq+CcCbCjplrfpJmW8WCbroDAyiKeJag8mPpVKaCj5IM+kL5UCdyhJednQ834yNEJnHMiIVg4xRcF9OJ166tDsN17QsBFBZfA7dijk9Sve1MS6U+3MYfjrw91u1WEBnrdSAVmi67x1mqdqfNgL7bUPJiQj1D8YSZ38NvpoT/fuA0op+nvWayzjmW/d8AJG4YscGsHQfl+DRefaTGzDuTYIpB53WZ6S1BgjmURn8AOgTuCFF0xwYZJpbjID3NCVL/+im6fb1myVa0Y5UJRqPH4tZ0TXC4WtqrRfrggnDtNiuKHjrri7CSFc30hiZ85Dc0yqMRqgR4jseyLWK2rRIDlWg8IX1or9i1SA5fXM2LUUEp9jJNrkRxx8p0pobrU2rUdXJr9lqjfnwOmpDbfIHCpGZDCyURcbE7ER9pvrupRcnn8aaDOwhDnYX6huGFLpGSsvXj0UbeWzBHYUuQ3BK/xDoNSzcwLpP3Vklhg1acJZR+pWA+r2XVXLzOka7LuCFsedkj91d7mdYp0/YQ2+axIHB9RZMSSL49uNLwJGe//hbzFLERiDch22LdQGaK++zcCqjqnFZWwdZKx/h5l9G1hn3PfAW5xIe/6Sa8+wzDD83V/aQrv0PIbm8Gta0SiHDJYq0OsPqtRtr+FmrU4tdNYYw0sdSjyqrYZ/+p2D1YktU+S/tq3JUWk1bigecj3jS4S5oQBpi5Gii7ksKAsjq2GqX9VXDv97PkJXUGur4pQ5wC9BT1CIpTN+9YQy79J rhnGcnyj W66d3tJO9O2DlD7z5L4OQYf8MRJQIdEurK5O2dktoNuW09/V7GjdWuW2hrNzTZq7hlhjoJdkB99S+j30CapPESuzi62wXW0voDT8Cda7nbBwBjaHNhxgasJ1+JUwCQAG64OXCswzm7l1VMezXzQw3yhJxptE0Sn36j6LxqtIgwrl2hAYCYuondoM+2NrqtVDAwidFP3dBNk5+HnBvGCrJrkFHOrWPNvMs37kLPRuYGIAZxBZ6AXTkuumdDWuyNapMk1CkhgrPPO1JogJHZi5yD/2hfsy7EZzwLbZf2LDi0F0rqB3IYIWhBh7kS3MqidQdjNesbjIdBqqV9cXy/Un2QLOcQraaqbpttG6NkFUiJzILBripXd+TDEYpxbRHCB7ZOLs6lMRurK4KZZFZeWUuBGUfI/REp0fL0184ttZzJAM3iX9HdPkm+uYRNZ4wBjBQgTXmmAr7guOCh7mJw7RxP7JE2U6st0+7RvwB9DRTL+UkNsBz8+as6F2/QLOLegX+dmdLvhLd+QJCwkSD8HQYRGnYTA== 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 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));
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(+)