On 06/25, Tetsuo Handa wrote: > > Oleg Nesterov wrote: > > And in any case I don't understand this patch but I have to admit that > > I failed to force myself to read the changelog and the actual change ;) > > In any case I agree that we should not set MMF_MEMDIE if ->mm == NULL, > > and if we ensure this then I do not understand why we can't rely on > > MMF_OOM_REAPED. Ignoring the obvious races, if ->oom_victims != 0 then > > find_lock_task_mm() should succed. > > Since we are using > > mm = current->mm; > current->mm = NULL; > __mmput(mm); (may block for unbounded period waiting for somebody else's memory allocation) > exit_oom_victim(current); > > sequence, we won't be able to make find_lock_task_mm(tsk) != NULL when > tsk->signal->oom_victims != 0 unless we change this sequence. Ah, but this is clear, note the "Ignoring the obvious races" above. Can't we fix this race? I am a bit lost, but iirc we want this anyway to ensure that we do not set TIF_MEMDIE if ->mm == NULL ? Hmm. Although I am not sure I really understand the "may block for unbounded period ..." above. Do you mean khugepaged_exit? Oleg. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>