linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH RESEND] sched/numa: expose per-task pages-migration-failure
@ 2019-12-03  2:18 王贇
  2019-12-03  7:16 ` Ingo Molnar
  0 siblings, 1 reply; 3+ messages in thread
From: 王贇 @ 2019-12-03  2:18 UTC (permalink / raw)
  To: Ingo Molnar, Peter Zijlstra, Juri Lelli, Michal Koutný,
	Mel Gorman, Linux Kernel Mailing List

NUMA balancing will try to migrate pages between nodes, which
could caused by memory policy or numa group aggregation, while
the page migration could failed too for eg when the target node
run out of memory.

Since this is critical to the performance, admin should know
how serious the problem is, and take actions before it causing
too much performance damage, thus this patch expose the counter
as 'migfailed' in '/proc/PID/sched'.

Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Michal Koutný <mkoutny@suse.com>
Acked-by: Mel Gorman <mgorman@suse.de>
Signed-off-by: Michael Wang <yun.wang@linux.alibaba.com>
---
 kernel/sched/debug.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c
index f7e4579e746c..73c4809c8f37 100644
--- a/kernel/sched/debug.c
+++ b/kernel/sched/debug.c
@@ -848,6 +848,7 @@ static void sched_show_numa(struct task_struct *p, struct seq_file *m)
 	P(total_numa_faults);
 	SEQ_printf(m, "current_node=%d, numa_group_id=%d\n",
 			task_node(p), task_numa_group_id(p));
+	SEQ_printf(m, "migfailed=%lu\n", p->numa_faults_locality[2]);
 	show_numa_stats(p, m);
 	mpol_put(pol);
 #endif
-- 
2.14.4.44.g2045bb6


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH RESEND] sched/numa: expose per-task pages-migration-failure
  2019-12-03  2:18 [PATCH RESEND] sched/numa: expose per-task pages-migration-failure 王贇
@ 2019-12-03  7:16 ` Ingo Molnar
  2019-12-03  9:25   ` 王贇
  0 siblings, 1 reply; 3+ messages in thread
From: Ingo Molnar @ 2019-12-03  7:16 UTC (permalink / raw)
  To: 王贇
  Cc: Ingo Molnar, Peter Zijlstra, Juri Lelli, Michal Koutný,
	Mel Gorman, Linux Kernel Mailing List


* 王贇 <yun.wang@linux.alibaba.com> wrote:

> NUMA balancing will try to migrate pages between nodes, which
> could caused by memory policy or numa group aggregation, while
> the page migration could failed too for eg when the target node
> run out of memory.
> 
> Since this is critical to the performance, admin should know
> how serious the problem is, and take actions before it causing
> too much performance damage, thus this patch expose the counter
> as 'migfailed' in '/proc/PID/sched'.
> 
> Cc: Peter Zijlstra <peterz@infradead.org>
> Cc: Michal Koutný <mkoutny@suse.com>
> Acked-by: Mel Gorman <mgorman@suse.de>
> Signed-off-by: Michael Wang <yun.wang@linux.alibaba.com>
> ---
>  kernel/sched/debug.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c
> index f7e4579e746c..73c4809c8f37 100644
> --- a/kernel/sched/debug.c
> +++ b/kernel/sched/debug.c
> @@ -848,6 +848,7 @@ static void sched_show_numa(struct task_struct *p, struct seq_file *m)
>  	P(total_numa_faults);
>  	SEQ_printf(m, "current_node=%d, numa_group_id=%d\n",
>  			task_node(p), task_numa_group_id(p));
> +	SEQ_printf(m, "migfailed=%lu\n", p->numa_faults_locality[2]);

Any reason not to expose the other 2 fields of this array as well, which 
show remote/local migrations?

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH RESEND] sched/numa: expose per-task pages-migration-failure
  2019-12-03  7:16 ` Ingo Molnar
@ 2019-12-03  9:25   ` 王贇
  0 siblings, 0 replies; 3+ messages in thread
From: 王贇 @ 2019-12-03  9:25 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Ingo Molnar, Peter Zijlstra, Juri Lelli, Michal Koutný,
	Mel Gorman, Linux Kernel Mailing List

On 2019/12/3 下午3:16, Ingo Molnar wrote:
[snip]
>>  kernel/sched/debug.c | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c
>> index f7e4579e746c..73c4809c8f37 100644
>> --- a/kernel/sched/debug.c
>> +++ b/kernel/sched/debug.c
>> @@ -848,6 +848,7 @@ static void sched_show_numa(struct task_struct *p, struct seq_file *m)
>>  	P(total_numa_faults);
>>  	SEQ_printf(m, "current_node=%d, numa_group_id=%d\n",
>>  			task_node(p), task_numa_group_id(p));
>> +	SEQ_printf(m, "migfailed=%lu\n", p->numa_faults_locality[2]);
> 
> Any reason not to expose the other 2 fields of this array as well, which 
> show remote/local migrations?

The rest are local/remote faults counter, AFAIK not related to
migration, when the CPU triggered PF is from the same node of page
(before migration), local faults increased.

Regards,
Michael Wang

> 
> Thanks,
> 
> 	Ingo
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-12-03  9:25 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-03  2:18 [PATCH RESEND] sched/numa: expose per-task pages-migration-failure 王贇
2019-12-03  7:16 ` Ingo Molnar
2019-12-03  9:25   ` 王贇

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).