All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Vedran Furač" <vedran.furac@gmail.com>
To: David Rientjes <rientjes@google.com>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
	Hugh Dickins <hugh.dickins@tiscali.co.uk>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
	minchan.kim@gmail.com, Andrew Morton <akpm@linux-foundation.org>,
	Andrea Arcangeli <aarcange@redhat.com>
Subject: Re: Memory overcommit
Date: Mon, 02 Nov 2009 20:58:50 +0100	[thread overview]
Message-ID: <4AEF39FA.9070707@gmail.com> (raw)
In-Reply-To: <alpine.DEB.2.00.0910301218410.31986@chino.kir.corp.google.com>

David Rientjes wrote:

> On Fri, 30 Oct 2009, Vedran Furac wrote:
> 
>>> The problem you identified in http://pastebin.com/f3f9674a0, however, is a 
>>> forkbomb issue where the badness score should never have been so high for 
>>> kdeinit4 compared to "test".  That's directly proportional to adding the 
>>> scores of all disjoint child total_vm values into the badness score for 
>>> the parent and then killing the children instead.
>> Could you explain me why ntpd invoked oom killer? Its parent is init. Or
>> syslog-ng?
>>
> 
> Because it attempted an order-0 GFP_USER allocation and direct reclaim 
> could not free any pages.
> 
> The task that invoked the oom killer is simply the unlucky task that tried 
> an allocation that couldn't be satisified through direct reclaim.  It's 
> usually unrelated to the task chosen for kill unless 
> /proc/sys/vm/oom_kill_allocating_task is enabled (which SGI requested to 
> avoid excessively long tasklist scans).

Oh, well, I didn't know that. Maybe rephrasing of that part of the
output would help eliminating future misinterpretation.

>> OK then, if you have a solution, I would be glad to test your patch. I
>> won't care much if you don't change total_vm as a baseline. Just make
>> random killing history.
> 
> The only randomness is in selecting a task that has a different mm from 
> the parent in the order of its child list.  Yes, that can be addressed by 
> doing a smarter iteration through the children before killing one of them.
> 
> Keep in mind that a heuristic as simple as this:
> 
>  - kill the task that was started most recently by the same uid, or
> 
>  - kill the task that was started most recently on the system if a root
>    task calls the oom killer,
> 
> would have yielded perfect results for your testcase but isn't necessarily 
> something that we'd ever want to see.

Of course, I want algorithm that works well in all possible situations.

Regards,

Vedran


WARNING: multiple messages have this Message-ID (diff)
From: "Vedran Furač" <vedran.furac@gmail.com>
To: David Rientjes <rientjes@google.com>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
	Hugh Dickins <hugh.dickins@tiscali.co.uk>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
	minchan.kim@gmail.com, Andrew Morton <akpm@linux-foundation.org>,
	Andrea Arcangeli <aarcange@redhat.com>
Subject: Re: Memory overcommit
Date: Mon, 02 Nov 2009 20:58:50 +0100	[thread overview]
Message-ID: <4AEF39FA.9070707@gmail.com> (raw)
In-Reply-To: <alpine.DEB.2.00.0910301218410.31986@chino.kir.corp.google.com>

David Rientjes wrote:

> On Fri, 30 Oct 2009, Vedran Furac wrote:
> 
>>> The problem you identified in http://pastebin.com/f3f9674a0, however, is a 
>>> forkbomb issue where the badness score should never have been so high for 
>>> kdeinit4 compared to "test".  That's directly proportional to adding the 
>>> scores of all disjoint child total_vm values into the badness score for 
>>> the parent and then killing the children instead.
>> Could you explain me why ntpd invoked oom killer? Its parent is init. Or
>> syslog-ng?
>>
> 
> Because it attempted an order-0 GFP_USER allocation and direct reclaim 
> could not free any pages.
> 
> The task that invoked the oom killer is simply the unlucky task that tried 
> an allocation that couldn't be satisified through direct reclaim.  It's 
> usually unrelated to the task chosen for kill unless 
> /proc/sys/vm/oom_kill_allocating_task is enabled (which SGI requested to 
> avoid excessively long tasklist scans).

