Re: [RESEND RFC PATCH v2 00/13] mm/swap: introduce per-priority allocation queues

From: Youngjun Park

Date: Sun Sep 06 2026 - 21:46:48 EST


On Fri, Sep 04, 2026 at 09:02:00PM +0800, Kairui Song wrote:
> On Fri, Sep 4, 2026 at 6:12 PM Lian Wang (ProcessMission)
> <lianux.mm@xxxxxxxxx> wrote:
> >
> > On Fri, 4 Sep 2026 16:13:10 +0900 Youngjun Park <youngjun.park@xxxxxxx> wrote:
> >
> > > Since tiers come up further down, I'd like to raise a point about the
> > > patch subject line too. As Kairui mentioned in RFC v1 that we would
> > > stay aligned with tiers, would it make sense to frame this RFC as a
> > > per-tier allocation policy (or something along those lines)? Kairui,
> > > what's your opinion?
> >
> > Thanks for the thoughtful feedback and for taking an initial pass over
> > the series.
> >
> > I agree that this queue could naturally become an in-tier allocation
> > policy. For this RFC, I would prefer to keep it separate and scoped to
> > the existing priority semantics while the tier and virtual-swap
> > directions are still being settled. We can revisit the subject and
> > naming once that boundary is clearer.
>
> Hi All!
>
> We can start with adpating the default priority if tiering still needs
> more time to land, Not changing the user interface means less risk.
> It's also fine to implement tiering first, there are some other
> blocking issues for tier though.
>
> With tiering I think we will still need rotation of devices in the
> same priorities / tier. Once tier is ready, we can further extend the
> rotation in the same tier; that's something to discuss.
>
> >
> > I will also sync with Kairui when he has time. He has several things in
> > flight, but his view on the ownership and framing would be valuable.
> >
> > > Devices assigned to the same tier already share the same priority, so
>
> Hmm, the current posted tier is a band of priorities. Do you mean that
> when tiering is enabled, devices in the same tier, despite of having
> different priority, will be used equally? And is priority ineffective
> then?

Hello Kairui

Right. My thought is to remove the priority semantics within a tier.

Once devices are grouped into the same tier, allocation within that tier
should be handled by a tier-specific allocation policy.

If users want the traditional priority-based behavior, I think they should
assign devices to different tiers and manage them that way.

For swap devices assigned to the same tier, we can still leave the behavior
flexible through the interfac(they may be treated equally, or priority may
still be considered). However, there should be a default allocation policy.

> > > I don't think the allocation policy needs more than one option for
> > > that case (I can't think of a use case that would need it).
> > >
> > > 1. For legacy swap with no tier configured, define it as a single
> > > priority treated as one tier.
> > > 2. When priorities match, allocation naturally falls to a single
> > > policy (not a queue). the concrete policy here is this
> > > queue-based scheme.
> > > 3. When tiers are enabled, devices previously assigned under legacy
> > > swap are reassigned to tiers at runtime.
> > > (This means different swap device on same tier handled like same priority device)
> >
> > These are useful design points. I would like to study the concrete v11
> > before deciding between runtime, boot-time, or compile-time tier
> > assignment. It seems safer not to bind this queue RFC to a permanent
> > tier interface while those semantics and the virtual-swap backend model
> > are still under discussion.
> >
> > > I think this feature will also be needed on the virtualized swap side,
> > > which makes me wonder whether this patch should go back into the swap
> > > tier series instead. Kairui, Lian, what do you think? (Or separately?)
>
> I'm fine as long as there won't be a regression. I remember V10 of
> tier didn't touch this yet so the regression is limited to tier
> enabled case, so no existing case will experience any issue, that is
> fine. Causing a performance regression for existing usecases is
> usually a bad idea.

Yeah right. will consider regession case.

Thanks