]> git.itanic.dy.fi Git - linux-stable/commitdiff
PCI: Warn if no host bridge NUMA node info
authorYunsheng Lin <linyunsheng@huawei.com>
Sat, 19 Oct 2019 06:45:43 +0000 (14:45 +0800)
committerBjorn Helgaas <bhelgaas@google.com>
Wed, 23 Oct 2019 17:04:44 +0000 (12:04 -0500)
In pci_call_probe(), we try to run driver probe functions on the node where
the device is attached.  If we don't know which node the device is attached
to, the driver will likely run on the wrong node.  This will still work,
but performance will not be as good as it could be.

On NUMA systems, warn if we don't know which node a PCI host bridge is
attached to.  This is likely an indication that ACPI didn't supply a _PXM
method or the DT didn't supply a "numa-node-id" property.

[bhelgaas: commit log, check bus node]
Link: https://lore.kernel.org/r/1571467543-26125-1-git-send-email-linyunsheng@huawei.com
Signed-off-by: Yunsheng Lin <linyunsheng@huawei.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
drivers/pci/probe.c

index 3d5271a7a849dbffb8ea80f515f87dbf7e33f04f..40259c38d66aea568ba8df08e35f87a03c7b8216 100644 (file)
@@ -897,6 +897,9 @@ static int pci_register_host_bridge(struct pci_host_bridge *bridge)
        else
                pr_info("PCI host bridge to bus %s\n", name);
 
+       if (nr_node_ids > 1 && pcibus_to_node(bus) == NUMA_NO_NODE)
+               dev_warn(&bus->dev, "Unknown NUMA node; performance will be reduced\n");
+
        /* Add initial resources to the bus */
        resource_list_for_each_entry_safe(window, n, &resources) {
                list_move_tail(&window->node, &bridge->windows);