mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2025-07-05 13:25:20 +02:00
mm: reduce deferred struct page init ifdeffery
Patch series "mm: Fix several issues with unaccepted memory", v2. The patchset addresses several issues related to unaccepted memory. Pacth 1/7 preparatory cleanup. Patch 2/7 ensures that __alloc_pages_bulk() will not exhaust all accepted memory without accepting more. Patches 3/7-5/7 are preparations for patch 6/7, which fixes alloc_config_page() on machines with unaccepted memory. This allows, for example, the allocation of gigantic pages at runtime. Patch 7/7 enables the kernel to accept memory up to the promo watermark. This patch (of 7): Add dummy _deferred_grow_zone() for !DEFERRED_STRUCT_PAGE_INIT and remove #ifdefs in two places. No functional changes. Link: https://lkml.kernel.org/r/20240809114854.3745464-1-kirill.shutemov@linux.intel.com Link: https://lkml.kernel.org/r/20240809114854.3745464-3-kirill.shutemov@linux.intel.com Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Suggested-by: David Hildenbrand <david@redhat.com> Cc: Borislav Petkov <bp@alien8.de> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: Matthew Wilcox <willy@infradead.org> Cc: Mel Gorman <mgorman@suse.de> Cc: Mike Rapoport (Microsoft) <rppt@kernel.org> Cc: Tom Lendacky <thomas.lendacky@amd.com> Cc: Vlastimil Babka <vbabka@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
727d50a7e0
commit
3a80b8228f
|
@ -322,6 +322,11 @@ static inline bool deferred_pages_enabled(void)
|
|||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline bool _deferred_grow_zone(struct zone *zone, unsigned int order)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
#endif /* CONFIG_DEFERRED_STRUCT_PAGE_INIT */
|
||||
|
||||
/* Return a pointer to the bitmap storing bits affecting a block of pages */
|
||||
|
@ -3395,7 +3400,6 @@ check_alloc_wmark:
|
|||
if (cond_accept_memory(zone, order))
|
||||
goto try_this_zone;
|
||||
|
||||
#ifdef CONFIG_DEFERRED_STRUCT_PAGE_INIT
|
||||
/*
|
||||
* Watermark failed for this zone, but see if we can
|
||||
* grow this zone if it contains deferred pages.
|
||||
|
@ -3404,7 +3408,6 @@ check_alloc_wmark:
|
|||
if (_deferred_grow_zone(zone, order))
|
||||
goto try_this_zone;
|
||||
}
|
||||
#endif
|
||||
/* Checked here to keep the fast path fast */
|
||||
BUILD_BUG_ON(ALLOC_NO_WATERMARKS < NR_WMARK);
|
||||
if (alloc_flags & ALLOC_NO_WATERMARKS)
|
||||
|
@ -3450,13 +3453,11 @@ try_this_zone:
|
|||
if (cond_accept_memory(zone, order))
|
||||
goto try_this_zone;
|
||||
|
||||
#ifdef CONFIG_DEFERRED_STRUCT_PAGE_INIT
|
||||
/* Try again if zone has deferred pages */
|
||||
if (deferred_pages_enabled()) {
|
||||
if (_deferred_grow_zone(zone, order))
|
||||
goto try_this_zone;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user