From: Andrea Arcangeli <aarcange@redhat.com>
To: Wu Fengguang <fengguang.wu@intel.com>
Cc: Rik van Riel <riel@redhat.com>,
"Dike, Jeffrey G" <jeffrey.g.dike@intel.com>,
"Yu, Wilfred" <wilfred.yu@intel.com>,
"Kleen, Andi" <andi.kleen@intel.com>, Avi Kivity <avi@redhat.com>,
Hugh Dickins <hugh.dickins@tiscali.co.uk>,
Andrew Morton <akpm@linux-foundation.org>,
Christoph Lameter <cl@linux-foundation.org>,
KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
Mel Gorman <mel@csn.ul.ie>, LKML <linux-kernel@vger.kernel.org>,
linux-mm <linux-mm@kvack.org>
Subject: Re: [RFC] respect the referenced bit of KVM guest pages?
Date: Thu, 6 Aug 2009 12:08:24 +0200 [thread overview]
Message-ID: <20090806100824.GO23385@random.random> (raw)
In-Reply-To: <20090805155805.GC23385@random.random>
On Wed, Aug 05, 2009 at 05:58:05PM +0200, Andrea Arcangeli wrote:
> On Wed, Aug 05, 2009 at 10:40:58AM +0800, Wu Fengguang wrote:
> > */
> > - if ((vm_flags & VM_EXEC) && !PageAnon(page)) {
> > + if ((vm_flags & VM_EXEC) || PageAnon(page)) {
> > list_add(&page->lru, &l_active);
> > continue;
> > }
> >
>
> Please nuke the whole check and do an unconditional list_add;
> continue; there.
After some conversation it seems reactivating on large systems
generates troubles to the VM as young bit have excessive time to be
reactivated, giving troubles to shrink active list. I see that, so
then the check should be still nuked, but the unconditional
deactivation should happen instead. Otherwise it's trivial to put the
VM to its knees and DoS it with a simple mmap of a file with MAP_EXEC
as parameter of mmap. My whole point is that deciding if activating or
deactivating pages can't be in function of VM_EXEC, and clearly it
helps on desktops but then it probably is a signal that the VM isn't
good enough by itself to identify the important working set using
young bits and stuff on desktop systems, and if there's a good reason
to not activate, we shouldn't activate the VM_EXEC either as anything
and anybody can generate a file mapping with VM_EXEC set...
Likely we need a cut-off point, if we detect it takes more than X
seconds to scan the whole active list, we start ignoring young bits,
as young bits don't provide any meaningful information then and they
just hang the VM in preventing it to shrink active list and looping
over it endlessy with million pages inside that list. But on small
systems if inactive list is short it may be too quick to just clear
the young bit and only giving it time to be re-enabled in inactive
list. That may be the source of the problem. Actually I'm speculating
here, because I barely understood that this is swapin... not sure
exactly what this regression is about but testing the patch posted is
good idea and it will tell us if we just need to dynamically
differentiating the algorithm between large and small systems and start
ignoring young bits only at some point.
--
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:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2009-08-06 10:08 UTC|newest]
Thread overview: 122+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-05 2:40 [RFC] respect the referenced bit of KVM guest pages? Wu Fengguang
2009-08-05 4:15 ` KOSAKI Motohiro
2009-08-05 4:41 ` Wu Fengguang
2009-08-05 7:58 ` Avi Kivity
2009-08-05 8:17 ` Avi Kivity
2009-08-05 14:33 ` Rik van Riel
2009-08-05 15:37 ` Avi Kivity
2009-08-05 14:15 ` Rik van Riel
2009-08-05 15:12 ` Avi Kivity
2009-08-05 15:15 ` Rik van Riel
2009-08-05 15:25 ` Avi Kivity
2009-08-05 16:35 ` Andrea Arcangeli
2009-08-05 16:31 ` Andrea Arcangeli
2009-08-05 17:25 ` Rik van Riel
2009-08-05 15:45 ` Dike, Jeffrey G
2009-08-05 16:05 ` Andrea Arcangeli
2009-08-05 16:12 ` Dike, Jeffrey G
2009-08-05 16:19 ` Andrea Arcangeli
2009-08-05 15:58 ` Andrea Arcangeli
2009-08-05 17:20 ` Rik van Riel
2009-08-05 17:42 ` Rik van Riel
2009-08-06 10:15 ` Andrea Arcangeli
2009-08-06 10:08 ` Andrea Arcangeli [this message]
2009-08-06 10:18 ` Avi Kivity
2009-08-06 10:20 ` Andrea Arcangeli
2009-08-06 10:59 ` Wu Fengguang
2009-08-06 11:44 ` Avi Kivity
2009-08-06 13:06 ` Wu Fengguang
2009-08-06 13:16 ` Rik van Riel
2009-08-16 3:28 ` Wu Fengguang
2009-08-16 3:56 ` Rik van Riel
2009-08-16 4:43 ` Balbir Singh
2009-08-16 4:55 ` Wu Fengguang
2009-08-16 5:59 ` Balbir Singh
2009-08-17 19:47 ` Dike, Jeffrey G
2009-08-21 18:24 ` Balbir Singh
2009-08-31 19:43 ` Dike, Jeffrey G
2009-08-31 19:52 ` Rik van Riel
2009-08-31 20:06 ` Dike, Jeffrey G
2009-08-31 20:09 ` Rik van Riel
2009-08-31 20:11 ` Dike, Jeffrey G
2009-08-31 20:42 ` Balbir Singh
2009-08-06 13:46 ` Avi Kivity
2009-08-06 21:09 ` Jeff Dike
2009-08-16 3:18 ` Wu Fengguang
2009-08-16 3:53 ` Rik van Riel
2009-08-16 5:15 ` Wu Fengguang
2009-08-16 11:29 ` Wu Fengguang
2009-08-17 14:33 ` Minchan Kim
2009-08-18 2:34 ` Wu Fengguang
2009-08-18 4:17 ` Minchan Kim
2009-08-18 9:31 ` Wu Fengguang
2009-08-18 9:52 ` Minchan Kim
2009-08-18 10:00 ` Wu Fengguang
2009-08-18 11:00 ` Minchan Kim
2009-08-18 11:11 ` Wu Fengguang
2009-08-18 14:03 ` Minchan Kim
2009-08-18 16:27 ` KOSAKI Motohiro
2009-08-18 15:57 ` KOSAKI Motohiro
2009-08-19 12:01 ` Wu Fengguang
2009-08-19 12:05 ` KOSAKI Motohiro
2009-08-19 12:10 ` Wu Fengguang
2009-08-19 12:25 ` Minchan Kim
2009-08-19 13:19 ` KOSAKI Motohiro
2009-08-19 13:28 ` Minchan Kim
2009-08-21 11:17 ` KOSAKI Motohiro
2009-08-19 13:24 ` Wu Fengguang
2009-08-19 13:38 ` Minchan Kim
2009-08-19 14:00 ` Wu Fengguang
2009-08-06 13:13 ` Rik van Riel
2009-08-06 13:49 ` Avi Kivity
2009-08-07 3:11 ` KOSAKI Motohiro
2009-08-07 7:54 ` Balbir Singh
2009-08-07 8:24 ` KAMEZAWA Hiroyuki
2009-08-06 13:11 ` Rik van Riel
2009-08-06 13:08 ` Rik van Riel
2009-08-07 3:17 ` KOSAKI Motohiro
2009-08-12 7:48 ` Wu Fengguang
2009-08-12 14:31 ` Rik van Riel
2009-08-13 1:03 ` Wu Fengguang
2009-08-13 15:46 ` Rik van Riel
2009-08-13 16:12 ` Avi Kivity
2009-08-13 16:26 ` Rik van Riel
2009-08-13 19:12 ` Avi Kivity
2009-08-13 21:16 ` Johannes Weiner
2009-08-14 7:16 ` Avi Kivity
2009-08-14 9:10 ` Johannes Weiner
2009-08-14 9:51 ` Wu Fengguang
2009-08-14 13:19 ` Rik van Riel
2009-08-15 5:45 ` Wu Fengguang
2009-08-16 5:09 ` Balbir Singh
2009-08-16 5:41 ` Wu Fengguang
2009-08-16 5:50 ` Wu Fengguang
2009-08-18 15:57 ` KOSAKI Motohiro
2009-08-17 18:04 ` Dike, Jeffrey G
2009-08-18 2:26 ` Wu Fengguang
2009-09-02 19:30 ` Dike, Jeffrey G
2009-09-03 2:04 ` Wu Fengguang
2009-09-04 20:06 ` Dike, Jeffrey G
2009-09-04 20:57 ` Rik van Riel
2009-08-18 15:57 ` KOSAKI Motohiro
2009-08-19 12:08 ` Wu Fengguang
2009-08-19 13:40 ` [RFC] memcg: move definitions to .h and inline some functions Wu Fengguang
2009-08-19 14:18 ` KAMEZAWA Hiroyuki
2009-08-19 14:27 ` Balbir Singh
2009-08-20 1:34 ` Wu Fengguang
2009-08-14 21:42 ` [RFC] respect the referenced bit of KVM guest pages? Dike, Jeffrey G
2009-08-14 22:37 ` Rik van Riel
2009-08-15 5:32 ` Wu Fengguang
2009-09-13 16:23 ` KOSAKI Motohiro
2009-08-05 17:53 ` Rik van Riel
2009-08-05 19:00 ` Dike, Jeffrey G
2009-08-05 19:07 ` Rik van Riel
2009-08-05 19:18 ` Dike, Jeffrey G
2009-08-06 9:22 ` Avi Kivity
2009-08-06 9:25 ` Wu Fengguang
2009-08-06 9:35 ` Avi Kivity
2009-08-06 9:35 ` Wu Fengguang
2009-08-06 9:59 ` Avi Kivity
2009-08-06 9:59 ` Wu Fengguang
2009-08-06 10:14 ` Avi Kivity
2009-08-07 1:25 ` KAMEZAWA Hiroyuki
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=20090806100824.GO23385@random.random \
--to=aarcange@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=andi.kleen@intel.com \
--cc=avi@redhat.com \
--cc=cl@linux-foundation.org \
--cc=fengguang.wu@intel.com \
--cc=hugh.dickins@tiscali.co.uk \
--cc=jeffrey.g.dike@intel.com \
--cc=kosaki.motohiro@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mel@csn.ul.ie \
--cc=riel@redhat.com \
--cc=wilfred.yu@intel.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).