Re: [linux-pm] Is it supposed to be ok to call del_gendisk whileuserspace is frozen?

From: Nigel Cunningham
Date: Sun May 16 2010 - 03:49:29 EST


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@xxxxxxxxxxxxxx>
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.

Make the patch unfreezeable to begin with, by all means.

But don't go down the path of having $random_code_path unfreeze a thread. That will lead to unpredictability, confusion and bugs.

If you know a disk is going to be unregistered during resume, 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.

Regards,

Nigel
--
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/