From: Olof Johansson on
Hi,

> +static unsigned int pseries_cpu_power(int cpu, unsigned int
> default_power)
> +{
> + struct device_node *np;
> + unsigned int thread, power;
> +
> + if (!cpu_has_feature(CPU_FTR_ASYM_POWER))
> + return default_power;
> +
> + power = default_power;

Why not just NULL out the cpu_power function pointers on platforms
that don't have the feature bit instead? (or the other way around:
NULL by default, and set only on platforms that have imbalanced threads.

It'd be even nicer to do so without using up a cpu feature bit, since
it'd then only be used in determining whether to set the ppc_md
function pointer or not, but I don't know if there's a convenient way
to probe for this at runtime (cpu device tree node properties?).


-Olof

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Olof Johansson on

On Jun 18, 2008, at 9:58 PM, Olof Johansson wrote:

> Why not just NULL out the cpu_power function pointers on platforms
> that don't have the feature bit instead? (or the other way around:
> NULL by default, and set only on platforms that have imbalanced
> threads.

Nevermind; bogus optimization. I just noticed that it's only used when
setting up the sched domains, and isn't adding path length later on. :)


-Olof
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/