From: Dan Williams <dan.j.williams@intel.com> To: linux-nvdimm@lists.01.org Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>, Ingo Molnar <mingo@kernel.org>, peterz@infradead.org, dave.hansen@linux.intel.com, hch@lst.de, linux-kernel@vger.kernel.org, x86@kernel.org Subject: [PATCH v5 2/6] mm/numa: Skip NUMA_NO_NODE and online nodes in numa_map_to_online_node() Date: Sun, 16 Feb 2020 12:00:53 -0800 [thread overview] Message-ID: <158188325316.894464.15650888748083329531.stgit@dwillia2-desk3.amr.corp.intel.com> (raw) In-Reply-To: <158188324272.894464.5941332130956525504.stgit@dwillia2-desk3.amr.corp.intel.com> Update numa_map_to_online_node() to stop falling back to numa node 0 when the input is NUMA_NO_NODE. Also, skip the lookup if @node is online. This makes the routine compatible with other arch node mapping routines. Reported-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com> Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com> Link: https://lore.kernel.org/r/157401275716.43284.13185549705765009174.stgit@dwillia2-desk3.amr.corp.intel.com Reviewed-by: Ingo Molnar <mingo@kernel.org> Signed-off-by: Dan Williams <dan.j.williams@intel.com> --- mm/mempolicy.c | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/mm/mempolicy.c b/mm/mempolicy.c index 756d6e5bb59f..19f7e71945a7 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -135,21 +135,17 @@ static struct mempolicy preferred_node_policy[MAX_NUMNODES]; */ int numa_map_to_online_node(int node) { - int min_node; + int min_dist = INT_MAX, dist, n, min_node; - if (node == NUMA_NO_NODE) - node = 0; + if (node == NUMA_NO_NODE || node_online(node)) + return node; min_node = node; - if (!node_online(node)) { - int min_dist = INT_MAX, dist, n; - - for_each_online_node(n) { - dist = node_distance(node, n); - if (dist < min_dist) { - min_dist = dist; - min_node = n; - } + for_each_online_node(n) { + dist = node_distance(node, n); + if (dist < min_dist) { + min_dist = dist; + min_node = n; } } _______________________________________________ Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org To unsubscribe send an email to linux-nvdimm-leave@lists.01.org
WARNING: multiple messages have this Message-ID (diff)
From: Dan Williams <dan.j.williams@intel.com> To: linux-nvdimm@lists.01.org Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>, "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>, Ingo Molnar <mingo@kernel.org>, peterz@infradead.org, vishal.l.verma@intel.com, dave.hansen@linux.intel.com, hch@lst.de, linux-kernel@vger.kernel.org, x86@kernel.org Subject: [PATCH v5 2/6] mm/numa: Skip NUMA_NO_NODE and online nodes in numa_map_to_online_node() Date: Sun, 16 Feb 2020 12:00:53 -0800 [thread overview] Message-ID: <158188325316.894464.15650888748083329531.stgit@dwillia2-desk3.amr.corp.intel.com> (raw) In-Reply-To: <158188324272.894464.5941332130956525504.stgit@dwillia2-desk3.amr.corp.intel.com> Update numa_map_to_online_node() to stop falling back to numa node 0 when the input is NUMA_NO_NODE. Also, skip the lookup if @node is online. This makes the routine compatible with other arch node mapping routines. Reported-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com> Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com> Link: https://lore.kernel.org/r/157401275716.43284.13185549705765009174.stgit@dwillia2-desk3.amr.corp.intel.com Reviewed-by: Ingo Molnar <mingo@kernel.org> Signed-off-by: Dan Williams <dan.j.williams@intel.com> --- mm/mempolicy.c | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/mm/mempolicy.c b/mm/mempolicy.c index 756d6e5bb59f..19f7e71945a7 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -135,21 +135,17 @@ static struct mempolicy preferred_node_policy[MAX_NUMNODES]; */ int numa_map_to_online_node(int node) { - int min_node; + int min_dist = INT_MAX, dist, n, min_node; - if (node == NUMA_NO_NODE) - node = 0; + if (node == NUMA_NO_NODE || node_online(node)) + return node; min_node = node; - if (!node_online(node)) { - int min_dist = INT_MAX, dist, n; - - for_each_online_node(n) { - dist = node_distance(node, n); - if (dist < min_dist) { - min_dist = dist; - min_node = n; - } + for_each_online_node(n) { + dist = node_distance(node, n); + if (dist < min_dist) { + min_dist = dist; + min_node = n; } }
next prev parent reply other threads:[~2020-02-16 20:17 UTC|newest] Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-01-22 3:04 [PATCH v4 0/6] Memory Hierarchy: Enable target node lookups for reserved memory Dan Williams 2020-01-22 3:04 ` Dan Williams 2020-01-22 3:04 ` [PATCH v4 1/6] ACPI: NUMA: Up-level "map to online node" functionality Dan Williams 2020-01-22 3:04 ` Dan Williams 2020-01-22 3:04 ` [PATCH v4 2/6] mm/numa: Skip NUMA_NO_NODE and online nodes in numa_map_to_online_node() Dan Williams 2020-01-22 3:04 ` Dan Williams 2020-01-22 3:04 ` [PATCH v4 3/6] powerpc/papr_scm: Switch to numa_map_to_online_node() Dan Williams 2020-01-22 3:04 ` Dan Williams 2020-01-22 3:04 ` [PATCH v4 4/6] x86/mm: Introduce CONFIG_KEEP_NUMA Dan Williams 2020-01-22 3:04 ` Dan Williams 2020-02-13 9:32 ` Ingo Molnar 2020-02-13 9:32 ` Ingo Molnar 2020-02-13 21:19 ` Dan Williams 2020-02-13 21:19 ` Dan Williams 2020-02-13 11:22 ` Thomas Gleixner 2020-02-13 11:22 ` Thomas Gleixner 2020-02-13 21:21 ` Dan Williams 2020-02-13 21:21 ` Dan Williams 2020-01-22 3:05 ` [PATCH v4 5/6] x86/numa: Provide a range-to-target_node lookup facility Dan Williams 2020-01-22 3:05 ` Dan Williams 2020-02-13 9:36 ` Ingo Molnar 2020-02-13 9:36 ` Ingo Molnar 2020-02-13 11:37 ` Thomas Gleixner 2020-02-13 11:37 ` Thomas Gleixner 2020-02-13 21:40 ` Dan Williams 2020-02-13 21:40 ` Dan Williams 2020-01-22 3:05 ` [PATCH v4 6/6] libnvdimm/e820: Retrieve and populate correct 'target_node' info Dan Williams 2020-01-22 3:05 ` Dan Williams 2020-02-13 2:28 ` [PATCH v4 0/6] Memory Hierarchy: Enable target node lookups for reserved memory Dan Williams 2020-02-13 2:28 ` Dan Williams 2020-02-13 9:37 ` Ingo Molnar 2020-02-13 9:37 ` Ingo Molnar 2020-02-16 20:00 ` [PATCH v5 " Dan Williams 2020-02-16 20:00 ` Dan Williams 2020-02-16 20:00 ` [PATCH v5 1/6] ACPI: NUMA: Up-level "map to online node" functionality Dan Williams 2020-02-16 20:00 ` Dan Williams 2020-02-16 20:00 ` Dan Williams [this message] 2020-02-16 20:00 ` [PATCH v5 2/6] mm/numa: Skip NUMA_NO_NODE and online nodes in numa_map_to_online_node() Dan Williams 2020-02-16 20:00 ` [PATCH v5 3/6] powerpc/papr_scm: Switch to numa_map_to_online_node() Dan Williams 2020-02-16 20:00 ` Dan Williams 2020-02-16 20:01 ` [PATCH v5 4/6] x86/mm: Introduce CONFIG_NUMA_KEEP_MEMINFO Dan Williams 2020-02-16 20:01 ` Dan Williams 2020-02-17 8:21 ` Thomas Gleixner 2020-02-17 8:21 ` Thomas Gleixner 2020-02-16 20:01 ` [PATCH v5 5/6] x86/NUMA: Provide a range-to-target_node lookup facility Dan Williams 2020-02-16 20:01 ` Dan Williams 2020-02-17 8:22 ` Thomas Gleixner 2020-02-17 8:22 ` Thomas Gleixner 2020-02-16 20:01 ` [PATCH v5 6/6] libnvdimm/e820: Retrieve and populate correct 'target_node' info Dan Williams 2020-02-16 20:01 ` Dan Williams
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=158188325316.894464.15650888748083329531.stgit@dwillia2-desk3.amr.corp.intel.com \ --to=dan.j.williams@intel.com \ --cc=aneesh.kumar@linux.ibm.com \ --cc=dave.hansen@linux.intel.com \ --cc=hch@lst.de \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-nvdimm@lists.01.org \ --cc=mingo@kernel.org \ --cc=peterz@infradead.org \ --cc=x86@kernel.org \ /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.