Re: [PATCH] PM / suspend: Always use deepest C-state in the "freeze" sleep state

From: Rafael J. Wysocki
Date: Mon May 12 2014 - 19:37:13 EST


On Monday, May 12, 2014 04:52:22 PM Daniel Lezcano wrote:
> On 05/12/2014 04:19 PM, Li, Aubrey wrote:
> > On 2014/5/12 22:08, Daniel Lezcano wrote:
> >> On 05/05/2014 12:51 AM, Rafael J. Wysocki wrote:
> >>> From: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
> >>>
> >>> If freeze_enter() is called, we want to bypass the current cpuidle
> >>> governor and always use the deepest available (that is, not disabled)
> >>> C-state, because we want to save as much energy as reasonably possible
> >>> then and runtime latency constraints don't matter at that point, since
> >>> the system is in a sleep state anyway.
> >>>
> >>> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
> >>> ---
> >>>
> >>> This is on top of https://patchwork.kernel.org/patch/4071541/ .
> >>>
> >>
> >> Wouldn't make sense to revisit play_dead instead ?
> >>
> > play_dead() is broken.
> >
> > Even if it works, we still should rely on cpuidle driver to place the
> > CPUs into the deepest c-state, because there is no architectural way to
> > enter deepest c-state and what play_dead() does is a bad assumption.
>
> Ok, let me rephrase it. Why not revisiting cpuidle_play_dead instead ?

Many drivers don't implement the ->enter_dead() callback.

--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/