Message ID | 20170426100619.31758-1-lorenzo.pieralisi@arm.com (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | Bjorn Helgaas |
Headers | show |
Hi Lorenzo, Are there any news related to these patches ? WBR, Vadim
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 ! 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. > > Lorenzo WBR, Vadim
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() ? > > > > Lorenzo > > WBR, > Vadim WBR, Vadim
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
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 7904d02..2de9162 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -12,6 +12,7 @@ #include <linux/delay.h> #include <linux/dmi.h> #include <linux/init.h> +#include <linux/numa.h> #include <linux/of.h> #include <linux/of_pci.h> #include <linux/pci.h> @@ -5235,6 +5236,11 @@ int pci_bus_find_domain_nr(struct pci_bus *bus, struct device *parent) #endif #endif +int pci_bus_find_numa_node(struct pci_bus *bus) +{ + return NUMA_NO_NODE; +} + /** * pci_ext_cfg_avail - can we access extended PCI config space? * diff --git a/include/linux/pci.h b/include/linux/pci.h index eb3da1a..9e62462 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h @@ -1481,6 +1481,7 @@ static inline int acpi_pci_bus_find_domain_nr(struct pci_bus *bus) #endif int pci_bus_find_domain_nr(struct pci_bus *bus, struct device *parent); #endif +int pci_bus_find_numa_node(struct pci_bus *bus); /* some architectures require additional setup to direct VGA traffic */ typedef int (*arch_set_vga_state_t)(struct pci_dev *pdev, bool decode,
Create an empty stub, to be populated by firmware methods, to retrieve the NUMA node for a given pci_bus. No functional change introduced. Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Cc: Bjorn Helgaas <bhelgaas@google.com> --- drivers/pci/pci.c | 6 ++++++ include/linux/pci.h | 1 + 2 files changed, 7 insertions(+)