Hi Murilo,

Thanks for the review.

On Tue, Jul 03, 2018 at 02:53:46PM -0300, Murilo Opsfelder Araujo wrote:
[..snip..]

> > -        /* Initialize CPU <=> thread mapping/
> > +   if (has_interleaved_big_core) {
> > +           int key = __builtin_ctzl(CPU_FTR_ASYM_SMT);
> > +
> > +           cur_cpu_spec->cpu_features |= CPU_FTR_ASYM_SMT;
> > +           static_branch_enable(&cpu_feature_keys[key]);
> > +           pr_info("Detected interleaved big-cores\n");
> > +   }
> 
> Shouldn't we use cpu_has_feature(CPU_FTR_ASYM_SMT) before setting
> > it?


Are you suggesting that we do the following?

    if (has_interleaved_big_core &&
        !cpu_has_feature(CPU_FTR_ASYM_SMT)) {
        ...
    }
    
Currently CPU_FTR_ASYM_SMT is set at compile time for only POWER7
where running the tasks on lower numbered threads give us the benefit
of SMT thread folding. Interleaved big core is a feature introduced
only on POWER9. Thus, we know that CPU_FTR_ASYM_SMT is not set in
cpu_features at this point.

> 
> > +
> > +   /* Initialize CPU <=> thread mapping/
> >      *
> >      * WARNING: We assume that the number of threads is the same for
> >      * every CPU in the system. If that is not the case, then some code
> > -- 
> > 1.9.4
> > 
> 
> -- 
> Murilo

--
Thanks and Regards
gautham.

Reply via email to