On Thu, Apr 20, 2017 at 04:51:42PM -0300, Lauro Ramos Venancio wrote:
> @@ -612,7 +604,16 @@ static void init_overlap_sched_group(struct sched_domain 
> *sd,
>  
>               sibling = *per_cpu_ptr(sdd->sd, i);
>  
> -             /* See the comment near build_group_mask(). */
> +             /*
> +              * Asymmetric node setups can result in situations where the
> +              * domain tree is of unequal depth, make sure to skip domains
> +              * that already cover the entire range.
> +              *
> +              * In that case build_sched_domains() will have terminated the
> +              * iteration early and our sibling sd spans will be empty.
> +              * Domains should always include the CPU they're built on, so
> +              * check that.
> +              */
>               if (!cpumask_test_cpu(i, sched_domain_span(sibling)))
>                       continue;
>  

FWIW, the topology that spawned all that is:

  10,20,20,30
  20,10,20,20
  20,20,10,20
  30,20,20,10


Reply via email to