From: Minchan Kim <minchan.kim@gmail.com>
To: David Rientjes <rientjes@google.com>
Cc: Rik van Riel <riel@redhat.com>,
Andrew Morton <akpm@linux-foundation.org>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
Nick Piggin <npiggin@suse.de>,
Andrea Arcangeli <aarcange@redhat.com>,
Balbir Singh <balbir@linux.vnet.ibm.com>,
Lubos Lunak <l.lunak@suse.cz>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org
Subject: Re: [patch 4/7 -mm] oom: badness heuristic rewrite
Date: Wed, 17 Feb 2010 22:08:11 +0900 [thread overview]
Message-ID: <1266412091.1709.206.camel@barrios-desktop> (raw)
In-Reply-To: <alpine.DEB.2.00.1002170114300.30931@chino.kir.corp.google.com>
On Wed, 2010-02-17 at 01:23 -0800, David Rientjes wrote:
> On Wed, 17 Feb 2010, Minchan Kim wrote:
>
> > >> Okay. I can think it of slight penalization in this patch.
> > >> But in current OOM logic, we try to kill child instead of forkbomb
> > >> itself. My concern was that.
> > >
> > > We still do with my rewrite, that is handled in oom_kill_process(). The
> > > forkbomb penalization takes place in badness().
> >
> >
> > I thought this patch is closely related to [patch 2/7].
> > I can move this discussion to [patch 2/7] if you want.
> > Another guys already pointed out why we care child.
> >
>
> We have _always_ tried to kill a child of the selected task first if it
> has a seperate address space, patch 2 doesn't change that. It simply
> tries to kill the child with the highest badness() score.
So I mentioned following as.
"Of course, It's not a part of your patch[2/7] which is good.
It has been in there during long time. I hope we could solve that in
this chance."
>
> > I said this scenario is BUGGY forkbomb process. It will fork + exec continuously
> > if it isn't killed. How does user intervene to fix the system?
> > System was almost hang due to unresponsive.
> >
>
> The user would need to kill the parent if it should be killed. The
> unresponsiveness in this example, however, is not a question of the oom
> killer but rather the scheduler to provide interactivity to the user in
> forkbomb scenarios. The oom killer should not create a policy that
> unfairly biases tasks that fork a large number of tasks, however, to
> provide interactivity since that task may be a vital system resource.
As you said, scheduler(or something) can do it with much graceful than
OOM killer. I agreed that.
You wrote "Forkbomb detector" in your patch description. When I saw
that, I thought we need more things to complete forkbomb detection. So I
just suggested my humble idea to fix it in this chance.
>
> > For extreme example,
> > User is writing some important document by OpenOffice and
> > he decided to execute hackbench 1000000 process 1000000.
> >
> > Could user save his important office data without halt if we kill
> > child continuously?
> > I think this scenario can be happened enough if the user didn't know
> > parameter of hackbench.
> >
>
> So what exactly are you proposing we do in the oom killer to distinguish
> between a user's mistake and a vital system resource? I'm personally much
> more concerned with protecting system daemons that provide a service under
> heavyload than protecting against forkbombs in the oom killer.
I don't opposed that. As I said, I just wanted for OOM killer to be more
smart to catch user's mistake. If I understand your opinion,
You said, it's not role of OOM killer but scheduler.
Okay.
--
Kind regards,
Minchan Kim
--
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>
next prev parent reply other threads:[~2010-02-17 13:08 UTC|newest]
Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-10 16:32 [patch 0/7 -mm] oom killer rewrite David Rientjes
2010-02-10 16:32 ` [patch 1/7 -mm] oom: filter tasks not sharing the same cpuset David Rientjes
2010-02-10 17:08 ` Rik van Riel
2010-02-11 23:52 ` KAMEZAWA Hiroyuki
2010-02-15 2:56 ` KOSAKI Motohiro
2010-02-15 22:06 ` David Rientjes
2010-02-16 4:52 ` KOSAKI Motohiro
2010-02-16 6:01 ` KOSAKI Motohiro
2010-02-16 7:03 ` Nick Piggin
2010-02-16 8:49 ` David Rientjes
2010-02-16 9:04 ` Nick Piggin
2010-02-16 9:10 ` David Rientjes
2010-02-16 8:46 ` David Rientjes
2010-02-10 16:32 ` [patch 2/7 -mm] oom: sacrifice child with highest badness score for parent David Rientjes
2010-02-10 20:52 ` Rik van Riel
2010-02-12 0:00 ` KAMEZAWA Hiroyuki
2010-02-12 0:15 ` David Rientjes
2010-02-13 2:49 ` Minchan Kim
2010-02-15 3:08 ` KOSAKI Motohiro
2010-02-10 16:32 ` [patch 3/7 -mm] oom: select task from tasklist for mempolicy ooms David Rientjes
2010-02-10 22:47 ` Rik van Riel
2010-02-15 5:03 ` KOSAKI Motohiro
2010-02-15 22:11 ` David Rientjes
2010-02-16 5:15 ` KOSAKI Motohiro
2010-02-16 21:52 ` David Rientjes
2010-02-17 0:48 ` David Rientjes
2010-02-17 1:13 ` KOSAKI Motohiro
2010-02-10 16:32 ` [patch 4/7 -mm] oom: badness heuristic rewrite David Rientjes
2010-02-11 4:10 ` Rik van Riel
2010-02-11 9:14 ` David Rientjes
2010-02-11 15:07 ` Nick Bowler
2010-02-11 21:01 ` David Rientjes
2010-02-11 21:43 ` Andrew Morton
2010-02-11 21:51 ` David Rientjes
2010-02-11 22:31 ` Andrew Morton
2010-02-11 22:42 ` David Rientjes
2010-02-11 23:11 ` Andrew Morton
2010-02-11 23:31 ` David Rientjes
2010-02-11 23:37 ` Andrew Morton
2010-02-12 13:56 ` Minchan Kim
2010-02-12 21:00 ` David Rientjes
2010-02-13 2:45 ` Minchan Kim
2010-02-15 21:54 ` David Rientjes
2010-02-16 13:14 ` Minchan Kim
2010-02-16 21:41 ` David Rientjes
2010-02-17 7:41 ` Minchan Kim
2010-02-17 9:23 ` David Rientjes
2010-02-17 13:08 ` Minchan Kim [this message]
2010-02-15 8:05 ` KOSAKI Motohiro
2010-02-10 16:32 ` [patch 5/7 -mm] oom: replace sysctls with quick mode David Rientjes
2010-02-12 0:26 ` KAMEZAWA Hiroyuki
2010-02-12 9:58 ` David Rientjes
2010-02-15 8:09 ` KOSAKI Motohiro
2010-02-15 22:15 ` David Rientjes
2010-02-16 5:25 ` KOSAKI Motohiro
2010-02-16 9:04 ` David Rientjes
2010-02-10 16:32 ` [patch 6/7 -mm] oom: avoid oom killer for lowmem allocations David Rientjes
2010-02-11 4:13 ` Rik van Riel
2010-02-11 9:19 ` David Rientjes
2010-02-11 14:08 ` Rik van Riel
2010-02-12 1:28 ` KAMEZAWA Hiroyuki
2010-02-12 10:06 ` David Rientjes
2010-02-15 0:09 ` KAMEZAWA Hiroyuki
2010-02-15 22:01 ` David Rientjes
2010-02-15 8:29 ` KOSAKI Motohiro
2010-02-10 16:32 ` [patch 7/7 -mm] oom: remove unnecessary code and cleanup David Rientjes
2010-02-12 0:12 ` KAMEZAWA Hiroyuki
2010-02-12 0:21 ` David Rientjes
2010-02-15 8:31 ` KOSAKI Motohiro
2010-02-15 2:51 ` [patch 0/7 -mm] oom killer rewrite KOSAKI Motohiro
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=1266412091.1709.206.camel@barrios-desktop \
--to=minchan.kim@gmail.com \
--cc=aarcange@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=balbir@linux.vnet.ibm.com \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=l.lunak@suse.cz \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=npiggin@suse.de \
--cc=riel@redhat.com \
--cc=rientjes@google.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox