Merge tag 'media/v4.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab...
[linux-2.6-microblaze.git] / mm / swap.c
index 844baed..c4910f1 100644 (file)
--- a/mm/swap.c
+++ b/mm/swap.c
@@ -209,9 +209,10 @@ static void pagevec_move_tail_fn(struct page *page, struct lruvec *lruvec,
 {
        int *pgmoved = arg;
 
-       if (PageLRU(page) && !PageActive(page) && !PageUnevictable(page)) {
-               enum lru_list lru = page_lru_base_type(page);
-               list_move_tail(&page->lru, &lruvec->lists[lru]);
+       if (PageLRU(page) && !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));
                (*pgmoved)++;
        }
 }
@@ -235,7 +236,7 @@ static void pagevec_move_tail(struct pagevec *pvec)
  */
 void rotate_reclaimable_page(struct page *page)
 {
-       if (!PageLocked(page) && !PageDirty(page) && !PageActive(page) &&
+       if (!PageLocked(page) && !PageDirty(page) &&
            !PageUnevictable(page) && PageLRU(page)) {
                struct pagevec *pvec;
                unsigned long flags;
@@ -971,12 +972,6 @@ EXPORT_SYMBOL(pagevec_lookup_tag);
 void __init swap_setup(void)
 {
        unsigned long megs = totalram_pages >> (20 - PAGE_SHIFT);
-#ifdef CONFIG_SWAP
-       int i;
-
-       for (i = 0; i < MAX_SWAPFILES; i++)
-               spin_lock_init(&swapper_spaces[i].tree_lock);
-#endif
 
        /* Use a smaller cluster for small-memory machines */
        if (megs < 16)