Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1156999 > unrolled thread

[PATCH 1/3] acpi: Fix acpi_map_pxm_to_node() to handle numa_off

Started byToshi Kani <toshi.kani@hp.com>
First post2015-06-03 02:50 +0200
Last post2015-06-06 02:40 +0200
Articles 2 — 1 participant

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH 1/3] acpi: Fix acpi_map_pxm_to_node() to handle numa_off Toshi Kani <toshi.kani@hp.com> - 2015-06-03 02:50 +0200
    Re: [PATCH 1/3] acpi: Fix acpi_map_pxm_to_node() to handle numa_off Toshi Kani <toshi.kani@hp.com> - 2015-06-06 02:40 +0200

#1156999 — [PATCH 1/3] acpi: Fix acpi_map_pxm_to_node() to handle numa_off

FromToshi Kani <toshi.kani@hp.com>
Date2015-06-03 02:50 +0200
Subject[PATCH 1/3] acpi: Fix acpi_map_pxm_to_node() to handle numa_off
Message-ID<px52x-1bs-5@gated-at.bofh.it>
When numa_off is set, NUMA is turned off and node 0 is the only
valid node on the system.  The kernel skips parsing ACPI SRAT
table in this case.

Change acpi_map_pxm_to_node() to always return 0 when numa_off
is set.  Also move the range check of a proximity ID from
acpi_get_node() to acpi_map_pxm_to_node() after the numa_off
check.  This keeps the interfaces to return 0 regardless of
proximity ID values.

Signed-off-by: Toshi Kani <toshi.kani@hp.com>
---
 drivers/acpi/numa.c |   12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/drivers/acpi/numa.c b/drivers/acpi/numa.c
index 1333cbdc..4898082 100644
--- a/drivers/acpi/numa.c
+++ b/drivers/acpi/numa.c
@@ -70,7 +70,15 @@ static void __acpi_map_pxm_to_node(int pxm, int node)
 
 int acpi_map_pxm_to_node(int pxm)
 {
-	int node = pxm_to_node_map[pxm];
+	int node;
+
+	if (numa_off)
+		return 0;
+
+	if (pxm < 0 || pxm >= MAX_PXM_DOMAINS)
+		return NUMA_NO_NODE;
+
+	node = pxm_to_node_map[pxm];
 
 	if (node == NUMA_NO_NODE) {
 		if (nodes_weight(nodes_found_map) >= MAX_NUMNODES)
@@ -328,8 +336,6 @@ int acpi_get_node(acpi_handle handle)
 	int pxm;
 
 	pxm = acpi_get_pxm(handle);
-	if (pxm < 0 || pxm >= MAX_PXM_DOMAINS)
-		return NUMA_NO_NODE;
 
 	return acpi_map_pxm_to_node(pxm);
 }
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1159796

FromToshi Kani <toshi.kani@hp.com>
Date2015-06-06 02:40 +0200
Message-ID<pyajv-jZ-9@gated-at.bofh.it>
In reply to#1156999
On Tue, 2015-06-02 at 18:26 -0600, Toshi Kani wrote:
> When numa_off is set, NUMA is turned off and node 0 is the only
> valid node on the system.  The kernel skips parsing ACPI SRAT
> table in this case.
> 
> Change acpi_map_pxm_to_node() to always return 0 when numa_off
> is set.  Also move the range check of a proximity ID from
> acpi_get_node() to acpi_map_pxm_to_node() after the numa_off
> check.  This keeps the interfaces to return 0 regardless of
> proximity ID values.
> 
> Signed-off-by: Toshi Kani <toshi.kani@hp.com>
> ---
>  drivers/acpi/numa.c |   12 +++++++++---
>  1 file changed, 9 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/acpi/numa.c b/drivers/acpi/numa.c
> index 1333cbdc..4898082 100644
> --- a/drivers/acpi/numa.c
> +++ b/drivers/acpi/numa.c
> @@ -70,7 +70,15 @@ static void __acpi_map_pxm_to_node(int pxm, int node)
>  
>  int acpi_map_pxm_to_node(int pxm)
>  {
> -	int node = pxm_to_node_map[pxm];
> +	int node;
> +
> +	if (numa_off)
> +		return 0;

I found an issue in this patch.  numa_off is only defined in x86, but
this numa.c (ACPI_NUMA) can be enabled on x86 and IA64.  I will fix or
drop it in the next version.

Thanks,
-Toshi


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web