All of lore.kernel.org
 help / color / mirror / Atom feed
From: riel@redhat.com (Rik van Riel)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 08/12] sched: move cfs task on a CPU with higher capacity
Date: Mon, 28 Jul 2014 14:43:10 -0400	[thread overview]
Message-ID: <53D699BE.90208@redhat.com> (raw)
In-Reply-To: <1406569906-9763-9-git-send-email-vincent.guittot@linaro.org>

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 07/28/2014 01:51 PM, Vincent Guittot wrote:
> If the CPU is used for handling lot of IRQs, trig a load balance to
> check if it's worth moving its tasks on another CPU that has more
> capacity.
> 
> As a sidenote, this will note generate more spurious ilb because we
> already trig an ilb if there is more than 1 busy cpu. If this cpu
> is the only one that has a task, we will trig the ilb once for
> migrating the task.
> 
> The nohz_kick_needed function has been cleaned up a bit while
> adding the new test
> 
> Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org> --- 
> kernel/sched/fair.c | 69
> +++++++++++++++++++++++++++++++++++++---------------- 1 file
> changed, 49 insertions(+), 20 deletions(-)
> 
> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index
> 6843016..1cde8dd 100644 --- a/kernel/sched/fair.c +++
> b/kernel/sched/fair.c @@ -5969,6 +5969,14 @@ static bool
> update_sd_pick_busiest(struct lb_env *env, return true; }
> 
> +	/* +	 * The group capacity is reduced probably because of
> activity from other +	 * sched class or interrupts which use part
> of the available capacity +	 */ +	if ((sg->sgc->capacity_orig *
> 100) > (sgs->group_capacity * +				env->sd->imbalance_pct)) +
> return true; + return false; }

Isn't this already reflected in avg_load, by having avg_load increase
due to the capacity decreasing when a cpu is busy with non-CFS loads?

Also, this part of update_sd_pick_busiest will not be reached in the
!SD_ASYM_PACKING case once my patch is applied, so this is a small
conflict between our series :)

- -- 
All rights reversed
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBAgAGBQJT1pm+AAoJEM553pKExN6DysEH/1/s2dY0EWM4mVctRAcyASc+
qD5yQgDZEbnIzuUldtTRNwlAxHSaexLI7oF418RAaUV3oue+OQIesJPhKDVrR2+J
fLo4fhtutuF1SHJ5Zo2fiGBIUI+GuLspT2fXiG2UxXQXtYioVdDeB+cjo6H3xQ3D
R2hR+WeSsLznwFhRnufI1neleIRpqk/Nw1wfdXCyE03kM478rCQjlygMUx6eqURn
jblr7GY7jmtzhYFPY9qnE0za/WHWUVAf4RXSjCcuYwZqdhbzmHPKpJyiC3cl9XGz
kNzAjqVzvSyCBblaOnJfrRyCWmBdatp5eZQCzZK9/l+YpbkkzQJNlUMAAVV1eNw=
=qD2A
-----END PGP SIGNATURE-----

WARNING: multiple messages have this Message-ID (diff)
From: Rik van Riel <riel@redhat.com>
To: Vincent Guittot <vincent.guittot@linaro.org>,
	peterz@infradead.org, mingo@kernel.org,
	linux-kernel@vger.kernel.org, preeti@linux.vnet.ibm.com,
	linux@arm.linux.org.uk, linux-arm-kernel@lists.infradead.org
Cc: Morten.Rasmussen@arm.com, efault@gmx.de,
	nicolas.pitre@linaro.org, linaro-kernel@lists.linaro.org,
	daniel.lezcano@linaro.org, dietmar.eggemann@arm.com
Subject: Re: [PATCH v4 08/12] sched: move cfs task on a CPU with higher capacity
Date: Mon, 28 Jul 2014 14:43:10 -0400	[thread overview]
Message-ID: <53D699BE.90208@redhat.com> (raw)
In-Reply-To: <1406569906-9763-9-git-send-email-vincent.guittot@linaro.org>

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 07/28/2014 01:51 PM, Vincent Guittot wrote:
> If the CPU is used for handling lot of IRQs, trig a load balance to
> check if it's worth moving its tasks on another CPU that has more
> capacity.
> 
> As a sidenote, this will note generate more spurious ilb because we
> already trig an ilb if there is more than 1 busy cpu. If this cpu
> is the only one that has a task, we will trig the ilb once for
> migrating the task.
> 
> The nohz_kick_needed function has been cleaned up a bit while
> adding the new test
> 
> Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org> --- 
> kernel/sched/fair.c | 69
> +++++++++++++++++++++++++++++++++++++---------------- 1 file
> changed, 49 insertions(+), 20 deletions(-)
> 
> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index
> 6843016..1cde8dd 100644 --- a/kernel/sched/fair.c +++
> b/kernel/sched/fair.c @@ -5969,6 +5969,14 @@ static bool
> update_sd_pick_busiest(struct lb_env *env, return true; }
> 
> +	/* +	 * The group capacity is reduced probably because of
> activity from other +	 * sched class or interrupts which use part
> of the available capacity +	 */ +	if ((sg->sgc->capacity_orig *
> 100) > (sgs->group_capacity * +				env->sd->imbalance_pct)) +
> return true; + return false; }

