Re: [RFC PATCH 6/6] mm/memcontrol: Make memory.high tier-aware
From: Gregory Price
Date: Tue Mar 24 2026 - 11:37:58 EST
On Tue, Mar 24, 2026 at 04:21:06PM +0530, Donet Tom wrote:
>
> IIUC The intent of this patch is to partition cgroup memory such that
> 0 → toptier_high is backed by higher-tier memory, and
> toptier_high → max is backed by lower-tier memory.
>
> Based on this:
>
> 1.If top-tier usage exceeds toptier_high, pages should be
> demoted to the lower tier.
>
> 2. If lower-tier usage exceeds (max - toptier_high), pages
> should be swapped out.
>
This is not accurate and an incorrect heuristic.
Transiently, lower-tier usage may exceed (max - toptier_high) for any
number of reasons which should not be used as signal for pushing swap.
driving swap usage is a function of (usage > memory.high) without regard
for toptier / lowtier.
> 3. If total memory usage exceeds max, demotion should be
> avoided and reclaim should directly swap out pages.
>
This is also incorrect, as it would drive agingin inversions.
Demotion is a natural extension of the LRU infrastructure:
toptier active -> toptier inactive -> lowtier inactive -> swap
if you do (toptier inactive -> swap) you have inverted the LRU.
As far as I know, from testing, we retain all the existing behavior - we
are just managing a limited resource (top tier memory) to manage the
noisy-neighbor issue. So...
> Should we also handle cases (2) and (3) in this patch?
No, I don't think we should
~Gregory