[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZGzVD7hkl5v3A2dO@pc636>
Date: Tue, 23 May 2023 17:00:31 +0200
From: Uladzislau Rezki <urezki@...il.com>
To: Christoph Hellwig <hch@...radead.org>
Cc: "Uladzislau Rezki (Sony)" <urezki@...il.com>, linux-mm@...ck.org,
Andrew Morton <akpm@...ux-foundation.org>,
LKML <linux-kernel@...r.kernel.org>, Baoquan He <bhe@...hat.com>,
Lorenzo Stoakes <lstoakes@...il.com>,
Matthew Wilcox <willy@...radead.org>,
"Liam R . Howlett" <Liam.Howlett@...cle.com>,
Dave Chinner <david@...morbit.com>,
"Paul E . McKenney" <paulmck@...nel.org>,
Joel Fernandes <joel@...lfernandes.org>,
Oleksiy Avramchenko <oleksiy.avramchenko@...y.com>
Subject: Re: [PATCH 5/9] mm: vmalloc: Insert busy-VA per-cpu zone
On Mon, May 22, 2023 at 11:12:08PM -0700, Christoph Hellwig wrote:
> > /* Look up the first VA which satisfies addr < va_end, NULL if none. */
> > -static struct vmap_area *find_vmap_area_exceed_addr(unsigned long addr)
> > +static struct vmap_area *find_vmap_area_exceed_addr(unsigned long addr, struct rb_root *root)
>
> Please avoid the overly long line.
>
Will fix it.
> > + struct cpu_vmap_zone *z = addr_to_cvz(va->va_start);
> > +
> > /*
> > * Remove from the busy tree/list.
> > */
> > - spin_lock(&vmap_area_lock);
> > - unlink_va(va, &vmap_area_root);
> > - spin_unlock(&vmap_area_lock);
> > + fbl_lock(z, BUSY);
> > + unlink_va(va, &fbl_root(z, BUSY));
> > + fbl_unlock(z, BUSY);
>
> I find the BUSY magic here very confusing, and would prefer to
> just spell the actual lock reference out.
>
No problem. I can make it open-coded. What is about an access to tree/list?
>> unlink_va(va, &fbl_root(z, BUSY));
I mean this one.
--
Uladzislau Rezki
Powered by blists - more mailing lists