Isn't this already reflected in avg_load, by having avg_load increase
due to the capacity decreasing when a cpu is busy with non-CFS loads?

Also, this part of update_sd_pick_busiest will not be reached in the
!SD_ASYM_PACKING case once my patch is applied, so this is a small
conflict between our series :)

- -- 
All rights reversed
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBAgAGBQJT1pm+AAoJEM553pKExN6DysEH/1/s2dY0EWM4mVctRAcyASc+
qD5yQgDZEbnIzuUldtTRNwlAxHSaexLI7oF418RAaUV3oue+OQIesJPhKDVrR2+J
fLo4fhtutuF1SHJ5Zo2fiGBIUI+GuLspT2fXiG2UxXQXtYioVdDeB+cjo6H3xQ3D
R2hR+WeSsLznwFhRnufI1neleIRpqk/Nw1wfdXCyE03kM478rCQjlygMUx6eqURn
jblr7GY7jmtzhYFPY9qnE0za/WHWUVAf4RXSjCcuYwZqdhbzmHPKpJyiC3cl9XGz
kNzAjqVzvSyCBblaOnJfrRyCWmBdatp5eZQCzZK9/l+YpbkkzQJNlUMAAVV1eNw=
=qD2A
-----END PGP SIGNATURE-----

  reply	other threads:[~2014-07-28 18:43 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-28 17:51 [PATCH v4 00/12] sched: consolidation of cpu_capacity Vincent Guittot
2014-07-28 17:51 ` Vincent Guittot
2014-07-28 17:51 ` [PATCH v4 01/12] sched: fix imbalance flag reset Vincent Guittot
2014-07-28 17:51   ` Vincent Guittot
2014-11-23 10:25   ` Wanpeng Li
2014-11-23 10:25     ` Wanpeng Li
2014-11-24 10:31     ` Vincent Guittot
2014-11-24 10:31       ` Vincent Guittot
2014-11-24 23:47   ` Wanpeng Li
2014-11-24 23:47     ` Wanpeng Li
2014-11-25  9:04     ` Vincent Guittot
2014-11-25  9:04       ` Vincent Guittot
2014-11-25 10:13       ` Wanpeng Li
2014-11-25 10:13         ` Wanpeng Li
2014-07-28 17:51 ` [PATCH v4 02/12] sched: remove a wake_affine condition Vincent Guittot
2014-07-28 17:51   ` Vincent Guittot
2014-07-28 17:51 ` [PATCH v4 03/12] sched: fix avg_load computation Vincent Guittot
2014-07-28 17:51   ` Vincent Guittot
2014-07-28 17:51 ` [PATCH v4 04/12] sched: Allow all archs to set the capacity_orig Vincent Guittot
2014-07-28 17:51   ` Vincent Guittot
2014-07-28 17:51 ` [PATCH v4 05/12] ARM: topology: use new cpu_capacity interface Vincent Guittot
2014-07-28 17:51   ` Vincent Guittot
2014-07-28 17:51 ` [PATCH 06/12] sched: add per rq cpu_capacity_orig Vincent Guittot
2014-07-28 17:51   ` Vincent Guittot
2014-07-28 17:51 ` [PATCH v4 07/12] sched: test the cpu's capacity in wake affine Vincent Guittot
2014-07-28 17:51   ` Vincent Guittot
2014-07-28 17:51 ` [PATCH v4 08/12] sched: move cfs task on a CPU with higher capacity Vincent Guittot
2014-07-28 17:51   ` Vincent Guittot
2014-07-28 18:43   ` Rik van Riel [this message]
2014-07-28 18:43     ` Rik van Riel
2014-07-29  7:40     ` Vincent Guittot
2014-07-29  7:40       ` Vincent Guittot
2014-07-28 17:51 ` [PATCH 09/12] sched: add usage_load_avg Vincent Guittot
2014-07-28 17:51   ` Vincent Guittot
2014-07-28 17:51 ` [PATCH v4 10/12] sched: get CPU's utilization statistic Vincent Guittot
2014-07-28 17:51   ` Vincent Guittot
2014-07-28 17:51 ` [PATCH v4 11/12] sched: replace capacity_factor by utilization Vincent Guittot
2014-07-28 17:51   ` Vincent Guittot
2014-07-28 17:51 ` [PATCH v4 12/12] sched: add SD_PREFER_SIBLING for SMT level Vincent Guittot
2014-07-28 17:51   ` Vincent Guittot
2014-07-28 18:52 ` [PATCH v4 00/12] sched: consolidation of cpu_capacity Rik van Riel
2014-07-28 18:52   ` Rik van Riel

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=53D699BE.90208@redhat.com \
    --to=riel@redhat.com \
    --cc=linux-arm-kernel@lists.infradead.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.