Re: [PATCH 2/3] add dev_to_node()

From: Christoph Hellwig
Date: Tue Nov 07 2006 - 05:16:26 EST


On Mon, Nov 06, 2006 at 10:25:36PM -0800, Ravikiran G Thirumalai wrote:
> On Sun, Nov 05, 2006 at 12:53:23AM +0100, Christoph Hellwig wrote:
> > On Sat, Nov 04, 2006 at 06:06:48PM -0500, Dave Jones wrote:
> > > On Sat, Nov 04, 2006 at 11:56:29PM +0100, Christoph Hellwig wrote:
> > >
> > > This will break the compile for !NUMA if someone ends up doing a bisect
> > > and lands here as a bisect point.
> > >
> > > You introduce this nice wrapper..
> >
> > The dev_to_node wrapper is not enough as we can't assign to (-1) for
> > the non-NUMA case. So I added a second macro, set_dev_node for that.
> >
> > The patch below compiles and works on numa and non-NUMA platforms.
> >
> >
>
> Hi Christoph,
> dev_to_node does not work as expected on x86_64 (and i386). This is because
> node value returned by pcibus_to_node is initialized after a struct device
> is created with current x86_64 code.
>
> We need the node value initialized before the call to pci_scan_bus_parented,
> as the generic devices are allocated and initialized
> off pci_scan_child_bus, which gets called from pci_scan_bus_parented
> The following patch does that using "pci_sysdata" introduced by the PCI
> domain patches in -mm.

A nice, that some non-cell folks actually care for this patch. As far
as my x86_64 pci code knowledge is concerned that patch look fine to me.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/