From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (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 079B733938D for ; Fri, 31 Jul 2026 02:43:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785465804; cv=none; b=XZsCWc+gxP/rfT86OHcMgfSwigSFMg9nV3dBwdTzENCRblUFFNfQSQdSSGmfnwC1vXTJYoin+SX34p1ymll9OCLKFNlbWPV3eAsPHri9CSA+OMQDDwWkROZsY/8xlmWXXAWibeU9vX6cayR0rhfqnpfrn5UrRFdDxjmmFlqzZiM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785465804; c=relaxed/simple; bh=LIuW+3ClANH5bn8eZ5omIe5KoW/acELZLg3MJF1J0BQ=; h=Date:To:From:Subject:Message-Id; b=okRTPs94fTHyGCDIJlTShruKGGk0VOpUuYXXywEyPdGESIHAUZymqHP8JqaiRLOgnfNEqYToILrK0cm+IR/kHHZ1tdnfcrQher97rMVRJLG302bj7e9M7+O78SJxOUOhzbHfgEJMvr03PmUJ65EyznFnpeJDNkGcLmV27Lfamn0= 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=yx1jxafp; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b="yx1jxafp" Received: by smtp.kernel.org (Postfix) with ESMTPSA id D2B481F00A3D; Fri, 31 Jul 2026 02:43:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=korg; t=1785465802; bh=PBNbVx/KBXrzY4M3n7Jalhn9nBaDBIp3W5dZVk8TveE=; h=Date:To:From:Subject; b=yx1jxafpZhCouyiMtLw2EmfHCxf/nIblEmZbhqt+nL38cREtbk5t60ssIqss0SDq8 xGtJBP9s+H626ah1x/992sTcZNh8GO9e8goBDFeuDfwXok3rzSDYGbhOHpSG9uHm39 ZqkP++Cvhn8Hyj+thijLQ2UnX4UCma6EtrE+F/Mg= Date: Thu, 30 Jul 2026 19:43:22 -0700 To: mm-commits@vger.kernel.org,ziy@nvidia.com,vbabka@kernel.org,jackmanb@google.com,akpm@linux-foundation.org From: Andrew Morton Subject: [merged mm-stable] mm-move-some-stuff-to-mm-page_alloch.patch removed from -mm tree Message-Id: <20260731024322.D2B481F00A3D@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: move some stuff to mm/page_alloc.h has been removed from the -mm tree. Its filename was mm-move-some-stuff-to-mm-page_alloch.patch This patch was dropped because it was merged into the mm-stable branch of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm ------------------------------------------------------ From: Brendan Jackman Subject: mm: move some stuff to mm/page_alloc.h Date: Fri, 03 Jul 2026 12:31:47 +0000 Some of this stuff in the public header is only used internally so shrink the scope to avoid silently growing new users. drain_local_pages() is still used from kernel/power/snapshot.c so that needs to stay behind. Link: https://lore.kernel.org/20260703-alloc-trylock-v5-7-c87b714e19d3@google.com Signed-off-by: Brendan Jackman Reviewed-by: Vlastimil Babka (SUSE) Reviewed-by: Zi Yan Signed-off-by: Andrew Morton --- include/linux/gfp.h | 26 -------------------------- mm/page_alloc.h | 27 +++++++++++++++++++++++++++ mm/vmstat.c | 1 + 3 files changed, 28 insertions(+), 26 deletions(-) --- a/include/linux/gfp.h~mm-move-some-stuff-to-mm-page_alloch +++ a/include/linux/gfp.h @@ -17,28 +17,6 @@ struct mempolicy; #define __default_gfp(a,b,...) b #define default_gfp(...) __default_gfp(,##__VA_ARGS__,GFP_KERNEL) -/* Convert GFP flags to their corresponding migrate type */ -#define GFP_MOVABLE_MASK (__GFP_RECLAIMABLE|__GFP_MOVABLE) -#define GFP_MOVABLE_SHIFT 3 - -static inline int gfp_migratetype(const gfp_t gfp_flags) -{ - VM_WARN_ON((gfp_flags & GFP_MOVABLE_MASK) == GFP_MOVABLE_MASK); - BUILD_BUG_ON((1UL << GFP_MOVABLE_SHIFT) != ___GFP_MOVABLE); - BUILD_BUG_ON((___GFP_MOVABLE >> GFP_MOVABLE_SHIFT) != MIGRATE_MOVABLE); - BUILD_BUG_ON((___GFP_RECLAIMABLE >> GFP_MOVABLE_SHIFT) != MIGRATE_RECLAIMABLE); - BUILD_BUG_ON(((___GFP_MOVABLE | ___GFP_RECLAIMABLE) >> - GFP_MOVABLE_SHIFT) != MIGRATE_HIGHATOMIC); - - if (unlikely(page_group_by_mobility_disabled)) - return MIGRATE_UNMOVABLE; - - /* Group based on mobility */ - return (__force unsigned long)(gfp_flags & GFP_MOVABLE_MASK) >> GFP_MOVABLE_SHIFT; -} -#undef GFP_MOVABLE_MASK -#undef GFP_MOVABLE_SHIFT - static inline bool gfpflags_allow_blocking(const gfp_t gfp_flags) { return !!(gfp_flags & __GFP_DIRECT_RECLAIM); @@ -395,10 +373,6 @@ extern void free_pages(unsigned long add #define __free_page(page) __free_pages((page), 0) #define free_page(addr) free_pages((addr), 0) -void page_alloc_init_cpuhp(void); -bool decay_pcp_high(struct zone *zone, struct per_cpu_pages *pcp); -void drain_zone_pages(struct zone *zone, struct per_cpu_pages *pcp); -void drain_all_pages(struct zone *zone); void drain_local_pages(struct zone *zone); void page_alloc_init_late(void); --- a/mm/page_alloc.h~mm-move-some-stuff-to-mm-page_alloch +++ a/mm/page_alloc.h @@ -266,6 +266,33 @@ static inline bool free_area_empty(struc return list_empty(&area->free_list[migratetype]); } +/* Convert GFP flags to their corresponding migrate type */ +#define GFP_MOVABLE_MASK (__GFP_RECLAIMABLE|__GFP_MOVABLE) +#define GFP_MOVABLE_SHIFT 3 + +static inline int gfp_migratetype(const gfp_t gfp_flags) +{ + VM_WARN_ON((gfp_flags & GFP_MOVABLE_MASK) == GFP_MOVABLE_MASK); + BUILD_BUG_ON((1UL << GFP_MOVABLE_SHIFT) != ___GFP_MOVABLE); + BUILD_BUG_ON((___GFP_MOVABLE >> GFP_MOVABLE_SHIFT) != MIGRATE_MOVABLE); + BUILD_BUG_ON((___GFP_RECLAIMABLE >> GFP_MOVABLE_SHIFT) != MIGRATE_RECLAIMABLE); + BUILD_BUG_ON(((___GFP_MOVABLE | ___GFP_RECLAIMABLE) >> + GFP_MOVABLE_SHIFT) != MIGRATE_HIGHATOMIC); + + if (unlikely(page_group_by_mobility_disabled)) + return MIGRATE_UNMOVABLE; + + /* Group based on mobility */ + return (__force unsigned long)(gfp_flags & GFP_MOVABLE_MASK) >> GFP_MOVABLE_SHIFT; +} +#undef GFP_MOVABLE_MASK +#undef GFP_MOVABLE_SHIFT + +bool decay_pcp_high(struct zone *zone, struct per_cpu_pages *pcp); +void drain_zone_pages(struct zone *zone, struct per_cpu_pages *pcp); +void drain_all_pages(struct zone *zone); + +void page_alloc_init_cpuhp(void); void page_alloc_sysctl_init(void); #endif /* __MM_PAGE_ALLOC_H */ --- a/mm/vmstat.c~mm-move-some-stuff-to-mm-page_alloch +++ a/mm/vmstat.c @@ -30,6 +30,7 @@ #include #include "internal.h" +#include "page_alloc.h" #ifdef CONFIG_PROC_FS #ifdef CONFIG_NUMA _ Patches currently in -mm which might be from jackmanb@google.com are mm-secretmem-dont-allow-highmem-folios.patch mm-page_alloc-dont-spin_trylock-in-nmi-on-up.patch mm-page_alloc-dont-spin_trylock-when-disallowed-in-free_one_page.patch mm-page_alloc-rename-fpi_trylock-fpi_nolock.patch cgroup-cpuset-update-some-comments-about-the-page-allocator.patch mm-page_alloc-fixup-alloc_pages_nolock_noprof-comment.patch mm-page_alloc-remove-a-couple-of-vm_bug_onst.patch