mm/memory-failure: increase queued recovery work's priority
arm64 can take an NMI-like error notification when user-space steps in some corrupt memory. APEI's GHES code will call memory_failure_queue() to schedule the recovery work. We then return to user-space, possibly taking the fault again. Currently the arch code unconditionally signals user-space from this path, so we don't get stuck in this loop, but the affected process never benefits from memory_failure()s recovery work. To fix this we need to know the recovery work will run before we get back to user-space. Increase the priority of the recovery work by scheduling it on the system_highpri_wq, then try to bump the current task off this CPU so that the recovery work starts immediately. Reported-by:Xie XiuQi <xiexiuqi@huawei.com> Signed-off-by:
James Morse <james.morse@arm.com> Reviewed-by:
Punit Agrawal <punit.agrawal@arm.com> Tested-by:
Tyler Baicar <tbaicar@codeaurora.org> Tested-by:
gengdongjiu <gengdongjiu@huawei.com> CC: Xie XiuQi <xiexiuqi@huawei.com> CC: gengdongjiu <gengdongjiu@huawei.com>
Loading
Please register or sign in to comment