Skip to content
Commit d2255d14 authored by James Morse's avatar James Morse
Browse files

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: default avatarXie XiuQi <xiexiuqi@huawei.com>
Signed-off-by: James Morse's avatarJames Morse <james.morse@arm.com>
Reviewed-by: default avatarPunit Agrawal <punit.agrawal@arm.com>
Tested-by: default avatarTyler Baicar <tbaicar@codeaurora.org>
Tested-by: default avatargengdongjiu <gengdongjiu@huawei.com>
CC: Xie XiuQi <xiexiuqi@huawei.com>
CC: gengdongjiu <gengdongjiu@huawei.com>
parent e72b3ac3
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment