Thread (15 messages) 15 messages, 4 authors, 2016-07-18

Re: bug in memcg oom-killer results in a hung syscall in another process in the same cgroup

From: Shayan Pooya <hidden>
Date: 2016-07-15 16:59:07
Also in: linux-mm, lkml

quoted
I am just curious... can you reproduce the problem reliably? If yes, can you try
the patch below ? Just in case, this is not the real fix in any case...
Yes. It deterministically results in hung processes in vanilla kernel.
I'll try this patch.
I'll have to correct this. I can reproduce this issue easily on
high-end servers and normal laptops. But for some reason it does not
happen very often in vmware guests (maybe related to lower
parallelism).
quoted
--- x/kernel/sched/core.c
+++ x/kernel/sched/core.c
@@ -2793,8 +2793,11 @@ asmlinkage __visible void schedule_tail(struct task_struct *prev)
        balance_callback(rq);
        preempt_enable();

-       if (current->set_child_tid)
+       if (current->set_child_tid) {
+               mem_cgroup_oom_enable();
                put_user(task_pid_vnr(current), current->set_child_tid);
+               mem_cgroup_oom_disable();
+       }
 }

 /*
I tried this patch and I still see the same stuck processes (assuming
that's what you were curious about).

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help