[linux-pm] Re: freeze_processes questions

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

 



Hi,

On Tuesday, 5 of April 2005 22:37, Pavel Machek wrote:
]--snip--[ 
> > 2) We can try to force uninterruptible tasks to get their "signals" anyway using
> > wake_up_state() directly on them (which I don't like as much).
> 
> They are probably uninterruptible for a reason...
> 
> If something is staying in UNINTERRUPTIBLE for more than 1 second, it
> is going to cause problems elsewhere, anyway. Do you see that happening?

Probably.  Please see, for example, this message sent to l-k:

http://marc.theaimsgroup.com/?l=linux-kernel&m=111268969510393&w=2

I can easily trigger a similar behavior with an uninterruptible task and I
have some problems with freezing tasks on SMP that smell like this too.

If we are going to ignore uninterruptible tasks, I'd propose to set PF_FREEZE
and TIF_SIGPENDING for them without counting them as "todo" in
freeze_processes() (if such a task is woken up afterwards by an interrupt
handler, it'll get the "signal" and it'll go to the refrigerator() immediately,
because of the PF_FREEZE).  At least, I'd do this on resume, as we don't care
for these tasks then anyway and IMHO it's not a good idea to fail because of
them.

I think we should also clear PF_FREEZE for uninterruptible tasks in
thaw_processes(), just in case. :-)

Greets,
Rafael


-- 
- Would you tell me, please, which way I ought to go from here?
- That depends a good deal on where you want to get to.
		-- Lewis Carroll "Alice's Adventures in Wonderland"

[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