mirror of
https://gitee.com/bianbu-linux/linux-6.6
synced 2025-04-24 14:07:52 -04:00
mm: introduce folio_is_pfmemalloc
Add a folio equivalent for page_is_pfmemalloc. This removes two instances of page_is_pfmemalloc(folio_page(folio, 0)) so the folio can be used directly. Link: https://lkml.kernel.org/r/20230106215251.599222-1-sidhartha.kumar@oracle.com Suggested-by: Matthew Wilcox <willy@infradead.org> Signed-off-by: Sidhartha Kumar <sidhartha.kumar@oracle.com> Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org> Reviewed-by: SeongJae Park <sj@kernel.org> Acked-by: Vlastimil Babka <vbabka@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
17e810229c
commit
02d65d6fb1
3 changed files with 17 additions and 2 deletions
|
@ -1926,6 +1926,21 @@ static inline bool page_is_pfmemalloc(const struct page *page)
|
|||
return (uintptr_t)page->lru.next & BIT(1);
|
||||
}
|
||||
|
||||
/*
|
||||
* Return true only if the folio has been allocated with
|
||||
* ALLOC_NO_WATERMARKS and the low watermark was not
|
||||
* met implying that the system is under some pressure.
|
||||
*/
|
||||
static inline bool folio_is_pfmemalloc(const struct folio *folio)
|
||||
{
|
||||
/*
|
||||
* lru.next has bit 1 set if the page is allocated from the
|
||||
* pfmemalloc reserves. Callers may simply overwrite it if
|
||||
* they do not need to preserve that information.
|
||||
*/
|
||||
return (uintptr_t)folio->lru.next & BIT(1);
|
||||
}
|
||||
|
||||
/*
|
||||
* Only to be called by the page allocator on a freshly allocated
|
||||
* page.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue