From: Daniel Phillips <phillips@bonn-fries.net>
To: Jan Harkes <jaharkes@cs.cmu.edu>
Cc: Rik van Riel <riel@conectiva.com.br>,
Alan Cox <alan@lxorguk.ukuu.org.uk>,
"Eric W. Biederman" <ebiederm@xmission.com>,
Rob Fuller <rfuller@nsisoftware.com>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org
Subject: Re: broken VM in 2.4.10-pre9
Date: Sat, 22 Sep 2001 09:09:10 +0200 [thread overview]
Message-ID: <20010922070205Z16210-2757+1207@humbolt.nl.linux.org> (raw)
In-Reply-To: <20010921112722.A3646@cs.cmu.edu>
On September 21, 2001 05:27 pm, Jan Harkes wrote:
> On Fri, Sep 21, 2001 at 10:13:11AM +0200, Daniel Phillips wrote:
> > - small inactive list really means large active list (and vice versa)
> > - aging increments need to depend on the size of the active list
> > - "exponential" aging may be completely bogus
>
> I don't think so, whenever there is sufficient memory pressure, the scan
> of the active list is not only done by kswapd, but also by the page
> allocations.
>
> This does have the nice effect that with a large active list on a system
> that has a working set that fits in memory, pages basically always age
> up, and we get an automatic used-once/drop-behind behaviour for
> streaming data because the age of these pages is relatively low.
>
> As soon as the rate of new allocations increases to the point that
> kswapd can't keep up, which happens if the number of cached used-once
> pages is too small, or the working set expands so that it doesn't fit in
> memory. The memory shortage then causes all pages to agressively get
> aged down, pushing out the less frequently used pages of the working set.
>
> Exponential down aging simply causes us to loop fewer times in
> do_try_to_free_pages is such situations.
In such a situation that's a horribly inefficient way to accomplish this and
throws away a lot of valuable information. Consider that we're doing nothing
but looping in the vm in this situation, so nobody gets a chance to touch
pages, so nothing gets aged up. So we are really just deactivating all the
pages that lie below a given theshold.
Say that the threshold happens to be 16. We loop through the active list 5
times and now we have not only deactivated the pages we needed but collapsed
all ages between 16 and 31 to the same value, and all ages between 32 and 63
to just two values, losing most of the relative weighting information.
Would it not make more sense to go through the active list once, deactivate
all pages with age less than some computed threshold, and subtract that
threshold from the rest?
--
Daniel
--
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/
next prev parent reply other threads:[~2001-09-22 7:09 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-09-17 15:40 Rob Fuller
2001-09-17 16:03 ` Eric W. Biederman
2001-09-19 9:45 ` Daniel Phillips
2001-09-19 19:45 ` Alan Cox
2001-09-19 21:03 ` Eric W. Biederman
2001-09-19 22:04 ` Alan Cox
2001-09-19 22:26 ` Eric W. Biederman
2001-09-19 23:05 ` Rik van Riel
2001-09-20 11:28 ` Daniel Phillips
2001-09-20 12:06 ` Rik van Riel
2001-09-21 8:13 ` Daniel Phillips
2001-09-21 12:10 ` Rik van Riel
2001-09-21 15:27 ` Jan Harkes
2001-09-22 7:09 ` Daniel Phillips [this message]
2001-09-25 11:04 ` Mike Fedyk
2001-09-20 12:57 ` Alan Cox
2001-09-20 13:40 ` Daniel Phillips
2001-09-24 22:50 ` Pavel Machek
2001-09-26 18:22 ` Marcelo Tosatti
2001-09-26 23:44 ` Pavel Machek
2001-09-27 13:52 ` Eric W. Biederman
2001-10-01 11:37 ` Marcelo Tosatti
2001-09-19 23:00 ` Rik van Riel
2001-09-21 8:23 ` Eric W. Biederman
2001-09-21 12:01 ` Rik van Riel
2001-09-22 2:14 ` Alexander Viro
2001-09-22 3:09 ` Rik van Riel
2001-09-19 21:37 ` Eric W. Biederman
2001-09-19 21:55 ` David S. Miller
2001-09-20 13:02 ` Rik van Riel
-- strict thread matches above, loose matches on Subject: below --
2001-09-19 22:15 Rob Fuller
2001-09-19 22:21 ` David S. Miller
2001-09-19 22:30 ` Alan Cox
2001-09-19 22:48 ` Eric W. Biederman
2001-09-19 22:51 ` Bryan O'Sullivan
[not found] <Pine.LNX.4.33L.0109161330000.9536-100000@imladris.rielhome.conectiva>
2001-09-17 8:06 ` Eric W. Biederman
2001-09-17 12:12 ` Rik van Riel
2001-09-17 15:45 ` Eric W. Biederman
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=20010922070205Z16210-2757+1207@humbolt.nl.linux.org \
--to=phillips@bonn-fries.net \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=ebiederm@xmission.com \
--cc=jaharkes@cs.cmu.edu \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=rfuller@nsisoftware.com \
--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