Re: [v2 PATCH 2/2] powerpc: Enable CPU_FTR_ASYM_SMT for interleaved big-cores
From: Gautham R Shenoy
Date: Wed Jul 04 2018 - 04:31:42 EST
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.