Merge tag 'arm-soc/for-3.20/dts' of http://github.com/broadcom/stblinux into fixes
[firefly-linux-kernel-4.4.55.git] / mm / workingset.c
index f7216fa7da273b4ac4dd293f919dbcf08b7775f8..aa017133744b227bed7592ea6cc32f360c3e142c 100644 (file)
@@ -275,7 +275,7 @@ static unsigned long count_shadow_nodes(struct shrinker *shrinker,
 
        /* list_lru lock nests inside IRQ-safe mapping->tree_lock */
        local_irq_disable();
-       shadow_nodes = list_lru_count_node(&workingset_shadow_nodes, sc->nid);
+       shadow_nodes = list_lru_shrink_count(&workingset_shadow_nodes, sc);
        local_irq_enable();
 
        pages = node_present_pages(sc->nid);
@@ -302,6 +302,7 @@ static unsigned long count_shadow_nodes(struct shrinker *shrinker,
 }
 
 static enum lru_status shadow_lru_isolate(struct list_head *item,
+                                         struct list_lru_one *lru,
                                          spinlock_t *lru_lock,
                                          void *arg)
 {
@@ -332,7 +333,7 @@ static enum lru_status shadow_lru_isolate(struct list_head *item,
                goto out;
        }
 
-       list_del_init(item);
+       list_lru_isolate(lru, item);
        spin_unlock(lru_lock);
 
        /*
@@ -376,8 +377,8 @@ static unsigned long scan_shadow_nodes(struct shrinker *shrinker,
 
        /* list_lru lock nests inside IRQ-safe mapping->tree_lock */
        local_irq_disable();
-       ret =  list_lru_walk_node(&workingset_shadow_nodes, sc->nid,
-                                 shadow_lru_isolate, NULL, &sc->nr_to_scan);
+       ret =  list_lru_shrink_walk(&workingset_shadow_nodes, sc,
+                                   shadow_lru_isolate, NULL);
        local_irq_enable();
        return ret;
 }