From: Con Kolivas <kernel@kolivas.org>
To: "Martin J. Bligh" <mbligh@aracnet.com>,
linux kernel mailing list <linux-kernel@vger.kernel.org>
Cc: Andrew Morton <akpm@osdl.org>
Subject: Re: [PATCH] Autoregulate vm swappiness 2.6.0-test8
Date: Fri, 24 Oct 2003 01:03:19 +1000 [thread overview]
Message-ID: <200310240103.19336.kernel@kolivas.org> (raw)
In-Reply-To: <8720000.1066920153@[10.10.2.4]>
[-- Attachment #1: Type: text/plain, Size: 727 bytes --]
On Friday 24 October 2003 00:42, Martin J. Bligh wrote:
> > + * Autoregulate vm_swappiness to be application pages % -ck.
> > + */
> > + si_meminfo(&i);
> > + si_swapinfo(&i);
> > + pg_size = get_page_cache_size() - i.bufferram ;
> > + vm_swappiness = 100 - (((i.freeram + i.bufferram +
> > + (pg_size - swapper_space.nrpages)) * 100) /
> > + (i.totalram ? i.totalram : 1));
> > +
> > + /*
>
> It seems that you don't need si_swapinfo here, do you? i.freeram,
> i.bufferram, and i.totalram all come from meminfo, as far as I can
> see? Maybe I'm missing a bit ...
Well I did do it a while ago and it seems I got carried away adding and
subtracting info indeed. :-) Here's a simpler patch that does the same thing.
Con
[-- Attachment #2: patch-test8-am-2 --]
[-- Type: text/x-diff, Size: 1132 bytes --]
--- linux-2.6.0-test8-base/mm/vmscan.c 2003-10-19 20:24:36.000000000 +1000
+++ linux-2.6.0-test8-am/mm/vmscan.c 2003-10-24 00:46:52.000000000 +1000
@@ -47,7 +47,7 @@
/*
* From 0 .. 100. Higher means more swappy.
*/
-int vm_swappiness = 60;
+int vm_swappiness = 0;
static long total_memory;
#ifdef ARCH_HAS_PREFETCH
@@ -600,6 +600,7 @@ refill_inactive_zone(struct zone *zone,
LIST_HEAD(l_active); /* Pages to go onto the active_list */
struct page *page;
struct pagevec pvec;
+ struct sysinfo i;
int reclaim_mapped = 0;
long mapped_ratio;
long distress;
@@ -642,6 +643,13 @@ refill_inactive_zone(struct zone *zone,
mapped_ratio = (ps->nr_mapped * 100) / total_memory;
/*
+ * Autoregulate vm_swappiness to be application pages% -ck
+ */
+ si_meminfo(&i);
+ vm_swappiness = 100 - (((i.freeram + get_page_cache_size() -
+ swapper_space.nrpages) * 100) / (i.totalram ? i.totalram : 1));
+
+ /*
* Now decide how much we really want to unmap some pages. The mapped
* ratio is downgraded - just because there's a lot of mapped memory
* doesn't necessarily mean that page reclaim isn't succeeding.
next prev parent reply other threads:[~2003-10-23 14:58 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-10-23 13:37 Con Kolivas
2003-10-23 14:42 ` Martin J. Bligh
2003-10-23 15:03 ` Con Kolivas [this message]
2003-10-25 6:58 ` [PATCH] Autoregulate vm swappiness cleanup Con Kolivas
2003-10-26 11:22 ` Nick Piggin
2003-10-26 10:36 ` Con Kolivas
2003-10-26 11:42 ` Nick Piggin
2003-10-28 11:04 ` Pavel Machek
2003-10-28 12:40 ` Con Kolivas
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=200310240103.19336.kernel@kolivas.org \
--to=kernel@kolivas.org \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mbligh@aracnet.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
Powered by JetHome