diff options
author | Kirill Tkhai <ktkhai@virtuozzo.com> | 2018-03-19 16:32:10 +0100 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2018-03-19 17:38:50 +0100 |
commit | f52ba1fef7b92e74d58efef8eae7b6f48c6d218d (patch) | |
tree | be3bfd5e52ea11827506db4397dcd29e9dd6a83e /lib/percpu-refcount.c | |
parent | percpu: include linux/sched.h for cond_resched() (diff) | |
download | linux-f52ba1fef7b92e74d58efef8eae7b6f48c6d218d.tar.xz linux-f52ba1fef7b92e74d58efef8eae7b6f48c6d218d.zip |
mm: Allow to kill tasks doing pcpu_alloc() and waiting for pcpu_balance_workfn()
In case of memory deficit and low percpu memory pages,
pcpu_balance_workfn() takes pcpu_alloc_mutex for a long
time (as it makes memory allocations itself and waits
for memory reclaim). If tasks doing pcpu_alloc() are
choosen by OOM killer, they can't exit, because they
are waiting for the mutex.
The patch makes pcpu_alloc() to care about killing signal
and use mutex_lock_killable(), when it's allowed by GFP
flags. This guarantees, a task does not miss SIGKILL
from OOM killer.
Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'lib/percpu-refcount.c')
0 files changed, 0 insertions, 0 deletions