xfs-masters
[Top] [All Lists]

[xfs-masters] Re: freeze vs freezer

To: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Subject: [xfs-masters] Re: freeze vs freezer
From: Elias Oltmanns <eo@xxxxxxxxxxxxxx>
Date: Tue, 24 Jun 2008 10:08:17 +0200
Cc: Pavel Machek <pavel@xxxxxxx>, Kyle Moffett <mrmacman_g4@xxxxxxx>, "Rafael J. Wysocki" <rjw@xxxxxxx>, Matthew Garrett <mjg59@xxxxxxxxxxxxx>, David Chinner <dgc@xxxxxxx>, Jeremy Fitzhardinge <jeremy@xxxxxxxx>, xfs-masters@xxxxxxxxxxx, Linux Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>
In-reply-to: <20080623140012.GA11899@khazad-dum.debian.net> (Henrique de Moraes Holschuh's message of "Mon, 23 Jun 2008 11:00:12 -0300")
References: <4744FD87.7010301@goop.org> <200711262253.35420.rjw@sisk.pl> <20071127053846.GA28884@srcf.ucam.org> <200711271840.24825.rjw@sisk.pl> <8B00F353-983F-40E7-931B-EA73CCD32F0A@mac.com> <20080623071601.GA1553@elf.ucw.cz> <20080623140012.GA11899@khazad-dum.debian.net>
Reply-to: xfs-masters@xxxxxxxxxxx
Sender: xfs-masters-bounce@xxxxxxxxxxx
User-agent: Gnus/5.110007 (No Gnus v0.7)
Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> wrote:
> On Mon, 23 Jun 2008, Pavel Machek wrote:
>> (replying to *very* old mail).
>
>> 
>> >>>> We wait until they can continue.
>> >>>
>> >>> So if I have a process blocked on an unavilable NFS mount, I can't
>> >>> suspend?
>> >>
>> >> That's correct, you can't.
>> >>
>> >> [And I know what you're going to say. ;-)]
>> >
>> > Why exactly does suspend/hibernation depend on "TASK_INTERRUPTIBLE" 
>> > instead 
>> > of a zero preempt_count()?  Really what we should do is just iterate over 
>> > all of the actual physical devices and tell each one "Block new IO 
>> > requests 
>> > preemptably, finish pending DMA, put the hardware in low-power mode, and 
>> > prepare for suspend/hibernate".  As long as each driver knows how to do 
>> > those simple things we can have an entirely consistent kernel image for 
>> > both suspend and for hibernation.
>> 
>> Patch would be welcome, actually. It turns out blocking new
>> IO-requests is not completely trivial.

Quite. But I'm not sure I see what this is all about yet. From the IDE
and SCSI subsystems I remember that they block all I/O from higher levels
once the suspend callbacks have been executed. I haven't made an effort
to understand the freezer (or indeed anything related to hibernation)
yet since I don't even use hibernation myself (only s2ram). Do you have
any suggestion where to start reading up on things so I can get an idea
what the issues are and what you would like IDE / SCSI / ... to do?

>
> Is this the same thing the per-device IO-queue-freeze patches for
>HDAPS also
> need to do?  If so, you may want to talk to Elias Oltmanns
> <eo@xxxxxxxxxxxxxx> about it.  Added to CC.

Thanks for the heads up Henrique. Even though these issues seem to be
related up to a certain degree, there probably are some important
differences. When suspending a system, the emphasis is on leaving the
system in a consistent state (think of journalled file systems), whereas
disk shock protection is mainly concerned with stopping I/O as soon as
possible. As yet, I cannot possibly say to what extend these two
concepts can be reconciled in the sense of sharing some common code.

Regards,

Elias


<Prev in Thread] Current Thread [Next in Thread>