lkml.org 
[lkml]   [2011]   [Dec]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] sunrpc/nfs: don't allow TASK_KILLABLE sleeps to block the freezer
On Thu, 1 Dec 2011 22:52:13 +0100
"Rafael J. Wysocki" <rjw@sisk.pl> wrote:

> On Thursday, December 01, 2011, Jeff Layton wrote:
> > Allow the freezer to skip wait_on_bit_killable sleeps in the sunrpc
> > layer. This should allow suspend and hibernate events to proceed, even
> > when there are RPC's pending on the wire.
> >
> > Also, wrap the TASK_KILLABLE sleeps in NFS layer in freezer_do_not_count
> > and freezer_count calls. This allows the freezer to skip tasks that are
> > sleeping while looping on EJUKEBOX or NFS4ERR_DELAY sorts of errors.
> >
> > Rafael, I've gone ahead and combined the two patches into one here
> > and rebased this on top of the pm-freezer branch. Let me know if you'd
> > prefer to keep it as two patches.
>
> One patch is just fine for me, applied to linux-pm/linux-next.
>
> Thanks,
> Rafael
>
>

-------------------[snip]----------------

> > +
> > +/* Like schedule_timeout_killable(), but should not block the freezer. */
> > +#define freezable_schedule_timeout_killable(timeout) \
> > +({ \
> > + freezer_do_not_count(); \
> > + schedule_timeout_killable(timeout); \
> > + freezer_count(); \
> > +})
> > +


Whoops...I just noticed a problem with this patch.

freezable_schedule_timeout_killable does not return the return code
from schedule_timeout_killable. Would you prefer for me to respin this
patch, or send a new patch on top of this one that just fixes that bug?

--
Jeff Layton <jlayton@redhat.com>


\
 
 \ /
  Last update: 2011-12-23 14:15    [W:0.227 / U:0.056 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site