[RFC][PATCH][cr]: Mark ghost tasks as detached earlier

Sukadev Bhattiprolu sukadev at linux.vnet.ibm.com
Tue Nov 2 08:57:04 PDT 2010


Oren Laadan [orenl at cs.columbia.edu] wrote:
| 
| 
| On 10/30/2010 03:01 AM, Sukadev Bhattiprolu wrote:
| Let me see if I get this correctly: first, the container-init calls
| wait(), then goes to sleep because children aren't ready, then the
| ghost changes state to detached and exits, but the container-init is
| not notified so not woken up. Is that correct ?
| 
| If so, then the problem is that changing from non-detached to detached
| is racy. Therefore, just doing it earlier may still not be correct,
| because the race (theoretically) still exists. It just makes it less
| likely to occur.

True. I was trying to understand if there was a need to mark it detached
that late.

| 
| If this analysis is correct, then I can think of two options:
| 
| 1) when creating the ghost tasks, create them as detached from
| user-space, and they won't need to be waited-for not become
| detached.

Yes and if we remove the assignment to ->exit_signal in do_ghost_task(),
we should be fine. This would be a better option than sending a signal
to the parent.

Sukadev


More information about the Containers mailing list