[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <86fa3bc129bbd0e0da9d118ca6441e34a389fd2b.camel@surriel.com>
Date: Mon, 24 Nov 2025 12:42:42 -0500
From: Rik van Riel <riel@...riel.com>
To: Chris Li <chrisl@...nel.org>
Cc: Johannes Weiner <hannes@...xchg.org>, Andrew Morton
<akpm@...ux-foundation.org>, Kairui Song <kasong@...cent.com>, Kemeng Shi
<shikemeng@...weicloud.com>, Nhat Pham <nphamcs@...il.com>, Baoquan He
<bhe@...hat.com>, Barry Song <baohua@...nel.org>, Yosry Ahmed
<yosry.ahmed@...ux.dev>, Chengming Zhou <chengming.zhou@...ux.dev>,
linux-mm@...ck.org, linux-kernel@...r.kernel.org, pratmal@...gle.com,
sweettea@...gle.com, gthelen@...gle.com, weixugc@...gle.com
Subject: Re: [PATCH RFC] mm: ghost swapfile support for zswap
On Mon, 2025-11-24 at 20:26 +0300, Chris Li wrote:
> On Mon, Nov 24, 2025 at 7:15 PM Rik van Riel <riel@...riel.com>
> wrote:
> >
> > On Fri, 2025-11-21 at 17:52 -0800, Chris Li wrote:
> > > On Fri, Nov 21, 2025 at 3:40 AM Johannes Weiner
> > > <hannes@...xchg.org>
> > > wrote:
> > > >
> > > >
> > > > Zswap is primarily a compressed cache for real swap on
> > > > secondary
> > > > storage. It's indeed quite important that entries currently in
> > > > zswap
> > > > don't occupy disk slots; but for a solution to this to be
> > > > acceptable,
> > > > it has to work with the primary usecase and support disk
> > > > writeback.
> > >
> > > Well, my plan is to support the writeback via swap.tiers.
> > >
> > How would you do writeback from a zswap entry in
> > a ghost swapfile, to a real disk swap backend?
>
> Basically, each swap file has its own version swap
> ops->{read,write}_folio(). The mem swap tier is similar to the
> current
> zswap but it is memory only, there is no file backing and don't share
> swap entries with the real swapfile.
>
> When writing back from one swap entry to another swapfile, for the
> simple case of uncompressing the data, data will store to swap cache
> and write to another swapfile with allocated another swap entry. The
> front end of the swap cache will have the option map the front end
> swap entry offset to the back end block locations. At the memory
> price
> of 4 byte per swap entry.
Wait, so you use the swap cache radix tree to
indicate the physical location of data between
multiple swap devices?
Isn't that exactly what the vswap approach
does, too?
How is this different?
--
All Rights Reversed.
Powered by blists - more mailing lists