Messages in this thread | | | Date | Fri, 10 Jul 2009 13:19:39 -0700 | From | Jesse Barnes <> | Subject | Re: [PATCH] x86/PCI: initialize PCI bus node numbers early |
| |
On Fri, 10 Jul 2009 13:10:49 -0700 Yinghai Lu <yinghai@kernel.org> wrote:
> Jesse Barnes 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(-) > > > > Thanks, > > good to me.
Any chance you could test it on an AMD box for me? I don't have any here...
Thanks, -- Jesse Barnes, Intel Open Source Technology Center
| |