lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 18 Jan 2024 17:43:14 +0800
From: Shijie Huang <shijie@...eremail.onmicrosoft.com>
To: Greg KH <gregkh@...uxfoundation.org>,
 Huang Shijie <shijie@...amperecomputing.com>
Cc: patches@...erecomputing.com, rafael@...nel.org, paul.walmsley@...ive.com,
 palmer@...belt.com, aou@...s.berkeley.edu, yury.norov@...il.com,
 kuba@...nel.org, vschneid@...hat.com, mingo@...nel.org,
 akpm@...ux-foundation.org, vbabka@...e.cz, rppt@...nel.org,
 tglx@...utronix.de, jpoimboe@...nel.org, ndesaulniers@...gle.com,
 mikelley@...rosoft.com, mhiramat@...nel.org, arnd@...db.de,
 linux-kernel@...r.kernel.org, linux-riscv@...ts.infradead.org,
 linux-arm-kernel@...ts.infradead.org, catalin.marinas@....com,
 will@...nel.org, mark.rutland@....com, mpe@...erman.id.au,
 linuxppc-dev@...ts.ozlabs.org, chenhuacai@...nel.org,
 jiaxun.yang@...goat.com, linux-mips@...r.kernel.org,
 cl@...amperecomputing.com
Subject: Re: [PATCH] init: refactor the generic cpu_to_node for NUMA

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


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