[Ksummit-discuss] [TECH TOPIC] giving freezer well-defined semantics

Benjamin Herrenschmidt benh at kernel.crashing.org
Sat Jul 11 05:22:00 UTC 2015


On Tue, 2015-07-07 at 22:42 +0200, Jiri Kosina wrote:
> Tejun came up with a different aproach at [1] -- basically getting rid of 
> the freezer completely, and rather annotating those I/O requests which are 
> needed for writing the hibernation image out, so that they make it through 
> all the affected subsystems, while other I/O requests would be frozen.
> 
> This would be rather dramatic change both in a way how kthreads work, how 
> hibernation works, and it'd be necessary to have means to mark I/O 
> requests as "needed for hibernation", therefore I think this would be a 
> good cross-subsystem topic.

I like that approach. In the early days, when we put together what
eventually became our power management, I was against the freezer to
begin with :-) I always had the feeling that it was an incomplete band
aid which was mostly trying to hide the problem rather than solve it.

In part because just stopping threads isn't a guarantee that things
stop, "driver" requests can be issued in theory from anything such as
timers, external interrupts, etc... threads are only part of the
problem. It's also non obvious whether a given thread is needed to write
the suspend image or not. A single thread can have multiple behaviours
associated with it. It can monitor link health and be necessary for
keeping things working but can also deal with hotplug which might not be
desirable.

So all in all, I agree with Tejun.

Cheers,
Ben.




More information about the Ksummit-discuss mailing list