Re: [PATCH]: In kernel hibernation, suspend to both

From: Bojan Smojver
Date: Sun May 13 2012 - 21:03:04 EST


On Mon, 2012-05-14 at 05:02 +0530, Srivatsa S. Bhat wrote:
> This is the point where your patch gets scary - Suspend is not carried
> out in its fullest sense; instead you jump directly to
> suspend_devices_and_enter(). Luckily, most of the things that happen
> before this are common between suspend and hibernation. However, one
> thing that really stands out is the notifications: if you directly
> call suspend_devices_and_enter(), we end up missing the
> PM_SUSPEND_PREPARE notifications.

I'm guessing because at the point of suspend to RAM here, we are not
really doing the real, full suspend to RAM, things would be different.
At this point, not the whole system is alive - most of it is frozen.
Only devices required for image writing are alive. Or maybe I'm
misunderstanding the hibernation process...

> And there is no guarantee that everybody implements the same thing for
> both PM_SUSPEND_PREPARE and PM_HIBERNATION_PREPARE notifications. That
> is the reason I don't think it is safe.

OK.

So, you would do:

- prepare for hibernation (includes suspension of devices)
- resume devices involved in image writing
- write image
- prepare for suspend
- suspend to RAM
- resume from RAM
- post suspend from RAM
- unwind unsuccessful hibernation

Isn't that going to confuse devices involved in image writing even more
by essentially executing post-resume twice (once for suspend to RAM,
once for hibernation)?

--
Bojan

--
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/