All of lore.kernel.org
 help / color / mirror / Atom feed
From: Saurabh Sengar <ssengar@linux.microsoft.com>
To: kys@microsoft.com, haiyangz@microsoft.com, wei.liu@kernel.org,
	decui@microsoft.com, tglx@linutronix.de, mingo@redhat.com,
	bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org,
	hpa@zytor.com, peterz@infradead.org, sboyd@kernel.org,
	linux-kernel@vger.kernel.org, linux-hyperv@vger.kernel.org
Cc: ssengar@microsoft.com
Subject: [PATCH v2 3/4] x86/of: Map NUMA node to CPUs as per DeviceTree
Date: Tue,  2 Apr 2024 07:40:29 -0700	[thread overview]
Message-ID: <1712068830-4513-4-git-send-email-ssengar@linux.microsoft.com> (raw)
In-Reply-To: <1712068830-4513-1-git-send-email-ssengar@linux.microsoft.com>

Currently for DeviceTree bootup, x86 code does the default mapping of
CPUs to NUMA, which is wrong. This can cause incorrect mapping and WARN
on a SMT enabled systems like below:

CPU #1's smt-sibling CPU #0 is not on the same node! [node: 1 != 0]. Ignoring dependency.
WARNING: CPU: 1 PID: 0 at topology_sane.isra.0+0x5c/0x6d
match_smt+0xf6/0xfc
set_cpu_sibling_map.cold+0x24f/0x512
start_secondary+0x5c/0x110

Add the set_apicid_to_node() function in dtb_cpu_setup() for allowing
the NUMA to CPU mapping for DeviceTree platforms.

Signed-off-by: Saurabh Sengar <ssengar@linux.microsoft.com>
---
 arch/x86/kernel/devicetree.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/x86/kernel/devicetree.c b/arch/x86/kernel/devicetree.c
index 0d3a50e8395d..b93ce8a39ff7 100644
--- a/arch/x86/kernel/devicetree.c
+++ b/arch/x86/kernel/devicetree.c
@@ -24,6 +24,7 @@
 #include <asm/pci_x86.h>
 #include <asm/setup.h>
 #include <asm/i8259.h>
+#include <asm/numa.h>
 #include <asm/prom.h>
 
 __initdata u64 initial_dtb;
@@ -137,6 +138,7 @@ static void __init dtb_cpu_setup(void)
 			continue;
 		}
 		topology_register_apic(apic_id, CPU_ACPIID_INVALID, true);
+		set_apicid_to_node(apic_id, of_node_to_nid(dn));
 	}
 }
 
-- 
2.34.1


  parent reply	other threads:[~2024-04-02 14:40 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-02 14:40 [PATCH v2 0/4] Fixing SMP config for DeviceTree platforms Saurabh Sengar
2024-04-02 14:40 ` [PATCH v2 1/4] x86/hyperv/vtl: Correct parse_smp_cfg assignment Saurabh Sengar
2024-04-03  6:59   ` [tip: x86/platform] x86/hyperv/vtl: Correct x86_init.mpparse.parse_smp_cfg assignment tip-bot2 for Saurabh Sengar
2024-04-04 23:58   ` [PATCH v2 1/4] x86/hyperv/vtl: Correct parse_smp_cfg assignment Wei Liu
2024-04-02 14:40 ` [PATCH v2 2/4] x86/of: Set the parse_smp_cfg for all the DeviceTree platforms by default Saurabh Sengar
2024-04-03  6:59   ` [tip: x86/platform] " tip-bot2 for Saurabh Sengar
2024-04-02 14:40 ` Saurabh Sengar [this message]
2024-04-03  6:59   ` [tip: x86/platform] x86/of: Map NUMA node to CPUs as per DeviceTree tip-bot2 for Saurabh Sengar
2024-04-02 14:40 ` [PATCH v2 4/4] x86/of: Change x86_dtb_parse_smp_config to static Saurabh Sengar
2024-04-03  6:59   ` [tip: x86/platform] x86/of: Change x86_dtb_parse_smp_config() " tip-bot2 for Saurabh Sengar

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=1712068830-4513-4-git-send-email-ssengar@linux.microsoft.com \
    --to=ssengar@linux.microsoft.com \
    --cc=bp@alien8.de \
    --cc=dave.hansen@linux.intel.com \
    --cc=decui@microsoft.com \
    --cc=haiyangz@microsoft.com \
    --cc=hpa@zytor.com \
    --cc=kys@microsoft.com \
    --cc=linux-hyperv@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=sboyd@kernel.org \
    --cc=ssengar@microsoft.com \
    --cc=tglx@linutronix.de \
    --cc=wei.liu@kernel.org \
    --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.