aboutsummaryrefslogtreecommitdiffstats
path: root/mm/vmscan.c
diff options
context:
space:
mode:
Diffstat (limited to 'mm/vmscan.c')
-rw-r--r--mm/vmscan.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/mm/vmscan.c b/mm/vmscan.c
index 5bd0dcb..692bec9 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -627,6 +627,8 @@ void putback_lru_page(struct page *page)
int was_unevictable = PageUnevictable(page);
VM_BUG_ON(PageLRU(page));
+ if (active)
+ SetPageWasActive(page);
redo:
ClearPageUnevictable(page);
@@ -1284,6 +1286,7 @@ static unsigned long clear_active_flags(struct list_head *page_list,
if (PageActive(page)) {
lru += LRU_ACTIVE;
ClearPageActive(page);
+ SetPageWasActive(page);
nr_active += numpages;
}
if (count)
@@ -1705,6 +1708,7 @@ static void shrink_active_list(unsigned long nr_pages, struct zone *zone,
}
ClearPageActive(page); /* we are de-activating */
+ SetPageWasActive(page);
list_add(&page->lru, &l_inactive);
}