On 10/24/2014 03:24 PM, Peter Zijlstra wrote:
On Mon, Oct 20, 2014 at 06:25:41PM +0200, Daniel Lezcano wrote:
- if (index > 0)
- if (index >= 0)
That's not the same condition.
Yes and it is wrong. That is the result of the CPUIDLE_DRIVER_STATE_START dance.
The ladder governor is avoiding to use the POLL state as it was running on x86. But on, eg. ARM, we will never reflect the state 0 because CPUIDLE_DRIVER_STATE_START is equal to zero for all non-x86 platform.
If I am not wrong the ladder select function will never choose the state 0 for x86, so it will never reflect the state 0 (after applying the patch 1/5). For the other arch it will reflect the state 0 as it should.