Re: [patch 06/14] m32r: invoke oom-killer from page fault

David Rientjes
2010-04-22T20:52:58Z

On Fri, 23 Apr 2010, npiggin@suse.de 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: linux-m32r@ml.linux-m32r.org
> Cc: Hirokazu Takata <takata@linux-m32r.org>
> Cc: linux-arch@vger.kernel.org
> Signed-off-by: Nick Piggin <npiggin@suse.de>
> ---
> Index: linux-2.6/arch/m32r/mm/fault.c
> ===================================================================
> --- linux-2.6.orig/arch/m32r/mm/fault.c
> +++ linux-2.6/arch/m32r/mm/fault.c
> @@ -271,15 +271,10 @@ no_context:
> */
> out_of_memory:
> up_read(&mm->mmap_sem);
> - if (is_global_init(tsk)) {
> - yield();
> - down_read(&mm->mmap_sem);
> - goto survive;
> - }
> - printk("VM: killing process %s\n", tsk->comm);
> if (error_code & ACE_USERMODE)

This should be !(error_code & ACE_USERMODE) instead.

> - do_group_exit(SIGKILL);
> - goto no_context;
> + goto no_context;
> + pagefault_out_of_memory();
> + return;
>
> do_sigbus:
> up_read(&mm->mmap_sem);
>
>
>