Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f32d782e authored by Lauro Ramos Venancio's avatar Lauro Ramos Venancio Committed by Ingo Molnar
Browse files

sched/topology: Optimize build_group_mask()



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.com


Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
parent a420b063
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -506,12 +506,12 @@ enum s_alloc {
 */
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 sched_domain *sibling;
	int i;

	for_each_cpu(i, span) {
	for_each_cpu(i, sg_span) {
		sibling = *per_cpu_ptr(sdd->sd, i);
		if (!cpumask_test_cpu(i, sched_domain_span(sibling)))
			continue;