Messages in this thread | | | Date | Fri, 23 Dec 2011 08:11:49 -0500 | From | Jeff Layton <> | Subject | Re: [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>
| |