Messages in this thread | | | Date | Tue, 01 Sep 2009 09:55:34 -0700 | From | Yinghai Lu <> | Subject | Re: [PATCH] x86/PCI: initialize PCI bus node numbers early |
| |
Ingo Molnar wrote: > * Jesse Barnes <jbarnes@virtuousgeek.org> wrote: > >> 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. >> >> Any thoughts here Yinghai or Jesse? >> >> >> include/asm/pci.h | 2 + >> kernel/setup.c | 2 + >> pci/amd_bus.c | 61 +----------------------------------------- >> pci/common.c | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ >> 4 files changed, 83 insertions(+), 59 deletions(-) > > FYI, this commit: > > acccaba: x86/PCI: initialize PCI bus node numbers early > > caused a boot crash in -tip testing: >
looks like the patch change default 0 in 32bit to -1 ...
YH
| |