From: Michal Hocko <mhocko@kernel.org> To: <linux-mm@kvack.org> Cc: Andrew Morton <akpm@linux-foundation.org>, Mel Gorman <mgorman@suse.de>, Johannes Weiner <hannes@cmpxchg.org>, Vlastimil Babka <vbabka@suse.cz>, LKML <linux-kernel@vger.kernel.org>, Michal Hocko <mhocko@suse.com> Subject: [PATCH 3/9] mm, page_alloc: do not set_cpu_numa_mem on empty nodes initialization Date: Fri, 14 Jul 2017 10:00:00 +0200 [thread overview] Message-ID: <20170714080006.7250-4-mhocko@kernel.org> (raw) In-Reply-To: <20170714080006.7250-1-mhocko@kernel.org> From: Michal Hocko <mhocko@suse.com> __build_all_zonelists reinitializes each online cpu local node for CONFIG_HAVE_MEMORYLESS_NODES. This makes sense because previously memory less nodes could gain some memory during memory hotplug and so the local node should be changed for CPUs close to such a node. It makes less sense to do that unconditionally for a newly creaded NUMA node which is still offline and without any memory. Let's also simplify the cpu loop and use for_each_online_cpu instead of an explicit cpu_online check for all possible cpus. Signed-off-by: Michal Hocko <mhocko@suse.com> --- mm/page_alloc.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 7746824a425d..ebc3311555b1 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -5096,10 +5096,8 @@ static int __build_all_zonelists(void *data) build_zonelists(pgdat); } - } #ifdef CONFIG_HAVE_MEMORYLESS_NODES - for_each_possible_cpu(cpu) { /* * We now know the "local memory node" for each node-- * i.e., the node of the first zone in the generic zonelist. @@ -5108,10 +5106,10 @@ static int __build_all_zonelists(void *data) * secondary cpus' numa_mem as they come on-line. During * node/memory hotplug, we'll fixup all on-line cpus. */ - if (cpu_online(cpu)) + for_each_online_cpu(cpu) set_cpu_numa_mem(cpu, local_memory_node(cpu_to_node(cpu))); - } #endif + } return 0; } -- 2.11.0
WARNING: multiple messages have this Message-ID (diff)
From: Michal Hocko <mhocko@kernel.org> To: linux-mm@kvack.org Cc: Andrew Morton <akpm@linux-foundation.org>, Mel Gorman <mgorman@suse.de>, Johannes Weiner <hannes@cmpxchg.org>, Vlastimil Babka <vbabka@suse.cz>, LKML <linux-kernel@vger.kernel.org>, Michal Hocko <mhocko@suse.com> Subject: [PATCH 3/9] mm, page_alloc: do not set_cpu_numa_mem on empty nodes initialization Date: Fri, 14 Jul 2017 10:00:00 +0200 [thread overview] Message-ID: <20170714080006.7250-4-mhocko@kernel.org> (raw) In-Reply-To: <20170714080006.7250-1-mhocko@kernel.org> From: Michal Hocko <mhocko@suse.com> __build_all_zonelists reinitializes each online cpu local node for CONFIG_HAVE_MEMORYLESS_NODES. This makes sense because previously memory less nodes could gain some memory during memory hotplug and so the local node should be changed for CPUs close to such a node. It makes less sense to do that unconditionally for a newly creaded NUMA node which is still offline and without any memory. Let's also simplify the cpu loop and use for_each_online_cpu instead of an explicit cpu_online check for all possible cpus. Signed-off-by: Michal Hocko <mhocko@suse.com> --- mm/page_alloc.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 7746824a425d..ebc3311555b1 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -5096,10 +5096,8 @@ static int __build_all_zonelists(void *data) build_zonelists(pgdat); } - } #ifdef CONFIG_HAVE_MEMORYLESS_NODES - for_each_possible_cpu(cpu) { /* * We now know the "local memory node" for each node-- * i.e., the node of the first zone in the generic zonelist. @@ -5108,10 +5106,10 @@ static int __build_all_zonelists(void *data) * secondary cpus' numa_mem as they come on-line. During * node/memory hotplug, we'll fixup all on-line cpus. */ - if (cpu_online(cpu)) + for_each_online_cpu(cpu) set_cpu_numa_mem(cpu, local_memory_node(cpu_to_node(cpu))); - } #endif + } return 0; } -- 2.11.0 -- 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:[~2017-07-14 8:02 UTC|newest] Thread overview: 115+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-07-14 7:59 [PATCH 0/9] cleanup zonelists initialization Michal Hocko 2017-07-14 7:59 ` Michal Hocko 2017-07-14 7:59 ` Michal Hocko 2017-07-14 7:59 ` [PATCH 1/9] mm, page_alloc: rip out ZONELIST_ORDER_ZONE Michal Hocko 2017-07-14 7:59 ` Michal Hocko 2017-07-14 9:36 ` Mel Gorman 2017-07-14 9:36 ` Mel Gorman 2017-07-14 9:36 ` Mel Gorman 2017-07-14 10:47 ` Michal Hocko 2017-07-14 10:47 ` Michal Hocko 2017-07-14 11:16 ` Mel Gorman 2017-07-14 11:16 ` Mel Gorman 2017-07-14 11:16 ` Mel Gorman 2017-07-14 11:38 ` Michal Hocko 2017-07-14 11:38 ` Michal Hocko 2017-07-14 11:38 ` Michal Hocko 2017-07-14 12:56 ` Mel Gorman 2017-07-14 12:56 ` Mel Gorman 2017-07-14 13:01 ` Mel Gorman 2017-07-14 13:01 ` Mel Gorman 2017-07-14 13:01 ` Mel Gorman 2017-07-14 13:08 ` Michal Hocko 2017-07-14 13:08 ` Michal Hocko 2017-07-19 9:33 ` Vlastimil Babka 2017-07-19 9:33 ` Vlastimil Babka 2017-07-19 9:33 ` Vlastimil Babka 2017-07-19 13:44 ` Michal Hocko 2017-07-19 13:44 ` Michal Hocko 2017-07-19 13:44 ` Michal Hocko 2017-07-14 7:59 ` [PATCH 2/9] mm, page_alloc: remove boot pageset initialization from memory hotplug Michal Hocko 2017-07-14 7:59 ` Michal Hocko 2017-07-14 9:39 ` Mel Gorman 2017-07-14 9:39 ` Mel Gorman 2017-07-19 13:15 ` Vlastimil Babka 2017-07-19 13:15 ` Vlastimil Babka 2017-07-14 8:00 ` Michal Hocko [this message] 2017-07-14 8:00 ` [PATCH 3/9] mm, page_alloc: do not set_cpu_numa_mem on empty nodes initialization Michal Hocko 2017-07-14 9:48 ` Mel Gorman 2017-07-14 9:48 ` Mel Gorman 2017-07-14 10:50 ` Michal Hocko 2017-07-14 10:50 ` Michal Hocko 2017-07-14 12:32 ` Mel Gorman 2017-07-14 12:32 ` Mel Gorman 2017-07-14 12:39 ` Michal Hocko 2017-07-14 12:39 ` Michal Hocko 2017-07-14 12:56 ` Mel Gorman 2017-07-14 12:56 ` Mel Gorman 2017-07-19 13:19 ` Vlastimil Babka 2017-07-19 13:19 ` Vlastimil Babka 2017-07-14 8:00 ` [PATCH 4/9] mm, memory_hotplug: drop zone from build_all_zonelists Michal Hocko 2017-07-14 8:00 ` Michal Hocko 2017-07-19 13:33 ` Vlastimil Babka 2017-07-19 13:33 ` Vlastimil Babka 2017-07-20 8:15 ` Michal Hocko 2017-07-20 8:15 ` Michal Hocko 2017-07-14 8:00 ` [PATCH 5/9] mm, memory_hotplug: remove explicit build_all_zonelists from try_online_node Michal Hocko 2017-07-14 8:00 ` Michal Hocko 2017-07-14 12:14 ` Michal Hocko 2017-07-14 12:14 ` Michal Hocko 2017-07-20 6:13 ` Vlastimil Babka 2017-07-20 6:13 ` Vlastimil Babka 2017-07-14 8:00 ` [PATCH 6/9] mm, page_alloc: simplify zonelist initialization Michal Hocko 2017-07-14 8:00 ` Michal Hocko 2017-07-14 9:55 ` Mel Gorman 2017-07-14 9:55 ` Mel Gorman 2017-07-14 10:51 ` Michal Hocko 2017-07-14 10:51 ` Michal Hocko 2017-07-14 12:46 ` Mel Gorman 2017-07-14 12:46 ` Mel Gorman 2017-07-14 13:02 ` Michal Hocko 2017-07-14 13:02 ` Michal Hocko 2017-07-14 14:18 ` Mel Gorman 2017-07-14 14:18 ` Mel Gorman 2017-07-17 6:06 ` Michal Hocko 2017-07-17 6:06 ` Michal Hocko 2017-07-17 8:07 ` Mel Gorman 2017-07-17 8:07 ` Mel Gorman 2017-07-17 8:19 ` Michal Hocko 2017-07-17 8:19 ` Michal Hocko 2017-07-17 8:58 ` Mel Gorman 2017-07-17 8:58 ` Mel Gorman 2017-07-17 9:15 ` Michal Hocko 2017-07-17 9:15 ` Michal Hocko 2017-07-20 6:55 ` Vlastimil Babka 2017-07-20 6:55 ` Vlastimil Babka 2017-07-20 7:19 ` Michal Hocko 2017-07-20 7:19 ` Michal Hocko 2017-07-14 8:00 ` [PATCH 7/9] mm, page_alloc: remove stop_machine from build_all_zonelists Michal Hocko 2017-07-14 8:00 ` Michal Hocko 2017-07-14 9:59 ` Mel Gorman 2017-07-14 9:59 ` Mel Gorman 2017-07-14 11:00 ` Michal Hocko 2017-07-14 11:00 ` Michal Hocko 2017-07-14 12:47 ` Mel Gorman 2017-07-14 12:47 ` Mel Gorman 2017-07-14 11:29 ` Vlastimil Babka 2017-07-14 11:29 ` Vlastimil Babka 2017-07-14 11:43 ` Michal Hocko 2017-07-14 11:43 ` Michal Hocko 2017-07-14 11:45 ` Michal Hocko 2017-07-14 11:45 ` Michal Hocko 2017-07-20 6:16 ` Vlastimil Babka 2017-07-20 6:16 ` Vlastimil Babka 2017-07-20 7:24 ` Vlastimil Babka 2017-07-20 7:24 ` Vlastimil Babka 2017-07-20 9:21 ` Michal Hocko 2017-07-20 9:21 ` Michal Hocko 2017-07-14 8:00 ` [PATCH 8/9] mm, memory_hotplug: get rid of zonelists_mutex Michal Hocko 2017-07-14 8:00 ` Michal Hocko 2017-07-14 8:00 ` [PATCH 9/9] mm, sparse, page_ext: drop ugly N_HIGH_MEMORY branches for allocations Michal Hocko 2017-07-14 8:00 ` Michal Hocko 2017-07-20 8:04 ` Vlastimil Babka 2017-07-20 8:04 ` Vlastimil Babka 2017-07-21 14:39 [PATCH -v1 0/9] cleanup zonelists initialization Michal Hocko 2017-07-21 14:39 ` [PATCH 3/9] mm, page_alloc: do not set_cpu_numa_mem on empty nodes initialization Michal Hocko 2017-07-21 14:39 ` Michal Hocko
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=20170714080006.7250-4-mhocko@kernel.org \ --to=mhocko@kernel.org \ --cc=akpm@linux-foundation.org \ --cc=hannes@cmpxchg.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=mgorman@suse.de \ --cc=mhocko@suse.com \ --cc=vbabka@suse.cz \ /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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.