mm/oom-kill: Run oom-killer if ULMK is stuck
ULMK has been observed to get stuck waiting for mutexes held by processes
in direct reclaim for many seconds.
rwsem_down_read_failed_killable+0x20
down_read_killable+0xa8
__access_remote_vm+0x54
access_remote_vm+0x48
proc_pid_cmdline_read+0xe0
__vfs_read+0x54
vfs_read+0xa4
__arm64_sys_pread64+0x80
el0_svc_common+0xac
el0_svc_handler+0x7c
el0_svc+0x8
To resolve these deadlocks, allow the oom-killer to run when a low memory
situtation is detected.
One side effect of running the oom-killer is that it may make it more
difficult to detect issues with ULMK. Therefore on debug builds,
attempt to detect whether ULMK is stuck using a watchdog timer mechanism,
as opposed to running, but deciding not to issue a kill.
Change-Id: If1d629e1553c3562b3d23442abffc2faedb31ba2
Signed-off-by:
Patrick Daly <pdaly@codeaurora.org>
Loading
Please register or sign in to comment