On Fri, 23 Apr 2010, npiggin@xxxxxxx wrote: > As explained in commit 1c0fe6e3bd, we want to call the architecture independent > oom killer when getting an unexplained OOM from handle_mm_fault, rather than > simply killing current. > > Cc: linuxppc-dev@xxxxxxxxxx > Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> > Cc: linux-arch@xxxxxxxxxxxxxxx > Signed-off-by: Nick Piggin <npiggin@xxxxxxx> > --- > Index: linux-2.6/arch/powerpc/mm/fault.c > =================================================================== > --- linux-2.6.orig/arch/powerpc/mm/fault.c > +++ linux-2.6/arch/powerpc/mm/fault.c > @@ -359,15 +359,10 @@ bad_area_nosemaphore: > */ > out_of_memory: > up_read(&mm->mmap_sem); > - if (is_global_init(current)) { > - yield(); > - down_read(&mm->mmap_sem); > - goto survive; > - } > - printk("VM: killing process %s\n", current->comm); > - if (user_mode(regs)) > - do_group_exit(SIGKILL); > - return SIGKILL; > + if (!user_mode(regs)) > + return SIGKILL; > + pagefault_out_of_memory(); > + return 0; Do we really want to return 0 and indicate that the fault was handled? It seems more consistent to do if (user_mode(regs)) pagefault_out_of_memory(); return SIGKILL; -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html