On Mon, Jun 7, 2021 at 3:53 PM Matthew Wilcox [off-list ref] wrote:
On Sun, Jun 06, 2021 at 03:50:54AM +0200, Matteo Croce wrote:
quoted
And change all the *_pfmemalloc functions to use page->lru.next like this?
@@ -1668,10 +1668,12 @@ struct address_space *page_mapping(struct page *page);
static inline bool page_is_pfmemalloc(const struct page *page)
{
/*
- * Page index cannot be this large so this must be
- * a pfmemalloc page.
+ * This is not a tail page; compound_head of a head page is unused
+ * at return from the page allocator, and will be overwritten
+ * by callers who do not care whether the page came from the
+ * reserves.
*/
The comment doesn't make a lot of sense if we're switching to use
lru.next. How about:
/*
* 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.
*/
Sounds good!
--
per aspera ad upstream