linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: "Luis Claudio R. Goncalves" <lclaudio@uudg.org>
To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Minchan Kim <minchan.kim@gmail.com>,
	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
	balbir@linux.vnet.ibm.com, Oleg Nesterov <oleg@redhat.com>,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	Thomas Gleixner <tglx@linutronix.de>,
	Peter Zijlstra <peterz@infradead.org>,
	David Rientjes <rientjes@google.com>, Mel Gorman <mel@csn.ul.ie>,
	williams@redhat.com
Subject: Re: [RFC] oom-kill: give the dying task a higher priority
Date: Mon, 31 May 2010 10:52:27 -0300	[thread overview]
Message-ID: <20100531135227.GC19784@uudg.org> (raw)
In-Reply-To: <20100531155102.9a122772.kamezawa.hiroyu@jp.fujitsu.com>

On Mon, May 31, 2010 at 03:51:02PM +0900, KAMEZAWA Hiroyuki wrote:
| On Mon, 31 May 2010 15:09:41 +0900
| Minchan Kim <minchan.kim@gmail.com> wrote:
| > On Mon, May 31, 2010 at 2:54 PM, KAMEZAWA Hiroyuki
| > <kamezawa.hiroyu@jp.fujitsu.com> wrote:
...
| > >> > IIUC, the purpose of rising priority is to accerate dying thread to exit()
| > >> > for freeing memory AFAP. But to free memory, exit, all threads which share
| > >> > mm_struct should exit, too. I'm sorry if I miss something.
| > >>
| > >> How do we kill only some thread and what's the benefit of it?
| > >> I think when if some thread receives  KILL signal, the process include
| > >> the thread will be killed.
| > >>
| > > yes, so, if you want a _process_ die quickly, you have to acceralte the whole
| > > threads on a process. Acceralating a thread in a process is not big help.
| > 
| > Yes.
| > 
| > I see the code.
| > oom_kill_process is called by
| > 
| > 1. mem_cgroup_out_of_memory
| > 2. __out_of_memory
| > 3. out_of_memory
| > 
| > 
| > (1,2) calls select_bad_process which select victim task in processes
| > by do_each_process.
| > But 3 isn't In case of  CONSTRAINT_MEMORY_POLICY, it kills current.
| > In only the case, couldn't we pass task of process, not one of thread?
| > 
| 
| Hmm, my point is that priority-acceralation is against a thread, not against a process.
| So, most of threads in memory-eater will not gain high priority even with this patch
| and works slowly.

This is a good point...

| I have no objections to this patch. I just want to confirm the purpose. If this patch
| is for accelating exiting process by SIGKILL, it seems not enough.

I understand (from the comments in the code) the badness calculation gives more
points to the siblings in a thread that have their own mm. I wonder if what you
are describing is not a corner case.

Again, your idea sounds like an interesting refinement to the patch. I am
just not sure this change should implemented now or in a second round of
changes.

| If an explanation as "acceralating all thread's priority in a process seems overkill"
| is given in changelog or comment, it's ok to me.

If my understanding of badness() is right, I wouldn't be ashamed of saying
that it seems to be _a bit_ overkill. But I may be wrong in my
interpretation.

While re-reading the code I noticed that in select_bad_process() we can
eventually bump on an already dying task, case in which we just wait for
the task to die and avoid killing other tasks. Maybe we could boost the
priority of the dying task here too.

Luis
-- 
[ Luis Claudio R. Goncalves                    Bass - Gospel - RT ]
[ Fingerprint: 4FDD B8C4 3C59 34BD 8BE9  2696 7203 D980 A448 C8F8 ]

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

  parent reply	other threads:[~2010-05-31 13:52 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-27 18:04 Luis Claudio R. Goncalves
2010-05-27 18:33 ` Oleg Nesterov
2010-05-28  2:54   ` KOSAKI Motohiro
2010-05-28  3:51     ` Luis Claudio R. Goncalves
2010-05-28  4:33       ` Balbir Singh
2010-05-28  4:46         ` KOSAKI Motohiro
2010-05-28  5:30           ` Minchan Kim
2010-05-28  5:39             ` KOSAKI Motohiro
2010-05-28  5:50               ` Minchan Kim
2010-05-28  5:59                 ` KOSAKI Motohiro
2010-05-28  7:52                   ` Minchan Kim
2010-05-28 12:53                   ` Luis Claudio R. Goncalves
2010-05-28 14:06                     ` Minchan Kim
2010-05-28 14:20                       ` Balbir Singh
2010-05-28 15:03                         ` Minchan Kim
2010-05-28 14:36                       ` Luis Claudio R. Goncalves
2010-05-28 15:12                         ` Minchan Kim
2010-05-28 15:21                           ` Peter Zijlstra
2010-05-28 15:35                             ` Minchan Kim
2010-05-28 15:28                           ` Luis Claudio R. Goncalves
2010-05-28 15:45                             ` Minchan Kim
2010-05-28 16:48                               ` Luis Claudio R. Goncalves
2010-05-29  3:59                                 ` KOSAKI Motohiro
2010-05-31  2:15                                   ` Luis Claudio R. Goncalves
2010-05-31  5:06                                   ` Minchan Kim
2010-05-31  6:35                                     ` KOSAKI Motohiro
2010-05-31  7:05                                       ` Minchan Kim
2010-05-31  7:25                                         ` KAMEZAWA Hiroyuki
2010-05-31  9:30                                           ` Minchan Kim
2010-05-30 15:09                                 ` Minchan Kim
2010-05-31  0:21                                 ` KAMEZAWA Hiroyuki
2010-05-31  5:01                                   ` Minchan Kim
2010-05-31  5:04                                     ` KAMEZAWA Hiroyuki
2010-05-31  5:46                                       ` Minchan Kim
2010-05-31  5:54                                         ` KAMEZAWA Hiroyuki
2010-05-31  6:09                                           ` Minchan Kim
2010-05-31  6:51                                             ` KAMEZAWA Hiroyuki
2010-05-31 10:33                                               ` Minchan Kim
2010-05-31 13:52                                               ` Luis Claudio R. Goncalves [this message]
2010-05-31 23:50                                                 ` KAMEZAWA Hiroyuki
2010-06-01 17:35                                                   ` Luis Claudio R. Goncalves
2010-06-01 20:49                                                     ` David Rientjes
2010-06-02 13:54                                                       ` KOSAKI Motohiro
2010-06-02 14:20                                                         ` Luis Claudio R. Goncalves
2010-06-02 21:11                                                         ` David Rientjes
2010-06-02 23:36                                                           ` KOSAKI Motohiro
2010-06-03  0:52                                                             ` Minchan Kim
2010-06-03  7:50                                                           ` Peter Zijlstra
2010-06-03 20:32                                                             ` David Rientjes
2010-06-01  8:19                                                 ` Minchan Kim
2010-06-01 18:36                                                   ` David Rientjes
2010-05-28  6:27           ` Balbir Singh
2010-05-28  6:34             ` KAMEZAWA Hiroyuki
2010-05-28  6:38             ` KOSAKI Motohiro
2010-05-28 15:53       ` Peter Zijlstra

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=20100531135227.GC19784@uudg.org \
    --to=lclaudio@uudg.org \
    --cc=balbir@linux.vnet.ibm.com \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=kosaki.motohiro@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mel@csn.ul.ie \
    --cc=minchan.kim@gmail.com \
    --cc=oleg@redhat.com \
    --cc=peterz@infradead.org \
    --cc=rientjes@google.com \
    --cc=tglx@linutronix.de \
    --cc=williams@redhat.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