Hi,

When we enable intel energy performance bias feature, we found the power
profile implementation is necessary. Here I did a draft for cpu level power 
policy.
http://cr.opensolaris.org/~aubrey/cpu_power_policy_v1/

The proposal added a new keyword to /etc/power.conf
"cpu-power-policy", 

And we have 4 options for this new keyword:
1) perf-bias
2) balanced
3) power-bias
4) default, the same as balanced

/etc/power.conf accepts the user input and passes the prefered policy
to the kernel thru ioctl. Then pm_ioctl calls the callback to walk a cpu
power policy list. Every cpu pm feature which wants to be adjusted by
this option and verified to be supported will register its callback function
to the list, so that it can be called and adjusted by pmconfig.
--------------------------------------------------------
/etc/power.conf
        |
    pm_ioctl(cpu_power_policy, policy)
        |
cpu_power_policy_callb (policy)
        |
        ----> registered pm feature callback 1 (ENERGY_PERF_BIAS)
        |
        ----> registered pm feature callback 2
        ...
---------------------------------------------------------
Currently, only energy_perf_bias feature is registered, because my intention is
to support dynamically adjusting energy_perf_bias MSR(without reboot). I guess
we probably can add p/t/c-state support later. When we add p/t/c-state support,
my quick thought is, this option will override "cpupm" and "cpu-deep-idle" 
setting.

Welcome your any comments and suggestions.

Thanks,
-Aubrey

Reply via email to