aboutsummaryrefslogtreecommitdiff
path: root/arch/alpha/include/asm/topology.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/alpha/include/asm/topology.h')
-rw-r--r--arch/alpha/include/asm/topology.h20
1 files changed, 11 insertions, 9 deletions
diff --git a/arch/alpha/include/asm/topology.h b/arch/alpha/include/asm/topology.h
index 149532e162c..9251e13e144 100644
--- a/arch/alpha/include/asm/topology.h
+++ b/arch/alpha/include/asm/topology.h
@@ -22,24 +22,26 @@ static inline int cpu_to_node(int cpu)
return node;
}
-static inline cpumask_t node_to_cpumask(int node)
+extern struct cpumask node_to_cpumask_map[];
+/* FIXME: This is dumb, recalculating every time. But simple. */
+static const struct cpumask *cpumask_of_node(int node)
{
- cpumask_t node_cpu_mask = CPU_MASK_NONE;
int cpu;
+ if (node == -1)
+ return cpu_all_mask;
+
+ cpumask_clear(&node_to_cpumask_map[node]);
+
for_each_online_cpu(cpu) {
if (cpu_to_node(cpu) == node)
- cpu_set(cpu, node_cpu_mask);
+ cpumask_set_cpu(cpu, node_to_cpumask_map[node]);
}
-#ifdef DEBUG_NUMA
- printk("node %d: cpu_mask: %016lx\n", node, node_cpu_mask);
-#endif
-
- return node_cpu_mask;
+ return &node_to_cpumask_map[node];
}
-#define pcibus_to_cpumask(bus) (cpu_online_map)
+#define cpumask_of_pcibus(bus) (cpu_online_mask)
#endif /* !CONFIG_NUMA */
# include <asm-generic/topology.h>