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

From: Steven Rostedt
Date: Sun Apr 08 2018 - 08:47:25 EST


On Sun, 8 Apr 2018 13:54:59 +0800
Zhaoyang Huang <huangzhaoyang@xxxxxxxxx> wrote:

> 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;

And what's wrong with that?

-- Steve