mirror of
https://github.com/torvalds/linux.git
synced 2026-09-22 12:44:03 +02:00
mm/page_alloc: relax GFP WARN in nolock allocs
This WARN forbids setting other flags than __GFP_ACCOUNT but we unconditionally set the ones in gfp_nolock so they are certainly fine for the caller to set. There are other GFP flags that are almost certainly fine to set here; Willy noted GFP_HIGHMEM, GFP_DMA, GFP_MOVABLE and GFP_HARDWALL. But, nolock allocation is rather special, so be conservative to try and ensure we have a chance to think carefully before nontrivial new usecases arise. Link: https://lore.kernel.org/20260703-alloc-trylock-v5-6-c87b714e19d3@google.com Signed-off-by: Brendan Jackman <jackmanb@google.com> Suggested-by: Matthew Wilcox <willy@infradead.org> Link: https://lore.kernel.org/linux-mm/ajS96fWbG4dzP3u3@casper.infradead.org/ Reviewed-by: Suren Baghdasaryan <surenb@google.com> Reviewed-by: Vlastimil Babka (SUSE) <vbabka@kernel.org> Acked-by: Harry Yoo (Oracle) <harry@kernel.org> Acked-by: Zi Yan <ziy@nvidia.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
2fc4c1d51d
commit
ba26999e7c
|
|
@ -5355,7 +5355,8 @@ struct page *__alloc_frozen_pages_noprof(gfp_t gfp, unsigned int order,
|
|||
return NULL;
|
||||
|
||||
if (alloc_flags & ALLOC_NOLOCK) {
|
||||
VM_WARN_ON_ONCE(gfp & ~__GFP_ACCOUNT);
|
||||
/* Certain other flags could be supported later if needed. */
|
||||
VM_WARN_ON_ONCE(gfp & ~(__GFP_ACCOUNT | gfp_nolock));
|
||||
if (!alloc_nolock_allowed())
|
||||
return NULL;
|
||||
gfp |= gfp_nolock;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user