From: Tejun Heo <tj@kernel.org>
To: Yafang Shao <laoar.shao@gmail.com>
Cc: ast@kernel.org, daniel@iogearbox.net, andrii@kernel.org,
eddyz87@gmail.com, memxor@gmail.com, mingo@redhat.com,
peterz@infradead.org, juri.lelli@redhat.com,
vincent.guittot@linaro.org, akpm@linux-foundation.org,
david@kernel.org, gourry@gourry.net, hannes@cmpxchg.org,
mkoutny@suse.com, shakeel.butt@linux.dev,
roman.gushchin@linux.dev, yu.c.chen@intel.com,
zhao1.liu@intel.com, tim.c.chen@linux.intel.com,
lizhe.67@bytedance.com, ziy@nvidia.com, mgorman@suse.de,
bpf@vger.kernel.org, linux-mm@kvack.org, cgroups@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH bpf-next v4 0/4] BPF-based per-cgroup NUMA balancing mode selection
Date: Tue, 10 Nov 2026 08:45:36 -1000 [thread overview]
Message-ID: <3296ff1ecad6573e1719cb205d9128f7@kernel.org> (raw)
In-Reply-To: <20261110032913.71974-1-laoar.shao@gmail.com>
Hello, Yafang.
I'm not going to engage further in this series until the situation
changes.
LLMs have made it much cheaper to produce plausible-looking patchsets
for new features. That makes it easy to keep sending iterations of a
feature which touches code that the submitter doesn't really understand
or hasn't thought through in depth. The reviewer ends up doing much of
the developer's work while the submitter sits between the reviewer and
whatever the LLM produces. I think this series is an example of that.
Some examples from v4:
- A folio belongs to a memcg and that memcg decides the policies around
it. That's how memcg works for every other memory policy, and tasks
belong to a memcg too. The series still splits NUMA balancing into a
task side and a folio side with different semantics. DISABLED applies
to tasks but not to their memory, and the two sides combine the
hierarchy differently.
On v3, I asked why. v4 moves the storage into memcg and keeps the
split, but doesn't give a high-level reason why NUMA balancing should
work differently from how memcg handles every other memory policy.
More generally, the major design decisions come without the reasoning
behind them, and asking didn't produce it. Each iteration only barely
updates what was pointed out in the previous one.
- numab_memcg_mode() walks up to the root memcg and recombines the
requests on every call. The callers include every load-balancing
candidate in can_migrate_task(), every task migration, every NUMA hint
fault and every page migration including compaction. This happens
whenever any cgroup has a mode set, although the result changes only
when a mode is set or a memcg goes offline.
- numab_memcg_active() reads css->flags once and the comment says that
this makes the three state bits describe the same moment. However,
nothing synchronizes those flags with the mode. In the lookups, the
check is redundant anyway because offlining a memcg or disabling its
controller already clears the mode.
A developer could cost reviewers time before too, but each round took
the developer much more effort in comparison. That kept the effort
balanced between developer and reviewer in a sustainable way, and it
made sure that the developer learned and improved while working through
each iteration. LLMs broke that balance.
I don't know what the right solution is, but at this point shepherding
patchsets like this doesn't make sense for me.
Thanks.
--
tejun
prev parent reply other threads:[~2026-11-10 18:45 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-10 3:29 Yafang Shao
2026-11-10 3:29 ` [RFC PATCH bpf-next v4 1/4] sched: add helpers for numa balancing Yafang Shao
2026-11-10 3:37 ` Zi Yan
2026-11-10 13:11 ` Gregory Price (Meta)
2026-11-10 3:29 ` [RFC PATCH bpf-next v4 2/4] sched: sample NUMA balancing mode once per path Yafang Shao
2026-11-10 3:29 ` [RFC PATCH bpf-next v4 3/4] sched: add BPF-based per-cgroup NUMA balancing mode selection Yafang Shao
2026-11-10 3:29 ` [RFC PATCH bpf-next v4 4/4] selftests/bpf: add tests for the numab kfuncs Yafang Shao
2026-11-10 3:35 ` [RFC PATCH bpf-next v4 0/4] BPF-based per-cgroup NUMA balancing mode selection Zi Yan
2026-11-10 18:45 ` Tejun Heo [this message]
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=3296ff1ecad6573e1719cb205d9128f7@kernel.org \
--to=tj@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=andrii@kernel.org \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=cgroups@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=david@kernel.org \
--cc=eddyz87@gmail.com \
--cc=gourry@gourry.net \
--cc=hannes@cmpxchg.org \
--cc=juri.lelli@redhat.com \
--cc=laoar.shao@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lizhe.67@bytedance.com \
--cc=memxor@gmail.com \
--cc=mgorman@suse.de \
--cc=mingo@redhat.com \
--cc=mkoutny@suse.com \
--cc=peterz@infradead.org \
--cc=roman.gushchin@linux.dev \
--cc=shakeel.butt@linux.dev \
--cc=tim.c.chen@linux.intel.com \
--cc=vincent.guittot@linaro.org \
--cc=yu.c.chen@intel.com \
--cc=zhao1.liu@intel.com \
--cc=ziy@nvidia.com \
/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
all inboxes | Powered by JetHome®