On Tue, 30 Oct 2012, Luigi Semenzato wrote: > Actually, there is a very simple fix: > > @@ -355,14 +364,6 @@ static struct task_struct > *select_bad_process(unsigned int *ppoints, > if (p == current) { > chosen = p; > *ppoints = 1000; > - } else if (!force_kill) { > - /* > - * If this task is not being ptraced on exit, > - * then wait for it to finish before killing > - * some other task unnecessarily. > - */ > - if (!(p->group_leader->ptrace & PT_TRACE_EXIT)) > - return ERR_PTR(-1UL); > } > } > > I'd rather kill some other task unnecessarily than hang! My load > works fine with this change. > That's not an acceptable "fix" at all, it will lead to unnecessarily killing processes when others are in the exit path, i.e. every oom kill would kill two or three or more processes instead of just one. Could you please try this on 3.6 since all the code you're quoting is from old kernels? -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>