summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Wilcox (Oracle) <willy@infradead.org>2022-01-17 22:40:12 +0300
committerMatthew Wilcox (Oracle) <willy@infradead.org>2022-03-21 19:59:01 +0300
commit06d20bdb986815a75fb1addf34655756ba922e3a (patch)
treed7162d908b5af818921ab377cbdd415ddb1d431f
parent3ecb0087ecee6213544a1e0b838826a0f4831ce5 (diff)
downloadlinux-06d20bdb986815a75fb1addf34655756ba922e3a.tar.xz
mm: Add lru_to_folio()
Since page->lru occupies the same bytes as compound_head, any page on the LRU list must be a folio. Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
-rw-r--r--include/linux/mm.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/mm.h b/include/linux/mm.h
index 2ca10c167f35..a583b7375445 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -225,6 +225,10 @@ int overcommit_policy_handler(struct ctl_table *, int, void *, size_t *,
#define PAGE_ALIGNED(addr) IS_ALIGNED((unsigned long)(addr), PAGE_SIZE)
#define lru_to_page(head) (list_entry((head)->prev, struct page, lru))
+static inline struct folio *lru_to_folio(struct list_head *head)
+{
+ return list_entry((head)->prev, struct folio, lru);
+}
void setup_initial_init_mm(void *start_code, void *end_code,
void *end_data, void *brk);