what is the purpose of "time window power limit" field in MSR_PKG_POWER_LIMIT register, how it is used, In one of my sandy bridge systems i got the following reading.
MSR: 1556 Value: 13236883076154104
Max Watts Raw1760
Min Watts Raw432
Max time window Raw47
Max Watts 220.000000
Min Watts 54.000000
Max time window 0.742188
Raw values of units are(convert to 1/2^x for actual units) :
Power units 3
Time units 10
Energy Status 16
The max time window is 0.742188secs, so my dump question is, how this field is used during RAPL operation.
My understanding is RAPL means the system will be bought down to low power state for some time, but the max time window specified is very low.
Have you read section 14.7.3 "Package RAPL Domain" of vol 3 of the SDM?
These fields are used to limit the amount of energy used by the package over a period of time. The max time windows means that the value that you encode into one of the time windows cannot exceed the max time window. You could use the 2 windows in the MSR to say, allow a higher amount of energy to be used for a short amount of time and, using the 2nd time window, require that the average power used over a longer period be lower. The average power usage is energy used over the time window.
Does that make sense?
Thanks for the reply, I got the meaning of max time period. But my confusion is with how system will use the two time limits in MSR_PKG_POWER_LIMIT register. Does that mean we just provide these limits and its upto the system to decide when/which limit to use?
Nobin M. wrote:
Or is it like once we enable RAPL core will be either in performance mode(first limit, less time), or in low power mode (low power longer time)?
RAPL is per package.
>>>Does that mean we just provide these limits and its upto the system to decide when/which limit to use?>>>
Yes probably power management agent in Win OS (could that be acpi.sys? I am not sure) will set those value and I suppose read in some kind of loop values of MSR_PKG_ENERGY_STATUS register.