Re: [PATCH v2 03/10] mm: don't pass "enum lru_list" to lru list addition functions

From: Yu Zhao
Date: Tue Jan 26 2021 - 22:42:35 EST


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.