[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20061119020445.GB15873@elf.ucw.cz>
Date: Sun, 19 Nov 2006 03:04:45 +0100
From: Pavel Machek <pavel@....cz>
To: "Rafael J. Wysocki" <rjw@...k.pl>
Cc: Andrew Morton <akpm@...l.org>, LKML <linux-kernel@...r.kernel.org>,
Nigel Cunningham <ncunningham@...uxmail.org>
Subject: Re: [PATCH 1/4] swsusp: Untangle thaw_processes
Hi!
> Move the loop from thaw_processes() to a separate function and call it
> independently for kernel threads and user space processes so that the order
> of thawing tasks is clearly visible.
>
> Drop thaw_kernel_threads() which is never used.
>
> Signed-off-by: Rafael J. Wysocki <rjw@...k.pl>
> ---
> include/linux/freezer.h | 6 -----
> kernel/power/process.c | 55 +++++++++++++++++++++++++++---------------------
> 2 files changed, 33 insertions(+), 28 deletions(-)
>
> Index: linux-2.6.19-rc5-mm2/include/linux/freezer.h
> ===================================================================
> --- linux-2.6.19-rc5-mm2.orig/include/linux/freezer.h
> +++ linux-2.6.19-rc5-mm2/include/linux/freezer.h
> @@ -1,8 +1,5 @@
> /* Freezer declarations */
>
> -#define FREEZER_KERNEL_THREADS 0
> -#define FREEZER_ALL_THREADS 1
> -
> #ifdef CONFIG_PM
> /*
> * Check if a process has been frozen
> @@ -60,8 +57,7 @@ static inline void frozen_process(struct
>
> extern void refrigerator(void);
> extern int freeze_processes(void);
> -#define thaw_processes() do { thaw_some_processes(FREEZER_ALL_THREADS); } while(0)
> -#define thaw_kernel_threads() do { thaw_some_processes(FREEZER_KERNEL_THREADS); } while(0)
> +extern void thaw_processes(void);
>
> static inline int try_to_freeze(void)
> {
> Index: linux-2.6.19-rc5-mm2/kernel/power/process.c
> ===================================================================
> --- linux-2.6.19-rc5-mm2.orig/kernel/power/process.c
> +++ linux-2.6.19-rc5-mm2/kernel/power/process.c
> @@ -20,6 +20,8 @@
> */
> #define TIMEOUT (20 * HZ)
>
> +#define FREEZER_KERNEL_THREADS 0
> +#define FREEZER_USER_SPACE 1
The variable is named "is_user_space"... so maybe the defines are not
strictly needed?
> + do_each_thread(g, p) {
> + if (!freezeable(p))
> + continue;
>
> + if (is_user_space(p)) {
> + if (!thaw_user_space)
> + continue;
> + } else {
> + if (thaw_user_space)
> + continue;
> + }
if (is_user_space(p) != thaw_user_space)
continue;
?
Pavel
--
(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@...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