Re: [PATCH] x86/PCI: initialize PCI bus node numbers early

Jesse Barnes
2009-07-10T20:19:52Z

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,