All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mel Gorman <mgorman@techsingularity.net>
To: Vincent Guittot <vincent.guittot@linaro.org>
Cc: Phil Auld <pauld@redhat.com>, Hillf Danton <hdanton@sina.com>,
	Ingo Molnar <mingo@redhat.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juri Lelli <juri.lelli@redhat.com>,
	Dietmar Eggemann <dietmar.eggemann@arm.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	Ben Segall <bsegall@google.com>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	Parth Shah <parth@linux.ibm.com>,
	Valentin Schneider <valentin.schneider@arm.com>
Subject: Re: [RFC 2/4] sched/numa: replace runnable_load_avg by load_avg
Date: Thu, 13 Feb 2020 16:34:37 +0000	[thread overview]
Message-ID: <20200213163437.GZ3466@techsingularity.net> (raw)
In-Reply-To: <CAKfTPtDjKW45QyXnF7Pu42AP48mNbDWTUttMSoDgDzOO5GSfnA@mail.gmail.com>

On Thu, Feb 13, 2020 at 05:11:23PM +0100, Vincent Guittot wrote:
> > On Thu, Feb 13, 2020 at 10:00:26AM -0500, Phil Auld wrote:
> > > On Thu, Feb 13, 2020 at 01:46:55PM +0000 Mel Gorman wrote:
> > > > On Thu, Feb 13, 2020 at 09:16:58PM +0800, Hillf Danton wrote:
> > > > > > -       load = task_h_load(env->p);
> > > > > > -       dst_load = env->dst_stats.load + load;
> > > > > > -       src_load = env->src_stats.load - load;
> > > > > > -
> > > > > >         /*
> > > > > > -        * If the improvement from just moving env->p direction is better
> > > > > > -        * than swapping tasks around, check if a move is possible.
> > > > > > +        * If dst node has spare capacity, then check if there is an
> > > > > > +        * imbalance that would be overruled by the load balancer.
> > > > > >          */
> > > > > > -       maymove = !load_too_imbalanced(src_load, dst_load, env);
> > > > > > +       if (env->dst_stats.node_type == node_has_spare) {
> > > > > > +               unsigned int imbalance;
> > > > > > +               int src_running, dst_running;
> > > > > > +
> > > > > > +               /* Would movement cause an imbalance? */
> > > > > > +               src_running = env->src_stats.nr_running - 1;
> > > > > > +               dst_running = env->src_stats.nr_running + 1;
> > > > > > +               imbalance = max(0, dst_running - src_running);
> > > > >
> > > > > Have trouble working out why 2 is magician again to make your test data nicer :P
> > > > >
> > > >
> > > > This is calculating what the nr_running would be after the move and
> > > > checking if an imbalance exists after the move forcing the load balancer
> > > > to intervene.
> > >
> > > Isn't that always going to work out to 2?
> > >
> >
> > Crap, stupid cut and paste moving between source trees. Yes, this is
> > broken.
> 
> On the load balance side we have 2 rules when NUMA groups has spare capacity:
> - ensure that the diff between src and dst nr_running < 2
> - if src_nr_running is lower than 2, allow a degree of imbalance of 2
> instead of 1
> 
> Your test doesn't explicitly ensure that the 1 condition is met
> 
> That being said, I'm not sure it's really a wrong thing ? I mean
> load_balance will probably try to pull back some tasks on src but as
> long as it is not a task with dst node as preferred node, it should
> not be that harmfull

My thinking was that if source has as many or more running tasks than
the destination *after* the move that it's not harmful and does not add
work for the load balancer.

-- 
Mel Gorman
SUSE Labs

  reply	other threads:[~2020-02-13 16:34 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-11 17:46 [PATCH 0/4] remove runnable_load_avg and improve group_classify Vincent Guittot
2020-02-11 17:46 ` [PATCH 1/4] sched/fair: reorder enqueue/dequeue_task_fair path Vincent Guittot
2020-02-12 13:20   ` Mel Gorman
2020-02-12 14:47     ` Vincent Guittot
2020-02-12 16:11       ` Mel Gorman
2020-02-11 17:46 ` [RFC 2/4] sched/numa: replace runnable_load_avg by load_avg Vincent Guittot
2020-02-12 13:37   ` Mel Gorman
2020-02-12 15:03     ` Vincent Guittot
2020-02-12 16:04       ` Mel Gorman
2020-02-12 19:49     ` Mel Gorman
2020-02-12 21:29       ` Mel Gorman
2020-02-13  8:05       ` Vincent Guittot
2020-02-13  9:24         ` Mel Gorman
     [not found]         ` <20200213131658.9600-1-hdanton@sina.com>
2020-02-13 13:46           ` Mel Gorman
2020-02-13 15:00             ` Phil Auld
2020-02-13 15:14               ` Mel Gorman
2020-02-13 16:11                 ` Vincent Guittot
2020-02-13 16:34                   ` Mel Gorman [this message]
2020-02-13 16:38                     ` Vincent Guittot
2020-02-13 17:02                       ` Mel Gorman
2020-02-13 17:15                         ` Vincent Guittot
2020-02-11 17:46 ` [RFC 3/4] sched/fair: replace runnable load average by runnable average Vincent Guittot
2020-02-12 14:30   ` Mel Gorman
2020-02-14  7:42     ` Vincent Guittot
2020-02-13 17:36   ` Peter Zijlstra
2020-02-14  7:43     ` Vincent Guittot
2020-02-11 17:46 ` [RFC 4/4] sched/fair: Take into runnable_avg to classify group Vincent Guittot
2020-02-13 18:32   ` Valentin Schneider
2020-02-13 18:37     ` Valentin Schneider
2020-02-14  7:48       ` Vincent Guittot
2020-02-11 21:04 ` [PATCH 0/4] remove runnable_load_avg and improve group_classify Mel Gorman
2020-02-12  8:16   ` Vincent Guittot

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=20200213163437.GZ3466@techsingularity.net \
    --to=mgorman@techsingularity.net \
    --cc=bsegall@google.com \
    --cc=dietmar.eggemann@arm.com \
    --cc=hdanton@sina.com \
    --cc=juri.lelli@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=parth@linux.ibm.com \
    --cc=pauld@redhat.com \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=valentin.schneider@arm.com \
    --cc=vincent.guittot@linaro.org \
    /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.