From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7875143E4B5 for ; Tue, 28 Apr 2026 13:13:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777382018; cv=none; b=gkdToi8pbIU5ycmuGcU5uh1byll61d3fZyRB86ge1obqPHMzDHaW3DAQabAAiqEB6hwvQ/lMGv9Gnlo9OQ64KfU6bIWqYALwASmDn3B2AuAUIgQsT9AhUk0PwDC1ccVF3CFBspQIvwqpqJ3bbHNuEwmqvrNHG2GaJejOT9Zu48s= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777382018; c=relaxed/simple; bh=HOX5fbw5fcmdykVeR1uF8Xt/0dSfig6AFBtaw3kyD3Y=; h=Date:To:From:Subject:Message-Id; b=Nphtb0D+LIfv6oGAYD7VdY5b3ppWRybEJkBX2SlK1oK9xV4yKNgBWdusJPNZibulNQyVF3XmwMW+NQIHnCCSkICd4k38QKadj/VE3P023c/yE383CpWX/y95RI11K+tplbvUJNCh7QH9RAKQf2lOFSzHXd+sSJlzWEVaen62wIs= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b=bDr/UnR9; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b="bDr/UnR9" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 317FAC2BCAF; Tue, 28 Apr 2026 13:13:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1777382018; bh=HOX5fbw5fcmdykVeR1uF8Xt/0dSfig6AFBtaw3kyD3Y=; h=Date:To:From:Subject:From; b=bDr/UnR9Yapil8+5GrtR73KdzTjuANrZvrD8hShnKc+37okUlwpLhhXlbJgizdVCD TCrQIseqRBoAuT+2z6CLQy2H9Emr+zYc20OZy6CSeh+7i6QDYM0I8mwIiLvT5u1QUE qnUtNmGkCFBoGLCsd6oGyGriFzG8l5E2LiW8zvbs= Date: Tue, 28 Apr 2026 06:13:37 -0700 To: mm-commits@vger.kernel.org,songmuchun@bytedance.com,akpm@linux-foundation.org From: Andrew Morton Subject: [to-be-updated] mm-mm_init-fix-pageblock-migratetype-for-zone_device-compound-pages.patch removed from -mm tree Message-Id: <20260428131338.317FAC2BCAF@smtp.kernel.org> Precedence: bulk X-Mailing-List: mm-commits@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: The quilt patch titled Subject: mm/mm_init: fix pageblock migratetype for ZONE_DEVICE compound pages has been removed from the -mm tree. Its filename was mm-mm_init-fix-pageblock-migratetype-for-zone_device-compound-pages.patch This patch was dropped because an updated version will be issued ------------------------------------------------------ From: Muchun Song Subject: mm/mm_init: fix pageblock migratetype for ZONE_DEVICE compound pages Date: Sun, 26 Apr 2026 17:26:39 +0800 The memmap_init_zone_device() function only initializes the migratetype of the first pageblock of a compound page. If the compound page size exceeds pageblock_nr_pages (e.g., 1GB hugepages with 2MB pageblocks), subsequent pageblocks in the compound page remain uninitialized. Move the migratetype initialization out of __init_zone_device_page() and into a separate pageblock_migratetype_init_range() function. This iterates over the entire PFN range of the memory, ensuring that all pageblocks are correctly initialized. Also remove the stale confusing comment about MEMINIT_HOTPLUG above the migratetype setting since it is an obsolete relic from commit 966cf44f637e ("mm: defer ZONE_DEVICE page initialization to the point where we init pgmap") and no longer makes sense here. Link: https://lore.kernel.org/20260426092640.375967-6-songmuchun@bytedance.com Fixes: c4386bd8ee3a ("mm/memremap: add ZONE_DEVICE support for compound pages") Signed-off-by: Muchun Song Reviewed-by: Mike Rapoport (Microsoft) Reviewed-by: Oscar Salvador Acked-by: David Hildenbrand (Arm) Cc: "Aneesh Kumar K.V" Cc: Joao Martins Cc: Liam Howlett Cc: Lorenzo Stoakes Cc: Madhavan Srinivasan Cc: Michael Ellerman Cc: Michal Hocko Cc: Nicholas Piggin Cc: Suren Baghdasaryan Cc: Signed-off-by: Andrew Morton --- mm/mm_init.c | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) --- a/mm/mm_init.c~mm-mm_init-fix-pageblock-migratetype-for-zone_device-compound-pages +++ a/mm/mm_init.c @@ -674,6 +674,20 @@ static inline void fixup_hashdist(void) static inline void fixup_hashdist(void) {} #endif /* CONFIG_NUMA */ +#ifdef CONFIG_ZONE_DEVICE +static __meminit void pageblock_migratetype_init_range(unsigned long pfn, + unsigned long nr_pages, int migratetype) +{ + const unsigned long end = pfn + nr_pages; + + for (pfn = pageblock_align(pfn); pfn < end; pfn += pageblock_nr_pages) { + init_pageblock_migratetype(pfn_to_page(pfn), migratetype, false); + if (IS_ALIGNED(pfn, PAGES_PER_SECTION)) + cond_resched(); + } +} +#endif + /* * Initialize a reserved page unconditionally, finding its zone first. */ @@ -1012,21 +1026,6 @@ static void __ref __init_zone_device_pag page->zone_device_data = NULL; /* - * Mark the block movable so that blocks are reserved for - * movable at startup. This will force kernel allocations - * to reserve their blocks rather than leaking throughout - * the address space during boot when many long-lived - * kernel allocations are made. - * - * Please note that MEMINIT_HOTPLUG path doesn't clear memmap - * because this is done early in section_activate() - */ - if (pageblock_aligned(pfn)) { - init_pageblock_migratetype(page, MIGRATE_MOVABLE, false); - cond_resched(); - } - - /* * ZONE_DEVICE pages other than MEMORY_TYPE_GENERIC are released * directly to the driver page allocator which will set the page count * to 1 when allocating the page. @@ -1122,6 +1121,9 @@ void __ref memmap_init_zone_device(struc __init_zone_device_page(page, pfn, zone_idx, nid, pgmap); + if (IS_ALIGNED(pfn, PAGES_PER_SECTION)) + cond_resched(); + if (pfns_per_compound == 1) continue; @@ -1129,6 +1131,8 @@ void __ref memmap_init_zone_device(struc compound_nr_pages(altmap, pgmap)); } + pageblock_migratetype_init_range(start_pfn, nr_pages, MIGRATE_MOVABLE); + pr_debug("%s initialised %lu pages in %ums\n", __func__, nr_pages, jiffies_to_msecs(jiffies - start)); } _ Patches currently in -mm which might be from songmuchun@bytedance.com are mm-memory_hotplug-fix-memory-block-reference-leak-on-remove.patch drivers-base-memory-fix-memory-block-reference-leak-in-poison-accounting.patch drivers-base-memory-fix-locking-for-poison-accounting-lookup.patch mm-sparse-remove-sparse-buffer-pre-allocation-mechanism.patch mm-mm_init-fix-uninitialized-struct-pages-for-zone_device.patch