public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Daniel Phillips <phillips@bonn-fries.net>
To: Linus Torvalds <torvalds@transmeta.com>
Cc: Marcelo Tosatti <marcelo@conectiva.com.br>,
	lkml <linux-kernel@vger.kernel.org>,
	Rik van Riel <riel@conectiva.com.br>
Subject: Re: Inclusion of zoned inactive/free shortage patch
Date: Thu, 19 Jul 2001 01:42:45 +0200	[thread overview]
Message-ID: <0107190142450I.12129@starship> (raw)
In-Reply-To: <Pine.LNX.4.33.0107181555181.1237-100000@penguin.transmeta.com>
In-Reply-To: <Pine.LNX.4.33.0107181555181.1237-100000@penguin.transmeta.com>

On Thursday 19 July 2001 00:59, Linus Torvalds wrote:
> On Thu, 19 Jul 2001, Daniel Phillips wrote:
> > I don't really see much use for inactive_shortage_total() by
> > itself, except maybe deciding when to scan vs sitting idle.
>
> Absolutely. But that's an important decision in itself. Getting that
> decision wrong means that we either scan too little (and which point
> the question of per-zone shortages becomes moot, because by the time
> we start scanning we're too deep in trouble to be able to do a good
> gradual job anyway). Or we scan too much, and then the per-zone
> shortage just means that we'll always have so much inactive stuff in
> all the zones that we'll continue scanning forever - because none of
> the zones (correctly) feel that they have any reason to actually free
> anything.

Yes, scanning too much is mainly a cpu waste, but it also has the bad
effect of degrading quality of the long term aging information
(because pages aren't fairly aged while they're on the inactive queues.)

I'm thinking about an alternative way of aging that lets ->age be a
signed value, then when you get a surge in demand for deactivation
you just raise the threshold at which deactivation takes place.  This
would be in addition to scanning more, but should save a lot of cpu.
This is exactly at the time that it's good to save cpu.  There's still
a lot of thinking to do about what the function of the current
exponential down-aging really is, and how to capture the good effects
with subtracts instead of shifts.  Caveat: not 2.4 stuff, obviously.

> So the global inactive_shortage() decision is certainly an important
> one: it should trigger early enough to matter, but not so early that
> we trigger it even when most local zones are really totally saturated
> and we really shouldn't be scanning at all.

Yes.  The inactive shortage needs to be a function of the length of
the inactive_dirty queue rather than just the amount that free pages
is less than some fixed minimum.  The target length of the
inactive_dirty queue in turn can be a function of the global free
shortage (which is where the minimum free numbers get used) and the
transfer rate of the disk(s).  Again, experimental - without careful
work a feedback mechanism like this could oscillate wildly.  It's most
probably the way forward in the long run though.

--
Daniel

  reply	other threads:[~2001-07-18 23:40 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-07-18  0:30 Inclusion of zoned inactive/free shortage patch Marcelo Tosatti
2001-07-18  2:05 ` Linus Torvalds
2001-07-18  1:19   ` Marcelo Tosatti
2001-07-18  3:56     ` Linus Torvalds
2001-07-18  2:56       ` Marcelo Tosatti
2001-07-18  4:55         ` Linus Torvalds
2001-07-18  3:46           ` Marcelo Tosatti
2001-07-18 16:30             ` Linus Torvalds
2001-07-18 20:45               ` Marcelo Tosatti
2001-07-18 22:23                 ` Linus Torvalds
2001-07-18 20:58                   ` Marcelo Tosatti
2001-07-18 22:50                     ` Linus Torvalds
2001-07-18 22:11                       ` Marcelo Tosatti
2001-07-18 22:14                         ` Marcelo Tosatti
2001-07-19  1:02                           ` Linus Torvalds
2001-07-19  7:30                             ` Marcelo Tosatti
2001-07-19 17:12                               ` Linus Torvalds
2001-07-21  2:55                                 ` Marcelo Tosatti
2001-07-18 22:57               ` Daniel Phillips
2001-07-18 22:59                 ` Linus Torvalds
2001-07-18 23:42                   ` Daniel Phillips [this message]
2001-07-19 16:33                     ` Daniel Phillips
2001-07-18 13:27       ` Rik van Riel
2001-07-18 13:23 ` Rik van Riel
2001-07-18 18:22   ` Mike Galbraith
2001-07-18 18:39     ` Rik van Riel
2001-07-18 19:25       ` Mike Galbraith
2001-07-18 20:02         ` Rik van Riel
2001-07-18 21:25           ` Marcelo Tosatti
2001-07-18 19:50   ` Marcelo Tosatti
2001-07-18 21:37     ` Rik van Riel

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=0107190142450I.12129@starship \
    --to=phillips@bonn-fries.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marcelo@conectiva.com.br \
    --cc=riel@conectiva.com.br \
    --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