On Tue, Aug 4, 2009 at 12:14 PM, Benjamin Blum<bblum@xxxxxxxxxx> wrote: > > Hmm, the tasklist_lock section in fork() is entirely inside the > read-lock. Presumably then iterating the threadgroup list to take all > rwsems is safe from a race in which one thread escapes? > I think so - the write-side locking would be something like: again: read_lock(&tasklist_lock); find first not-yet-locked task t while (t != group_leader) { if (!down_write_trylock(&t->threadgroup_stability_mutex)) { get_task_struct(t); read_unlock(&tasklist_lock); down_write(&t->threadgroup_stability_mutex); put_task_struct(t); goto again; } t = t->next_thread; } read_unlock(&tasklist_lock); Paul _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers