linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [REPORT] x86/topology: warning in set_cpu_sibling_map() with numa=fake=2 on non-NUMA x86 guest
@ 2026-04-15 21:31 Tianyu Li
  0 siblings, 0 replies; only message in thread
From: Tianyu Li @ 2026-04-15 21:31 UTC (permalink / raw)
  To: x86, tglx, mingo, bp, dave.hansen, akpm, rppt
  Cc: linux-kernel, linux-mm, luto, peterz, hpa, zhaoruilin22, xujiakai2025

Hello,

We reproduced this on 7.0-rc7 under syzkaller-style workloads.

The issue is a boot-time warning in set_cpu_sibling_map() on 
x86 while booting a non-NUMA KVM guest with numa=fake=2.

The warning looks reproducible and seems to come from an 
interaction between x86 topology validation and NUMA emulation, 
rather than from a real hardware topology inconsistency.

Environment:
- machine: QEMU/KVM guest
- CPU topology from boot log:
  Max. logical packages: 1
  Num. nodes per package: 1
  Max. threads per core: 1
  Num. cores per package: 4
- relevant cmdline fragment:
  numa=fake=2 panic_on_warn=1

Observed warning:
WARNING: arch/x86/kernel/smpboot.c:698 at 
set_cpu_sibling_map+0x1205/0x1f10
CPU: 1 PID: 0 Comm: swapper/1
RIP: set_cpu_sibling_map+0x1205/0x1f10 
arch/x86/kernel/smpboot.c:698
Call Trace:
 ap_starting arch/x86/kernel/smpboot.c:196 [inline]
 start_secondary+0xd8/0x2d0 arch/x86/kernel/smpboot.c:280
 common_startup_64+0x13e/0x148

At the same time, the log shows that NUMA was emulated:
Faking node 0 at ...
Faking node 1 at ...

My reading of the code is:

1. set_cpu_sibling_map() builds SMT/LLC/L2/die relationships 
and calls topology_sane() before accepting some of those 
relationships.

2. topology_sane() warns if two topology-related CPUs are not 
on the same NUMA node.

3. In the NUMA emulation / fake node case, the CPU-to-node 
mapping can be rewritten in terms of emulated node IDs, even 
when the underlying CPU/package topology is still a single 
physical node.

4. That can make CPUs from the same package / cache domain 
appear to be on different emulated nodes, which then triggers 
the warning.

So this looks less like a real topology bug and more like an 
over-strict warning under numa=fake= / NUMA emulation.

Would it make sense to suppress or relax this warning for NUMA 
emulation, instead of treating it as a real topology inconsistency?

If useful, I can also turn this into a small patch once the 
preferred direction is clear.

Thanks.

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-04-15 21:31 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-04-15 21:31 [REPORT] x86/topology: warning in set_cpu_sibling_map() with numa=fake=2 on non-NUMA x86 guest Tianyu Li

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox