From: "David Hildenbrand (Arm)" <david@kernel.org>
To: Yafang Shao <laoar.shao@gmail.com>,
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,
gourry@gourry.net, tj@kernel.org, hannes@cmpxchg.org,
mkoutny@suse.com, shakeel.butt@linux.dev,
roman.gushchin@linux.dev, yu.c.chen@intel.com,
zhao1.liu@intel.com
Cc: bpf@vger.kernel.org, linux-mm@kvack.org, cgroups@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH v2 1/3] sched: add helpers for numa balancing
Date: Tue, 13 Oct 2026 09:38:14 +0200 [thread overview]
Message-ID: <96324eec-d307-4bbf-975e-3c9b3dd5e190@kernel.org> (raw)
In-Reply-To: <20261012120438.52849-2-laoar.shao@gmail.com>
On 10/12/26 14:04, Yafang Shao wrote:
> Two new helpers task_numab_enabled() and numab_mode_tiering() are
> introduced to replace the scattered direct accesses to the
> sched_numa_balancing static key and the sysctl_numa_balancing_mode
> bitmask.
>
I'll only comment on the new exposed helpers. Some of these might make sense
even without the bigger series.
(obviously, minus the task change)
> No functional change.
>
> Signed-off-by: Yafang Shao <laoar.shao@gmail.com>
> ---
> include/linux/sched/numa_balancing.h | 31 ++++++++++++++++++++++++++++
> kernel/sched/fair.c | 16 +++++++-------
> kernel/sched/sched.h | 1 -
> mm/memory-tiers.c | 3 ++-
> mm/migrate.c | 7 ++++---
> mm/vmscan.c | 6 +++---
> 6 files changed, 48 insertions(+), 16 deletions(-)
>
> diff --git a/include/linux/sched/numa_balancing.h b/include/linux/sched/numa_balancing.h
> index 52b22c5c396d..353772b49c5f 100644
> --- a/include/linux/sched/numa_balancing.h
> +++ b/include/linux/sched/numa_balancing.h
> @@ -8,6 +8,7 @@
> */
>
> #include <linux/sched.h>
> +#include <linux/sched/sysctl.h>
>
> #define TNF_MIGRATED 0x01
> #define TNF_NO_GROUP 0x02
> @@ -32,6 +33,28 @@ extern void set_numabalancing_state(bool enabled);
> extern void task_numa_free(struct task_struct *p, bool final);
> bool should_numa_migrate_memory(struct task_struct *p, struct folio *folio,
> int src_nid, int dst_cpu);
> +
> +extern struct static_key_false sched_numa_balancing;
> +
> +/*
> + * Whether NUMA balancing applies to @p. The @p argument is unused for
> + * now: a later patch will consult a per-cgroup BPF policy with it.
Talking about later patches in a function doc is ... wrong.
> + */
> +static inline bool task_numab_enabled(struct task_struct *p)
> +{
> + return static_branch_unlikely(&sched_numa_balancing);
> +}
> +
> +/*
> + * The global sysctl state, for the system-wide tiering machinery: this
> + * reflects kernel.numa_balancing_mode only and takes no task.
The latter part doesn't make a lot of sense in this documentation.
> + */
> +static inline bool numab_mode_tiering(void)
The function name isn't really intuitive. Should this be
numab_in_tiering_mode
numab_tiering_enabled
or something like this.
> +{
> + if (sysctl_numa_balancing_mode & NUMA_BALANCING_MEMORY_TIERING)
> + return true;
> + return false;
return sysctl_numa_balancing_mode & NUMA_BALANCING_MEMORY_TIERING;
?
Both functions could directly have proper kerneldoc if we are already
documenting these.
> +}
> #else
> static inline void task_numa_fault(int last_node, int node, int pages,
> int flags)
> @@ -52,6 +75,14 @@ static inline bool should_numa_migrate_memory(struct task_struct *p,
> {
> return true;
> }
> +static inline bool task_numab_enabled(struct task_struct *p)
> +{
> + return false;
> +}
> +static inline bool numab_mode_tiering(void)
> +{
> + return false;
> +}
--
Cheers,
David
next prev parent reply other threads:[~2026-10-13 7:38 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-12 12:04 [RFC PATCH v2 0/3] BPF-based per-cgroup NUMA balancing mode selection Yafang Shao
2026-10-12 12:04 ` [RFC PATCH v2 1/3] sched: add helpers for numa balancing Yafang Shao
2026-10-12 12:19 ` sashiko-bot
2026-10-12 14:23 ` Yafang Shao
2026-10-13 7:38 ` David Hildenbrand (Arm) [this message]
2026-10-13 9:14 ` Yafang Shao
2026-10-12 12:04 ` [RFC PATCH v2 2/3] sched: add per-cgroup NUMA balancing mode selection via BPF Yafang Shao
2026-10-12 12:25 ` sashiko-bot
2026-10-12 13:55 ` Yafang Shao
2026-10-12 12:04 ` [RFC PATCH v2 3/3] selftests/bpf: add tests for the bpf_numab_ops struct_ops Yafang Shao
2026-10-12 12:13 ` sashiko-bot
2026-10-12 17:51 ` [RFC PATCH v2 0/3] BPF-based per-cgroup NUMA balancing mode selection Tejun Heo
2026-10-13 2:16 ` Yafang Shao
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=96324eec-d307-4bbf-975e-3c9b3dd5e190@kernel.org \
--to=david@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=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=memxor@gmail.com \
--cc=mingo@redhat.com \
--cc=mkoutny@suse.com \
--cc=peterz@infradead.org \
--cc=roman.gushchin@linux.dev \
--cc=shakeel.butt@linux.dev \
--cc=tj@kernel.org \
--cc=vincent.guittot@linaro.org \
--cc=yu.c.chen@intel.com \
--cc=zhao1.liu@intel.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