Hi Sam, Thanks for review. On Sat, Apr 20, 2024 at 10:28:05AM +0200, Sam Ravnborg wrote: > On Sat, Apr 20, 2024 at 01:15:45PM +0800, Dawei Li wrote: > > In general it's preferable to avoid placing cpumasks on the stack, as > > for large values of NR_CPUS these can consume significant amounts of > > stack space and make stack overflows more likely. > > > > Since the cpumask var resides in __init function, which means it's free > > of any concurrenct access, it can be safely marked with static to get > > rid of allocation on stack. > > > > while at it, mark it with __initdata to keep it from persistently > > consumed memory. > > I do not see the need for this - it does not fix a bug and it > complicates things. > If the size is a real concern the normal pattern is to allocate > and not declare it __initdata. > > Yes - __initdata is used in some place. > I suggest to leave it as is unless we are fixing a real bug here. Acked. I will remove __initdata annotation. Thanks, Dawei > > Sam > > > > > Signed-off-by: Dawei Li <dawei.li@xxxxxxxxxxxx> > > --- > > arch/sparc/mm/init_64.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/arch/sparc/mm/init_64.c b/arch/sparc/mm/init_64.c > > index 1ca9054d9b97..088d9c103dcc 100644 > > --- a/arch/sparc/mm/init_64.c > > +++ b/arch/sparc/mm/init_64.c > > @@ -1438,7 +1438,7 @@ static int __init numa_attach_mlgroup(struct mdesc_handle *md, u64 grp, > > static int __init numa_parse_mdesc_group(struct mdesc_handle *md, u64 grp, > > int index) > > { > > - cpumask_t mask; > > + static cpumask_t mask __initdata; > > int cpu; > > > > numa_parse_mdesc_group_cpus(md, grp, &mask); > > -- > > 2.27.0 >