Re: [PATCH 0/4] allow freezing of tasks with netfs calls in flight

From: Jeff Layton
Date: Tue Oct 11 2011 - 06:06:23 EST


On Tue, 11 Oct 2011 08:18:19 +0200
Pavel Machek <pavel@xxxxxx> wrote:

> Hi!
>
> > We've had a number of reports recently of people with NFS and CIFS
> > mounts that were unable to suspend or hibernate their machines. Here
> > are a couple of Fedora bugs that illustrate the problem:
> >
> > https://bugzilla.redhat.com/show_bug.cgi?id=712088
> > https://bugzilla.redhat.com/show_bug.cgi?id=717735
> >
> > When it occurs the problem is pretty clear. We have a task that's
> > sleeping in the kernel in TASK_KILLABLE sleep, generally waiting
> > for a reply to come in. Often though, userspace has already taken
> > down the interface so that reply will never come. The process then
> > fails to freeze and the suspend fails.
>
> Userspace should not take interface down for suspend (*). Why do that?
>

I suspect that NetworkManager does this to try and allow for the case
where someone suspends their laptop and then wanders off to another
network and then resumes. Either way, we still want to allow suspend
and hibernate to work regardless of what userspace does during the
process.

> > This patch fixes this by allowing the TASK_KILLABLE sleeps in NFS and
> > CIFS to be awoken by the freezer and then to try to freeze. If a freeze
> > event does occur, then the code will treat it as if a schedule() has
> > already occured.
>
> Looks like good idea...
>
> (*) unless absolutely neccessary. openvpn?
>

Thanks for looking.
--
Jeff Layton <jlayton@xxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/