2017-10-19 17:09:38

by Anshuman Khandual

[permalink] [raw]
Subject: [PATCH] mm/swap: Use page flags to determine LRU list in __activate_page()

Its already assumed that the PageActive flag is clear on the input
page, hence page_lru(page) will pick the base LRU for the page. In
the same way page_lru(page) will pick active base LRU, once the
flag PageActive is set on the page. This change of LRU list should
happen implicitly through the page flags instead of being hard
coded.

Signed-off-by: Anshuman Khandual <[email protected]>
---
mm/swap.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/mm/swap.c b/mm/swap.c
index fcd82bc..494276b 100644
--- a/mm/swap.c
+++ b/mm/swap.c
@@ -275,12 +275,10 @@ static void __activate_page(struct page *page, struct lruvec *lruvec,
{
if (PageLRU(page) && !PageActive(page) && !PageUnevictable(page)) {
int file = page_is_file_cache(page);
- int lru = page_lru_base_type(page);

- del_page_from_lru_list(page, lruvec, lru);
+ del_page_from_lru_list(page, lruvec, page_lru(page));
SetPageActive(page);
- lru += LRU_ACTIVE;
- add_page_to_lru_list(page, lruvec, lru);
+ add_page_to_lru_list(page, lruvec, page_lru(page));
trace_mm_lru_activate(page);

__count_vm_event(PGACTIVATE);
--
1.8.5.2


From 1583027567676389481@xxx Fri Nov 03 07:05:33 +0000 2017
X-GM-THRID: 1583027567676389481
X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread