Re: [PATCH] sunrpc/nfs: don't allow TASK_KILLABLE sleeps to block the freezer

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

 



On Friday, December 23, 2011, Jeff Layton wrote:
> On Thu, 1 Dec 2011 22:52:13 +0100
> "Rafael J. Wysocki" <rjw@xxxxxxx> 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?

Please send a new fix patch on top of it.

Thanks,
Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux