sorry, please drop this patch. I should replace NR_CPUS with nr_cpu_ids, i will resend it
-R On 6/15/18, Li RongQing <lirongq...@baidu.com> wrote: > The default NR_CPUS can be very large, but actual possible nr_cpu_ids > usually is very small. For some x86 distribution, the NR_CPUS is 8192 > and nr_cpu_ids is 4. > > when xfrm_init is running, num_possible_cpus() should work > > Signed-off-by: Li RongQing <lirongq...@baidu.com> > Signed-off-by: Wang Li <wangl...@baidu.com> > --- > net/xfrm/xfrm_policy.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c > index 40b54cc64243..cbb862463cbd 100644 > --- a/net/xfrm/xfrm_policy.c > +++ b/net/xfrm/xfrm_policy.c > @@ -2988,12 +2988,13 @@ static struct pernet_operations __net_initdata > xfrm_net_ops = { > void __init xfrm_init(void) > { > int i; > + unsigned int nr_cpus = num_possible_cpus(); > > - xfrm_pcpu_work = kmalloc_array(NR_CPUS, sizeof(*xfrm_pcpu_work), > + xfrm_pcpu_work = kmalloc_array(nr_cpus, sizeof(*xfrm_pcpu_work), > GFP_KERNEL); > BUG_ON(!xfrm_pcpu_work); > > - for (i = 0; i < NR_CPUS; i++) > + for (i = 0; i < nr_cpus; i++) > INIT_WORK(&xfrm_pcpu_work[i], xfrm_pcpu_work_fn); > > register_pernet_subsys(&xfrm_net_ops); > -- > 2.16.2 > >