[tip:x86/urgent] x86/amd/numa: Fix northbridge quirk to assign correct NUMA node

From: tip-bot for Daniel J Blueman
Date: Fri Mar 14 2014 - 06:10:25 EST


Commit-ID: 847d7970defb45540735b3fb4e88471c27cacd85
Gitweb: http://git.kernel.org/tip/847d7970defb45540735b3fb4e88471c27cacd85
Author: Daniel J Blueman <daniel@xxxxxxxxxxxxx>
AuthorDate: Thu, 13 Mar 2014 19:43:01 +0800
Committer: Ingo Molnar <mingo@xxxxxxxxxx>
CommitDate: Fri, 14 Mar 2014 11:05:36 +0100

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@xxxxxxxxxxxxx>
Acked-by: Steffen Persvold <sp@xxxxxxxxxxxxx>
Acked-by: Borislav Petkov <bp@xxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/1394710981-3596-1-git-send-email-daniel@xxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
---
arch/x86/kernel/quirks.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

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:
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/