On Fri, Jul 14, 2017 at 09:03:14AM -0700, Andi Kleen wrote:
> fast idle doesn't have an upper bound.
> If the prediction exceeds the fast idle threshold any C state can be used.
> It's just another state (fast C1), but right now it has an own threshold
> which may be different from standard C1.
Given it uses the same estimate we end up with:
if (idle_est < fast_threshold)
if (idle_est < C1_threshold)
if (idle_est < C2_threshold)
/* ... */
Now, unless you're mister Turnbull, C2 will never get selected when
fast_threshold > C2_threshold.
Which is wrong. If you want to effectively scale the selection of C1,
why not also change the C2 and further criteria.