[linux-pm] question on resume()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am Mittwoch, 31. Januar 2007 10:36 schrieb Pavel Machek:
> 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.

What about URBs in flight which are waited for with TASK_INTERRUPTIBLE?

> > 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.

What happens to tasks in TASK_INTERRUPTIBLE which are frozen?
Are they interrupted and frozen?

	Regards
		Oliver


[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux