diff options
author | Matthew Wilcox (Oracle) <willy@infradead.org> | 2022-01-17 14:40:12 -0500 |
---|---|---|
committer | Matthew Wilcox (Oracle) <willy@infradead.org> | 2022-03-21 12:59:01 -0400 |
commit | 06d20bdb986815a75fb1addf34655756ba922e3a (patch) | |
tree | d7162d908b5af818921ab377cbdd415ddb1d431f | |
parent | 3ecb0087ecee6213544a1e0b838826a0f4831ce5 (diff) | |
download | linux-06d20bdb986815a75fb1addf34655756ba922e3a.tar.gz linux-06d20bdb986815a75fb1addf34655756ba922e3a.tar.bz2 linux-06d20bdb986815a75fb1addf34655756ba922e3a.zip |
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.h | 4 |
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); |