diff options
| author | Kirill A. Shutemov <[email protected]> | 2024-08-09 11:48:49 +0000 |
|---|---|---|
| committer | Andrew Morton <[email protected]> | 2024-09-02 03:26:06 +0000 |
| commit | 4be9064baac0cdda43997e10cf9f706614057446 (patch) | |
| tree | 550f1496bb964573a6277f112dd509452cd4e8ea /mm/mm_init.c | |
| parent | mm: reduce deferred struct page init ifdeffery (diff) | |
| download | kernel-4be9064baac0cdda43997e10cf9f706614057446.tar.gz kernel-4be9064baac0cdda43997e10cf9f706614057446.zip | |
mm: accept memory in __alloc_pages_bulk()
Currently, the kernel only accepts memory in get_page_from_freelist(), but
there is another path that directly takes pages from free lists -
__alloc_page_bulk(). This function can consume all accepted memory and
will resort to __alloc_pages_noprof() if necessary.
Conditionally accepted in __alloc_pages_bulk().
The same issue may arise due to deferred page initialization. Kick the
deferred initialization machinery before abandoning the zone, as the
kernel does in get_page_from_freelist().
Link: https://lkml.kernel.org/r/[email protected]
Signed-off-by: Kirill A. Shutemov <[email protected]>
Acked-by: David Hildenbrand <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: Johannes Weiner <[email protected]>
Cc: Matthew Wilcox <[email protected]>
Cc: Mel Gorman <[email protected]>
Cc: Mike Rapoport (Microsoft) <[email protected]>
Cc: Tom Lendacky <[email protected]>
Cc: Vlastimil Babka <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Diffstat (limited to 'mm/mm_init.c')
0 files changed, 0 insertions, 0 deletions
