aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-generic
diff options
context:
space:
mode:
authorChristoph Lameter <christoph@lameter.com>2005-06-23 00:08:18 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-23 09:45:08 -0700
commit8c5a09082f4e61a176382e96a831a0636b918602 (patch)
tree89a7086ebbec9d94dc7b7b3483d3750220ba979c /include/asm-generic
parente164f5573bef0e6caf53519719cf0228c9c15ce3 (diff)
downloadkernel_samsung_smdk4412-8c5a09082f4e61a176382e96a831a0636b918602.tar.gz
kernel_samsung_smdk4412-8c5a09082f4e61a176382e96a831a0636b918602.tar.bz2
kernel_samsung_smdk4412-8c5a09082f4e61a176382e96a831a0636b918602.zip
[PATCH] x86/x86_64: pcibus_to_node
Define pcibus_to_node to be able to figure out which NUMA node contains a given PCI device. This defines pcibus_to_node(bus) in include/linux/topology.h and adjusts the macros for i386 and x86_64 that already provided a way to determine the cpumask of a pci device. x86_64 was changed to not build an array of cpumasks anymore. Instead an array of nodes is build which can be used to generate the cpumask via node_to_cpumask. Signed-off-by: Christoph Lameter <christoph@lameter.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/asm-generic')
-rw-r--r--include/asm-generic/topology.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/include/asm-generic/topology.h b/include/asm-generic/topology.h
index ec96e8b0f19..5d9d70cd17f 100644
--- a/include/asm-generic/topology.h
+++ b/include/asm-generic/topology.h
@@ -41,8 +41,15 @@
#ifndef node_to_first_cpu
#define node_to_first_cpu(node) (0)
#endif
+#ifndef pcibus_to_node
+#define pcibus_to_node(node) (-1)
+#endif
+
#ifndef pcibus_to_cpumask
-#define pcibus_to_cpumask(bus) (cpu_online_map)
+#define pcibus_to_cpumask(bus) (pcibus_to_node(bus) == -1 ? \
+ CPU_MASK_ALL : \
+ node_to_cpumask(pcibus_to_node(bus)) \
+ )
#endif
#endif /* _ASM_GENERIC_TOPOLOGY_H */