On Fri, 20 Jul 2007, Jeremy Maitin-Shepard wrote: > >> when doing a suspend-to-ram you get to a point where you just don't use > >> any userspace. > > > What do you mean? How can you prevent user tasks from running? That's > > basically what the freezer does, and the whole point of this approach > > is to eliminate the freezer. Right? > > Presumably no tasks at all would be scheduled. How would you prevent tasks from being scheduled? How would you prevent drivers from deadlocking because in order to put their device in a low-power state they need to acquire a lock which is held by a user task? > >> from that point on you are just walking the device tree > >> putting things into low-power mode. This is the point where we are talking > >> about jumping to. > > > Yes. And putting things into low-power mode requires the ability to > > run the scheduler, which means that user tasks can be scheduled, which > > means that they can run. > > Does it really (fundamentally) require scheduling tasks, particularly in > the case that the devices have already been put in the "quiesced" state? I can't say for sure. That's the way we have been doing it. It wouldn't be easy to change, because the driver would have to busy-wait during delays -- which would mean it would need to use different code for system-wide suspend and runtime suspend. Alan Stern _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm