All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vincent Guittot <vincent.guittot@linaro.org>
To: Yuyang Du <yuyang.du@intel.com>
Cc: Mike Galbraith <umgwanakikbuti@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@kernel.org>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	Benjamin Segall <bsegall@google.com>,
	Paul Turner <pjt@google.com>,
	Morten Rasmussen <morten.rasmussen@arm.com>,
	Dietmar Eggemann <dietmar.eggemann@arm.com>
Subject: Re: [RFC PATCH 1/2] sched: Clean up SD_BALANCE_WAKE flags in sched domain build-up
Date: Wed, 1 Jun 2016 11:24:45 +0200	[thread overview]
Message-ID: <CAKfTPtCH9ycaTfK383b6DqE7JSOwz_e4Xr46S+XF5ZGVE4+_Jg@mail.gmail.com> (raw)
In-Reply-To: <20160601010311.GV18670@intel.com>

On 1 June 2016 at 03:03, Yuyang Du <yuyang.du@intel.com> wrote:
> On Wed, Jun 01, 2016 at 10:32:53AM +0200, Vincent Guittot wrote:
>> > Yup. Up to this point, we don't have any disagreement. And I don't think we
>> > have any disagreement conceptually. What the next patch really does is:
>> >
>> > (1) we don't remove SD_BALANCE_WAKE as an important sched_domain flag, on
>> >     the contrary, we strengthen it.
>> >
>> > (2) the semantic of SD_BALANCE_WAKE is currently represented by SD_WAKE_AFFINE,
>> >     we actually remove this representation.
>> >
>> > (3) regarding the semantic of SD_WAKE_AFFINE, it is really not about selecting
>> >     waker CPU or about the fast path. Conceptually, it is just saying the waker
>> >     CPU is a valid and important candidate if SD_BALANCE_WAKE, which is just so
>> >     obvious, so I don't think it deserves to be a separate sched_domain flag.
>> >
>> > (4) the outcome is, if SD_BALANCE_WAKE, we definitely will/should try waker CPU,
>> >     and if !SD_BALANCE_WAKE, we don't try waker CPU. So nothing functional is
>> >     changed.
>>
>>
>> AFAIU, there is 4 possible cases during wake up:
>> - we don't want any balance at wake so we don't have SD_BALANCE_WAKE
>> nor SD_WAKE_AFFINE in sched_domain->flags
>> - we only want wake affine balance check so we only have
>> SD_WAKE_AFFINE in sched_domain->flags
>> - we want wake_affine and full load balance at wake so we have both
>> SD_BALANCE_WAKE and SD_WAKE_AFFINE in sched_domain->flags
>> - we want  full load balance but want to skip wake affine fast path so
>> we only have SD_BALANCE_WAKE in sched_domain->flags
>>
>> I'm not sure that we can still do only wake_affine or only full
>> load_balance with your changes whereas these sequences are valid ones
>
> So with the patch, we will have a little bit semantic change, SD_BALANCE_WAKE
> implies SD_WAKE_AFFINE if allowed, and will favor "fast path" if possible. I don't
> think we should do anything otherwise.

Why should we not do anything else ?

The current default configuration is to only use the wake_affine path.
With your changes, the default configuration will try to use wake
affine and will fall back to long load balance sequence if wake affine
doesn't find a sched_domain

That's a major changes in the behavior

>
> So I think this is a combined case better than either of the "only wake_affine"
> or "only full" cases. Make sense?

  reply	other threads:[~2016-06-01  9:25 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-31  1:11 [RFC PATCH 0/2] Remove and replace SD_WAKE_AFFINE with SD_BALANCE_WAKE Yuyang Du
2016-05-31  1:11 ` [RFC PATCH 1/2] sched: Clean up SD_BALANCE_WAKE flags in sched domain build-up Yuyang Du
2016-05-31  9:21   ` Peter Zijlstra
2016-05-31  1:31     ` Yuyang Du
2016-05-31 10:41       ` Peter Zijlstra
2016-05-31 18:00         ` Yuyang Du
2016-06-01  5:07       ` Mike Galbraith
2016-06-01  0:01         ` Yuyang Du
2016-06-01  8:32           ` Vincent Guittot
2016-06-01  1:03             ` Yuyang Du
2016-06-01  9:24               ` Vincent Guittot [this message]
2016-06-01 19:35                 ` Yuyang Du
2016-06-02  6:56                   ` Vincent Guittot
2016-06-01 23:19                     ` Yuyang Du
2016-06-01  9:36           ` Mike Galbraith
2016-06-01 20:03             ` Yuyang Du
2016-06-02  5:50               ` Mike Galbraith
2016-06-01 22:41                 ` Yuyang Du
2016-06-02  6:44                   ` Mike Galbraith
2016-05-31  1:11 ` [RFC PATCH 2/2] sched: Remove SD_WAKE_AFFINE flag and replace it with SD_BALANCE_WAKE Yuyang Du
2016-05-31  9:23   ` Peter Zijlstra
2016-05-31  1:34     ` Yuyang Du

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=CAKfTPtCH9ycaTfK383b6DqE7JSOwz_e4Xr46S+XF5ZGVE4+_Jg@mail.gmail.com \
    --to=vincent.guittot@linaro.org \
    --cc=bsegall@google.com \
    --cc=dietmar.eggemann@arm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=morten.rasmussen@arm.com \
    --cc=peterz@infradead.org \
    --cc=pjt@google.com \
    --cc=umgwanakikbuti@gmail.com \
    --cc=yuyang.du@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.