Commit 94987721 authored by Lauro Ramos Venancio's avatar Lauro Ramos Venancio Committed by Sasha Levin

sched/topology: Optimize build_group_mask()

[ Upstream commit f32d782e ]

The group mask is always used in intersection with the group CPUs. So,
when building the group mask, we don't have to care about CPUs that are
not part of the group.
Signed-off-by: default avatarLauro Ramos Venancio <lvenanci@redhat.com>
Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: lwang@redhat.com
Cc: riel@redhat.com
Link: http://lkml.kernel.org/r/1492717903-5195-2-git-send-email-lvenanci@redhat.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
Signed-off-by: default avatarSasha Levin <alexander.levin@verizon.com>
parent 87de53ef
...@@ -5877,12 +5877,12 @@ enum s_alloc { ...@@ -5877,12 +5877,12 @@ enum s_alloc {
*/ */
static void build_group_mask(struct sched_domain *sd, struct sched_group *sg) static void build_group_mask(struct sched_domain *sd, struct sched_group *sg)
{ {
const struct cpumask *span = sched_domain_span(sd); const struct cpumask *sg_span = sched_group_cpus(sg);
struct sd_data *sdd = sd->private; struct sd_data *sdd = sd->private;
struct sched_domain *sibling; struct sched_domain *sibling;
int i; int i;
for_each_cpu(i, span) { for_each_cpu(i, sg_span) {
sibling = *per_cpu_ptr(sdd->sd, i); sibling = *per_cpu_ptr(sdd->sd, i);
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment