Thread (49 messages) 49 messages, 8 authors, 2021-03-02

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

From: Yu Zhao <hidden>
Date: 2021-01-27 03:42:36
Also in: lkml

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:
quoted
+++ 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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help