Hi
I have been trying to develop a runtime energy management library for Intel Xeon Phi using idle state control (C-states). I have read through a few blogs but I could not find answers to the following:
1. How can I implement control of C-states through userspace. Do I need to rebuild the MPSS service with userspace?
2. I have all power features enabled currently (cpufreq, corec6, pc3 and poc6). I can see the usage of the different idle states through
cat /sys/devices/system/cpu/cpu0/cpuidle/state*/usage (showing the usage of different cpuidle states??)
or
cat /sys/devices/system/cpu/cpu243/cpuidle/state*/time (showing the clock ticks on each cpuidle states??)
As I can see the idle states (deeper C states) are more active than the C0 state. However, when I measure the power, I can only see a overall power reduction from 100W (measured at the highest cpu frequency with no power feature enabled) to 82W (measured at the lowest cpu frequency with all power reduction features enabled). Considering more times are now being spent in the deeper sleep states, it this reduction justified? Or am I reading something wrong?
Any help, advice or recommendation would be much appreciated.