On Tue, Jan 26, 2021 at 10:01:11PM +0000, Matthew Wilcox wrote: > On Fri, Jan 22, 2021 at 03:05:53PM -0700, Yu Zhao wrote: > > +++ b/mm/swap.c > > @@ -231,7 +231,7 @@ static void pagevec_move_tail_fn(struct page *page, struct lruvec *lruvec) > > if (!PageUnevictable(page)) { > > del_page_from_lru_list(page, lruvec, page_lru(page)); > > ClearPageActive(page); > > - add_page_to_lru_list_tail(page, lruvec, page_lru(page)); > > + add_page_to_lru_list_tail(page, lruvec); > > __count_vm_events(PGROTATED, thp_nr_pages(page)); > > } > > Is it profitable to do ... > > - del_page_from_lru_list(page, lruvec, page_lru(page)); > + enum lru_list lru = page_lru(page); > + del_page_from_lru_list(page, lruvec, lru); > ClearPageActive(page); > - add_page_to_lru_list_tail(page, lruvec, page_lru(page)); > + lru &= ~LRU_ACTIVE; > + add_page_to_lru_list_tail(page, lruvec, lru); Ok, now we want to trade readability for size. Sure, I'll see how much we could squeeze.