[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <201005162138.07105.rjw@sisk.pl>
Date: Sun, 16 May 2010 21:38:07 +0200
From: "Rafael J. Wysocki" <rjw@...k.pl>
To: Nigel Cunningham <ncunningham@...a.org.au>
Cc: Alan Stern <stern@...land.harvard.edu>,
Jens Axboe <jens.axboe@...cle.com>,
"linux-kernel" <linux-kernel@...r.kernel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
"linux-pm" <linux-pm@...ts.linux-foundation.org>,
Matt Reimer <mattjreimer@...il.com>
Subject: Re: [linux-pm] Is it supposed to be ok to call del_gendisk while userspace is frozen?
On Sunday 16 May 2010, Nigel Cunningham wrote:
> Hi.
>
> On 16/05/10 06:30, Rafael J. Wysocki wrote:
> > On Saturday 15 May 2010, Alan Stern wrote:
> >> On Thu, 13 May 2010, Matt Reimer wrote:
> >>
> >>>> I don't see anything wrong with the patch itself, but I dislike the
> >>>> description. Devices can come and go from any hotpluggable bus, not
> >>>> just MMC/SD. That just happens to be the first place the problem was
> >>>> observed.
> >>>
> >>> Good point. How about this?
> >>>
> >>> Matt
> >>>
> >>> From 813bd223e5a2fa577b9e64ddf12654a93d0aab8b Mon Sep 17 00:00:00 2001
> >>> From: Matt Reimer<mreimer@...systems.com>
> >>> Date: Thu, 13 May 2010 14:36:54 -0700
> >>> Subject: [PATCH] fs: prevent hang on suspend/resume when MMC/SD card present
> >>>
> >>> Devices can come and go bus during suspend or resume, when the
> >>> writeback thread is frozen, resulting in a hang. Prevent the hang
> >>> by thawing the writeback thread in del_gendisk().
> >>
> >> I would have said "the block layer's writeback thread", but this is
> >> okay.
> >
> > OK, so now I have a question who's going to take the patch.
>
> I object to the patch.
>
> Tell the patch it ought to exit once thawed, by all means.
I'm not sure what you mean. Care to explain?
> Make the patch unfreezeable to begin with, by all means.
That wouldn't work.
> But don't go down the path of having $random_code_path unfreeze a
> thread. That will lead to unpredictability, confusion and bugs.
As a general rule, I agree, but this particular case is somewhat special.
> If you know a disk is going to be unregistered during resume,
How do we check that, exactly?
> use the hooks early in the suspend / hibernate process to block new I/O and
> flush what's already there so that there's no need to block on the
> writeback thread, and/or no need to have the writeback thread frozen.
I'm not sure if that's realistic. Do you have a specific implementation in
mind?
Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists