[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f9dc01fc-3b89-4724-85fa-14c7766033f4@oracle.com>
Date: Tue, 11 Mar 2025 19:18:26 -0700
From: Libo Chen <libo.chen@...cle.com>
To: Waiman Long <llong@...hat.com>, peterz@...radead.org,
mgorman@...hsingularity.net
Cc: linux-kernel@...r.kernel.org, mingo@...hat.com, tj@...nel.org,
juri.lelli@...hat.com, vincent.guittot@...aro.org,
akpm@...ux-foundation.org, lorenzo.stoakes@...cle.com
Subject: Re: [PATCH] sched/numa: skip VMA scanning on memory pinned to one
NUMA node via cpuset.mems
On 3/11/25 10:42, Waiman Long wrote:
> On 3/11/25 12:04 PM, Libo Chen wrote:
>> When the memory of the current task is pinned to one NUMA node by
>> cgroup,
>> there is no point in continuing the rest of VMA scanning and hinting
>> page
>> faults as they will just be overhead. With this change, there will be no
>> more unnecessary PTE updates or page faults in this scenario.
>>
>> Signed-off-by: Libo Chen <libo.chen@...cle.com>
>> ---
>> kernel/sched/fair.c | 7 +++++++
>> 1 file changed, 7 insertions(+)
>>
>> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
>> index c798d27952431..ec4749a7be33a 100644
>> --- a/kernel/sched/fair.c
>> +++ b/kernel/sched/fair.c
>> @@ -3315,6 +3315,13 @@ static void task_numa_work(struct
>> callback_head *work)
>> if (p->flags & PF_EXITING)
>> return;
>> + /*
>> + * Memory is pinned to only one NUMA node via cpuset.mems,
>> naturally
>> + * no page can be migrated.
>> + */
>> + if (nodes_weight(cpuset_current_mems_allowed) == 1)
>> + return;
>> +
>> if (!mm->numa_next_scan) {
>> mm->numa_next_scan = now +
>> msecs_to_jiffies(sysctl_numa_balancing_scan_delay);
>
> Do you have any performance improvement data that can be included in
> the commit log?
>
Yes, will put out some numbers in v2.
Thanks,
Libo
> Cheers,
> Longman
>
Powered by blists - more mailing lists