[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <efed8f35ae8c4901ba01702bcc07b511@EXMBX161.cuchost.com>
Date: Tue, 3 Jan 2023 07:53:38 +0000
From: Leyfoon Tan <leyfoon.tan@...rfivetech.com>
To: Andrew Jones <ajones@...tanamicro.com>
CC: Palmer Dabbelt <palmer@...belt.com>,
Paul Walmsley <paul.walmsley@...ive.com>,
Albert Ou <aou@...s.berkeley.edu>,
"linux-riscv@...ts.infradead.org" <linux-riscv@...ts.infradead.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Ley Foon Tan <lftan.linux@...il.com>
Subject: RE: [PATCH] riscv: Move call to init_cpu_topology() to later
initialization stage
> -----Original Message-----
> From: Andrew Jones <ajones@...tanamicro.com>
> Sent: Tuesday, 3 January, 2023 2:54 PM
> To: Leyfoon Tan <leyfoon.tan@...rfivetech.com>
> Cc: Palmer Dabbelt <palmer@...belt.com>; Paul Walmsley
> <paul.walmsley@...ive.com>; Albert Ou <aou@...s.berkeley.edu>; linux-
> riscv@...ts.infradead.org; linux-kernel@...r.kernel.org; Ley Foon Tan
> <lftan.linux@...il.com>
> Subject: Re: [PATCH] riscv: Move call to init_cpu_topology() to later
> initialization stage
>
> On Tue, Jan 03, 2023 at 11:53:16AM +0800, Ley Foon Tan wrote:
> > topology_parse_cpu_capacity() is failed to allocate memory with
> > kcalloc() after read "capacity-dmips-mhz" DT parameter in CPU DT
> > nodes. This
> > topology_parse_cpu_capacity() is called from init_cpu_topology(), move
> > call to init_cpu_topology() to later initialization stage (after
> > memory allocation is available).
> >
> > Note, this refers to ARM64 implementation, call init_cpu_topology() in
> > smp_prepare_cpus().
> >
> > Tested on Qemu platform.
>
> Hi Ley,
>
> Can you provide the topologies (command lines) tested?
2 clusters with 2 CPU cores each.
>
> >
> > Signed-off-by: Ley Foon Tan <leyfoon.tan@...rfivetech.com>
>
> Fixes tag?
Okay, will send out next revision with Fixes tag.
Fixes: 03f11f03dbfe ("RISC-V: Parse cpu topology during boot. ")
[...]
> > arch/riscv/kernel/smpboot.c | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/arch/riscv/kernel/smpboot.c b/arch/riscv/kernel/smpboot.c
> > index 3373df413c88..ddb2afba6d25 100644
> > --- a/arch/riscv/kernel/smpboot.c
> > +++ b/arch/riscv/kernel/smpboot.c
> > @@ -39,7 +39,6 @@ static DECLARE_COMPLETION(cpu_running);
> >
> > void __init smp_prepare_boot_cpu(void) {
> > - init_cpu_topology();
> > }
> >
> > void __init smp_prepare_cpus(unsigned int max_cpus) @@ -48,6 +47,8
> @@
> > void __init smp_prepare_cpus(unsigned int max_cpus)
> > int ret;
> > unsigned int curr_cpuid;
> >
> > + init_cpu_topology();
> > +
> > curr_cpuid = smp_processor_id();
> > store_cpu_topology(curr_cpuid);
> > numa_store_cpu_info(curr_cpuid);
> > --
> > 2.25.1
> >
>
> Otherwise,
>
> Reviewed-by: Andrew Jones <ajones@...tanamicro.com>
>
> Thanks,
> drew
Thanks
Ley Foon
Powered by blists - more mailing lists