linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Rik van Riel <riel@conectiva.com.br>
To: Byron Stanoszek <gandalf@winds.org>
Cc: Gerrit.Huizenga@us.ibm.com,
	Linus Torvalds <torvalds@transmeta.com>, Andi Kleen <ak@suse.de>,
	Ingo Molnar <mingo@elte.hu>, Andrea Arcangeli <andrea@suse.de>,
	MM mailing list <linux-mm@kvack.org>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] VM fix for 2.4.0-test9 & OOM handler
Date: Mon, 9 Oct 2000 19:57:42 -0300 (BRST)	[thread overview]
Message-ID: <Pine.LNX.4.21.0010091954230.1562-100000@duckman.distro.conectiva> (raw)
In-Reply-To: <Pine.LNX.4.21.0010091829140.7807-100000@winds.org>

On Mon, 9 Oct 2000, Byron Stanoszek wrote:
> On Mon, 9 Oct 2000 Gerrit.Huizenga@us.ibm.com wrote:
> 
> > Anyway, there is/was an API in PTX to say (either from in-kernel or through
> > some user machinations) "I Am a System Process".  Turns on a bit in the
> > proc struct (task struct) that made it exempt from death from a variety
> > of sources, e.g. OOM, generic user signals, portions of system shutdown,
> > etc.
> 
> The current OOM killer does this, except for init. Checking to
> see if the process has a page table is equivalent to checking
> for the kernel threads that are integral to the system (PIDs
> 2-5). These will never be killed by the OOM. Init, however,
> still can be killed, and there should be an additional statement
> that doesn't kill if PID == 1.

Only if you can demonstrate any real-world scenario where 
init will be chosen with the current algorithm.

The "3 MB init on 4MB machine" kind of theoretical argument
just isn't convincing if nobody can show that there is a
problem in reality.

> I think we need to sit down and write a better OOM proposal,
> something that doesn't use CPU time and the NICE flag.

The nice flag has been removed from my current kernel tree.

The CPU time used, however, is a different matter. You really
don't want to have the OOM killer kill your 6-week-old running
simulation because a newly started netscape explodes ...

> How about we start by everyone in this discussion give their
> opinion on what the OOM selection process should do,

Quoting from mm/oom_kill.c:

/**
 * oom_badness - calculate a numeric value for how bad this task has been
 * @p: task struct of which task we should calculate
 *
 * The formula used is relatively simple and documented inline in the
 * function. The main rationale is that we want to select a good task
 * to kill when we run out of memory.
 *
 * Good in this context means that:
 * 1) we lose the minimum amount of work done
 * 2) we recover a large amount of memory
 * 3) we don't kill anything innocent of eating tons of memory
 * 4) we want to kill the minimum amount of processes (one)
 * 5) we try to kill the process the user expects us to kill, this
 *    algorithm has been meticulously tuned to meet the priniciple
 *    of least surprise ... (be careful when you change it)
 */

Do you have any additional requirements?

regards,

Rik
--
"What you're running that piece of shit Gnome?!?!"
       -- Miguel de Icaza, UKUUG 2000

http://www.conectiva.com/		http://www.surriel.com/

--
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.eu.org/Linux-MM/

  reply	other threads:[~2000-10-09 22:57 UTC|newest]

