From: Valentin Schneider <valentin.schneider@arm.com>
To: Barry Song <song.bao.hua@hisilicon.com>,
vincent.guittot@linaro.org, mingo@redhat.com,
peterz@infradead.org, juri.lelli@redhat.com,
dietmar.eggemann@arm.com, rostedt@goodmis.org,
bsegall@google.com, mgorman@suse.de
Cc: linux-kernel@vger.kernel.org, linuxarm@openeuler.org,
Barry Song <song.bao.hua@hisilicon.com>
Subject: Re: [PATCH] sched/topology: remove redundant cpumask_and in init_overlap_sched_group
Date: Fri, 05 Mar 2021 11:48:59 +0000 [thread overview]
Message-ID: <jhjeegt7rdg.mognet@arm.com> (raw)
In-Reply-To: <20210304222944.32504-1-song.bao.hua@hisilicon.com>
On 05/03/21 11:29, Barry Song wrote:
> mask is built in build_balance_mask() by for_each_cpu(i, sg_span), so
> it must be a subset of sched_group_span(sg).
So we should indeed have
cpumask_subset(sched_group_span(sg), mask)
but that doesn't imply
cpumask_first(sched_group_span(sg)) == cpumask_first(mask)
does it? I'm thinking if in your topology of N CPUs, CPUs 0 and N-1 are the
furthest away, you will most likely hit
!cpumask_equal(sg_pan, sched_domain_span(sibling->child))
^^^^^^ ^^^^^^^^^^^^^
CPUN-1 CPU0
which should be the case on your Kunpeng920 system.
> Though cpumask_first_and
> doesn't lead to a wrong result of balance cpu, it is pointless to do
> cpumask_and again.
>
> Signed-off-by: Barry Song <song.bao.hua@hisilicon.com>
> ---
> kernel/sched/topology.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c
> index 12f8058..45f3db2 100644
> --- a/kernel/sched/topology.c
> +++ b/kernel/sched/topology.c
> @@ -934,7 +934,7 @@ static void init_overlap_sched_group(struct sched_domain *sd,
> int cpu;
>
> build_balance_mask(sd, sg, mask);
> - cpu = cpumask_first_and(sched_group_span(sg), mask);
> + cpu = cpumask_first(mask);
>
> sg->sgc = *per_cpu_ptr(sdd->sgc, cpu);
> if (atomic_inc_return(&sg->sgc->ref) == 1)
> --
> 1.8.3.1
next prev parent reply other threads:[~2021-03-05 11:49 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-04 22:29 [PATCH] sched/topology: remove redundant cpumask_and in init_overlap_sched_group Barry Song
2021-03-05 11:48 ` Valentin Schneider [this message]
2021-03-05 20:25 ` Song Bao Hua (Barry Song)
2021-03-07 18:19 ` Valentin Schneider
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=jhjeegt7rdg.mognet@arm.com \
--to=valentin.schneider@arm.com \
--cc=bsegall@google.com \
--cc=dietmar.eggemann@arm.com \
--cc=juri.lelli@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxarm@openeuler.org \
--cc=mgorman@suse.de \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=song.bao.hua@hisilicon.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.