Re: [PATCH v10 0/6] mm/swap, memcg: Introduce swap tiers for cgroup based swap control

From: Shakeel Butt

Date: Tue Jul 14 2026 - 16:44:52 EST


Hi Youngjun,

Thanks for keep pushing this effort.

On Tue, Jul 14, 2026 at 01:22:42AM +0900, Youngjun Park wrote:
> On Mon, Jul 13, 2026 at 09:01:20AM -0700, Yosry Ahmed wrote:
> > On Mon, Jul 13, 2026 at 8:57 AM Youngjun Park <youngjun.park@xxxxxxx> wrote:
> > >
> > > On Mon, Jul 13, 2026 at 08:50:36AM -0700, Yosry Ahmed wrote:
> > > > On Sun, Jul 12, 2026 at 7:57 PM Youngjun Park <youngjun.park@xxxxxxx> wrote:
> > > > >
> > > > > This is the v10 series of the swap tier patchset.
> > > > >
> > > > > v10 folds in the Sashiko review fixes for the selftests added in v9 and
> > > > > rebases onto the current mm-new. There are no functional changes to the
> > > > > core swap or memcg code since v9; see the changelog for details.
> > > > >
> > > > > For context, the bulk of the series is unchanged since v8, with great thanks
> > > > > to Shakeel Butt and Yosry for the reviews and discussions [1] that shaped it.
> > > > > The main change in v8 was the interface change to use memory.swap.tiers.max
> > > > > with '0' (disable) and 'max' (enable) values. This mechanism was suggested
> > > > > by Shakeel and Yosry.
> > > > >
> > > > > This change allows for future extensions to control swap between tiers and
> > > > > aligns better with existing memcg interfaces. It is confined to patch #3's
> > > > > user-facing interface; internally, patch #3 still uses the existing mask
> > > > > processing method, which is implementation-efficient.
> > > > >
> > > > > We also discussed tier extensions. Thanks to Yosry, Nhat and Shakeel for their
> > > > > valuable feedback.
> > > > >
> > > > > Here is a brief summary of our tentative conclusions. Please correct me
> > > > > if anything is misrepresented (details in references):
> > > > >
> > > > > * Zswap tiering [2]:
> > > > > Zswap can itself be a tier (typically the fastest one). But, until vswap lands,
> > > > > zswap cannot be the only allowed tier,
> > > > > since it still needs a physical device for allocation;
> > > > > that restriction can be lifted once vswap is supported.
> > > >
> > > > Does this series support zswap being a tier? I cannot find any mention
> > > > of zswap in the patches.
> > >
> > > Hello Yosry!
> > >
> > > This series does not cover zswap as a tier yet.
> > >
> > > My plan is to land the swap tier infrastructure together with the
> > > first use case (cgroup-based swap control) first, and then follow
> > > up with zswap tier support in a subsequent series, continuing the
> > > discussions we've had above.
> > > (I mentioned on cover letter, right above the overview section)
> > >
> > > Does that approach sound reasonable to you?
> >
> > How does swap tiering work with zswap in the current series? I assume
> > zswap is just enabled for all devices in all tiers?
>
> Yes, that's correct.
>
> > I wonder if introducing zswap as a tier after the fact changes user-visible
> > behavior. I guess if zswap will be introduced with a default "max"
> > value it will more-or-less be the same behavior,
>
> Right, that's the plan.
>
> > but I would check all
> > user-visible behaviors related to zswap (e.g. interaction with other
> > zswap interfaces) to make sure nothing breaks or changes in a
> > meaningful way when zswap is introduced as a tier later.
>
> Fair point. Let me review this more and get back to you!

Please do report back what you find.

Yosry, what is needed to enable zswap as a swap tier? What will be the minimum
requirements for that? If that is not too much, we can make that part of this
series.

Shakeel