linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@transmeta.com>
To: Rik van Riel <riel@conectiva.com.br>
Cc: linux-mm@kvack.org
Subject: Re: pre8: where has the anti-hog code gone?
Date: Sat, 13 May 2000 08:28:40 -0700 (PDT)	[thread overview]
Message-ID: <Pine.LNX.4.10.10005130819330.1721-100000@penguin.transmeta.com> (raw)
In-Reply-To: <Pine.LNX.4.21.0005122031500.28943-100000@duckman.distro.conectiva>


On Fri, 12 May 2000, Rik van Riel wrote:
> 
> I'm reading the pre8 code now and I see that the anti-hog
> code is gone. I'm still busy developing the active/inactive
> list thing, but was just doing a short test with pre8 and
> noticed a *sharp* increase in the amount of filesystem IO
> when a big memory hog is swapping ...

I removed _all_ the special-case code. This included not just the hog
stuff, but pretty much all the new logic in later 2.3.x that couldn't be
sufficiently explained.

And I'm not going to add it back in before the "out of memory" condition
has been clearly understood - it's obvious right now that the system
depends critically on kswapd in order to not return out of memory, and
that is wrong. kswapd should smooth things out, it should not be a
critical bottle-neck. 

[ You may ask "why?". The reason is two-fold: (a) I don't like having a
  fragile system that depends on something like kswapd/kflushd for correct
  operation. So Linux _will_ work without bdflush, for example, and it's
  actually a common mode for laptops that want to avoid spinning up just
  to flush more smoothly. The same should be true of kswapd. And (b)
  kswapd is a regular process, as it should be, as is bound by the regular
  schduling rules. Which may, quite validly, mean that kswapd may have to
  wait for other, more important processes. We should still handle
  low-memory circumstances gracefully ]

So pre-8 with your suggested for for kswapd() looks pretty good, actually,
but still has this issue that try_to_free_pages() seems to give up too
easily and return failure when it shouldn't. I'll happily apply patches
that make for nicer behaviour once this is clearly fixed, but not before
(unless the "nicer behaviour" patch _also_ fixes the "pathological
behaviour" case ;)

		Linus

--
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-05-13 15:28 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-05-12 23:37 Rik van Riel
2000-05-13 15:28 ` Linus Torvalds [this message]
2000-05-13 18:14   ` Juan J. Quintela
2000-05-13 21:24   ` Arjan van de Ven
2000-05-13 21:59     ` Juan J. Quintela
2000-05-14  3:41     ` Linus Torvalds
2000-05-14  8:45       ` Arjan van de Ven
2000-05-15  1:37         ` Linus Torvalds
2000-05-14 10:52   ` Ingo Molnar
2000-05-14 10:55     ` Ingo Molnar
2000-05-14 11:28     ` Ingo Molnar
2000-05-14 12:01       ` Rik van Riel
2000-05-14 12:12         ` Ingo Molnar
2000-05-14 12:19         ` Ingo Molnar
2000-05-15 14:50 Mark_H_Johnson.RTS
2000-05-15 15:58 ` Rik van Riel
2000-05-15 16:01 ` Linus Torvalds

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.10.10005130819330.1721-100000@penguin.transmeta.com \
    --to=torvalds@transmeta.com \
    --cc=linux-mm@kvack.org \
    --cc=riel@conectiva.com.br \
    /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