The patch titled Subject: mm/readahead.c, mm/vmscan.c: use lru_to_page instead of list_to_page has been added to the -mm tree. Its filename is mm-readaheadc-mm-vmscanc-use-lru_to_page-instead-of-list_to_page.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/mm-readaheadc-mm-vmscanc-use-lru_to_page-instead-of-list_to_page.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/mm-readaheadc-mm-vmscanc-use-lru_to_page-instead-of-list_to_page.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Geliang Tang <geliangtang@xxxxxxx> Subject: mm/readahead.c, mm/vmscan.c: use lru_to_page instead of list_to_page list_to_page() in readahead.c is the same as lru_to_page() in vmscan.c. So I move lru_to_page to internal.h and drop list_to_page(). Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/internal.h | 2 ++ mm/readahead.c | 8 +++----- mm/vmscan.c | 2 -- 3 files changed, 5 insertions(+), 7 deletions(-) diff -puN mm/internal.h~mm-readaheadc-mm-vmscanc-use-lru_to_page-instead-of-list_to_page mm/internal.h --- a/mm/internal.h~mm-readaheadc-mm-vmscanc-use-lru_to_page-instead-of-list_to_page +++ a/mm/internal.h @@ -119,6 +119,8 @@ extern int isolate_lru_page(struct page extern void putback_lru_page(struct page *page); extern bool zone_reclaimable(struct zone *zone); +#define lru_to_page(_head) (list_entry((_head)->prev, struct page, lru)) + /* * in mm/rmap.c: */ diff -puN mm/readahead.c~mm-readaheadc-mm-vmscanc-use-lru_to_page-instead-of-list_to_page mm/readahead.c --- a/mm/readahead.c~mm-readaheadc-mm-vmscanc-use-lru_to_page-instead-of-list_to_page +++ a/mm/readahead.c @@ -32,8 +32,6 @@ file_ra_state_init(struct file_ra_state } EXPORT_SYMBOL_GPL(file_ra_state_init); -#define list_to_page(head) (list_entry((head)->prev, struct page, lru)) - /* * see if a page needs releasing upon read_cache_pages() failure * - the caller of read_cache_pages() may have set PG_private or PG_fscache @@ -64,7 +62,7 @@ static void read_cache_pages_invalidate_ struct page *victim; while (!list_empty(pages)) { - victim = list_to_page(pages); + victim = lru_to_page(pages); list_del(&victim->lru); read_cache_pages_invalidate_page(mapping, victim); } @@ -87,7 +85,7 @@ int read_cache_pages(struct address_spac int ret = 0; while (!list_empty(pages)) { - page = list_to_page(pages); + page = lru_to_page(pages); list_del(&page->lru); if (add_to_page_cache_lru(page, mapping, page->index, mapping_gfp_constraint(mapping, GFP_KERNEL))) { @@ -125,7 +123,7 @@ static int read_pages(struct address_spa } for (page_idx = 0; page_idx < nr_pages; page_idx++) { - struct page *page = list_to_page(pages); + struct page *page = lru_to_page(pages); list_del(&page->lru); if (!add_to_page_cache_lru(page, mapping, page->index, mapping_gfp_constraint(mapping, GFP_KERNEL))) { diff -puN mm/vmscan.c~mm-readaheadc-mm-vmscanc-use-lru_to_page-instead-of-list_to_page mm/vmscan.c --- a/mm/vmscan.c~mm-readaheadc-mm-vmscanc-use-lru_to_page-instead-of-list_to_page +++ a/mm/vmscan.c @@ -106,8 +106,6 @@ struct scan_control { unsigned long nr_reclaimed; }; -#define lru_to_page(_head) (list_entry((_head)->prev, struct page, lru)) - #ifdef ARCH_HAS_PREFETCH #define prefetch_prev_lru_page(_page, _base, _field) \ do { \ _ Patches currently in -mm which might be from geliangtang@xxxxxxx are fsnotify-use-list_next_entry-in-fsnotify_unmount_inodes.patch mm-slab-use-list_first_entry_or_null.patch mm-slab-use-list_for_each_entry-in-cache_flusharray.patch mm-slabc-add-a-helper-function-get_first_slab.patch mm-vmalloc-use-list_nextfirst_entry.patch mm-thp-use-list_first_entry_or_null.patch mm-page_allocc-use-list_firstlast_entry-instead-of-list_entry.patch mm-page_allocc-use-list_for_each_entry-in-mark_free_pages.patch mm-swapfilec-use-list_nextfirst_entry.patch mm-readaheadc-mm-vmscanc-use-lru_to_page-instead-of-list_to_page.patch mm-zbud-use-list_last_entry-instead-of-list_tail_entry.patch dma-mapping-use-offset_in_page-macro.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html