From: "Huang, Ying" <ying.huang@linux.alibaba.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Donet Tom <donettom@linux.ibm.com>,
David Hildenbrand <david@kernel.org>,
Ingo Molnar <mingo@redhat.com>,
Peter Zijlstra <peterz@infradead.org>,
Ritesh Harjani <ritesh.list@gmail.com>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
Baolin Wang <baolin.wang@linux.alibaba.com>,
Ying Huang <huang.ying.caritas@gmail.com>,
Juri Lelli <juri.lelli@redhat.com>,
Mel Gorman <mgorman@suse.de>, Rik van Riel <riel@redhat.com>,
ying.huang@intel.com
Subject: Re: [PATCH v2] memory tiering: Do not allow promotion if NUMA_BALANCING_MEMORY_TIERING is disabled
Date: Thu, 02 Apr 2026 11:31:07 +0800 [thread overview]
Message-ID: <87se9et4w4.fsf@DESKTOP-5N7EMDA> (raw)
In-Reply-To: <20260401172220.fff999a33e3ffcd0d1fa8929@linux-foundation.org> (Andrew Morton's message of "Wed, 1 Apr 2026 17:22:20 -0700")
Hi, Andrew,
Andrew Morton <akpm@linux-foundation.org> writes:
> On Mon, 23 Mar 2026 04:48:49 -0500 Donet Tom <donettom@linux.ibm.com> wrote:
>
>> In the current implementation, if NUMA_BALANCING_MEMORY_TIERING is
>> disabled and the pages are on the lower tier, the pages may still be
>> promoted.
>>
>> This happens because task_numa_work() updates the last_cpupid field to
>> record the last access time only when NUMA_BALANCING_MEMORY_TIERING is
>> enabled and the folio is on the lower tier. If
>> NUMA_BALANCING_MEMORY_TIERING is disabled, the last_cpupid field
>> can retains a valid last CPU id.
>>
>> In should_numa_migrate_memory(), the decision checks whether
>> NUMA_BALANCING_MEMORY_TIERING is disabled, the folio is on the lower
>> tier, and last_cpupid is invalid. However, the last_cpupid can be
>> valid when NUMA_BALANCING_MEMORY_TIERING is disabled, the condition
>> evaluates to false and migration is allowed.
>>
>> This patch prevents promotion when NUMA_BALANCING_MEMORY_TIERING is
>> disabled and the folio is on the lower tier.
>>
>> Behavior before this change:
>> ============================
>> - If NUMA_BALANCING_NORMAL is enabled, migration occurs between
>> nodes within the same memory tier, and promotion from lower
>> tier to higher tier may also happen.
>>
>> - If NUMA_BALANCING_MEMORY_TIERING is enabled, promotion from
>> lower tier to higher tier nodes is allowed.
>>
>> Behavior after this change:
>> ===========================
>> - If NUMA_BALANCING_NORMAL is enabled, migration will occur only
>> between nodes within the same memory tier.
>>
>> - If NUMA_BALANCING_MEMORY_TIERING is enabled, promotion from lower
>> tier to higher tier nodes will be allowed.
>>
>> - If both NUMA_BALANCING_MEMORY_TIERING and NUMA_BALANCING_NORMAL are
>> enabled, both migration (same tier) and promotion (cross tier) are
>> allowed.
>
> There was no feedback on this, nor on your v1.
>
>> Fixes: 33024536bafd ("memory tiering: hot page selection with hint page fault latency")
>
> Ying Huang seems to have moved around a bit - let me add a couple more
> email addresses. Apologies if we have multiple Ying Huangs!
Thanks! I don't find other Ying Huang in mm community yet.
Now I use the following email address:
"Huang, Ying" <ying.huang@linux.alibaba.com>
Ying Huang <huang.ying.caritas@gmail.com>
and stop using the following email address:
ying.huang@intel.com
> Rik, Mel? It's a bugfix.
>
> Thanks.
>
>
>
> From: Donet Tom <donettom@linux.ibm.com>
> Subject: memory tiering: do not allow promotion if NUMA_BALANCING_MEMORY_TIERING is disabled
> Date: Mon, 23 Mar 2026 04:48:49 -0500
>
> In the current implementation, if NUMA_BALANCING_MEMORY_TIERING is
> disabled and the pages are on the lower tier, the pages may still be
> promoted.
>
> This happens because task_numa_work() updates the last_cpupid field to
> record the last access time only when NUMA_BALANCING_MEMORY_TIERING is
> enabled and the folio is on the lower tier. If
> NUMA_BALANCING_MEMORY_TIERING is disabled, the last_cpupid field can
> retains a valid last CPU id.
>
> In should_numa_migrate_memory(), the decision checks whether
> NUMA_BALANCING_MEMORY_TIERING is disabled, the folio is on the lower tier,
> and last_cpupid is invalid. However, the last_cpupid can be valid when
> NUMA_BALANCING_MEMORY_TIERING is disabled, the condition evaluates to
> false and migration is allowed.
>
> This patch prevents promotion when NUMA_BALANCING_MEMORY_TIERING is
> disabled and the folio is on the lower tier.
>
> Behavior before this change:
> ============================
> - If NUMA_BALANCING_NORMAL is enabled, migration occurs between
> nodes within the same memory tier, and promotion from lower
> tier to higher tier may also happen.
>
> - If NUMA_BALANCING_MEMORY_TIERING is enabled, promotion from
> lower tier to higher tier nodes is allowed.
>
> Behavior after this change:
> ===========================
> - If NUMA_BALANCING_NORMAL is enabled, migration will occur only
> between nodes within the same memory tier.
>
> - If NUMA_BALANCING_MEMORY_TIERING is enabled, promotion from lower
> tier to higher tier nodes will be allowed.
>
> - If both NUMA_BALANCING_MEMORY_TIERING and NUMA_BALANCING_NORMAL are
> enabled, both migration (same tier) and promotion (cross tier) are
> allowed.
>
> Link: https://lkml.kernel.org/r/20260323094849.3903-1-donettom@linux.ibm.com
> Fixes: 33024536bafd ("memory tiering: hot page selection with hint page fault latency")
> Signed-off-by: Donet Tom <donettom@linux.ibm.com>
> Cc: Baolin Wang <baolin.wang@linux.alibaba.com>
> Cc: Ben Segall <bsegall@google.com>
> Cc: David Hildenbrand <david@kernel.org>
> Cc: Dietmar Eggemann <dietmar.eggemann@arm.com>
> Cc: "Huang, Ying" <huang.ying.caritas@gmail.com>
> Cc: Ingo Molnar <mingo@redhat.com>
> Cc: Juri Lelli <juri.lelli@redhat.com>
> Cc: Mel Gorman <mgorman@suse.de>
> Cc: Peter Zijlstra <peterz@infradead.org>
> Cc: "Ritesh Harjani (IBM)" <ritesh.list@gmail.com>
> Cc: Steven Rostedt <rostedt@goodmis.org>
> Cc: Valentin Schneider <vschneid@redhat.com>
> Cc: Vincent Guittot <vincent.guittot@linaro.org>
> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
> ---
>
> kernel/sched/fair.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> --- a/kernel/sched/fair.c~memory-tiering-do-not-allow-promotion-if-numa_balancing_memory_tiering-is-disabled
> +++ a/kernel/sched/fair.c
> @@ -2024,8 +2024,12 @@ bool should_numa_migrate_memory(struct t
> this_cpupid = cpu_pid_to_cpupid(dst_cpu, current->pid);
> last_cpupid = folio_xchg_last_cpupid(folio, this_cpupid);
>
> + /*
> + * Do not allow promotion if NUMA_BALANCING_MEMORY_TIERING is disabled
> + * and the pages are on the lower tier.
> + */
> if (!(sysctl_numa_balancing_mode & NUMA_BALANCING_MEMORY_TIERING) &&
> - !node_is_toptier(src_nid) && !cpupid_valid(last_cpupid))
> + !node_is_toptier(src_nid))
> return false;
>
> /*
> _
---
Best Regards,
Huang, Ying
next prev parent reply other threads:[~2026-04-02 3:31 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-23 9:48 [PATCH v2] memory tiering: Do not allow promotion if NUMA_BALANCING_MEMORY_TIERING is disabled Donet Tom
2026-04-02 0:22 ` Andrew Morton
2026-04-02 3:31 ` Huang, Ying [this message]
2026-04-02 3:27 ` Huang, Ying
2026-04-02 4:59 ` Donet Tom
2026-04-02 6:24 ` Huang, Ying
2026-04-08 13:20 ` Donet Tom
2026-04-09 1:28 ` Huang, Ying
2026-04-09 3:42 ` Ritesh Harjani
2026-04-09 6:39 ` Huang, Ying
2026-04-09 14:10 ` Gregory Price
2026-04-10 1:07 ` Ritesh Harjani
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=87se9et4w4.fsf@DESKTOP-5N7EMDA \
--to=ying.huang@linux.alibaba.com \
--cc=akpm@linux-foundation.org \
--cc=baolin.wang@linux.alibaba.com \
--cc=david@kernel.org \
--cc=donettom@linux.ibm.com \
--cc=huang.ying.caritas@gmail.com \
--cc=juri.lelli@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mgorman@suse.de \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=riel@redhat.com \
--cc=ritesh.list@gmail.com \
--cc=ying.huang@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.