[PATCHv2 2/2] powerpc: implement arch_scale_smt_power for Power7
Joel Schopp
jschopp at austin.ibm.com
Fri Jan 29 09:39:15 EST 2010
>
> What about an early exit if !cpu_has_feature(CPU_FTR_SMT) ? That would
> de-facto compile it out for 32-bit CPU platforms that don't support SMT
> at all and avoid some overhead on POWER3,4,970...
>
If the SD_SHARE_CPUPOWER flag isn't set for the sched domain this
function isn't called. So an extra check here is wasteful.
>
>> + unsigned long weight = cpumask_weight(sibling_map);
>> + unsigned long smt_gain = sd->smt_gain;
>> +
>> + if (cpu_has_feature(CPU_FTR_ASYNC_SMT4) && weight == 4) {
>>
>
> So that will only handle the case where all 4 threads are online right ?
> There is no provision for the case where the user play tricks like
> offlining thread, in which case it will stop trying to "push down"
> processes right ? Not a big deal per-se I suppose, just something to be
> aware of.
>
I've tested it with manually offlined threads and it behaves as I'd like
it to.
> Also, can you add a comment as to why this is done in the code itself ?
> above the if (cpu_has_feature(...)) statement.
>
OK. v3 coming soon with the comment.
More information about the Linuxppc-dev
mailing list