Oh, well, I didn't know that. Maybe rephrasing of that part of the
output would help eliminating future misinterpretation.

>> OK then, if you have a solution, I would be glad to test your patch. I
>> won't care much if you don't change total_vm as a baseline. Just make
>> random killing history.
> 
> The only randomness is in selecting a task that has a different mm from 
> the parent in the order of its child list.  Yes, that can be addressed by 
> doing a smarter iteration through the children before killing one of them.
> 
> Keep in mind that a heuristic as simple as this:
> 
>  - kill the task that was started most recently by the same uid, or
> 
>  - kill the task that was started most recently on the system if a root
>    task calls the oom killer,
> 
> would have yielded perfect results for your testcase but isn't necessarily 
> something that we'd ever want to see.

Of course, I want algorithm that works well in all possible situations.

Regards,

Vedran

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

  reply	other threads:[~2009-11-02 19:58 UTC|newest]

Thread overview: 162+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-12 11:51 Memory overcommit Vedran Furač
2009-10-13  3:08 ` KAMEZAWA Hiroyuki
2009-10-13 17:13   ` Vedran Furač
2009-10-14  4:51     ` KAMEZAWA Hiroyuki
2009-10-20 21:52       ` Vedran Furač
2009-10-26  1:55         ` KAMEZAWA Hiroyuki
2009-10-26 16:16           ` Vedran Furač
2009-10-26 16:16             ` Vedran Furač
2009-10-27  3:22             ` KAMEZAWA Hiroyuki
2009-10-27  3:22               ` KAMEZAWA Hiroyuki
2009-10-27  6:10               ` KOSAKI Motohiro
2009-10-27  6:10                 ` KOSAKI Motohiro
2009-10-27  6:34                 ` Minchan Kim
2009-10-27  6:34                   ` Minchan Kim
2009-10-27  6:36                   ` KAMEZAWA Hiroyuki
2009-10-27  6:36                     ` KAMEZAWA Hiroyuki
2009-10-27  6:55                     ` Minchan Kim
2009-10-27  6:55                       ` Minchan Kim
2009-10-27  7:45                       ` [RFC][PATCH] oom_kill: avoid depends on total_vm and use real RSS/swap value for oom_score (Re: " KAMEZAWA Hiroyuki
2009-10-27  7:45                         ` KAMEZAWA Hiroyuki
2009-10-27  7:56                         ` Minchan Kim
2009-10-27  7:56                           ` Minchan Kim
2009-10-27 12:38                           ` Andrea Arcangeli
2009-10-27 12:38                             ` Andrea Arcangeli
2009-10-28  0:22                             ` KAMEZAWA Hiroyuki
2009-10-28  0:22                               ` KAMEZAWA Hiroyuki
2009-10-28  0:45                               ` Vedran Furač
2009-10-28  0:45                                 ` Vedran Furač
2009-10-27  7:56                         ` KAMEZAWA Hiroyuki
2009-10-27  7:56                           ` KAMEZAWA Hiroyuki
2009-10-27  8:14                           ` Minchan Kim
2009-10-27  8:14                             ` Minchan Kim
2009-10-27  8:33                             ` KAMEZAWA Hiroyuki
2009-10-27  8:33                               ` KAMEZAWA Hiroyuki
2009-10-27  8:52                               ` Minchan Kim
2009-10-27  8:52                                 ` Minchan Kim
2009-10-27  8:56                                 ` KAMEZAWA Hiroyuki
2009-10-27  8:56                                   ` KAMEZAWA Hiroyuki
2009-10-27 17:41                         ` Vedran Furač
2009-10-27 17:41                           ` Vedran Furač
2009-10-28  0:13                           ` KAMEZAWA Hiroyuki
2009-10-28  0:13                             ` KAMEZAWA Hiroyuki
2009-10-27 18:39                         ` Hugh Dickins
2009-10-27 18:39                           ` Hugh Dickins
2009-10-27 18:47                           ` Andrea Arcangeli
2009-10-27 18:47                             ` Andrea Arcangeli
2009-10-28  0:32                             ` KAMEZAWA Hiroyuki
2009-10-28  0:32                               ` KAMEZAWA Hiroyuki
2009-11-05 19:02                             ` Pavel Machek
2009-11-05 19:02                               ` Pavel Machek
2009-10-28  0:28                           ` KAMEZAWA Hiroyuki
2009-10-28  0:28                             ` KAMEZAWA Hiroyuki
2009-10-27  6:46                   ` KOSAKI Motohiro
2009-10-27  6:46                     ` KOSAKI Motohiro
2009-10-27  6:56                     ` Minchan Kim
2009-10-27  6:56                       ` Minchan Kim
2009-10-27 17:12               ` Vedran Furač
2009-10-27 17:12                 ` Vedran Furač
2009-10-27 18:02                 ` KOSAKI Motohiro
2009-10-27 18:30                   ` Vedran Furač
2009-10-27 18:30                     ` Vedran Furač
2009-10-27 20:44               ` Hugh Dickins
2009-10-27 20:44                 ` Hugh Dickins
2009-10-27 21:04                 ` David Rientjes
2009-10-27 21:04                   ` David Rientjes
2009-10-28  0:08                   ` Vedran Furač
2009-10-28  0:08                     ` Vedran Furač
2009-10-28  0:25                     ` David Rientjes
2009-10-28  0:25                       ` David Rientjes
2009-10-28  0:39                       ` Vedran Furač
2009-10-28  0:39                         ` Vedran Furač
2009-10-28  4:08                         ` David Rientjes
2009-10-28  4:08                           ` David Rientjes
2009-10-28  4:55                           ` KAMEZAWA Hiroyuki
2009-10-28  4:55                             ` KAMEZAWA Hiroyuki
2009-10-28  5:13                             ` David Rientjes
2009-10-28  5:13                               ` David Rientjes
2009-10-28  6:05                               ` KAMEZAWA Hiroyuki
2009-10-28  6:05                                 ` KAMEZAWA Hiroyuki
2009-10-28  6:17                                 ` David Rientjes
2009-10-28  6:17                                   ` David Rientjes
2009-10-28  6:20                                   ` KAMEZAWA Hiroyuki
2009-10-28  6:20                                     ` KAMEZAWA Hiroyuki
2009-10-29  8:38                                     ` David Rientjes
2009-10-29  8:38                                       ` David Rientjes
2009-10-29 11:11                                       ` Vedran Furač
2009-10-29 11:11                                         ` Vedran Furač
2009-10-29 19:53                                         ` David Rientjes
2009-10-29 19:53                                           ` David Rientjes
2009-10-29 23:48                                           ` KAMEZAWA Hiroyuki
2009-10-29 23:48                                             ` KAMEZAWA Hiroyuki
2009-10-30  9:10                                             ` David Rientjes
2009-10-30  9:10                                               ` David Rientjes
2009-10-30  9:36                                               ` KAMEZAWA Hiroyuki
2009-10-30  9:36                                                 ` KAMEZAWA Hiroyuki
2009-10-30 10:49                                                 ` Thomas Fjellstrom
2009-11-03 20:49                                                 ` David Rientjes
2009-11-03 20:49                                                   ` David Rientjes
2009-11-04  0:50                                                   ` KAMEZAWA Hiroyuki
2009-11-04  0:50                                                     ` KAMEZAWA Hiroyuki
2009-11-04  1:58                                                     ` David Rientjes
2009-11-04  1:58                                                       ` David Rientjes
2009-11-04  2:17                                                       ` KAMEZAWA Hiroyuki
2009-11-04  2:17                                                         ` KAMEZAWA Hiroyuki
2009-11-04  3:10                                                         ` David Rientjes
2009-11-04  3:10                                                           ` David Rientjes
2009-11-04  3:19                                                           ` KAMEZAWA Hiroyuki
2009-11-04  3:19                                                             ` KAMEZAWA Hiroyuki
2009-10-30 13:59                                           ` Vedran Furač
2009-10-30 13:59                                             ` Vedran Furač
2009-10-30 19:24                                             ` David Rientjes
2009-10-30 19:24                                               ` David Rientjes
2009-11-02 19:58                                               ` Vedran Furač [this message]
2009-11-02 19:58                                                 ` Vedran Furač
2009-10-28 13:28                           ` Vedran Furač
2009-10-28 13:28                             ` Vedran Furač
2009-10-28 20:10                             ` David Rientjes
2009-10-28 20:10                               ` David Rientjes
2009-10-29  3:05                               ` Vedran Furač
2009-10-29  3:05                                 ` Vedran Furač
2009-10-29  8:35                                 ` David Rientjes
2009-10-29  8:35                                   ` David Rientjes
2009-10-29 11:01                                   ` Vedran Furač
2009-10-29 11:01                                     ` Vedran Furač
2009-10-29 19:42                                     ` David Rientjes
2009-10-29 19:42                                       ` David Rientjes
2009-10-30 13:53                                       ` Vedran Furač
2009-10-30 13:53                                         ` Vedran Furač
2009-10-30 14:08                                         ` Thomas Fjellstrom
2009-10-30 14:08                                           ` Thomas Fjellstrom
2009-10-30 15:13                                           ` Vedran Furač
2009-10-30 15:13                                             ` Vedran Furač
2009-10-30 14:12                                         ` Andrea Arcangeli
2009-10-30 14:12                                           ` Andrea Arcangeli
2009-10-30 14:41                                           ` Vedran Furač
2009-10-30 14:41                                             ` Vedran Furač
2009-10-30 15:15                                             ` Andrea Arcangeli
2009-10-30 15:15                                               ` Andrea Arcangeli
2009-10-30 16:24                                               ` Hugh Dickins
2009-10-30 16:24                                                 ` Hugh Dickins
2009-11-02 19:56                                               ` Vedran Furač
2009-11-02 19:56                                                 ` Vedran Furač
2009-10-30 19:44                                         ` David Rientjes
2009-10-30 19:44                                           ` David Rientjes
2009-11-02 19:56                                           ` Vedran Furač
2009-11-02 19:56                                             ` Vedran Furač
2009-10-28  0:43                 ` KAMEZAWA Hiroyuki
2009-10-28  0:43                   ` KAMEZAWA Hiroyuki
2009-10-28  2:47                 ` KOSAKI Motohiro
2009-10-28  2:47                   ` KOSAKI Motohiro
2009-10-28  3:17                   ` KAMEZAWA Hiroyuki
2009-10-28  3:17                     ` KAMEZAWA Hiroyuki
2009-10-28  4:12                   ` David Rientjes
2009-10-28  4:12                     ` David Rientjes
2009-10-28  8:10                     ` Hugh Dickins
2009-10-28  8:10                       ` Hugh Dickins
  -- strict thread matches above, loose matches on Subject: below --
2005-12-09 22:00 Tracy R Reed
2005-12-11  2:00 ` Kip Macy
2005-12-11 15:45   ` Keir Fraser
2005-12-11 19:59     ` Rik van Riel
2005-12-13 16:10       ` Keir Fraser
2005-12-13 16:25         ` Jacob Gorm Hansen

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=4AEF39FA.9070707@gmail.com \
    --to=vedran.furac@gmail.com \
    --cc=aarcange@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=hugh.dickins@tiscali.co.uk \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=kosaki.motohiro@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=minchan.kim@gmail.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 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.