From: Michael Neuling <michael.neuling@au1.ibm.com>
To: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org,
Mike Galbraith <bitbucket@online.de>,
Anton Blanchard <anton@samba.org>,
Preeti U Murthy <preeti@linux.vnet.ibm.com>,
Paul Turner <pjt@google.com>, Ingo Molnar <mingo@kernel.org>
Subject: Re: [PATCH 2/3] sched: Fix asymmetric scheduling for POWER7
Date: Tue, 22 Oct 2013 09:55:10 +1100 [thread overview]
Message-ID: <21476.1382396110@ale.ozlabs.ibm.com> (raw)
In-Reply-To: <20131021114452.13291.19947.stgit@drishya>
Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com> wrote:
> Asymmetric scheduling within a core is a scheduler loadbalancing
> feature that is triggered when SD_ASYM_PACKING flag is set. The goal
> for the load balancer is to move tasks to lower order idle SMT threads
> within a core on a POWER7 system.
>
> In nohz_kick_needed(), we intend to check if our sched domain (core)
> is completely busy or we have idle cpu.
>
> The following check for SD_ASYM_PACKING:
>
> (cpumask_first_and(nohz.idle_cpus_mask, sched_domain_span(sd)) < cpu)
>
> already covers the case of checking if the domain has an idle cpu,
> because cpumask_first_and() will not yield any set bits if this domain
> has no idle cpu.
>
> Hence, nr_busy check against group weight can be removed.
>
> Reported-by: Michael Neuling <michael.neuling@au1.ibm.com>
Tested-by: Michael Neuling <mikey@neuling.org>
Peter, I tested this only a brief while back but it turned out my test
wasn't stringent enough and it was actually broken (in v3.9). This
fixes it.
Mikey
> Signed-off-by: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
> Signed-off-by: Preeti U Murthy <preeti@linux.vnet.ibm.com>
> ---
> kernel/sched/fair.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> index 12f0eab..828ed97 100644
> --- a/kernel/sched/fair.c
> +++ b/kernel/sched/fair.c
> @@ -5821,8 +5821,8 @@ static inline int nohz_kick_needed(struct rq *rq, int cpu)
> goto need_kick_unlock;
> }
>
> - if (sd->flags & SD_ASYM_PACKING && nr_busy != sg->group_weight
> - && (cpumask_first_and(nohz.idle_cpus_mask,
> + if (sd->flags & SD_ASYM_PACKING &&
> + (cpumask_first_and(nohz.idle_cpus_mask,
> sched_domain_span(sd)) < cpu))
> goto need_kick_unlock;
>
>
WARNING: multiple messages have this Message-ID (diff)
From: Michael Neuling <michael.neuling@au1.ibm.com>
To: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
Mike Galbraith <bitbucket@online.de>,
Paul Turner <pjt@google.com>, Ingo Molnar <mingo@kernel.org>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
linux-kernel@vger.kernel.org, Anton Blanchard <anton@samba.org>,
Preeti U Murthy <preeti@linux.vnet.ibm.com>,
linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH 2/3] sched: Fix asymmetric scheduling for POWER7
Date: Tue, 22 Oct 2013 09:55:10 +1100 [thread overview]
Message-ID: <21476.1382396110@ale.ozlabs.ibm.com> (raw)
In-Reply-To: <20131021114452.13291.19947.stgit@drishya>
Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com> wrote:
> Asymmetric scheduling within a core is a scheduler loadbalancing
> feature that is triggered when SD_ASYM_PACKING flag is set. The goal
> for the load balancer is to move tasks to lower order idle SMT threads
> within a core on a POWER7 system.
>
> In nohz_kick_needed(), we intend to check if our sched domain (core)
> is completely busy or we have idle cpu.
>
> The following check for SD_ASYM_PACKING:
>
> (cpumask_first_and(nohz.idle_cpus_mask, sched_domain_span(sd)) < cpu)
>
> already covers the case of checking if the domain has an idle cpu,
> because cpumask_first_and() will not yield any set bits if this domain
> has no idle cpu.
>
> Hence, nr_busy check against group weight can be removed.
>
> Reported-by: Michael Neuling <michael.neuling@au1.ibm.com>
Tested-by: Michael Neuling <mikey@neuling.org>
Peter, I tested this only a brief while back but it turned out my test
wasn't stringent enough and it was actually broken (in v3.9). This
fixes it.
Mikey
> Signed-off-by: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
> Signed-off-by: Preeti U Murthy <preeti@linux.vnet.ibm.com>
> ---
> kernel/sched/fair.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> index 12f0eab..828ed97 100644
> --- a/kernel/sched/fair.c
> +++ b/kernel/sched/fair.c
> @@ -5821,8 +5821,8 @@ static inline int nohz_kick_needed(struct rq *rq, int cpu)
> goto need_kick_unlock;
> }
>
> - if (sd->flags & SD_ASYM_PACKING && nr_busy != sg->group_weight
> - && (cpumask_first_and(nohz.idle_cpus_mask,
> + if (sd->flags & SD_ASYM_PACKING &&
> + (cpumask_first_and(nohz.idle_cpus_mask,
> sched_domain_span(sd)) < cpu))
> goto need_kick_unlock;
>
>
next prev parent reply other threads:[~2013-10-21 22:55 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-21 11:44 [PATCH 0/3] sched: Fixes for task placement in SMT threads Vaidyanathan Srinivasan
2013-10-21 11:44 ` Vaidyanathan Srinivasan
2013-10-21 11:44 ` [PATCH 1/3] sched: Fix nohz_kick_needed to consider the nr_busy of the parent domain's group Vaidyanathan Srinivasan
2013-10-21 11:44 ` Vaidyanathan Srinivasan
2013-10-22 14:35 ` Kamalesh Babulal
2013-10-22 14:35 ` Kamalesh Babulal
2013-10-22 16:40 ` Preeti U Murthy
2013-10-22 16:40 ` Preeti U Murthy
2013-10-22 22:11 ` Peter Zijlstra
2013-10-22 22:11 ` Peter Zijlstra
2013-10-23 4:00 ` Preeti U Murthy
2013-10-23 4:00 ` Preeti U Murthy
2013-10-23 4:21 ` Preeti U Murthy
2013-10-23 9:50 ` Preeti U Murthy
2013-10-23 9:50 ` Preeti U Murthy
2013-10-23 15:28 ` Vincent Guittot
2013-10-23 15:28 ` Vincent Guittot
2013-10-24 8:07 ` Preeti U Murthy
2013-10-24 8:07 ` Preeti U Murthy
2013-10-28 13:50 ` Peter Zijlstra
2013-10-28 13:50 ` Peter Zijlstra
2013-10-29 3:30 ` Preeti U Murthy
2013-10-29 3:30 ` Preeti U Murthy
2013-10-29 13:26 ` Peter Zijlstra
2013-10-29 13:26 ` Peter Zijlstra
2013-10-21 11:44 ` [PATCH 2/3] sched: Fix asymmetric scheduling for POWER7 Vaidyanathan Srinivasan
2013-10-21 11:44 ` Vaidyanathan Srinivasan
2013-10-21 22:55 ` Michael Neuling [this message]
2013-10-21 22:55 ` Michael Neuling
2013-10-22 22:18 ` Peter Zijlstra
2013-10-22 22:18 ` Peter Zijlstra
2013-10-21 11:45 ` [PATCH 3/3] sched: Aggressive balance in domains whose groups share package resources Vaidyanathan Srinivasan
2013-10-21 11:45 ` Vaidyanathan Srinivasan
2013-10-22 22:23 ` Peter Zijlstra
2013-10-22 22:23 ` Peter Zijlstra
2013-10-24 4:04 ` Preeti U Murthy
2013-10-24 4:04 ` Preeti U Murthy
2013-10-25 13:19 ` Preeti U Murthy
2013-10-25 13:19 ` Preeti U Murthy
2013-10-28 15:53 ` Peter Zijlstra
2013-10-28 15:53 ` Peter Zijlstra
2013-10-29 5:35 ` Preeti U Murthy
2013-10-29 5:35 ` Preeti U Murthy
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=21476.1382396110@ale.ozlabs.ibm.com \
--to=michael.neuling@au1.ibm.com \
--cc=anton@samba.org \
--cc=bitbucket@online.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=pjt@google.com \
--cc=preeti@linux.vnet.ibm.com \
--cc=svaidy@linux.vnet.ibm.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.