sched: arch_scale_freq_power (and other cpu_power / sched related questions)

From: Mike Chan
Date: Wed May 05 2010 - 22:35:22 EST


Before I end up duplicating a bunch of work in the scheduler / cpufreq
/ power tracking. I wanted avoid such an figure out what exactly all
this existing code is doing. Right now I am just interested in how the
kernel is accounting for cpu power, and less on the actual load
balancing work. In particular, total power consumed over the lifetime
of the system, instead of what seems to be a diminished weighted scale
used for all the scheduler cpu_power calculations.

kernel/sched.c

First, the arch_scale_freq_power() hooks, what are the units that all
these calculations are based off of?
In update_cup_power() It seems "power" gets multiplied by
SCHED_LOAD_SCALE, then >> by SCHED_LOAD_SHIFT. (1024 *=1024) >> 10.

For Android, at least with omap, msm, tegra platforms I am attempting
to get cpu power tracking (with cpufreq support) and it looks like
there is some half-way support with x86.

It seems that for x86 the kernel returns the default value, which is
SCHED_LOAD_SCALE (1 << 10). Does anyone know how the magic number 1024
translates to cpu power consumption (with frequency scaling) in
relative or absolute power numbers.

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