Messages in this thread | | | Subject | Re: [RFC PATCH v1 1/2] sched: unified sched_powersavings sysfs tunable | From | Peter Zijlstra <> | Date | Wed, 25 Jan 2012 15:53:01 +0100 |
| |
On Mon, 2012-01-16 at 21:52 +0530, Vaidyanathan Srinivasan wrote: > +++ b/block/blk.h > @@ -167,14 +167,15 @@ static inline int queue_congestion_off_threshold(struct request_queue *q) > static inline int blk_cpu_to_group(int cpu) > { > int group = NR_CPUS; > -#ifdef CONFIG_SCHED_MC > - const struct cpumask *mask = cpu_coregroup_mask(cpu); > - group = cpumask_first(mask); > -#elif defined(CONFIG_SCHED_SMT) > - group = cpumask_first(topology_thread_cpumask(cpu)); > +#ifdef CONFIG_SCHED_POWERSAVE > + if (smt_capable()) > + group = cpumask_first(topology_thread_cpumask(cpu)); > + else > + group = cpumask_first(cpu_coregroup_mask(cpu)); > #else > return cpu; > #endif > + /* Possible dead code?? */ > if (likely(group < NR_CPUS)) > return group; > return cpu;
After going, WTF is block doing! I had a closer look and this doesn't seem right at all. The old code would use coregroup_mask when SCHED_MC && SCHED_SMT, the new code does something else.
Jens, what is this thing trying to do?
| |