From: Zhang Yanfei <zhangyanfei@cn.fujitsu.com>
To: Mel Gorman <mgorman@suse.de>
Cc: Andrew Morton <akpm@linux-foundation.org>,
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>
Subject: Re: [PATCH 1/2] mm: Disable zone_reclaim_mode by default
Date: Tue, 8 Apr 2014 09:17:28 +0800 [thread overview]
Message-ID: <53434E28.4040304@cn.fujitsu.com> (raw)
In-Reply-To: <1396910068-11637-2-git-send-email-mgorman@suse.de>
On 04/08/2014 06:34 AM, Mel Gorman wrote:
> 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>
Reviewed-by: Zhang Yanfei <zhangyanfei@cn.fujitsu.com>
> ---
> 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 */
>
--
Thanks.
Zhang Yanfei
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2014-04-08 4:12 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-07 22:34 [PATCH 0/2] " Mel Gorman
2014-04-07 22:34 ` [PATCH 1/2] mm: " Mel Gorman
2014-04-07 23:35 ` Johannes Weiner
2014-04-08 1:17 ` Zhang Yanfei [this message]
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=53434E28.4040304@cn.fujitsu.com \
--to=zhangyanfei@cn.fujitsu.com \
--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=mgorman@suse.de \
--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