> problem Ulrich mentioned - it splits up ->user_tid into ->set_child_tid > and ->clear_child_tid pointers. This way the clearing and setting > functionality is cleanly separated. How about making ->set_child_tid a parameter for schedule_tail, or even directly using it in the ret_from_fork assembly? It doesn't make much sense to have a variable in task_struct which is used only at task creation.