On 05/12, Davidlohr Bueso wrote: > > Right, but setting the flag is an indication that the tasklist_lock > will be taken
Yes, > and removed from the list, Well no. If this task is not a group leader, or if it is traced this won't happen "soon", this will happen when parent or debugger call wait(). But this doesn't matter. Lets suppose that the task is always removed from the list right after it sets PF_EXITING. Now, > and therefore we could > optimistically avoid considering that task altogether Why?? This is what I can't understand. If sys_getpriority() sees PF_EXITING, we can pretend it was called before this task has exited, or even right before this flag was set. Why should we skip this task? And otoh, this check can not help in any case, PF_EXITING can be set right after the check. So I still think this check can only add the unnecessary confusion, even if we forget about change in behaviour. And finally, whatever I missed, I do not understand how this connects to "avoid the tasklist_lock". Whether we want it or not does not depend on the locking, at all. Oleg.