All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michal Hocko <mhocko@kernel.org>
To: Zhaoyang Huang <huangzhaoyang@gmail.com>
Cc: Steven Rostedt <rostedt@goodmis.org>,
	Ingo Molnar <mingo@kernel.org>,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v1] ringbuffer: Don't choose the process with adj equal OOM_SCORE_ADJ_MIN
Date: Tue, 10 Apr 2018 11:01:28 +0200	[thread overview]
Message-ID: <20180410090128.GY21835@dhcp22.suse.cz> (raw)
In-Reply-To: <CAGWkznEM=AX=3LWDmgyz4GRkWy81TNdFQQXZ7+W4=Ek4ZsnsJw@mail.gmail.com>

On Tue 10-04-18 16:38:32, Zhaoyang Huang wrote:
> On Tue, Apr 10, 2018 at 4:12 PM, Michal Hocko <mhocko@kernel.org> wrote:
> > On Tue 10-04-18 16:04:40, Zhaoyang Huang wrote:
> >> On Tue, Apr 10, 2018 at 3:49 PM, Michal Hocko <mhocko@kernel.org> wrote:
> >> > On Tue 10-04-18 14:39:35, Zhaoyang Huang wrote:
> >> >> On Tue, Apr 10, 2018 at 2:14 PM, Michal Hocko <mhocko@kernel.org> wrote:
> > [...]
> >> >> > OOM_SCORE_ADJ_MIN means "hide the process from the OOM killer completely".
> >> >> > So what exactly do you want to achieve here? Because from the above it
> >> >> > sounds like opposite things. /me confused...
> >> >> >
> >> >> Steve's patch intend to have the process be OOM's victim when it
> >> >> over-allocating pages for ring buffer. I amend a patch over to protect
> >> >> process with OOM_SCORE_ADJ_MIN from doing so. Because it will make
> >> >> such process to be selected by current OOM's way of
> >> >> selecting.(consider OOM_FLAG_ORIGIN first before the adj)
> >> >
> >> > I just wouldn't really care unless there is an existing and reasonable
> >> > usecase for an application which updates the ring buffer size _and_ it
> >> > is OOM disabled at the same time.
> >> There is indeed such kind of test case on my android system, which is
> >> known as CTS and Monkey etc.
> >
> > Does the test simulate a real workload? I mean we have two things here
> >
> > oom disabled task and an updater of the ftrace ring buffer to a
> > potentially large size. The second can be completely isolated to a
> > different context, no? So why do they run in the single user process
> > context?
> ok. I think there are some misunderstandings here. Let me try to
> explain more by my poor English. There is just one thing here. The
> updater is originally a oom disabled task with adj=OOM_SCORE_ADJ_MIN.
> With Steven's patch, it will periodically become a oom killable task
> by calling set_current_oom_origin() for user process which is
> enlarging the ring buffer. What I am doing here is limit the user
> process to the ones that adj > -1000.

I've understood that part. And I am arguing whether this is really such
an important case to play further tricks. Wouldn't it be much simpler to
put the updater out to a separate process? OOM disabled processes
shouldn't really do unexpectedly large allocations. Full stop. Otherwise
you risk a large system disruptions.
-- 
Michal Hocko
SUSE Labs

  reply	other threads:[~2018-04-10  9:01 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-08  2:16 [PATCH v1] ringbuffer: Don't choose the process with adj equal OOM_SCORE_ADJ_MIN Zhaoyang Huang
2018-04-08  3:48 ` Steven Rostedt
2018-04-08  5:54   ` Zhaoyang Huang
2018-04-08 12:47     ` Steven Rostedt
2018-04-09  0:56       ` Zhaoyang Huang
2018-04-09 13:49         ` Steven Rostedt
2018-04-10  0:32           ` Zhaoyang Huang
2018-04-10  2:32             ` Zhaoyang Huang
2018-04-10  3:12               ` Steven Rostedt
2018-04-10  3:41                 ` Zhaoyang Huang
2018-04-10  6:14                   ` Michal Hocko
2018-04-10  6:39                     ` Zhaoyang Huang
2018-04-10  7:49                       ` Michal Hocko
2018-04-10  8:04                         ` Zhaoyang Huang
2018-04-10  8:12                           ` Michal Hocko
2018-04-10  8:38                             ` Zhaoyang Huang
2018-04-10  9:01                               ` Michal Hocko [this message]
2018-04-10  9:32                                 ` Zhaoyang Huang
2018-04-10  9:51                                   ` Zhaoyang Huang
2018-04-10 10:49                                   ` Michal Hocko
2018-04-10 12:23                                     ` Steven Rostedt
2018-04-10 12:27                                       ` Michal Hocko
2018-04-10 12:36                                         ` Steven Rostedt
2018-04-10 13:13                                           ` Steven Rostedt
2018-04-10 13:14                                             ` Steven Rostedt
2018-04-10 16:45                                             ` Joel Fernandes
2018-04-10 18:00                                               ` Steven Rostedt
2018-04-10 18:39                                                 ` Joel Fernandes
2018-04-10 19:05                                                   ` Steven Rostedt
2018-04-11  7:48                                                   ` Zhaoyang Huang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180410090128.GY21835@dhcp22.suse.cz \
    --to=mhocko@kernel.org \
    --cc=huangzhaoyang@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=rostedt@goodmis.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.