[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240625092601.uo7266gp5joluyg5@oppo.com>
Date: Tue, 25 Jun 2024 17:26:01 +0800
From: Hailong Liu <hailong.liu@...o.com>
To: Uladzislau Rezki <urezki@...il.com>
CC: Baoquan He <bhe@...hat.com>, Nick Bowler <nbowler@...conx.ca>,
<linux-kernel@...r.kernel.org>, Linux regressions mailing list
<regressions@...ts.linux.dev>, <linux-mm@...ck.org>,
<sparclinux@...r.kernel.org>, Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: PROBLEM: kernel crashes when running xfsdump since ~6.4
On Mon, 24. Jun 14:18, Uladzislau Rezki wrote:
> >
> > IMO, I thought we can fix this by following.
> > It doesn't initialize unused variables and utilize the percpu xarray. If I said
> > anything wrong, please do let me know. I can learn a lot from you all :).
> >
> >
> > diff --git a/mm/vmalloc.c b/mm/vmalloc.c
> > index 11fe5ea208aa..f9f981674b2d 100644
> > --- a/mm/vmalloc.c
> > +++ b/mm/vmalloc.c
> > @@ -4480,17 +4480,21 @@ void __init vmalloc_init(void)
> > */
> > vmap_area_cachep = KMEM_CACHE(vmap_area, SLAB_PANIC);
> >
> > - for_each_possible_cpu(i) {
> > + for (i = 0; i < nr_cpu_ids; i++) {
> > struct vmap_block_queue *vbq;
> > struct vfree_deferred *p;
> >
> > vbq = &per_cpu(vmap_block_queue, i);
> > + xa_init(&vbq->vmap_blocks);
> > +
> > + if (!cpu_possible(i))
> Why do you need such check?
IIUC, take this issue as example, cpumask is b101 and nr_cpu_id is
3, if i = 1, There is no need to initialize unused variables here;
initializing the xarray for the hash index is sufficient.
>
> Thanks!
>
> --
> Uladzislau Rezki
--
help you, help me,
Hailong.
Powered by blists - more mailing lists