From: Nick Piggin <piggin@cyberone.com.au>
To: Rik van Riel <riel@redhat.com>
Cc: Andrew Morton <akpm@osdl.org>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
Hugh Dickins <hugh@veritas.com>, Pavel Machek <pavel@ucw.cz>
Subject: Re: [PATCH] RSS limit enforcement for 2.6
Date: Tue, 16 Mar 2004 17:08:01 +1100 [thread overview]
Message-ID: <405699C1.7010906@cyberone.com.au> (raw)
In-Reply-To: <Pine.LNX.4.44.0403151816350.12895-100000@chimarrao.boston.redhat.com>
Rik van Riel wrote:
>Hi,
>
>Hugh Dickins found a bug in the 2.4-rmap RSS limit enforcing
>code that may well explain why the previous port of the code
>to 2.6 resulted in bad performance. The split active lists
>in 2.4-rmap probably masked the largest damages, but in 2.6
>it was very much visible.
>
>
Hi Rik,
What was the problem by the way?
>The patch below should work. Pavel, Nick, still interested
>in testing the performance ? ;)
>
I could do that.
>@@ -593,6 +594,7 @@
> long mapped_ratio;
> long distress;
> long swap_tendency;
>+ int over_rsslimit;
>
> lru_add_drain();
> pgmoved = 0;
>@@ -657,7 +659,7 @@
> continue;
> }
> pte_chain_lock(page);
>- if (page_referenced(page)) {
>+ if (page_referenced(page, &over_rsslimit) && !over_rsslimit) {
> pte_chain_unlock(page);
> list_add(&page->lru, &l_active);
> continue;
>
This still has a problem that !reclaim_mapped scans will not
shrink a runaway process before putting a lot of pressure on
the rest of the pagecache.
You could do a page_gather_pte_info type thing that doesn't
actually clear all the referenced bits (would probably
SetPageReferenced). Unfortunately this has the downside that
you also need to walk the pte chains for all mapped pages even
in the !reclaim_mapped case.
But it is a good start. We advertise the functionality, so we
should be trying to do something with rss limits.
--
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/ .
Don't email: <a href=mailto:"aart@kvack.org"> aart@kvack.org </a>
next prev parent reply other threads:[~2004-03-16 6:08 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-03-15 23:21 Rik van Riel
2004-03-16 6:08 ` Nick Piggin [this message]
2004-03-18 22:04 ` Pavel Machek
2004-03-25 14:44 ` Rik van Riel
2004-03-25 22:23 ` Pavel Machek
-- strict thread matches above, loose matches on Subject: below --
2004-01-27 17:51 Rik van Riel
2004-02-05 7:18 ` Andrew Morton
2004-02-05 13:11 ` Nick Piggin
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=405699C1.7010906@cyberone.com.au \
--to=piggin@cyberone.com.au \
--cc=akpm@osdl.org \
--cc=hugh@veritas.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=pavel@ucw.cz \
--cc=riel@redhat.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