linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ed Tomlinson <tomlins@cam.org>
To: linux-kernel@vger.kernel.org
Cc: Mike Fedyk <mfedyk@matchmail.com>
Subject: Re: [RFC][PATCH] vm_swap_full
Date: Mon, 5 Nov 2001 07:37:59 -0500	[thread overview]
Message-ID: <20011105123800.07D741126F@oscar.casa.dyndns.org> (raw)

Think of it this way.  nr_swap_pages is the ammount of space
available for new swap pages.  nr inactive pages is the ammount
of pages we know that just might get swapped - so we want to be
sure we keep space in swap for them.  The logic I am trying to
implement is to switch to aggressive swap (reclaim the swap space
at page in) when we are in at risk of filling swap.  IMO we
do not way to reclaim until we have too, as there are gains to
be had if we page in a page,it does not get changed and we have
memory pressure.  

The test as it stood would be fine for machines with small swap.
Some applications (SAP for instance) recommend swap as 3 x memory.
If you have 2G memory and 6G swap it does not make much sense to
start unmapping swap pages at swap in when you have only 3G in
swap.  It does make sense to do this when you have less than
600M of free swap pages.  Problem is to decide what is a reasonable
threshold.  Since the inactive list is what can get swapped out,
using its size as the metric makes sense.

Ed Tomlinson 

Mike Fedyk wrote:

> On Sun, Nov 04, 2001 at 09:58:17PM -0500, Ed Tomlinson wrote:
>> On November 4, 2001 09:08 pm, Mike Fedyk wrote:
>> > On Sun, Nov 04, 2001 at 02:36:34PM -0200, Rik van Riel wrote:
>> > > On Sun, 4 Nov 2001, Ed Tomlinson wrote:
>> > > > -/* Swap 50% full? Release swapcache more aggressively.. */
>> > > > -#define vm_swap_full() (nr_swap_pages*2 < total_swap_pages)
>> > > > +/* Free swap less than inactive pages? Release swapcache more
>> > > > aggressively.. */ +#define vm_swap_full() (nr_swap_pages <
>> > > > nr_inactive_pages)
>> > > >
>> > > > Comments?
>> > >
>> > > Makes absolutely no sense for systems which have more
>> > > swap than RAM, eg. a 64MB system with 200MB of swap.
>> >
>> > How does the inactive list get bigger than physical ram?
>> >
>> > If swap is bigger than ram, there is *no* possibility of the inactive
>> > list being bigger than swap, and thus no aggressive swapping...
>> 
>> nr_swap_pages is the number of swap pages free.
> 
> Oh, I thought it was total swap pages...
> 
>>The idea is to start
>> aggressive swap only when we are at risk of running out of swap.  This
>> way we get to take full advantage of throwing away clean pages that are
>> backed up by swap when under vm pressure.
>> 
> Yes.  My point is that the inactive list can't get bigger than RAM, and
> thus if swap is bigger than ram this case wouldn't trigger...
> 
> But now that nr_swap_pages is *free* swap, you'll have to add another test
> for (swap > RAM)...
> 
> Mike
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

             reply	other threads:[~2001-11-06  1:45 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-11-05 12:37 Ed Tomlinson [this message]
  -- strict thread matches above, loose matches on Subject: below --
2001-11-04 15:23 [RFC][PATCH] vm_swap_full Ed Tomlinson
2001-11-04 16:36 ` Rik van Riel
2001-11-04 17:04   ` Ed Tomlinson
2001-11-05  2:08   ` Mike Fedyk
2001-11-05  2:58     ` Ed Tomlinson
2001-11-05  3:10       ` Mike Fedyk
2001-11-05  3:15         ` 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=20011105123800.07D741126F@oscar.casa.dyndns.org \
    --to=tomlins@cam.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mfedyk@matchmail.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;
as well as URLs for NNTP newsgroup(s).