summaryrefslogtreecommitdiff
path: root/mm/page_alloc.c
diff options
context:
space:
mode:
authorMel Gorman <mgorman@suse.de>2014-06-04 23:10:05 (GMT)
committerLinus Torvalds <torvalds@linux-foundation.org>2014-06-04 23:54:08 (GMT)
commit65bb371984d6a2c909244eb749e482bb40b72e36 (patch)
tree03a55a0eb6bc7fbf4778539d26fc3be8f8ec9d52 /mm/page_alloc.c
parent0bd62b1190607e4f1b3c2927ba48672a1cf2a83d (diff)
downloadlinux-65bb371984d6a2c909244eb749e482bb40b72e36.tar.xz
mm: page_alloc: do not update zlc unless the zlc is active
The zlc is used on NUMA machines to quickly skip over zones that are full. However it is always updated, even for the first zone scanned when the zlc might not even be active. As it's a write to a bitmap that potentially bounces cache line it's deceptively expensive and most machines will not care. Only update the zlc if it was active. Signed-off-by: Mel Gorman <mgorman@suse.de> Acked-by: Johannes Weiner <hannes@cmpxchg.org> Reviewed-by: Rik van Riel <riel@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/page_alloc.c')
-rw-r--r--mm/page_alloc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index d88d675..8e76624 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -2035,7 +2035,7 @@ try_this_zone:
if (page)
break;
this_zone_full:
- if (IS_ENABLED(CONFIG_NUMA))
+ if (IS_ENABLED(CONFIG_NUMA) && zlc_active)
zlc_mark_zone_full(zonelist, z);
}