Messages in this thread | | | Date | Wed, 31 Jan 2007 10:36:53 +0100 | From | Pavel Machek <> | Subject | Re: [linux-pm] question on resume() |
| |
Hi!
> > Yes, it will. The process freezer can only return success if there are no more > > TASK_UNINTERRUPTIBLE tasks. Otherwise it fails (after a timeout). > > So, this means, on suspend(): > > 1. Don't worry about TASK_UNINTERRUPTIBLE > 2. Do worry about TASK_INTERRUPTIBLE > We have to cease IO and must not call wake_up_interruptible()
"cease IO"? No, I believe it is enough not to start new I/O. Userspace is frozen at that point, it can't ask you to do I/O.
> Isn't that a race until suspend() is called?
I do not think so.
> On resume(): > > 1. Don't worry about TASK_UNINTERRUPTIBLE > 2. Do not restart IO that may call wake_up_interruptible() > > When do we restart such IO?
We reuse signal handling code to do that for us. It is same situation as when someone signals task doing I/O.
Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |