* [PATCH-next]Fix wrong local_cpulist displayed
@ 2009-12-24 8:59 Jin Dongming
0 siblings, 0 replies; only message in thread
From: Jin Dongming @ 2009-12-24 8:59 UTC (permalink / raw)
To: tglx; +Cc: mingo, hpa, rusty, linux-kernel
On my machine(Not NUMA), when the CONFIG_NUMA is selected, the value of
local_cpulist is displayed wrong. Because the value of numa_node is -1, so the
wrong address will be returned and the wrong value of local_cpulist is
displayed.
The example on my machine is as following:
Before my patch
#cd /sys/device/pci0000:00/0000:00:1c.0
#cat cpulist
/* nothing */
After my pache
#cd /sys/device/pci0000:00/0000:00:1c.0
#cat cpulist
0-1
I confirmed this patch fixes the above problem.
Signed-off-by: Jin Dongming <jin.dongming@np.css.fujitsu.com>
---
arch/x86/include/asm/topology.h | 2 +-
arch/x86/mm/numa.c | 3 +++
2 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/arch/x86/include/asm/topology.h b/arch/x86/include/asm/topology.h
index c5087d7..c63921a 100644
--- a/arch/x86/include/asm/topology.h
+++ b/arch/x86/include/asm/topology.h
@@ -99,7 +99,7 @@ extern const struct cpumask *cpumask_of_node(int node);
/* Returns a pointer to the cpumask of CPUs on Node 'node'. */
static inline const struct cpumask *cpumask_of_node(int node)
{
- return node_to_cpumask_map[node];
+ return node == -1 ? cpu_online_mask : node_to_cpumask_map[node];
}
#endif
diff --git a/arch/x86/mm/numa.c b/arch/x86/mm/numa.c
index 550df48..e57a7f5 100644
--- a/arch/x86/mm/numa.c
+++ b/arch/x86/mm/numa.c
@@ -47,6 +47,9 @@ void __init setup_node_to_cpumask_map(void)
*/
const struct cpumask *cpumask_of_node(int node)
{
+ if (node == -1)
+ return cpu_online_mask;
+
if (node >= nr_node_ids) {
printk(KERN_WARNING
"cpumask_of_node(%d): node > nr_node_ids(%d)\n",
--
1.6.4
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2009-12-24 8:58 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-24 8:59 [PATCH-next]Fix wrong local_cpulist displayed Jin Dongming
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.