* [PATCH v3 0/3] Offline memoryless cpuless node 0
@ 2020-05-01 3:11 ` Srikar Dronamraju
0 siblings, 0 replies; 20+ messages in thread
From: Srikar Dronamraju @ 2020-05-01 3:11 UTC (permalink / raw)
To: Andrew Morton
Cc: Srikar Dronamraju, linuxppc-dev, linux-mm, linux-kernel,
Michal Hocko, Mel Gorman, Vlastimil Babka, Kirill A. Shutemov,
Christopher Lameter, Michael Ellerman, Linus Torvalds,
Gautham R Shenoy
Changelog v2:->v3:
- Resolved comments from Gautham.
Link v2: https://lore.kernel.org/linuxppc-dev/20200428093836.27190-1-srikar@linux.vnet.ibm.com/t/#u
Changelog v1:->v2:
- Rebased to v5.7-rc3
- Updated the changelog.
Link v1: https://lore.kernel.org/linuxppc-dev/20200311110237.5731-1-srikar@linux.vnet.ibm.com/t/#u
Linux kernel configured with CONFIG_NUMA on a system with multiple
possible nodes, marks node 0 as online at boot. However in practice,
there are systems which have node 0 as memoryless and cpuless.
This can cause
1. numa_balancing to be enabled on systems with only one online node.
2. Existence of dummy (cpuless and memoryless) node which can confuse
users/scripts looking at output of lscpu / numactl.
This patchset wants to correct this anomaly.
This should only affect systems that have CONFIG_MEMORYLESS_NODES.
Currently there are only 2 architectures ia64 and powerpc that have this
config.
Note: Patch 3 in this patch series depends on patches 1 and 2.
Without patches 1 and 2, patch 3 might crash powerpc.
v5.7-rc3
available: 2 nodes (0,2)
node 0 cpus:
node 0 size: 0 MB
node 0 free: 0 MB
node 2 cpus: 0 1 2 3 4 5 6 7
node 2 size: 32625 MB
node 2 free: 31490 MB
node distances:
node 0 2
0: 10 20
2: 20 10
proc and sys files
------------------
/sys/devices/system/node/online: 0,2
/proc/sys/kernel/numa_balancing: 1
/sys/devices/system/node/has_cpu: 2
/sys/devices/system/node/has_memory: 2
/sys/devices/system/node/has_normal_memory: 2
/sys/devices/system/node/possible: 0-31
v5.7-rc3 + patches
------------------
available: 1 nodes (2)
node 2 cpus: 0 1 2 3 4 5 6 7
node 2 size: 32625 MB
node 2 free: 31487 MB
node distances:
node 2
2: 10
proc and sys files
------------------
/sys/devices/system/node/online: 2
/proc/sys/kernel/numa_balancing: 0
/sys/devices/system/node/has_cpu: 2
/sys/devices/system/node/has_memory: 2
/sys/devices/system/node/has_normal_memory: 2
/sys/devices/system/node/possible: 0-31
Cc: linuxppc-dev@lists.ozlabs.org
Cc: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org
Cc: Michal Hocko <mhocko@suse.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
Cc: Christopher Lameter <cl@linux.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Gautham R Shenoy <ego@linux.vnet.ibm.com>
Srikar Dronamraju (3):
powerpc/numa: Set numa_node for all possible cpus
powerpc/numa: Prefer node id queried from vphn
mm/page_alloc: Keep memoryless cpuless node 0 offline
arch/powerpc/mm/numa.c | 35 ++++++++++++++++++++++++-----------
mm/page_alloc.c | 4 +++-
2 files changed, 27 insertions(+), 12 deletions(-)
--
2.20.1
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH v3 0/3] Offline memoryless cpuless node 0
@ 2020-05-01 3:11 ` Srikar Dronamraju
0 siblings, 0 replies; 20+ messages in thread
From: Srikar Dronamraju @ 2020-05-01 3:11 UTC (permalink / raw)
To: Andrew Morton
Cc: Gautham R Shenoy, Michal Hocko, Srikar Dronamraju,
Linus Torvalds, linux-kernel, linux-mm, Mel Gorman,
Kirill A. Shutemov, Christopher Lameter, linuxppc-dev,
Vlastimil Babka
Changelog v2:->v3:
- Resolved comments from Gautham.
Link v2: https://lore.kernel.org/linuxppc-dev/20200428093836.27190-1-srikar@linux.vnet.ibm.com/t/#u
Changelog v1:->v2:
- Rebased to v5.7-rc3
- Updated the changelog.
Link v1: https://lore.kernel.org/linuxppc-dev/20200311110237.5731-1-srikar@linux.vnet.ibm.com/t/#u
Linux kernel configured with CONFIG_NUMA on a system with multiple
possible nodes, marks node 0 as online at boot. However in practice,
there are systems which have node 0 as memoryless and cpuless.
This can cause
1. numa_balancing to be enabled on systems with only one online node.
2. Existence of dummy (cpuless and memoryless) node which can confuse
users/scripts looking at output of lscpu / numactl.
This patchset wants to correct this anomaly.
This should only affect systems that have CONFIG_MEMORYLESS_NODES.
Currently there are only 2 architectures ia64 and powerpc that have this
config.
Note: Patch 3 in this patch series depends on patches 1 and 2.
Without patches 1 and 2, patch 3 might crash powerpc.
v5.7-rc3
available: 2 nodes (0,2)
node 0 cpus:
node 0 size: 0 MB
node 0 free: 0 MB
node 2 cpus: 0 1 2 3 4 5 6 7
node 2 size: 32625 MB
node 2 free: 31490 MB
node distances:
node 0 2
0: 10 20
2: 20 10
proc and sys files
------------------
/sys/devices/system/node/online: 0,2
/proc/sys/kernel/numa_balancing: 1
/sys/devices/system/node/has_cpu: 2
/sys/devices/system/node/has_memory: 2
/sys/devices/system/node/has_normal_memory: 2
/sys/devices/system/node/possible: 0-31
v5.7-rc3 + patches
------------------
available: 1 nodes (2)
node 2 cpus: 0 1 2 3 4 5 6 7
node 2 size: 32625 MB
node 2 free: 31487 MB
node distances:
node 2
2: 10
proc and sys files
------------------
/sys/devices/system/node/online: 2
/proc/sys/kernel/numa_balancing: 0
/sys/devices/system/node/has_cpu: 2
/sys/devices/system/node/has_memory: 2
/sys/devices/system/node/has_normal_memory: 2
/sys/devices/system/node/possible: 0-31
Cc: linuxppc-dev@lists.ozlabs.org
Cc: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org
Cc: Michal Hocko <mhocko@suse.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
Cc: Christopher Lameter <cl@linux.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Gautham R Shenoy <ego@linux.vnet.ibm.com>
Srikar Dronamraju (3):
powerpc/numa: Set numa_node for all possible cpus
powerpc/numa: Prefer node id queried from vphn
mm/page_alloc: Keep memoryless cpuless node 0 offline
arch/powerpc/mm/numa.c | 35 ++++++++++++++++++++++++-----------
mm/page_alloc.c | 4 +++-
2 files changed, 27 insertions(+), 12 deletions(-)
--
2.20.1
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH v3 1/3] powerpc/numa: Set numa_node for all possible cpus
2020-05-01 3:11 ` Srikar Dronamraju
@ 2020-05-01 3:11 ` Srikar Dronamraju
-1 siblings, 0 replies; 20+ messages in thread
From: Srikar Dronamraju @ 2020-05-01 3:11 UTC (permalink / raw)
To: Andrew Morton
Cc: Srikar Dronamraju, linuxppc-dev, linux-mm, linux-kernel,
Michal Hocko, Mel Gorman, Vlastimil Babka, Kirill A. Shutemov,
Christopher Lameter, Michael Ellerman, Linus Torvalds,
Gautham R Shenoy
A Powerpc system with multiple possible nodes and with CONFIG_NUMA
enabled always used to have a node 0, even if node 0 does not any cpus
or memory attached to it. As per PAPR, node affinity of a cpu is only
available once its present / online. For all cpus that are possible but
not present, cpu_to_node() would point to node 0.
To ensure a cpuless, memoryless dummy node is not online, powerpc need
to make sure all possible but not present cpu_to_node are set to a
proper node.
Cc: linuxppc-dev@lists.ozlabs.org
Cc: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org
Cc: Michal Hocko <mhocko@suse.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
Cc: Christopher Lameter <cl@linux.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Gautham R Shenoy <ego@linux.vnet.ibm.com>
Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
---
Changelog v1:->v2:
- Rebased to v5.7-rc3
arch/powerpc/mm/numa.c | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c
index 9fcf2d195830..b3615b7fdbdf 100644
--- a/arch/powerpc/mm/numa.c
+++ b/arch/powerpc/mm/numa.c
@@ -931,8 +931,20 @@ void __init mem_topology_setup(void)
reset_numa_cpu_lookup_table();
- for_each_present_cpu(cpu)
- numa_setup_cpu(cpu);
+ for_each_possible_cpu(cpu) {
+ /*
+ * Powerpc with CONFIG_NUMA always used to have a node 0,
+ * even if it was memoryless or cpuless. For all cpus that
+ * are possible but not present, cpu_to_node() would point
+ * to node 0. To remove a cpuless, memoryless dummy node,
+ * powerpc need to make sure all possible but not present
+ * cpu_to_node are set to a proper node.
+ */
+ if (cpu_present(cpu))
+ numa_setup_cpu(cpu);
+ else
+ set_cpu_numa_node(cpu, first_online_node);
+ }
}
void __init initmem_init(void)
--
2.20.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v3 1/3] powerpc/numa: Set numa_node for all possible cpus
@ 2020-05-01 3:11 ` Srikar Dronamraju
0 siblings, 0 replies; 20+ messages in thread
From: Srikar Dronamraju @ 2020-05-01 3:11 UTC (permalink / raw)
To: Andrew Morton
Cc: Gautham R Shenoy, Michal Hocko, Srikar Dronamraju,
Linus Torvalds, linux-kernel, linux-mm, Mel Gorman,
Kirill A. Shutemov, Christopher Lameter, linuxppc-dev,
Vlastimil Babka
A Powerpc system with multiple possible nodes and with CONFIG_NUMA
enabled always used to have a node 0, even if node 0 does not any cpus
or memory attached to it. As per PAPR, node affinity of a cpu is only
available once its present / online. For all cpus that are possible but
not present, cpu_to_node() would point to node 0.
To ensure a cpuless, memoryless dummy node is not online, powerpc need
to make sure all possible but not present cpu_to_node are set to a
proper node.
Cc: linuxppc-dev@lists.ozlabs.org
Cc: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org
Cc: Michal Hocko <mhocko@suse.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
Cc: Christopher Lameter <cl@linux.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Gautham R Shenoy <ego@linux.vnet.ibm.com>
Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
---
Changelog v1:->v2:
- Rebased to v5.7-rc3
arch/powerpc/mm/numa.c | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c
index 9fcf2d195830..b3615b7fdbdf 100644
--- a/arch/powerpc/mm/numa.c
+++ b/arch/powerpc/mm/numa.c
@@ -931,8 +931,20 @@ void __init mem_topology_setup(void)
reset_numa_cpu_lookup_table();
- for_each_present_cpu(cpu)
- numa_setup_cpu(cpu);
+ for_each_possible_cpu(cpu) {
+ /*
+ * Powerpc with CONFIG_NUMA always used to have a node 0,
+ * even if it was memoryless or cpuless. For all cpus that
+ * are possible but not present, cpu_to_node() would point
+ * to node 0. To remove a cpuless, memoryless dummy node,
+ * powerpc need to make sure all possible but not present
+ * cpu_to_node are set to a proper node.
+ */
+ if (cpu_present(cpu))
+ numa_setup_cpu(cpu);
+ else
+ set_cpu_numa_node(cpu, first_online_node);
+ }
}
void __init initmem_init(void)
--
2.20.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v3 2/3] powerpc/numa: Prefer node id queried from vphn
2020-05-01 3:11 ` Srikar Dronamraju
@ 2020-05-01 3:11 ` Srikar Dronamraju
-1 siblings, 0 replies; 20+ messages in thread
From: Srikar Dronamraju @ 2020-05-01 3:11 UTC (permalink / raw)
To: Andrew Morton
Cc: Srikar Dronamraju, linuxppc-dev, linux-mm, linux-kernel,
Michal Hocko, Mel Gorman, Vlastimil Babka, Kirill A. Shutemov,
Christopher Lameter, Michael Ellerman, Linus Torvalds,
Gautham R Shenoy
Node id queried from the static device tree may not
be correct. For example: it may always show 0 on a shared processor.
Hence prefer the node id queried from vphn and fallback on the device tree
based node id if vphn query fails.
Cc: linuxppc-dev@lists.ozlabs.org
Cc: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org
Cc: Michal Hocko <mhocko@suse.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
Cc: Christopher Lameter <cl@linux.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Gautham R Shenoy <ego@linux.vnet.ibm.com>
Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
---
Changelog v2:->v3:
- Resolved comments from Gautham.
Link v2: https://lore.kernel.org/linuxppc-dev/20200428093836.27190-1-srikar@linux.vnet.ibm.com/t/#u
Changelog v1:->v2:
- Rebased to v5.7-rc3
arch/powerpc/mm/numa.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c
index b3615b7fdbdf..79c74a2753c1 100644
--- a/arch/powerpc/mm/numa.c
+++ b/arch/powerpc/mm/numa.c
@@ -719,21 +719,22 @@ static int __init parse_numa_properties(void)
*/
for_each_present_cpu(i) {
struct device_node *cpu;
- int nid;
-
- cpu = of_get_cpu_node(i, NULL);
- BUG_ON(!cpu);
- nid = of_node_to_nid_single(cpu);
- of_node_put(cpu);
+ int nid = vphn_get_nid(i);
/*
* Don't fall back to default_nid yet -- we will plug
* cpus into nodes once the memory scan has discovered
* the topology.
*/
- if (nid < 0)
- continue;
- node_set_online(nid);
+ if (nid == NUMA_NO_NODE) {
+ cpu = of_get_cpu_node(i, NULL);
+ BUG_ON(!cpu);
+ nid = of_node_to_nid_single(cpu);
+ of_node_put(cpu);
+ }
+
+ if (likely(nid > 0))
+ node_set_online(nid);
}
get_n_mem_cells(&n_mem_addr_cells, &n_mem_size_cells);
--
2.20.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v3 2/3] powerpc/numa: Prefer node id queried from vphn
@ 2020-05-01 3:11 ` Srikar Dronamraju
0 siblings, 0 replies; 20+ messages in thread
From: Srikar Dronamraju @ 2020-05-01 3:11 UTC (permalink / raw)
To: Andrew Morton
Cc: Gautham R Shenoy, Michal Hocko, Srikar Dronamraju,
Linus Torvalds, linux-kernel, linux-mm, Mel Gorman,
Kirill A. Shutemov, Christopher Lameter, linuxppc-dev,
Vlastimil Babka
Node id queried from the static device tree may not
be correct. For example: it may always show 0 on a shared processor.
Hence prefer the node id queried from vphn and fallback on the device tree
based node id if vphn query fails.
Cc: linuxppc-dev@lists.ozlabs.org
Cc: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org
Cc: Michal Hocko <mhocko@suse.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
Cc: Christopher Lameter <cl@linux.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Gautham R Shenoy <ego@linux.vnet.ibm.com>
Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
---
Changelog v2:->v3:
- Resolved comments from Gautham.
Link v2: https://lore.kernel.org/linuxppc-dev/20200428093836.27190-1-srikar@linux.vnet.ibm.com/t/#u
Changelog v1:->v2:
- Rebased to v5.7-rc3
arch/powerpc/mm/numa.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c
index b3615b7fdbdf..79c74a2753c1 100644
--- a/arch/powerpc/mm/numa.c
+++ b/arch/powerpc/mm/numa.c
@@ -719,21 +719,22 @@ static int __init parse_numa_properties(void)
*/
for_each_present_cpu(i) {
struct device_node *cpu;
- int nid;
-
- cpu = of_get_cpu_node(i, NULL);
- BUG_ON(!cpu);
- nid = of_node_to_nid_single(cpu);
- of_node_put(cpu);
+ int nid = vphn_get_nid(i);
/*
* Don't fall back to default_nid yet -- we will plug
* cpus into nodes once the memory scan has discovered
* the topology.
*/
- if (nid < 0)
- continue;
- node_set_online(nid);
+ if (nid == NUMA_NO_NODE) {
+ cpu = of_get_cpu_node(i, NULL);
+ BUG_ON(!cpu);
+ nid = of_node_to_nid_single(cpu);
+ of_node_put(cpu);
+ }
+
+ if (likely(nid > 0))
+ node_set_online(nid);
}
get_n_mem_cells(&n_mem_addr_cells, &n_mem_size_cells);
--
2.20.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v3 3/3] mm/page_alloc: Keep memoryless cpuless node 0 offline
2020-05-01 3:11 ` Srikar Dronamraju
@ 2020-05-01 3:11 ` Srikar Dronamraju
-1 siblings, 0 replies; 20+ messages in thread
From: Srikar Dronamraju @ 2020-05-01 3:11 UTC (permalink / raw)
To: Andrew Morton
Cc: Srikar Dronamraju, linuxppc-dev, linux-mm, linux-kernel,
Michal Hocko, Mel Gorman, Vlastimil Babka, Kirill A. Shutemov,
Christopher Lameter, Michael Ellerman, Linus Torvalds,
Gautham R Shenoy
Currently Linux kernel with CONFIG_NUMA on a system with multiple
possible nodes, marks node 0 as online at boot. However in practice,
there are systems which have node 0 as memoryless and cpuless.
This can cause numa_balancing to be enabled on systems with only one node
with memory and CPUs. The existence of this dummy node which is cpuless and
memoryless node can confuse users/scripts looking at output of lscpu /
numactl.
By marking, N_ONLINE as NODE_MASK_NONE, lets stop assuming that Node 0 is
always online.
v5.7-rc3
available: 2 nodes (0,2)
node 0 cpus:
node 0 size: 0 MB
node 0 free: 0 MB
node 2 cpus: 0 1 2 3 4 5 6 7
node 2 size: 32625 MB
node 2 free: 31490 MB
node distances:
node 0 2
0: 10 20
2: 20 10
proc and sys files
------------------
/sys/devices/system/node/online: 0,2
/proc/sys/kernel/numa_balancing: 1
/sys/devices/system/node/has_cpu: 2
/sys/devices/system/node/has_memory: 2
/sys/devices/system/node/has_normal_memory: 2
/sys/devices/system/node/possible: 0-31
v5.7-rc3 + patch
------------------
available: 1 nodes (2)
node 2 cpus: 0 1 2 3 4 5 6 7
node 2 size: 32625 MB
node 2 free: 31487 MB
node distances:
node 2
2: 10
proc and sys files
------------------
/sys/devices/system/node/online: 2
/proc/sys/kernel/numa_balancing: 0
/sys/devices/system/node/has_cpu: 2
/sys/devices/system/node/has_memory: 2
/sys/devices/system/node/has_normal_memory: 2
/sys/devices/system/node/possible: 0-31
Note: On Powerpc, cpu_to_node of possible but not present cpus would
previously return 0. Hence this commit depends on commit ("powerpc/numa: Set
numa_node for all possible cpus") and commit ("powerpc/numa: Prefer node id
queried from vphn"). Without the 2 commits, Powerpc system might crash.
Cc: linuxppc-dev@lists.ozlabs.org
Cc: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org
Cc: Michal Hocko <mhocko@suse.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
Cc: Christopher Lameter <cl@linux.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Gautham R Shenoy <ego@linux.vnet.ibm.com>
Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
---
Changelog v1:->v2:
- Rebased to v5.7-rc3
Link v2: https://lore.kernel.org/linuxppc-dev/20200428093836.27190-1-srikar@linux.vnet.ibm.com/t/#u
mm/page_alloc.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 69827d4fa052..03b89592af04 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -116,8 +116,10 @@ EXPORT_SYMBOL(latent_entropy);
*/
nodemask_t node_states[NR_NODE_STATES] __read_mostly = {
[N_POSSIBLE] = NODE_MASK_ALL,
+#ifdef CONFIG_NUMA
+ [N_ONLINE] = NODE_MASK_NONE,
+#else
[N_ONLINE] = { { [0] = 1UL } },
-#ifndef CONFIG_NUMA
[N_NORMAL_MEMORY] = { { [0] = 1UL } },
#ifdef CONFIG_HIGHMEM
[N_HIGH_MEMORY] = { { [0] = 1UL } },
--
2.20.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v3 3/3] mm/page_alloc: Keep memoryless cpuless node 0 offline
@ 2020-05-01 3:11 ` Srikar Dronamraju
0 siblings, 0 replies; 20+ messages in thread
From: Srikar Dronamraju @ 2020-05-01 3:11 UTC (permalink / raw)
To: Andrew Morton
Cc: Gautham R Shenoy, Michal Hocko, Srikar Dronamraju,
Linus Torvalds, linux-kernel, linux-mm, Mel Gorman,
Kirill A. Shutemov, Christopher Lameter, linuxppc-dev,
Vlastimil Babka
Currently Linux kernel with CONFIG_NUMA on a system with multiple
possible nodes, marks node 0 as online at boot. However in practice,
there are systems which have node 0 as memoryless and cpuless.
This can cause numa_balancing to be enabled on systems with only one node
with memory and CPUs. The existence of this dummy node which is cpuless and
memoryless node can confuse users/scripts looking at output of lscpu /
numactl.
By marking, N_ONLINE as NODE_MASK_NONE, lets stop assuming that Node 0 is
always online.
v5.7-rc3
available: 2 nodes (0,2)
node 0 cpus:
node 0 size: 0 MB
node 0 free: 0 MB
node 2 cpus: 0 1 2 3 4 5 6 7
node 2 size: 32625 MB
node 2 free: 31490 MB
node distances:
node 0 2
0: 10 20
2: 20 10
proc and sys files
------------------
/sys/devices/system/node/online: 0,2
/proc/sys/kernel/numa_balancing: 1
/sys/devices/system/node/has_cpu: 2
/sys/devices/system/node/has_memory: 2
/sys/devices/system/node/has_normal_memory: 2
/sys/devices/system/node/possible: 0-31
v5.7-rc3 + patch
------------------
available: 1 nodes (2)
node 2 cpus: 0 1 2 3 4 5 6 7
node 2 size: 32625 MB
node 2 free: 31487 MB
node distances:
node 2
2: 10
proc and sys files
------------------
/sys/devices/system/node/online: 2
/proc/sys/kernel/numa_balancing: 0
/sys/devices/system/node/has_cpu: 2
/sys/devices/system/node/has_memory: 2
/sys/devices/system/node/has_normal_memory: 2
/sys/devices/system/node/possible: 0-31
Note: On Powerpc, cpu_to_node of possible but not present cpus would
previously return 0. Hence this commit depends on commit ("powerpc/numa: Set
numa_node for all possible cpus") and commit ("powerpc/numa: Prefer node id
queried from vphn"). Without the 2 commits, Powerpc system might crash.
Cc: linuxppc-dev@lists.ozlabs.org
Cc: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org
Cc: Michal Hocko <mhocko@suse.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
Cc: Christopher Lameter <cl@linux.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Gautham R Shenoy <ego@linux.vnet.ibm.com>
Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
---
Changelog v1:->v2:
- Rebased to v5.7-rc3
Link v2: https://lore.kernel.org/linuxppc-dev/20200428093836.27190-1-srikar@linux.vnet.ibm.com/t/#u
mm/page_alloc.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 69827d4fa052..03b89592af04 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -116,8 +116,10 @@ EXPORT_SYMBOL(latent_entropy);
*/
nodemask_t node_states[NR_NODE_STATES] __read_mostly = {
[N_POSSIBLE] = NODE_MASK_ALL,
+#ifdef CONFIG_NUMA
+ [N_ONLINE] = NODE_MASK_NONE,
+#else
[N_ONLINE] = { { [0] = 1UL } },
-#ifndef CONFIG_NUMA
[N_NORMAL_MEMORY] = { { [0] = 1UL } },
#ifdef CONFIG_HIGHMEM
[N_HIGH_MEMORY] = { { [0] = 1UL } },
--
2.20.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* Re: [PATCH v3 1/3] powerpc/numa: Set numa_node for all possible cpus
2020-05-01 3:11 ` Srikar Dronamraju
(?)
@ 2020-05-02 22:55 ` Christopher Lameter
-1 siblings, 0 replies; 20+ messages in thread
From: Christopher Lameter @ 2020-05-02 22:55 UTC (permalink / raw)
To: Srikar Dronamraju
Cc: Andrew Morton, linuxppc-dev, linux-mm, linux-kernel,
Michal Hocko, Mel Gorman, Vlastimil Babka, Kirill A. Shutemov,
Michael Ellerman, Linus Torvalds, Gautham R Shenoy
On Fri, 1 May 2020, Srikar Dronamraju wrote:
> - for_each_present_cpu(cpu)
> - numa_setup_cpu(cpu);
> + for_each_possible_cpu(cpu) {
> + /*
> + * Powerpc with CONFIG_NUMA always used to have a node 0,
> + * even if it was memoryless or cpuless. For all cpus that
> + * are possible but not present, cpu_to_node() would point
> + * to node 0. To remove a cpuless, memoryless dummy node,
> + * powerpc need to make sure all possible but not present
> + * cpu_to_node are set to a proper node.
> + */
> + if (cpu_present(cpu))
> + numa_setup_cpu(cpu);
> + else
> + set_cpu_numa_node(cpu, first_online_node);
> + }
> }
Can this be folded into numa_setup_cpu?
This looks more like numa_setup_cpu needs to change?
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v3 1/3] powerpc/numa: Set numa_node for all possible cpus
@ 2020-05-02 22:55 ` Christopher Lameter
0 siblings, 0 replies; 20+ messages in thread
From: Christopher Lameter @ 2020-05-02 22:55 UTC (permalink / raw)
To: Srikar Dronamraju
Cc: Andrew Morton, linuxppc-dev, linux-mm, linux-kernel,
Michal Hocko, Mel Gorman, Vlastimil Babka, Kirill A. Shutemov,
Michael Ellerman, Linus Torvalds, Gautham R Shenoy
On Fri, 1 May 2020, Srikar Dronamraju wrote:
> - for_each_present_cpu(cpu)
> - numa_setup_cpu(cpu);
> + for_each_possible_cpu(cpu) {
> + /*
> + * Powerpc with CONFIG_NUMA always used to have a node 0,
> + * even if it was memoryless or cpuless. For all cpus that
> + * are possible but not present, cpu_to_node() would point
> + * to node 0. To remove a cpuless, memoryless dummy node,
> + * powerpc need to make sure all possible but not present
> + * cpu_to_node are set to a proper node.
> + */
> + if (cpu_present(cpu))
> + numa_setup_cpu(cpu);
> + else
> + set_cpu_numa_node(cpu, first_online_node);
> + }
> }
Can this be folded into numa_setup_cpu?
This looks more like numa_setup_cpu needs to change?
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v3 1/3] powerpc/numa: Set numa_node for all possible cpus
@ 2020-05-02 22:55 ` Christopher Lameter
0 siblings, 0 replies; 20+ messages in thread
From: Christopher Lameter @ 2020-05-02 22:55 UTC (permalink / raw)
To: Srikar Dronamraju
Cc: Gautham R Shenoy, Michal Hocko, Linus Torvalds, linux-kernel,
linux-mm, Mel Gorman, Kirill A. Shutemov, Andrew Morton,
linuxppc-dev, Vlastimil Babka
On Fri, 1 May 2020, Srikar Dronamraju wrote:
> - for_each_present_cpu(cpu)
> - numa_setup_cpu(cpu);
> + for_each_possible_cpu(cpu) {
> + /*
> + * Powerpc with CONFIG_NUMA always used to have a node 0,
> + * even if it was memoryless or cpuless. For all cpus that
> + * are possible but not present, cpu_to_node() would point
> + * to node 0. To remove a cpuless, memoryless dummy node,
> + * powerpc need to make sure all possible but not present
> + * cpu_to_node are set to a proper node.
> + */
> + if (cpu_present(cpu))
> + numa_setup_cpu(cpu);
> + else
> + set_cpu_numa_node(cpu, first_online_node);
> + }
> }
Can this be folded into numa_setup_cpu?
This looks more like numa_setup_cpu needs to change?
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v3 3/3] mm/page_alloc: Keep memoryless cpuless node 0 offline
2020-05-01 3:11 ` Srikar Dronamraju
(?)
@ 2020-05-02 23:05 ` Christopher Lameter
-1 siblings, 0 replies; 20+ messages in thread
From: Christopher Lameter @ 2020-05-02 23:05 UTC (permalink / raw)
To: Srikar Dronamraju
Cc: Andrew Morton, linuxppc-dev, linux-mm, linux-kernel,
Michal Hocko, Mel Gorman, Vlastimil Babka, Kirill A. Shutemov,
Michael Ellerman, Linus Torvalds, Gautham R Shenoy
On Fri, 1 May 2020, Srikar Dronamraju wrote:
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -116,8 +116,10 @@ EXPORT_SYMBOL(latent_entropy);
> */
> nodemask_t node_states[NR_NODE_STATES] __read_mostly = {
> [N_POSSIBLE] = NODE_MASK_ALL,
> +#ifdef CONFIG_NUMA
> + [N_ONLINE] = NODE_MASK_NONE,
Hmmm.... I would have expected that you would have added something early
in boot that would mark the current node (whatever is is) online instead?
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v3 3/3] mm/page_alloc: Keep memoryless cpuless node 0 offline
@ 2020-05-02 23:05 ` Christopher Lameter
0 siblings, 0 replies; 20+ messages in thread
From: Christopher Lameter @ 2020-05-02 23:05 UTC (permalink / raw)
To: Srikar Dronamraju
Cc: Andrew Morton, linuxppc-dev, linux-mm, linux-kernel,
Michal Hocko, Mel Gorman, Vlastimil Babka, Kirill A. Shutemov,
Michael Ellerman, Linus Torvalds, Gautham R Shenoy
On Fri, 1 May 2020, Srikar Dronamraju wrote:
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -116,8 +116,10 @@ EXPORT_SYMBOL(latent_entropy);
> */
> nodemask_t node_states[NR_NODE_STATES] __read_mostly = {
> [N_POSSIBLE] = NODE_MASK_ALL,
> +#ifdef CONFIG_NUMA
> + [N_ONLINE] = NODE_MASK_NONE,
Hmmm.... I would have expected that you would have added something early
in boot that would mark the current node (whatever is is) online instead?
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v3 3/3] mm/page_alloc: Keep memoryless cpuless node 0 offline
@ 2020-05-02 23:05 ` Christopher Lameter
0 siblings, 0 replies; 20+ messages in thread
From: Christopher Lameter @ 2020-05-02 23:05 UTC (permalink / raw)
To: Srikar Dronamraju
Cc: Gautham R Shenoy, Michal Hocko, Linus Torvalds, linux-kernel,
linux-mm, Mel Gorman, Kirill A. Shutemov, Andrew Morton,
linuxppc-dev, Vlastimil Babka
On Fri, 1 May 2020, Srikar Dronamraju wrote:
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -116,8 +116,10 @@ EXPORT_SYMBOL(latent_entropy);
> */
> nodemask_t node_states[NR_NODE_STATES] __read_mostly = {
> [N_POSSIBLE] = NODE_MASK_ALL,
> +#ifdef CONFIG_NUMA
> + [N_ONLINE] = NODE_MASK_NONE,
Hmmm.... I would have expected that you would have added something early
in boot that would mark the current node (whatever is is) online instead?
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v3 3/3] mm/page_alloc: Keep memoryless cpuless node 0 offline
2020-05-02 23:05 ` Christopher Lameter
@ 2020-05-08 13:05 ` Srikar Dronamraju
-1 siblings, 0 replies; 20+ messages in thread
From: Srikar Dronamraju @ 2020-05-08 13:05 UTC (permalink / raw)
To: Christopher Lameter
Cc: Andrew Morton, linuxppc-dev, linux-mm, linux-kernel,
Michal Hocko, Mel Gorman, Vlastimil Babka, Kirill A. Shutemov,
Michael Ellerman, Linus Torvalds, Gautham R Shenoy
* Christopher Lameter <cl@linux.com> [2020-05-02 23:05:28]:
> On Fri, 1 May 2020, Srikar Dronamraju wrote:
>
> > --- a/mm/page_alloc.c
> > +++ b/mm/page_alloc.c
> > @@ -116,8 +116,10 @@ EXPORT_SYMBOL(latent_entropy);
> > */
> > nodemask_t node_states[NR_NODE_STATES] __read_mostly = {
> > [N_POSSIBLE] = NODE_MASK_ALL,
> > +#ifdef CONFIG_NUMA
> > + [N_ONLINE] = NODE_MASK_NONE,
>
> Hmmm.... I would have expected that you would have added something early
> in boot that would mark the current node (whatever is is) online instead?
Do correct me, but these are structure initialization in page_alloc.c
Wouldn't these happen much before the numa initialization happens?
I think we are already marking nodes as online as soon as we detect the
nodes.
--
Thanks and Regards
Srikar Dronamraju
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v3 3/3] mm/page_alloc: Keep memoryless cpuless node 0 offline
@ 2020-05-08 13:05 ` Srikar Dronamraju
0 siblings, 0 replies; 20+ messages in thread
From: Srikar Dronamraju @ 2020-05-08 13:05 UTC (permalink / raw)
To: Christopher Lameter
Cc: Gautham R Shenoy, Michal Hocko, Linus Torvalds, linux-kernel,
linux-mm, Mel Gorman, Kirill A. Shutemov, Andrew Morton,
linuxppc-dev, Vlastimil Babka
* Christopher Lameter <cl@linux.com> [2020-05-02 23:05:28]:
> On Fri, 1 May 2020, Srikar Dronamraju wrote:
>
> > --- a/mm/page_alloc.c
> > +++ b/mm/page_alloc.c
> > @@ -116,8 +116,10 @@ EXPORT_SYMBOL(latent_entropy);
> > */
> > nodemask_t node_states[NR_NODE_STATES] __read_mostly = {
> > [N_POSSIBLE] = NODE_MASK_ALL,
> > +#ifdef CONFIG_NUMA
> > + [N_ONLINE] = NODE_MASK_NONE,
>
> Hmmm.... I would have expected that you would have added something early
> in boot that would mark the current node (whatever is is) online instead?
Do correct me, but these are structure initialization in page_alloc.c
Wouldn't these happen much before the numa initialization happens?
I think we are already marking nodes as online as soon as we detect the
nodes.
--
Thanks and Regards
Srikar Dronamraju
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v3 1/3] powerpc/numa: Set numa_node for all possible cpus
2020-05-02 22:55 ` Christopher Lameter
@ 2020-05-08 13:21 ` Srikar Dronamraju
-1 siblings, 0 replies; 20+ messages in thread
From: Srikar Dronamraju @ 2020-05-08 13:21 UTC (permalink / raw)
To: Christopher Lameter
Cc: Andrew Morton, linuxppc-dev, linux-mm, linux-kernel,
Michal Hocko, Mel Gorman, Vlastimil Babka, Kirill A. Shutemov,
Michael Ellerman, Linus Torvalds, Gautham R Shenoy
* Christopher Lameter <cl@linux.com> [2020-05-02 22:55:16]:
> On Fri, 1 May 2020, Srikar Dronamraju wrote:
>
> > - for_each_present_cpu(cpu)
> > - numa_setup_cpu(cpu);
> > + for_each_possible_cpu(cpu) {
> > + /*
> > + * Powerpc with CONFIG_NUMA always used to have a node 0,
> > + * even if it was memoryless or cpuless. For all cpus that
> > + * are possible but not present, cpu_to_node() would point
> > + * to node 0. To remove a cpuless, memoryless dummy node,
> > + * powerpc need to make sure all possible but not present
> > + * cpu_to_node are set to a proper node.
> > + */
> > + if (cpu_present(cpu))
> > + numa_setup_cpu(cpu);
> > + else
> > + set_cpu_numa_node(cpu, first_online_node);
> > + }
> > }
>
>
> Can this be folded into numa_setup_cpu?
>
> This looks more like numa_setup_cpu needs to change?
>
We can fold this into numa_setup_cpu().
However till now we were sure that numa_setup_cpu() would be called only for
a present cpu. That assumption will change.
+ (non-consequential) an additional check everytime cpu is hotplugged in.
If Michael Ellerman is okay with the change, I can fold it in.
--
Thanks and Regards
Srikar Dronamraju
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v3 1/3] powerpc/numa: Set numa_node for all possible cpus
@ 2020-05-08 13:21 ` Srikar Dronamraju
0 siblings, 0 replies; 20+ messages in thread
From: Srikar Dronamraju @ 2020-05-08 13:21 UTC (permalink / raw)
To: Christopher Lameter
Cc: Gautham R Shenoy, Michal Hocko, Linus Torvalds, linux-kernel,
linux-mm, Mel Gorman, Kirill A. Shutemov, Andrew Morton,
linuxppc-dev, Vlastimil Babka
* Christopher Lameter <cl@linux.com> [2020-05-02 22:55:16]:
> On Fri, 1 May 2020, Srikar Dronamraju wrote:
>
> > - for_each_present_cpu(cpu)
> > - numa_setup_cpu(cpu);
> > + for_each_possible_cpu(cpu) {
> > + /*
> > + * Powerpc with CONFIG_NUMA always used to have a node 0,
> > + * even if it was memoryless or cpuless. For all cpus that
> > + * are possible but not present, cpu_to_node() would point
> > + * to node 0. To remove a cpuless, memoryless dummy node,
> > + * powerpc need to make sure all possible but not present
> > + * cpu_to_node are set to a proper node.
> > + */
> > + if (cpu_present(cpu))
> > + numa_setup_cpu(cpu);
> > + else
> > + set_cpu_numa_node(cpu, first_online_node);
> > + }
> > }
>
>
> Can this be folded into numa_setup_cpu?
>
> This looks more like numa_setup_cpu needs to change?
>
We can fold this into numa_setup_cpu().
However till now we were sure that numa_setup_cpu() would be called only for
a present cpu. That assumption will change.
+ (non-consequential) an additional check everytime cpu is hotplugged in.
If Michael Ellerman is okay with the change, I can fold it in.
--
Thanks and Regards
Srikar Dronamraju
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v3 1/3] powerpc/numa: Set numa_node for all possible cpus
2020-05-08 13:21 ` Srikar Dronamraju
@ 2020-05-11 11:27 ` Michael Ellerman
-1 siblings, 0 replies; 20+ messages in thread
From: Michael Ellerman @ 2020-05-11 11:27 UTC (permalink / raw)
To: Srikar Dronamraju, Christopher Lameter
Cc: Andrew Morton, linuxppc-dev, linux-mm, linux-kernel,
Michal Hocko, Mel Gorman, Vlastimil Babka, Kirill A. Shutemov,
Linus Torvalds, Gautham R Shenoy
Srikar Dronamraju <srikar@linux.vnet.ibm.com> writes:
> * Christopher Lameter <cl@linux.com> [2020-05-02 22:55:16]:
>
>> On Fri, 1 May 2020, Srikar Dronamraju wrote:
>>
>> > - for_each_present_cpu(cpu)
>> > - numa_setup_cpu(cpu);
>> > + for_each_possible_cpu(cpu) {
>> > + /*
>> > + * Powerpc with CONFIG_NUMA always used to have a node 0,
>> > + * even if it was memoryless or cpuless. For all cpus that
>> > + * are possible but not present, cpu_to_node() would point
>> > + * to node 0. To remove a cpuless, memoryless dummy node,
>> > + * powerpc need to make sure all possible but not present
>> > + * cpu_to_node are set to a proper node.
>> > + */
>> > + if (cpu_present(cpu))
>> > + numa_setup_cpu(cpu);
>> > + else
>> > + set_cpu_numa_node(cpu, first_online_node);
>> > + }
>> > }
>>
>> Can this be folded into numa_setup_cpu?
>>
>> This looks more like numa_setup_cpu needs to change?
>
> We can fold this into numa_setup_cpu().
>
> However till now we were sure that numa_setup_cpu() would be called only for
> a present cpu. That assumption will change.
> + (non-consequential) an additional check everytime cpu is hotplugged in.
>
> If Michael Ellerman is okay with the change, I can fold it in.
Yes I agree it would be better in numa_setup_cpu().
cheers
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v3 1/3] powerpc/numa: Set numa_node for all possible cpus
@ 2020-05-11 11:27 ` Michael Ellerman
0 siblings, 0 replies; 20+ messages in thread
From: Michael Ellerman @ 2020-05-11 11:27 UTC (permalink / raw)
To: Srikar Dronamraju, Christopher Lameter
Cc: Gautham R Shenoy, Michal Hocko, Linus Torvalds, linux-kernel,
linux-mm, Mel Gorman, Kirill A. Shutemov, Andrew Morton,
linuxppc-dev, Vlastimil Babka
Srikar Dronamraju <srikar@linux.vnet.ibm.com> writes:
> * Christopher Lameter <cl@linux.com> [2020-05-02 22:55:16]:
>
>> On Fri, 1 May 2020, Srikar Dronamraju wrote:
>>
>> > - for_each_present_cpu(cpu)
>> > - numa_setup_cpu(cpu);
>> > + for_each_possible_cpu(cpu) {
>> > + /*
>> > + * Powerpc with CONFIG_NUMA always used to have a node 0,
>> > + * even if it was memoryless or cpuless. For all cpus that
>> > + * are possible but not present, cpu_to_node() would point
>> > + * to node 0. To remove a cpuless, memoryless dummy node,
>> > + * powerpc need to make sure all possible but not present
>> > + * cpu_to_node are set to a proper node.
>> > + */
>> > + if (cpu_present(cpu))
>> > + numa_setup_cpu(cpu);
>> > + else
>> > + set_cpu_numa_node(cpu, first_online_node);
>> > + }
>> > }
>>
>> Can this be folded into numa_setup_cpu?
>>
>> This looks more like numa_setup_cpu needs to change?
>
> We can fold this into numa_setup_cpu().
>
> However till now we were sure that numa_setup_cpu() would be called only for
> a present cpu. That assumption will change.
> + (non-consequential) an additional check everytime cpu is hotplugged in.
>
> If Michael Ellerman is okay with the change, I can fold it in.
Yes I agree it would be better in numa_setup_cpu().
cheers
^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2020-05-11 14:19 UTC | newest]
Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-01 3:11 [PATCH v3 0/3] Offline memoryless cpuless node 0 Srikar Dronamraju
2020-05-01 3:11 ` Srikar Dronamraju
2020-05-01 3:11 ` [PATCH v3 1/3] powerpc/numa: Set numa_node for all possible cpus Srikar Dronamraju
2020-05-01 3:11 ` Srikar Dronamraju
2020-05-02 22:55 ` Christopher Lameter
2020-05-02 22:55 ` Christopher Lameter
2020-05-02 22:55 ` Christopher Lameter
2020-05-08 13:21 ` Srikar Dronamraju
2020-05-08 13:21 ` Srikar Dronamraju
2020-05-11 11:27 ` Michael Ellerman
2020-05-11 11:27 ` Michael Ellerman
2020-05-01 3:11 ` [PATCH v3 2/3] powerpc/numa: Prefer node id queried from vphn Srikar Dronamraju
2020-05-01 3:11 ` Srikar Dronamraju
2020-05-01 3:11 ` [PATCH v3 3/3] mm/page_alloc: Keep memoryless cpuless node 0 offline Srikar Dronamraju
2020-05-01 3:11 ` Srikar Dronamraju
2020-05-02 23:05 ` Christopher Lameter
2020-05-02 23:05 ` Christopher Lameter
2020-05-02 23:05 ` Christopher Lameter
2020-05-08 13:05 ` Srikar Dronamraju
2020-05-08 13:05 ` Srikar Dronamraju
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.