From: Jonathan Morton <chromi@cyberspace.org>
To: Andrew Morton <andrewm@uow.edu.au>
Cc: Marcelo Tosatti <marcelo@conectiva.com.br>, linux-mm@kvack.org
Subject: Re: [PATCH] reapswap for 2.4.5-ac10
Date: Wed, 6 Jun 2001 20:40:05 +0100 [thread overview]
Message-ID: <l03130311b7441c211cd9@[192.168.239.105]> (raw)
In-Reply-To: <3B1E61E4.291EF31C@uow.edu.au>
>> AFAICT, the scanning in refill_inactive_scan() simply looks at a list of
>> pages, and doesn't really do physical addresses. The age of a page should
>> be independent on the number of mappings it has, but dependent instead on
>> how much it is used (or how long it is not used for). That code already
>> exists, and it works.
>
>Well, the page will have different ages wrt all the mms which map it.
Hmmm... I'm obviously still learning the intricacies of how this all fits
together. I really thought that if you had a struct page*, it pointed to a
unique page and that the pte's of different vma's were capable of multiply
pointing at said struct page*. But, isn't that what page->count is for?
So have I grabbed the wrong end of what you're saying, and in fact I had it
right in the first place?
So, if multiple processes are really using a single page, then it makes
sense for the age to skyrocket - you don't wanna swap that page out,
otherwise all the processes that are using it will stall. If you have a
shared page that isn't being used, you want the age to decay at the same
rate as non-shared pages, though it doesn't particularly matter what that
rate is.
Once this is achieved, the age turns into a reasonable approximation to
working set - as long as we don't force the age down under memory pressure
without allowing other processes to get in on the act. Ah, that seems to
be what we're doing at the moment...
--------------------------------------------------------------
from: Jonathan "Chromatix" Morton
mail: chromi@cyberspace.org (not for attachments)
The key to knowledge is not to rely on people to teach you it.
GCS$/E/S dpu(!) s:- a20 C+++ UL++ P L+++ E W+ N- o? K? w--- O-- M++$ V? PS
PE- Y+ PGP++ t- 5- X- R !tv b++ DI+++ D G e+ h+ r++ y+(*)
--
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-06-06 19:40 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-06-06 8:39 Jonathan Morton
2001-06-06 12:21 ` Andrew Morton
2001-06-06 12:47 ` Stephen C. Tweedie
2001-06-06 12:50 ` Jonathan Morton
2001-06-06 13:12 ` Andrew Morton
2001-06-06 16:44 ` Jonathan Morton
2001-06-06 17:01 ` Andrew Morton
2001-06-06 19:40 ` Jonathan Morton [this message]
2001-06-09 7:46 ` Rik van Riel
2001-06-06 19:18 ` Marcelo Tosatti
2001-06-06 21:13 ` Jonathan Morton
2001-06-07 14:45 ` John Stoffel
2001-06-07 16:45 ` Jonathan Morton
2001-06-11 4:43 ` Joseph A. Knapka
-- strict thread matches above, loose matches on Subject: below --
2001-06-05 19:48 Marcelo Tosatti
2001-06-05 22:14 ` Stephen C. Tweedie
2001-06-05 20:46 ` Marcelo Tosatti
2001-06-06 12:31 ` Hugh Dickins
2001-06-06 19:17 ` Marcelo Tosatti
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='l03130311b7441c211cd9@[192.168.239.105]' \
--to=chromi@cyberspace.org \
--cc=andrewm@uow.edu.au \
--cc=linux-mm@kvack.org \
--cc=marcelo@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