Re: [RFC PATCH] sched/numa: fix bug in update_task_scan_period

2020-08-14 Thread Mel Gorman
On Wed, Aug 12, 2020 at 11:51:54AM +0800, ? wrote:
> OK. Thanks for your advice and I'll use label instead.
> In the case of migration failures, if there are still new failures after
> clearing (meaning the node is still overloaded), the scanning period would
> be doubled, just like not using this patch. However, if the failures do not
> increase again, then the scanning period should be adjusted according to the
> following rules (i.e., ps and lr ratio). I believe this is the original
> design idea, right?
> 

The original idea was to simply throttle scanning if the faults were
useless. Your patch is probably correct but I would still like to see
some evidence of the user-visible impact. What tests have you conducted
to make sure it behaves better (or is at least neutral in most cases)?

-- 
Mel Gorman
SUSE Labs


RE: [RFC PATCH] sched/numa: fix bug in update_task_scan_period

2020-08-11 Thread 丁天琛
OK. Thanks for your advice and I'll use label instead.
In the case of migration failures, if there are still new failures after
clearing (meaning the node is still overloaded), the scanning period would
be doubled, just like not using this patch. However, if the failures do not
increase again, then the scanning period should be adjusted according to the
following rules (i.e., ps and lr ratio). I believe this is the original
design idea, right?

> -Original Message-
> From: Mel Gorman 
> Sent: Tuesday, August 11, 2020 7:02 PM
> To: Tianchen Ding 
> Cc: Ingo Molnar ; Peter Zijlstra
> ; Juri Lelli ; Vincent
Guittot
> ; Dietmar Eggemann
> ; Steven Rostedt ;
> Ben Segall ; linux-kernel  ker...@vger.kernel.org>; ?? 
> Subject: Re: [RFC PATCH] sched/numa: fix bug in update_task_scan_period
> 
> On Tue, Aug 11, 2020 at 04:30:31PM +0800, ? wrote:
> > When p->numa_faults_locality[2] > 0, numa_scan_period is doubled, but
> > this array will never be cleared, which causes scanning period always
> > reaching its max value. This patch clears numa_faults_locality after
> > numa_scan_period being doubled to fix this bug.
> >
> 
> An out label at the end of the function to clears numa_faults_locality
would
> also work with a comment explaining why.  That aside, what is the user-
> visible impact of the patch? If there are no useful faults or migration
failures,
> it makes sense that scanning is very slow until the situation changes. The
> corner case is that a migration failure might keep the scan rate slower
than it
> should be but the flip side is that fixing it might increase the scan rate
and still
> incur migration failures which introduces overhead with no gain.
> 
> --
> Mel Gorman
> SUSE Labs



Re: [RFC PATCH] sched/numa: fix bug in update_task_scan_period

2020-08-11 Thread Mel Gorman
On Tue, Aug 11, 2020 at 04:30:31PM +0800, ? wrote:
> When p->numa_faults_locality[2] > 0, numa_scan_period is doubled, but
> this array will never be cleared, which causes scanning period always
> reaching its max value. This patch clears numa_faults_locality after
> numa_scan_period being doubled to fix this bug.
> 

An out label at the end of the function to clears numa_faults_locality
would also work with a comment explaining why.  That aside, what is
the user-visible impact of the patch? If there are no useful faults or
migration failures, it makes sense that scanning is very slow until the
situation changes. The corner case is that a migration failure might keep
the scan rate slower than it should be but the flip side is that fixing
it might increase the scan rate and still incur migration failures which
introduces overhead with no gain.

-- 
Mel Gorman
SUSE Labs