summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorDaniel J Blueman <daniel@numascale.com>2014-03-13 11:43:01 (GMT)
committerIngo Molnar <mingo@kernel.org>2014-03-14 10:05:36 (GMT)
commit847d7970defb45540735b3fb4e88471c27cacd85 (patch)
treee43e960fcde8f7fb0cee11d0ba3dde47d8389d8c /arch
parent731bd6a93a6e9172094a2322bd0ee964bb1f4d63 (diff)
downloadlinux-847d7970defb45540735b3fb4e88471c27cacd85.tar.xz
x86/amd/numa: Fix northbridge quirk to assign correct NUMA node
For systems with multiple servers and routed fabric, all northbridges get assigned to the first server. Fix this by also using the node reported from the PCI bus. For single-fabric systems, the northbriges are on PCI bus 0 by definition, which are on NUMA node 0 by definition, so this is invarient on most systems. Tested on fam10h and fam15h single and multi-fabric systems and candidate for stable. Signed-off-by: Daniel J Blueman <daniel@numascale.com> Acked-by: Steffen Persvold <sp@numascale.com> Acked-by: Borislav Petkov <bp@suse.de> Cc: <stable@vger.kernel.org> Link: http://lkml.kernel.org/r/1394710981-3596-1-git-send-email-daniel@numascale.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/kernel/quirks.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kernel/quirks.c b/arch/x86/kernel/quirks.c
index 7c6acd4..ff898bb 100644
--- a/arch/x86/kernel/quirks.c
+++ b/arch/x86/kernel/quirks.c
@@ -529,7 +529,7 @@ static void quirk_amd_nb_node(struct pci_dev *dev)
return;
pci_read_config_dword(nb_ht, 0x60, &val);
- node = val & 7;
+ node = pcibus_to_node(dev->bus) | (val & 7);
/*
* Some hardware may return an invalid node ID,
* so check it first: