Re: [PATCH v1] ringbuffer: Don't choose the process with adj equal OOM_SCORE_ADJ_MIN

From: Zhaoyang Huang
Date: Sun Apr 08 2018 - 02:00:22 EST


On Sun, Apr 8, 2018 at 11:48 AM, Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> On Sun, 8 Apr 2018 10:16:23 +0800
> Zhaoyang Huang <huangzhaoyang@xxxxxxxxx> wrote:
>
>> Don't choose the process with adj == OOM_SCORE_ADJ_MIN which
>> over-allocating pages for ring buffers.
>
> Why?
>
> -- Steve
because in oom_evaluate_task, the process with adj == OOM_SCORE_ADJ_MIN will
be suppressed by oom_badness, but with applying your latest patch,
such process will
be selected by oom_task_origin

if (oom_task_origin(task)) {
points = ULONG_MAX;
goto select;
}

points = oom_badness(task, NULL, oc->nodemask, oc->totalpages);
if (!points || points < oc->chosen_points)
goto next;