All of lore.kernel.org
 help / color / mirror / Atom feed
From: Borislav Petkov <bp@suse.de>
To: Myron Stowe <myron.stowe@redhat.com>
Cc: bhelgaas@google.com, linux-pci@vger.kernel.org,
	suravee.suthikulpanit@amd.com, aravind.gopalakrishnan@amd.com,
	kim.naru@amd.com, daniel@numascale.com, tglx@linutronix.de,
	mingo@redhat.com, hpa@zytor.com, x86@kernel.org,
	sp@numascale.com, linux-acpi@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 4/5] ACPI/PCI: Warn if we have to "guess" host bridge node information
Date: Sun, 20 Apr 2014 12:21:05 +0200	[thread overview]
Message-ID: <20140420102105.GA19676@pd.tnic> (raw)
In-Reply-To: <20140419025339.2408.17866.stgit@amt.stowe>

On Fri, Apr 18, 2014 at 08:53:39PM -0600, Myron Stowe wrote:
> The vast majority of platforms are not supplying ACPI _PXM (proximity)
> information corresponding to host bridge (PNP0A03/PNP0A08) devices
> resulting in sysfs "numa_node" values of -1 (NUMA_NO_NODE) [1]:
>   # for i in /sys/devices/pci0000\:00/*/numa_node; do cat $i; done | uniq
>   -1
> 
>   # find /sys/ -name "numa_node" | while read fname; do cat $fname; \
>     done | uniq
>   -1
> 
> AMD based platforms provide a fall-back for this situation via amd_bus.c.
> These platforms snoop out the information by directly reading specific
> registers from the Northbridge and caching them via 'alloc_pci_root_info'.
> 
> Later during boot processing when host bridges are discovered -
> 'pci_acpi_scan_root' - the kernel looks for their corresponding ACPI _PXM
> method - drivers/acpi/numa.c::acpi_get_node().  If the BIOS supplied a
> _PXM method then that node (proximity) value is associated.  If the BIOS
> did not supply a _PXM method *and* the platform is AMD based, the
> fall-back cached values obtained directly from the Northbridge are used;
> otherwise, "NUMA_NO_NODE" is associated.
> 
> There are a number of issues with this fall-back mechanism the most
> notable being that amd_bus.c extracts a 3-bit number from a CPU register
> and uses it as the node number.  The node numbers used by Linux are
> logical and there's no reason they need to be identical to settings in the
> CPU registers.  So if we have some node information obtained in the normal
> way (from _PXM, SLIT, SRAT, etc.) and some from amd_bus.c, there's no
> reason to believe they will be compatible.
> 
> This patch warns when this situation occurs:
>   pci_root PNP0A08:00: [Firmware Bug]: No _PXM; guessing node number 0
> 
> [1] https://bugzilla.kernel.org/show_bug.cgi?id=72051
> 
> Signed-off-by: Myron Stowe <myron.stowe@redhat.com>
> ---
> 
>  arch/x86/pci/acpi.c |    6 +++++-
>  1 files changed, 5 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/x86/pci/acpi.c b/arch/x86/pci/acpi.c
> index 01edac6..80c09ba 100644
> --- a/arch/x86/pci/acpi.c
> +++ b/arch/x86/pci/acpi.c
> @@ -489,8 +489,12 @@ struct pci_bus *pci_acpi_scan_root(struct acpi_pci_root *root)
>  	}
>  
>  	node = acpi_get_node(device->handle);
> -	if (node == NUMA_NO_NODE)
> +	if (node == NUMA_NO_NODE) {
>  		node = x86_pci_root_bus_node(busnum);
> +		if (node != NUMA_NO_NODE)
> +			dev_info(&device->dev, FW_BUG "No _PXM; guessing node number %x\n",

Hmm, I'm not really convinced this message is user-friendly enough. Can
we be more descriptive here please?

-- 
Regards/Gruss,
    Boris.

Sent from a fat crate under my desk. Formatting is fine.
--

  reply	other threads:[~2014-04-20 10:21 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-05 21:06 [PATCH 0/3] amd/pci: Add AMD hostbridge supports for newer AMD systems suravee.suthikulpanit
2014-03-05 21:06 ` [PATCH 1/3] amd/pci: Add supports for generic AMD hostbridges suravee.suthikulpanit
2014-03-05 21:06 ` [PATCH 2/3] amd/pci: Support additional MMIO ranges capabilities suravee.suthikulpanit
2014-03-20 17:33   ` Bjorn Helgaas
2014-03-05 21:06 ` [PATCH 3/3] amd/pci: Miscellaneous code clean up for early_fillup_mp_bus_info suravee.suthikulpanit
2014-03-05 21:24 ` [PATCH 0/3] amd/pci: Add AMD hostbridge supports for newer AMD systems Bjorn Helgaas
2014-03-06  2:13   ` Suravee Suthikulanit
2014-03-06  2:13     ` Suravee Suthikulanit
2014-03-06  6:30     ` Suravee Suthikulpanit
2014-03-06  6:30       ` Suravee Suthikulpanit
2014-03-06 17:40       ` Bjorn Helgaas
2014-03-06 20:03         ` Suravee Suthikulpanit
2014-03-06 20:03           ` Suravee Suthikulpanit
2014-03-11 18:12           ` Bjorn Helgaas
2014-03-12 21:13             ` Bjorn Helgaas
2014-03-13  1:30               ` Myron Stowe
2014-03-14  2:06               ` Suravee Suthikulpanit
2014-03-14  2:06                 ` Suravee Suthikulpanit
2014-03-17 17:18                 ` Bjorn Helgaas
2014-03-20 17:42                   ` Bjorn Helgaas
2014-04-19  2:53 ` [PATCH v2 0/5] x86/PCI: Add AMD hostbridge support " Myron Stowe
2014-04-19  2:53   ` [PATCH v2 1/5] x86/PCI: Add support for generic AMD hostbridges Myron Stowe
2014-04-19 11:31     ` Borislav Petkov
2014-04-28 21:10       ` Myron Stowe
2014-04-19  2:53   ` [PATCH v2 2/5] x86/PCI: Support additional MMIO range capabilities Myron Stowe
2014-04-19 13:52     ` Borislav Petkov
2014-04-20  7:59       ` Borislav Petkov
2014-04-25 22:24         ` Myron Stowe
2014-04-26  9:10           ` Borislav Petkov
2014-04-28 20:50             ` Bjorn Helgaas
2014-04-28 21:40               ` Borislav Petkov
2014-04-28 21:40                 ` Borislav Petkov
2014-04-29  7:33                 ` Andreas Herrmann
2014-04-29 10:20                   ` Borislav Petkov
2014-04-29 13:07                     ` Steffen Persvold
2014-04-29 15:16                     ` Suravee Suthikulanit
2014-04-29 15:16                       ` Suravee Suthikulanit
2014-04-29 19:14                       ` Borislav Petkov
2014-04-29 21:40                         ` Myron Stowe
2014-04-30  7:00                           ` Robert Richter
2014-04-30  7:50                             ` Suravee Suthikulpanit
2014-04-30  7:50                               ` Suravee Suthikulpanit
2014-04-30  9:51                               ` Robert Richter
2014-04-30 23:03                             ` Myron Stowe
2014-04-29 11:19                   ` Robert Richter
2014-04-29  7:06               ` Jan Beulich
2014-04-29  7:06                 ` Jan Beulich
2014-04-29  3:04           ` Suravee Suthikulanit
2014-04-29  3:04             ` Suravee Suthikulanit
2014-04-28 21:19       ` Myron Stowe
2014-04-29  2:47         ` Suravee Suthikulanit
2014-04-29  2:47           ` Suravee Suthikulanit
2014-04-29 17:17     ` Robert Richter
2014-04-30  6:41     ` Robert Richter
2014-04-19  2:53   ` [PATCH v2 3/5] x86/PCI: Miscellaneous code clean up for early_fillup_mp_bus_info Myron Stowe
2014-04-20  8:02     ` Borislav Petkov
2014-04-28 21:21       ` Myron Stowe
2014-04-19  2:53   ` [PATCH v2 4/5] ACPI/PCI: Warn if we have to "guess" host bridge node information Myron Stowe
2014-04-20 10:21     ` Borislav Petkov [this message]
2014-04-28 21:24       ` Myron Stowe
2014-04-29 19:16         ` Borislav Petkov
2014-04-19  2:53   ` [PATCH v2 5/5] PCI: Remove redundant 'quirk_amd_nb_node' Myron Stowe
2014-04-20 10:54     ` Borislav Petkov
2014-04-20 13:44       ` Myron Stowe
2014-04-21 16:53         ` Daniel J Blueman
2014-04-29  2:02           ` Suravee Suthikulanit
2014-04-29  2:02             ` Suravee Suthikulanit
2014-04-29 19:29             ` Bjorn Helgaas
2014-04-28 21:28       ` Myron Stowe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140420102105.GA19676@pd.tnic \
    --to=bp@suse.de \
    --cc=aravind.gopalakrishnan@amd.com \
    --cc=bhelgaas@google.com \
    --cc=daniel@numascale.com \
    --cc=hpa@zytor.com \
    --cc=kim.naru@amd.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=myron.stowe@redhat.com \
    --cc=sp@numascale.com \
    --cc=suravee.suthikulpanit@amd.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.