[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <477C0258.8080609@nigel.suspend2.net>
Date: Thu, 03 Jan 2008 08:30:00 +1100
From: Nigel Cunningham <nigel@...el.suspend2.net>
To: Pavel Machek <pavel@....cz>
CC: Kyle Moffett <mrmacman_g4@....com>,
"Rafael J. Wysocki" <rjw@...k.pl>,
Matthew Garrett <mjg59@...f.ucam.org>,
David Chinner <dgc@....com>,
Jeremy Fitzhardinge <jeremy@...p.org>, xfs-masters@....sgi.com,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: freeze vs freezer
Hi.
Pavel Machek wrote:
> Hi!
>
>>>>>> So how do you handle threads that are blocked on I/O or a lock
>>>>>> during the system freeze process, then?
>>>>> 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.
>
> "each driver" means this is a lot of work. But yes, that is probably
> way to go, and patch would be welcome.
Yes, that does work. It's what I've done in my (preliminary) support for
fuse.
Regards,
Nigel
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists