Re: [RFC][PATCH -mm][Experimental] suspend: Do not freeze md_threads

From: Pavel Machek
Date: Sun Nov 05 2006 - 07:00:24 EST


Hi!

> If there's a swap file on a software RAID, it should be possible to use this
> file for saving the swsusp's suspend image. Also, this file should be
> available to the memory management subsystem when memory is being freed before
> the suspend image is created.
>
> For the above reasons it seems that md_threads should not be frozen during
> the suspend and the appended patch makes this happen, but then there is the
> question if they don't cause any data to be written to disks after the
> suspend image has been created, provided that all filesystems are frozen
> at that time.

Looks okay to me. It would be nice to have someone (Ingo? Neil?) try
to suspend to swap on md......
Pavel

> Please advise.
>
> Greetings,
> Rafael
>
>
> Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx>
> ---
> drivers/md/md.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> Index: linux-2.6.19-rc4-mm2/drivers/md/md.c
> ===================================================================
> --- linux-2.6.19-rc4-mm2.orig/drivers/md/md.c 2006-11-02 20:51:51.000000000 +0100
> +++ linux-2.6.19-rc4-mm2/drivers/md/md.c 2006-11-02 23:25:59.000000000 +0100
> @@ -4489,6 +4489,7 @@ static int md_thread(void * arg)
> * many dirty RAID5 blocks.
> */
>
> + current->flags |= PF_NOFREEZE;
> allow_signal(SIGKILL);
> while (!kthread_should_stop()) {
>
> @@ -4505,7 +4506,6 @@ static int md_thread(void * arg)
> test_bit(THREAD_WAKEUP, &thread->flags)
> || kthread_should_stop(),
> thread->timeout);
> - try_to_freeze();
>
> clear_bit(THREAD_WAKEUP, &thread->flags);
>

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
-
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/