Messages in this thread | | | Date | Fri, 25 Nov 2005 06:12:32 +0100 | From | Ingo Molnar <> | Subject | Re: [PATCH 1/2] PF_DEAD: cleanup usage |
| |
* Oleg Nesterov <oleg@tv-sign.ru> wrote:
> schedule() checks PF_DEAD on every context switch, and sets ->state = > EXIT_DEAD to ensure that exited task will be deactivated. > > I think it is better to set EXIT_DEAD in do_exit(), along with PF_DEAD > flag.
nice idea - your patch looks good to me.
> It is safe to do without task_rq() locking, because concurrent > try_to_wake_up() can't change task's ->state: the 'state' argument of > try_to_wake_up() can't have EXIT_DEAD bit. And in case when > try_to_wake_up() sees stale value of ->state == TASK_RUNNING it will > do nothing.
we should really not be getting concurrent wakeups in this situation anyway - and you are right that even if we got, it should have no effect neither in the EXIT_DEAD nor in the TASK_RUNNING case.
Acked-by: Ingo Molnar <mingo@elte.hu>
Ingo - 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/
| |