mm: workingset: use cheaper __inc_lruvec_state in irqsafe node reclaim
authorJohannes Weiner <hannes@cmpxchg.org>
Fri, 26 Oct 2018 22:06:35 +0000 (15:06 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 26 Oct 2018 23:26:32 +0000 (16:26 -0700)
No need to use the preemption-safe lruvec state function inside the
reclaim region that has irqs disabled.

Link: http://lkml.kernel.org/r/20181009184732.762-3-hannes@cmpxchg.org
Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Rik van Riel <riel@surriel.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/workingset.c

index 99b7f7c09b13850198894d819f3f26252adcffae..5a72c9d5e195aac81db295a39d08a45ca796d69a 100644 (file)
@@ -500,7 +500,7 @@ static enum lru_status shadow_lru_isolate(struct list_head *item,
        }
        if (WARN_ON_ONCE(node->exceptional))
                goto out_invalid;
        }
        if (WARN_ON_ONCE(node->exceptional))
                goto out_invalid;
-       inc_lruvec_page_state(virt_to_page(node), WORKINGSET_NODERECLAIM);
+       __inc_lruvec_page_state(virt_to_page(node), WORKINGSET_NODERECLAIM);
        __radix_tree_delete_node(&mapping->i_pages, node,
                                 workingset_lookup_update(mapping));
 
        __radix_tree_delete_node(&mapping->i_pages, node,
                                 workingset_lookup_update(mapping));