Re: [RFC][PATCH -mm] Freezer: Handle uninterruptible tasks

From: Oleg Nesterov
Date: Fri Jul 06 2007 - 16:26:50 EST


Rafael J. Wysocki wrote:
>
> This patch makes the freezer skip uninterruptible user space tasks (ie. such
> that have an mm of their own) when counting the tasks to be frozen. As a
> result, these tasks have the TIF_FREEZE and TIF_SIGPENDING flags set, but the
> freezer doesn't wait for them to enter the refrigerator. Nevertheless, they
> will enter the refrigerator as soon as they change their state.

A small correction: they will enter the refrigerator on return to user-space.
Actually, TASK_INTERRUPTIBLE doesn't mean the task actually sleeps. It could
be running or preempted... I am a bit worried :)

> +static int freezer_should_skip(struct task_struct *p)
> +{
> + return (has_mm(p) && (p->state | TASK_UNINTERRUPTIBLE));
^^^
I guess you meant "&", not "|".

Oleg.

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