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
64587d42be2d7dc67e4d8a79069c9fc7e8a0b952
(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>