Re: [RFC/RFT PATCH 1/3] PCI: Introduce pci_bus_find_numa_node()

From: Lorenzo Pieralisi
Date: Mon May 15 2017 - 09:04:06 EST


On Mon, May 15, 2017 at 05:57:11AM -0700, Vadim Lomovtsev wrote:
> On Fri, May 12, 2017 at 10:18:46AM -0700, Vadim Lomovtsev wrote:
> Hi Lorenzo,
>
> > Hi Lorenzo
> >
> > On Fri, May 12, 2017 at 04:50:40PM +0100, Lorenzo Pieralisi wrote:
> > > Hi Vadim,
> > >
> > > On Fri, May 12, 2017 at 05:44:05AM -0700, Vadim Lomovtsev wrote:
> > > > Hi Lorenzo,
> > > >
> > > > Are there any news related to these patches ?
> > >
> > > Not really, I have not received any feedback but I was expecting some
> > > to make progress here. Have you tested it ?
> > >
> > > Please let me know, thanks !
> >
> > Not yet. Plan to test them after weekend and will get back to you.
> >
>
> Here is the results of testing you patches at dual-socketed board
> with Cavium ThunderX SoC.
>
> Each boot kernel boot with acpi=force argument.
>
> 1. The 4.12-rc1 couldn't find rootfs partition so can't be tested.
> 2.1 The 4.11 without your patch set 0 to numa node for pci device
> cat /sys/bus/pci/devices/*/numa_node
> got zeroes here for all devices
> 2.2 The 4.11 with your patches applied set -1 to numa_node for all pci devices
> same command provides "-1"
>
> So looking at your patches..
>
> At the patch 1/3 you implemented pci_bus_find_numa_node function:
>
> +int pci_bus_find_numa_node(struct pci_bus *bus)
> +{
> + return NUMA_NO_NODE;
> +}
>
> Then at the 2/3 patch it is called from pci_register_host_bridge:
> @@ -770,6 +770,7 @@ int pci_register_host_bridge(struct pci_host_bridge *bridge)
> [..]
> + set_dev_node(&bus->dev, pci_bus_find_numa_node(bus));
>
> I suppose that is why I'm seeing those -1 in the numa_node field.
>
> And at the patch 3/3 you implemented acpi_pci_bus_find_numa_node function
> +int acpi_pci_bus_find_numa_node(struct pci_bus *bus)
> which implements actual work of getting numa node value,
> but it seems that nodoby calls it, isn't it ?
>
> Don't we need to update pci_bus_find_numa_node with proper calling
> of acpi_pci_bus_find_numa_node() ?

Yes:

https://lkml.org/lkml/2017/4/26/211

Apologies for wasting your time, v2 coming with the actual call,
please have a look.

Thanks,
Lorenzo