linux-stable/arch/x86/pci
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
..
acpi.c x86/PCI: get root CRS before scanning children 2009-06-30 13:44:24 -07:00
amd_bus.c x86/PCI: initialize PCI bus node numbers early 2009-09-09 13:29:21 -07:00
common.c x86/PCI: initialize PCI bus node numbers early 2009-09-09 13:29:21 -07:00
direct.c x86, pci: move arch/x86/pci/pci.h to arch/x86/include/asm/pci_x86.h 2008-12-29 18:17:36 +01:00
early.c PCI/x86: format early dump like other PCI output 2009-03-19 19:29:18 -07:00
fixup.c Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2009-04-01 09:47:12 -07:00
i386.c x86/pci: insert ioapic resource before assigning unassigned resources 2009-07-10 13:03:14 -07:00
init.c PCI: avoid early PCI mmconfig init if pci=noearly is given in cmdline 2009-01-07 11:12:46 -08:00
irq.c x86, apic: introduce io_apic_irq_attr 2009-05-18 08:38:55 +02:00
legacy.c x86/PCI: make pci=lastbus=255 work when acpi is on 2009-03-26 16:07:49 -07:00
Makefile x86/pci: renamed: numa.c -> numaq_32.c 2008-07-11 21:22:58 +02:00
mmconfig-shared.c ACPI, PCI, x86: move MCFG parsing routine from ACPI to PCI file 2009-06-12 20:50:38 -04:00
mmconfig_32.c x86, pci: move arch/x86/pci/pci.h to arch/x86/include/asm/pci_x86.h 2008-12-29 18:17:36 +01:00
mmconfig_64.c x86/PCI: host mmconfig detect clean up 2009-03-20 11:40:22 -07:00
numaq_32.c x86, apic: remove genapic.h 2009-02-17 17:52:44 +01:00
olpc.c x86, pci: move arch/x86/pci/pci.h to arch/x86/include/asm/pci_x86.h 2008-12-29 18:17:36 +01:00
pcbios.c x86: move mach-default/*.h files to asm/ 2009-01-29 14:16:51 +01:00
visws.c PCI: x86/visws: use generic INTx swizzle from PCI core 2009-01-07 11:13:16 -08:00