Hi Greg,
在 2024/1/18 17:27, Greg KH 写道:
On Thu, Jan 18, 2024 at 11:14:12AM +0800, Huang Shijie wrote:
(0) We list the ARCHs which support the NUMA:
arm64, loongarch, powerpc, riscv,
sparc, mips, s390, x86,
I do not understand this format, what are you saying here?
Sorry for the confusing.
I should put the conclusion at the beginning:
The generic cpu_to_node() has bug in some situations.
The generic cpu_to_node() does not work in arm64, powerpc, riscv
when the CONFIG_NUMA is enabled:
The cpu_to_node() is called before it is initialized.
So all the four places are set with the wrong node id (get by
cpu_to_node()):
a.) early_trace_init() in kernel/trace/trace.c
b.) sched_init() in kernel/sched/core.c
c.) init_sched_fair_class() in kernel/sched/fair.c
d.) workqueue_init_early() in kernel/workqueue.c
Thanks
Huang Shijie