diff --git a/mm/vmscan.c b/mm/vmscan.c index ece2ecb081025dd5f1ebf74ed24c0ce70bd5a4bf..ca81d0d05c09575ecf810c09b2b9a27448e6b3b9 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -1278,10 +1278,6 @@ static void move_active_pages_to_lru(struct zone *zone, VM_BUG_ON(PageLRU(page)); SetPageLRU(page); - VM_BUG_ON(!PageActive(page)); - if (!is_active_lru(lru)) - ClearPageActive(page); /* we are de-activating */ - list_move(&page->lru, &zone->lru[lru].list); mem_cgroup_add_lru_list(page, lru); pgmoved++; @@ -1363,6 +1359,7 @@ static void shrink_active_list(unsigned long nr_pages, struct zone *zone, } } + ClearPageActive(page); /* we are de-activating */ list_add(&page->lru, &l_inactive); }