Thread overview: 112+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-10-06 18:59 Rik van Riel
2000-10-06 20:19 ` Byron Stanoszek
2000-10-06 20:31   ` Rik van Riel
2000-10-09 10:12     ` Marco Colombo
2000-10-09 11:27       ` Byron Stanoszek
2000-10-09 16:26       ` Kurt Garloff
2000-10-09 18:29         ` Jamie Lokier
2000-10-09 17:27       ` Ingo Molnar
2000-10-09 17:25         ` Mark Hahn
2000-10-09 17:37           ` Ingo Molnar
2000-10-09 17:47           ` Ed Tomlinson
2000-10-09 18:01             ` Ingo Molnar
2000-10-09 18:14       ` Rik van Riel
2000-10-09 18:47         ` Ingo Molnar
2000-10-09 18:52           ` Rik van Riel
2000-10-09 19:27             ` Ingo Molnar
2000-10-09 19:38         ` Marco Colombo
2000-10-06 21:27   ` David Weinehall
2000-10-06 23:21     ` David Weinehall
2000-10-09 18:28   ` Andrea Arcangeli
2000-10-09 18:42     ` Ingo Molnar
2000-10-09 19:05       ` Andrea Arcangeli
2000-10-09 19:07         ` Rik van Riel
2000-10-09 19:42           ` Andrea Arcangeli
2000-10-09 20:06             ` Ingo Molnar
2000-10-09 20:06               ` Andi Kleen
2000-10-09 20:19                 ` Ingo Molnar
2000-10-09 20:12                   ` Rik van Riel
2000-10-09 20:24                     ` Ingo Molnar
2000-10-09 20:18                       ` Rik van Riel
2000-10-10  3:23                         ` Philipp Rumpf
2000-10-09 20:38                       ` James Sutherland
2000-10-09 20:40                         ` Rik van Riel
2000-10-10  9:59                           ` J.A. Sutherland
2000-10-09 20:44                         ` Andrea Arcangeli
2000-10-09 21:52                         ` Aaron Sethman
2000-10-09 21:54                           ` Rik van Riel
2000-10-09 22:29                       ` FORT David
2000-10-09 20:52                 ` Linus Torvalds
2000-10-09 20:58                   ` Andi Kleen
2000-10-09 21:21                     ` Jim Gettys
2000-10-09 21:28                       ` Alan Cox
2000-10-09 21:34                         ` Andi Kleen
2000-10-09 21:38                         ` Linus Torvalds
2000-10-09 21:39                           ` Rik van Riel
2000-10-09 21:44                             ` Linus Torvalds
2000-10-10 13:17                               ` Marco Colombo
2000-10-09 21:44                           ` Jim Gettys
2000-10-09 21:50                             ` Linus Torvalds
2000-10-09 22:07                               ` Jim Gettys
2000-10-09 23:13                                 ` Albert D. Cahalan
2000-10-09 23:16                                   ` Rik van Riel
2000-10-09 23:46                                   ` Jim Gettys
2000-10-10  9:46                                   ` Jamie Lokier
2000-10-10 14:41                               ` Rogier Wolff
2000-10-10 17:28                                 ` Linus Torvalds
2000-10-09 21:51                           ` Alan Cox
2000-10-09 21:40                         ` Jim Gettys
2000-10-09 21:05                   ` Rik van Riel
2000-10-09 22:08                     ` Gerrit.Huizenga
2000-10-09 22:34                       ` Byron Stanoszek
2000-10-09 22:57                         ` Rik van Riel [this message]
2000-10-10  0:25                         ` [RFC] New ideas for the " Byron Stanoszek
2000-10-09 20:11               ` [PATCH] VM fix for 2.4.0-test9 & " Andrea Arcangeli
2000-10-09 20:15                 ` Rik van Riel
2000-10-09 20:40               ` Linus Torvalds
2000-10-09 20:47                 ` Rik van Riel
2000-10-09 20:57                 ` Ingo Molnar
2000-10-09 21:10                   ` Peter Waltenberg
2000-10-09 22:25                     ` Andrea Arcangeli
2000-10-09 22:59                       ` Peter Waltenberg
2000-10-09 23:52                         ` Andrea Arcangeli
2000-10-09 23:10                       ` Rik van Riel
2000-10-09 21:10               ` Alan Cox
2000-10-09 21:25                 ` Ingo Molnar
2000-10-09 21:26                   ` Rik van Riel
2000-10-09 21:38                     ` Ingo Molnar
2000-10-09 21:34                       ` Rik van Riel
2000-10-10  9:09                         ` john slee
2000-10-09 20:06             ` Rik van Riel
2000-10-09 20:18               ` Andrea Arcangeli
2000-10-10  3:29               ` Philipp Rumpf
2000-10-10 15:06                 ` Rik van Riel
2000-10-10 15:24                   ` Philipp Rumpf
2000-10-10 15:30                     ` Rik van Riel
2000-10-10 15:37                       ` Philipp Rumpf
2000-10-09 20:13           ` Ingo Molnar
2000-10-09 20:08             ` Rik van Riel
2000-10-09 20:22               ` Ingo Molnar
2000-10-09 20:28                 ` David Ford
2000-10-09 20:34                   ` Rik van Riel
2000-10-09 20:45                     ` David Ford
2000-10-10  4:22                       ` Andreas Dilger
2000-10-10  4:30                         ` David Ford
2000-10-10  9:54                         ` Jamie Lokier
2000-10-09 23:35           ` Ingo Oeser
2000-10-10 15:07             ` [PATCH] OOM killer API (was: [PATCH] VM fix for 2.4.0-test9 & OOM handler) Ingo Oeser
2000-10-10 15:32               ` Rik van Riel
2000-10-10 16:11                 ` Ingo Oeser
2000-10-10 18:57                 ` Tom Rini
2000-10-10 20:58                   ` Rik van Riel
2000-10-10 22:46                     ` Tom Rini
2000-10-09 19:30       ` [PATCH] VM fix for 2.4.0-test9 & OOM handler David Ford
2000-10-09 19:58         ` Andrea Arcangeli
2000-10-09 20:14           ` David Ford
2000-10-09 20:05         ` Rik van Riel
2000-10-09 21:07         ` Alan Cox
2000-10-10  3:38           ` Philipp Rumpf
2000-10-10 14:07             ` Andrea Arcangeli
2000-10-09 18:07 Wagner, Dave
2000-10-09 20:27 ` James Sutherland
2000-10-09 19:06 Hubertus Franke/Watson/IBM

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=Pine.LNX.4.21.0010091954230.1562-100000@duckman.distro.conectiva \
    --to=riel@conectiva.com.br \
    --cc=Gerrit.Huizenga@us.ibm.com \
    --cc=ak@suse.de \
    --cc=andrea@suse.de \
    --cc=gandalf@winds.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mingo@elte.hu \
    --cc=torvalds@transmeta.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