Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mm: workingset: use cheaper __inc_lruvec_state in irqsafe node reclaim

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>

authored by

Johannes Weiner and committed by
Linus Torvalds
505802a5 2ce7135a

+1 -1
+1 -1
mm/workingset.c
··· 500 500 } 501 501 if (WARN_ON_ONCE(node->exceptional)) 502 502 goto out_invalid; 503 - inc_lruvec_page_state(virt_to_page(node), WORKINGSET_NODERECLAIM); 503 + __inc_lruvec_page_state(virt_to_page(node), WORKINGSET_NODERECLAIM); 504 504 __radix_tree_delete_node(&mapping->i_pages, node, 505 505 workingset_lookup_update(mapping)); 506 506