From: Jiayuan Chen <jiayuan.chen@linux.dev>
To: Shakeel Butt <shakeel.butt@linux.dev>, lsf-pc@lists.linux-foundation.org
Cc: "Andrew Morton" <akpm@linux-foundation.org>,
"Tejun Heo" <tj@kernel.org>, "Michal Hocko" <mhocko@suse.com>,
"Johannes Weiner" <hannes@cmpxchg.org>,
"Alexei Starovoitov" <ast@kernel.org>,
"Michal Koutný" <mkoutny@suse.com>,
"Roman Gushchin" <roman.gushchin@linux.dev>,
"Hui Zhu" <hui.zhu@linux.dev>,
"JP Kobryn" <inwardvessel@gmail.com>,
"Muchun Song" <muchun.song@linux.dev>,
"Geliang Tang" <geliang@kernel.org>,
"Sweet Tea Dorminy" <sweettea-kernel@dorminy.me>,
"Emil Tsalapatis" <emil@etsalapatis.com>,
"David Rientjes" <rientjes@google.com>,
"Martin KaFai Lau" <martin.lau@linux.dev>,
"Meta kernel team" <kernel-team@meta.com>,
linux-mm@kvack.org, cgroups@vger.kernel.org, bpf@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [LSF/MM/BPF TOPIC] Reimagining Memory Cgroup (memcg_ext)
Date: Wed, 11 Mar 2026 12:57:34 +0800 [thread overview]
Message-ID: <6076b8c2-c198-442d-974f-b3084a0cd1b1@linux.dev> (raw)
In-Reply-To: <20260307182424.2889780-1-shakeel.butt@linux.dev>
On 3/8/26 2:24 AM, Shakeel Butt wrote:
> Over the last couple of weeks, I have been brainstorming on how I would go
> about redesigning memcg, taking inspiration from sched_ext and bpfoom, with a
> focus on existing challenges and issues. This proposal outlines the high-level
> direction. Followup emails and patch series will cover and brainstorm the
> mechanisms (of course BPF) to achieve these goals.
>
> Memory cgroups provide memory accounting and the ability to control memory usage
> of workloads through two categories of limits. Throttling limits (memory.max and
> memory.high) cap memory consumption. Protection limits (memory.min and
> memory.low) shield a workload's memory from reclaim under external memory
> pressure.
>
> Challenges
> ----------
>
> - Workload owners rarely know their actual memory requirements, leading to
> overprovisioned limits, lower utilization, and higher infrastructure costs.
>
> - Throttling limit enforcement is synchronous in the allocating task's context,
> which can stall latency-sensitive threads.
>
> - The stalled thread may hold shared locks, causing priority inversion -- all
> waiters are blocked regardless of their priority.
>
> - Enforcement is indiscriminate -- there is no way to distinguish a
> performance-critical or latency-critical allocator from a latency-tolerant
> one.
>
> - Protection limits assume static working sets size, forcing owners to either
> overprovision or build complex userspace infrastructure to dynamically adjust
> them.
>
> Feature Wishlist
> ----------------
>
> Here is the list of features and capabilities I want to enable in the
> redesigned memcg limit enforcement world.
>
> Per-Memcg Background Reclaim
>
> In the new memcg world, with the goal of (mostly) eliminating direct synchronous
> reclaim for limit enforcement, provide per-memcg background reclaimers which can
> scale across CPUs with the allocation rate.
This sounds like a very useful approach. I have a few questions I'm
thinking through:
How would you approach implementing this background reclaim? I'm imagining
something like asynchronous memory.reclaim operations - is that in line
with your thinking?
And regarding cold page identification - do you have a preferred approach?
I'm curious what the most practical way would be to accurately identify
which pages to reclaim.
Would be great to hear your perspective.
next prev parent reply other threads:[~2026-03-11 4:57 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-07 18:24 [LSF/MM/BPF TOPIC] Reimagining Memory Cgroup (memcg_ext) Shakeel Butt
2026-03-09 21:33 ` Roman Gushchin
2026-03-09 23:09 ` Shakeel Butt
2026-03-11 4:57 ` Jiayuan Chen [this message]
2026-03-11 17:00 ` Shakeel Butt
2026-03-11 7:19 ` Muchun Song
2026-03-11 20:39 ` Shakeel Butt
2026-03-12 2:46 ` Muchun Song
2026-03-13 6:17 ` teawater
2026-03-11 7:29 ` Greg Thelen
2026-03-11 21:35 ` Shakeel Butt
2026-03-11 13:20 ` Johannes Weiner
2026-03-11 22:47 ` Shakeel Butt
2026-03-12 3:06 ` hui.zhu
2026-03-12 3:36 ` hui.zhu
2026-03-25 18:47 ` Donet Tom
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6076b8c2-c198-442d-974f-b3084a0cd1b1@linux.dev \
--to=jiayuan.chen@linux.dev \
--cc=akpm@linux-foundation.org \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=cgroups@vger.kernel.org \
--cc=emil@etsalapatis.com \
--cc=geliang@kernel.org \
--cc=hannes@cmpxchg.org \
--cc=hui.zhu@linux.dev \
--cc=inwardvessel@gmail.com \
--cc=kernel-team@meta.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lsf-pc@lists.linux-foundation.org \
--cc=martin.lau@linux.dev \
--cc=mhocko@suse.com \
--cc=mkoutny@suse.com \
--cc=muchun.song@linux.dev \
--cc=rientjes@google.com \
--cc=roman.gushchin@linux.dev \
--cc=shakeel.butt@linux.dev \
--cc=sweettea-kernel@dorminy.me \
--cc=tj@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox