On Thu, 22 Apr 2010, KAMEZAWA Hiroyuki wrote: > Hmm...checking again. > > Maybe related patches are: > 1: oom-remove-special-handling-for-pagefault-ooms.patch > 2: oom-default-to-killing-current-for-pagefault-ooms.patch > > IIUC, (1) doesn't make change. But (2)... > > Before(1) > - pagefault-oom kills someone by out_of_memory(). > After (1) > - pagefault-oom calls out_of_memory() only when someone isn't being killed. > > So, this patch helps to avoid double-kill and I like this change. > > Before (2) > At pagefault-out-of-memory > - panic_on_oom==2, panic always. > - panic_on_oom==1, panic when CONSITRAINT_NONE. > > After (2) > At pagefault-put-of-memory, if there is no running OOM-Kill, > current is killed always. In this case, panic_on_oom doesn't work. > > I think panic_on_oom==2 should work.. Hmm. why this behavior changes ? > We can readd the panic_on_oom code once Nick's patchset is merged that unifies all architectures in using pagefault_out_of_memory() for VM_FAULT_OOM. Otherwise, some architectures would panic in this case and others would not (while they allow tasks to be SIGKILL'd even when panic_on_oom == 2 is set, including OOM_DISABLE tasks!) so I think it's better to be entirely consistent with sysctl semantics across architectures. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>