Messages in this thread | | | Date | Sat, 7 Jul 2007 00:26:30 +0400 | From | Oleg Nesterov <> | Subject | Re: [RFC][PATCH -mm] Freezer: Handle uninterruptible tasks |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |