linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mel Gorman <mgorman@suse.de>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Robert Haas <robertmhaas@gmail.com>,
	Josh Berkus <josh@agliodbs.com>,
	Andres Freund <andres@2ndquadrant.com>,
	Christoph Lameter <cl@linux.com>, Linux-MM <linux-mm@kvack.org>,
	LKML <linux-kernel@vger.kernel.org>, Mel Gorman <mgorman@suse.de>
Subject: [PATCH 1/2] mm: Disable zone_reclaim_mode by default
Date: Mon,  7 Apr 2014 23:34:27 +0100	[thread overview]
Message-ID: <1396910068-11637-2-git-send-email-mgorman@suse.de> (raw)
In-Reply-To: <1396910068-11637-1-git-send-email-mgorman@suse.de>

zone_reclaim_mode causes processes to prefer reclaiming memory from local
node instead of spilling over to other nodes. This made sense initially when
NUMA machines were almost exclusively HPC and the workload was partitioned
into nodes. The NUMA penalties were sufficiently high to justify reclaiming
the memory. On current machines and workloads it is often the case that
zone_reclaim_mode destroys performance but not all users know how to detect
this. Favour the common case and disable it by default. Users that are
sophisticated enough to know they need zone_reclaim_mode will detect it.

Signed-off-by: Mel Gorman <mgorman@suse.de>
---
 Documentation/sysctl/vm.txt | 17 +++++++++--------
 mm/page_alloc.c             |  2 --
 2 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/Documentation/sysctl/vm.txt b/Documentation/sysctl/vm.txt
index d614a9b..ff5da70 100644
--- a/Documentation/sysctl/vm.txt
+++ b/Documentation/sysctl/vm.txt
@@ -751,16 +751,17 @@ This is value ORed together of
 2	= Zone reclaim writes dirty pages out
 4	= Zone reclaim swaps pages
 
-zone_reclaim_mode is set during bootup to 1 if it is determined that pages
-from remote zones will cause a measurable performance reduction. The
-page allocator will then reclaim easily reusable pages (those page
-cache pages that are currently not used) before allocating off node pages.
-
-It may be beneficial to switch off zone reclaim if the system is
-used for a file server and all of memory should be used for caching files
-from disk. In that case the caching effect is more important than
+zone_reclaim_mode is disabled by default.  For file servers or workloads
+that benefit from having their data cached, zone_reclaim_mode should be
+left disabled as the caching effect is likely to be more important than
 data locality.
 
+zone_reclaim may be enabled if it's known that the workload is partitioned
+such that each partition fits within a NUMA node and that accessing remote
+memory would cause a measurable performance reduction.  The page allocator
+will then reclaim easily reusable pages (those page cache pages that are
+currently not used) before allocating off node pages.
+
 Allowing zone reclaim to write out pages stops processes that are
 writing large amounts of data from dirtying pages on other nodes. Zone
 reclaim will write out dirty pages if a zone fills up and so effectively
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 3bac76a..a256f85 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -1873,8 +1873,6 @@ static void __paginginit init_zone_allows_reclaim(int nid)
 	for_each_online_node(i)
 		if (node_distance(nid, i) <= RECLAIM_DISTANCE)
 			node_set(i, NODE_DATA(nid)->reclaim_nodes);
-		else
-			zone_reclaim_mode = 1;
 }
 
 #else	/* CONFIG_NUMA */
-- 
1.8.4.5


  reply	other threads:[~2014-04-07 22:35 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-07 22:34 [PATCH 0/2] Disable zone_reclaim_mode by default Mel Gorman
2014-04-07 22:34 ` Mel Gorman [this message]
2014-04-07 23:35   ` [PATCH 1/2] mm: " Johannes Weiner
2014-04-08  1:17   ` Zhang Yanfei
2014-04-08  7:14   ` Andres Freund
2014-04-08 14:14   ` Christoph Lameter
2014-04-08 14:47     ` Mel Gorman
2014-04-07 22:34 ` [PATCH 2/2] mm: page_alloc: Do not cache reclaim distances Mel Gorman
2014-04-07 23:36   ` Johannes Weiner
2014-04-08  1:17   ` Zhang Yanfei
2014-04-08  7:26 ` [PATCH 0/2] Disable zone_reclaim_mode by default Vlastimil Babka
2014-04-08 14:17   ` Christoph Lameter
2014-04-08 14:26     ` Andres Freund
     [not found]     ` <WM!ea1193ee171854a74828ee30c859d97ff2ce66405ffa3a0b8c31a1233c6a0b55530cdf3cbfcd989c0ec18fef1d533f81!@asav-3.01.com>
2014-04-08 14:46       ` Josh Berkus
2014-04-08 19:53     ` Robert Haas
     [not found]       ` <WM!55d2a092da9f6180473043487a4eb612ae8195f78d2ffdd83f673ed5cb2cb9659cf61e0c8d5bae23f5c914057bcd2ee4!@asav-3.01.com>
2014-04-08 19:56         ` Josh Berkus
2014-04-09 13:08           ` Mel Gorman
2014-04-08 22:58       ` Christoph Lameter
2014-04-08 23:26         ` Mel Gorman
2014-04-10 10:26         ` Jeremy Harris
2014-04-18 15:49 ` Michal Hocko
2014-04-18 16:44   ` Christoph Lameter
2014-04-08  8:22 [PATCH 0/2] Disable zone_reclaim_mode by default v2 Mel Gorman
2014-04-08  8:22 ` [PATCH 1/2] mm: Disable zone_reclaim_mode by default Mel Gorman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1396910068-11637-2-git-send-email-mgorman@suse.de \
    --to=mgorman@suse.de \
    --cc=akpm@linux-foundation.org \
    --cc=andres@2ndquadrant.com \
    --cc=cl@linux.com \
    --cc=josh@agliodbs.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=robertmhaas@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).