[PATCH 0/19 v2] mmu: arch/mm: Port OOM changes to arch page fault handlers.

Kautuk Consul consul.kautuk at gmail.com
Sat Mar 31 22:58:04 EST 2012

Commit d065bd810b6deb67d4897a14bfe21f8eb526ba99
(mm: retry page fault when blocking on disk transfer) and
commit 37b23e0525d393d48a7d59f870b3bc061a30ccdb
(x86,mm: make pagefault killable)

The above commits introduced changes into the x86 pagefault handler
for making the page fault handler retryable as well as killable.

These changes reduce the mmap_sem hold time, which is crucial
during OOM killer invocation.

I was facing hang and livelock problems on my ARM and MIPS boards when
I invoked OOM by running the stress_32k.c test-case attached to this email.

Since both the ARM and MIPS porting changes were accepted, me and my
co-worker decided to take the initiative to port these changes to all other
MMU based architectures.

This is v2 of this patch set as there were some problems with the v1 of this
- Whitespace issues as reported by David Miller and Joe Perches
- In 2 of the patches, the write(or equivalent) local variable has
been removed from the
  page fault handler because it is not really needed anymore with the
advent of the "flags"
  local variable. Thanks to Geert Uytterhoeven for that.
- The powerpc patch for this has been removed as this has already been
done by someone
  else for powerpc.

At the moment, 8 of these patches have Acked these patches as valid.
I have included their ACKed-By headers for them in their respective
arch patches.

And thanks to Guan Xuetao for actually testing this out on unicore32.

Rest of the arch owners: Please review these patches.

Signed-off-by: Mohd. Faris <mohdfarisq2010 at gmail.com>
Signed-off-by: Kautuk Consul <consul.kautuk at gmail.com>

More information about the Linuxppc-dev mailing list