Re: [RFC][PATCH] Freezer: Make freezing failures less verbose by default

From: Pavel Machek
Date: Wed Nov 14 2007 - 18:28:32 EST


Hi!

> From: Rafael J. Wysocki <rjw@xxxxxxx>
>
> Currently freezing failures are extremely verbose which sometimes is
> unnecessary and prevents the user from seeing which task could not be frozen.
>
> Make them less verbose by default (ie. if CONFIG_PM_VERBOSE is unset).
>

I don't think compile time option is right thing to do.

Dump just the stacks of the non-frozen tasks?

acpi_sleep=verbose?

Reorder dmesg so that you get backtraces, and _then_ list of the
tasks?

Pavel

> Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx>
> ---
> kernel/power/process.c | 11 ++++++++++-
> 1 file changed, 10 insertions(+), 1 deletion(-)
>
> Index: linux-2.6/kernel/power/process.c
> ===================================================================
> --- linux-2.6.orig/kernel/power/process.c
> +++ linux-2.6/kernel/power/process.c
> @@ -163,6 +163,15 @@ static void cancel_freezing(struct task_
> }
> }
>
> +#ifdef CONFIG_PM_VERBOSE
> +static inline void freezer_show_state(void)
> +{
> + show_state();
> +}
> +#else /* !CONFIG_PM_VERBOSE */
> +static inline void freezer_show_state(void) {}
> +#endif /* !CONFIG_PM_VERBOSE */
> +
> static int try_to_freeze_tasks(int freeze_user_space)
> {
> struct task_struct *g, *p;
> @@ -214,7 +223,7 @@ static int try_to_freeze_tasks(int freez
> printk(KERN_ERR "Freezing of tasks failed after %d.%02d seconds "
> "(%d tasks refusing to freeze):\n",
> elapsed_csecs / 100, elapsed_csecs % 100, todo);
> - show_state();
> + freezer_show_state();
> read_lock(&tasklist_lock);
> do_each_thread(g, p) {
> task_lock(p);

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