Re: [PATCH 1/4] try parent numa_node at first before using default

From: Yinghai Lu
Date: Tue Jul 10 2007 - 02:22:38 EST


On 7/9/07, Greg KH <greg@xxxxxxxxx> wrote:
On Mon, Jul 09, 2007 at 05:52:34PM -0700, Christoph Lameter wrote:
> It means that the node for the device is the same as the parent device.
> F.e. if the parent device is a bus that is connected to node 4 then all
> the devices hooked up to the bus are allocated on that node.

Yes, but is someone setting the parent device node information properly?

And this really needs some more changelog information please. Why is
this needed from how things are done today?

please check if you are happy with the changlog

----------------------------------------------------begin---------------------
For pci_device, pcibios_scan_root and pci_scan_root will call pci_device_add.
pci_device_add will call device_initialize and set_dev_node(&dev->dev,
pcibus_to_node(bus)).
other device such as netdev, and usb_device, set_dev_node is never be
used. So that field numa_node always is -1.

So for netdev, it will need to use dev->parent to get pci_device to
use it's numa_node. esp in netdev_alloc_skb()
not sure how other device such as infiniband do that.

Actually before patch
[PATCH 1/2] x86_64: get mp_bus_to_node as early
there is a bug about squence of bus->sysdata and using pcibus_to_node.
the numa_node of pci_dev->dev is never set correctly...always 0.

So some device have to use pcibus_to_node(to_pci_dev(dev)->bus) directly
such as dma_alloc_pages in arch/x86_64/kernel/pci-dma.c.
or hwif_to_node in include/linux/ide.h

with this patch, we could use device->numa_node direclty for all device.
-------------------------------------------------end-----------



YH
-
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/