linux/arch
Jesse Barnes 2547089ca2 x86/PCI: initialize PCI bus node numbers early
The current mp_bus_to_node array is initialized only by AMD specific
code, since AMD platforms have registers that can be used for
determining mode numbers.  On new Intel platforms it's necessary to
initialize this array as well though, otherwise all PCI node numbers
will be 0, when in fact they should be -1 (indicating that I/O isn't
tied to any particular node).

So move the mp_bus_to_node code into the common PCI code, and
initialize it early with a default value of -1.  This may be overridden
later by arch code (e.g. the AMD code).

With this change, PCI consistent memory and other node specific
allocations (e.g. skbuff allocs) should occur on the "current" node.
If, for performance reasons, applications want to be bound to specific
nodes, they should open their devices only after being pinned to the
CPU where they'll run, for maximum locality.

Acked-by: Yinghai Lu <yinghai@kernel.org>
Tested-by: Jesse Brandeburg <jesse.brandeburg@gmail.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2009-09-09 13:29:21 -07:00
..
alpha PCI: remove pcibios_scan_all_fns() 2009-09-09 13:29:18 -07:00
arm PCI: remove pcibios_scan_all_fns() 2009-09-09 13:29:18 -07:00
avr32 Merge git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6 2009-08-24 12:26:48 -07:00
blackfin blackfin: fix wrong CTS inversion 2009-07-20 16:38:44 -07:00
cris mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() 2009-07-27 12:10:38 -07:00
frv frv/PCI: Use pci_claim_resource 2009-09-09 13:29:18 -07:00
h8300 PCI: remove pcibios_scan_all_fns() 2009-09-09 13:29:18 -07:00
ia64 PCI: remove pcibios_scan_all_fns() 2009-09-09 13:29:18 -07:00
m32r mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() 2009-07-27 12:10:38 -07:00
m68k m68k,m68knommu: Wire up rt_tgsigqueueinfo and perf_counter_open 2009-08-26 23:14:50 +02:00
m68knommu m68k,m68knommu: Wire up rt_tgsigqueueinfo and perf_counter_open 2009-08-26 23:14:50 +02:00
microblaze microblaze: Update Microblaze defconfigs 2009-08-18 11:05:11 +02:00
mips PCI: remove pcibios_scan_all_fns() 2009-09-09 13:29:18 -07:00
mn10300 PCI: remove pcibios_scan_all_fns() 2009-09-09 13:29:18 -07:00
parisc PCI: remove pcibios_scan_all_fns() 2009-09-09 13:29:18 -07:00
powerpc PCI: remove pcibios_scan_all_fns() 2009-09-09 13:29:18 -07:00
s390 [S390] set preferred console based on conmode 2009-08-23 18:10:01 +02:00
sh PCI: remove pcibios_scan_all_fns() 2009-09-09 13:29:18 -07:00
sparc PCI: remove pcibios_scan_all_fns() 2009-09-09 13:29:18 -07:00
um PCI: remove pcibios_scan_all_fns() 2009-09-09 13:29:18 -07:00
x86 x86/PCI: initialize PCI bus node numbers early 2009-09-09 13:29:21 -07:00
xtensa mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() 2009-07-27 12:10:38 -07:00
.gitignore
Kconfig gcov: add gcov profiling infrastructure 2009-06-18 13:03:57 -07:00