ARM: 7178/1: fault.c: Port OOM changes into do_page_fault
Commit
a99d657f79def8aeb8b35d80bdbdeb21a5632d86
(mm: retry page fault when blocking on disk transfer) and
commit
757775a9be6b0a40ec4f62ed70ba4f63b39ca4f5
(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>