ARM: 7178/1: fault.c: Port OOM changes into do_page_fault
authorKautuk Consul <consul.kautuk@gmail.com>
Sun, 27 Nov 2011 16:49:50 +0000 (17:49 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 6 Dec 2011 11:15:26 +0000 (11:15 +0000)
commit8878a539ff19a43cf3729e7562cd528f490246ae
treebca1af3437f43cf8318b18d0b0b63adb653a6685
parentdf0e74da6df1568e3722466f85f2f08324bc767e
ARM: 7178/1: fault.c: Port OOM changes into do_page_fault

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.

Port these changes to ARM.

Without these changes, my ARM board encounters many hang and livelock
scenarios.
After applying this patch, OOM feature performance improves according to
my testing.

Signed-off-by: Kautuk Consul <consul.kautuk@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mm/fault.c