[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aBseynlpPBIIvlPY@pc636>
Date: Wed, 7 May 2025 10:50:18 +0200
From: Uladzislau Rezki <urezki@...il.com>
To: Sergey Senozhatsky <senozhatsky@...omium.org>
Cc: Yosry Ahmed <yosry.ahmed@...ux.dev>,
Vitaly Wool <vitaly.wool@...sulko.se>, linux-mm@...ck.org,
akpm@...ux-foundation.org, linux-kernel@...r.kernel.org,
Nhat Pham <nphamcs@...il.com>,
Shakeel Butt <shakeel.butt@...ux.dev>,
Johannes Weiner <hannes@...xchg.org>,
Minchan Kim <minchan@...nel.org>, Igor Belousov <igor.b@...dev.am>,
Herbert Xu <herbert@...dor.apana.org.au>
Subject: Re: [PATCH] mm/zblock: use vmalloc for page allocations
On Wed, May 07, 2025 at 03:08:08PM +0900, Sergey Senozhatsky wrote:
> On (25/05/07 14:57), Sergey Senozhatsky wrote:
> > On (25/05/06 13:13), Yosry Ahmed wrote:
> > > If we can use vmalloc for zblock, then we can probably also use vmalloc
> > > in zsmalloc and get rid of the chaining logic completely. This would
> > > make zsmalloc simpler and closer to zblock in that regard.
> > >
> > > Sergey, WDYT?
> >
> > This sounds interesting. We might get rid of lots of memcpy()
> > in object read/write paths, and so on. I don't know if 0-order
> > chaining was the only option for zsmalloc, or just happened to
> > be the first one.
>
> I assume we might have problems with zspage release path. vfree()
> should break .swap_slot_free_notify, as far as I can see.
> .swap_slot_free_notify is called under swap-cluster spin-lock,
> so if we free the last object in the zspage we cannot immediately
> free that zspage, because vfree() might_sleep().
>
you can use vfree_atomic(), it can be collected in any atomic but
no in NMI.
--
Uladzislau Rezki
Powered by blists - more mailing lists