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 perf-bias.

/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 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