lkml.org 
[lkml]   [2011]   [Oct]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 1/4] freezer: make fake_signal_wake_up wake TASK_KILLABLE tasks too
On Tue, 11 Oct 2011 08:18:48 +0200
Pavel Machek <pavel@ucw.cz> wrote:

>
> Hi!
>
> > TASK_KILLABLE is often used to put tasks to sleep for quite some time.
> > One of the most common uses is to put tasks to sleep while waiting for
> > replies from a server on a networked filesystem (such as CIFS or NFS).
> >
> > Unfortunately, fake_signal_wake_up does not currently wake up tasks
> > that are sleeping in TASK_KILLABLE state. This means that even if the
> > code were in place to allow them to freeze while in this sleep, it
> > wouldn't work anyway.
> >
> > This patch changes this function to wake tasks in this state as well.
> > This should be harmless -- if the code doing the sleeping doesn't have
> > handling to deal with freezer events, it should just go back to sleep.
>
> I'm pretty sure this will break something; but that does not mean it
> is bad idea, just that it should be merged early and tested a lot.
>

FWIW, I looked at most of the places in the kernel that do
TASK_KILLABLE sleeps and they look like they'll handle this correctly.
The main one I wasn't sure about was mem_cgroup_handle_oom(), but I
think it'll do the right thing too. I certainly could have missed
something though...

In any case, would you mind merging this via the linux-pm tree for 3.2?

Thanks,
--
Jeff Layton <jlayton@redhat.com>


\
 
 \ /
  Last update: 2011-10-11 12:13    [W:0.085 / U:3.872 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site