Re: [PATCHv2 2/2] powerpc: implement arch_scale_smt_power for Power7
From: Joel Schopp <hidden>
Date: 2010-01-28 22:39:33
Also in:
lkml
From: Joel Schopp <hidden>
Date: 2010-01-28 22:39:33
Also in:
lkml
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.
quoted
+ 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.