mm, truncate: do not check mapping for every page being truncated
[sfrench/cifs-2.6.git] / mm / workingset.c
index b997c9de28f6c4074f1ebc1e2f480bbae8ad1df9..b7d616a3bbbe46e1d2036f33948d197a29853f48 100644 (file)
@@ -340,14 +340,8 @@ out:
 
 static struct list_lru shadow_nodes;
 
-void workingset_update_node(struct radix_tree_node *node, void *private)
+void workingset_update_node(struct radix_tree_node *node)
 {
-       struct address_space *mapping = private;
-
-       /* Only regular page cache has shadow entries */
-       if (dax_mapping(mapping) || shmem_mapping(mapping))
-               return;
-
        /*
         * Track non-empty nodes that contain only shadow entries;
         * unlink those that contain pages or are being freed.
@@ -475,7 +469,7 @@ static enum lru_status shadow_lru_isolate(struct list_head *item,
                goto out_invalid;
        inc_lruvec_page_state(virt_to_page(node), WORKINGSET_NODERECLAIM);
        __radix_tree_delete_node(&mapping->page_tree, node,
-                                workingset_update_node, mapping);
+                                workingset_lookup_update(mapping));
 
 out_invalid:
        spin_unlock(&mapping->tree_lock);