From: Dave Hansen <dave@linux.vnet.ibm.com>
To: Avi Kivity <avi@redhat.com>
Cc: balbir@linux.vnet.ibm.com, kvm <kvm@vger.kernel.org>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC/T/D][PATCH 2/2] Linux/Guest cooperative unmapped page cache control
Date: Tue, 15 Jun 2010 07:47:29 -0700 [thread overview]
Message-ID: <1276613249.6437.11516.camel@nimitz> (raw)
In-Reply-To: <4C1726C4.8050300@redhat.com>
On Tue, 2010-06-15 at 10:07 +0300, Avi Kivity wrote:
> On 06/14/2010 08:58 PM, Dave Hansen wrote:
> > On Mon, 2010-06-14 at 19:34 +0300, Avi Kivity wrote:
> >
> >>> Again, this is useless when ballooning is being used. But, I'm thinking
> >>> of a more general mechanism to force the system to both have MemFree
> >>> _and_ be acting as if it is under memory pressure.
> >>>
> >>>
> >> If there is no memory pressure on the host, there is no reason for the
> >> guest to pretend it is under pressure.
> >>
> > I can think of quite a few places where this would be beneficial.
> >
> > Ballooning is dangerous. I've OOMed quite a few guests by
> > over-ballooning them. Anything that's voluntary like this is safer than
> > things imposed by the host, although you do trade of effectiveness.
>
> That's a bug that needs to be fixed. Eventually the host will come
> under pressure and will balloon the guest. If that kills the guest, the
> ballooning is not effective as a host memory management technique.
I'm not convinced that it's just a bug that can be fixed. Consider a
case where a host sees a guest with 100MB of free memory at the exact
moment that a database app sees that memory. The host tries to balloon
that memory away at the same time that the app goes and allocates it.
That can certainly lead to an OOM very quickly, even for very small
amounts of memory (much less than 100MB). Where's the bug?
I think the issues are really fundamental to ballooning.
> > If all the guests do this, then it leaves that much more free memory on
> > the host, which can be used flexibly for extra host page cache, new
> > guests, etc...
>
> If the host detects lots of pagecache misses it can balloon guests
> down. If pagecache is quiet, why change anything?
Page cache misses alone are not really sufficient. This is the classic
problem where we try to differentiate streaming I/O (which we can't
effectively cache) from I/O which can be effectively cached.
> If the host wants to start new guests, it can balloon guests down. If
> no new guests are wanted, why change anything?
We're talking about an environment which we're always trying to
optimize. Imagine that we're always trying to consolidate guests on to
smaller numbers of hosts. We're effectively in a state where we
_always_ want new guests.
-- Dave
--
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:[~2010-06-15 14:47 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-08 15:51 [RFC/T/D][PATCH 0/2] KVM page cache optimization (v2) Balbir Singh
2010-06-08 15:51 ` [RFC][PATCH 1/2] Linux/Guest unmapped page cache control Balbir Singh
2010-06-13 18:31 ` Balbir Singh
2010-06-14 0:28 ` KAMEZAWA Hiroyuki
2010-06-14 6:49 ` Balbir Singh
2010-06-14 7:00 ` KAMEZAWA Hiroyuki
2010-06-14 7:36 ` Balbir Singh
2010-06-14 7:49 ` KAMEZAWA Hiroyuki
2010-06-08 15:51 ` [RFC/T/D][PATCH 2/2] Linux/Guest cooperative " Balbir Singh
2010-06-10 9:43 ` Avi Kivity
2010-06-10 14:25 ` Balbir Singh
2010-06-11 0:07 ` Dave Hansen
2010-06-11 1:54 ` KAMEZAWA Hiroyuki
2010-06-11 4:46 ` Balbir Singh
2010-06-11 5:05 ` KAMEZAWA Hiroyuki
2010-06-11 5:08 ` KAMEZAWA Hiroyuki
2010-06-11 6:14 ` Balbir Singh
2010-06-11 4:56 ` Balbir Singh
2010-06-14 8:09 ` Avi Kivity
2010-06-14 8:48 ` Balbir Singh
2010-06-14 12:40 ` Avi Kivity
2010-06-14 12:50 ` Balbir Singh
2010-06-14 13:01 ` Avi Kivity
2010-06-14 15:33 ` Dave Hansen
2010-06-14 15:44 ` Avi Kivity
2010-06-14 15:55 ` Dave Hansen
2010-06-14 16:34 ` Avi Kivity
2010-06-14 17:45 ` Balbir Singh
2010-06-15 6:58 ` Avi Kivity
2010-06-15 7:49 ` Balbir Singh
2010-06-15 9:44 ` Avi Kivity
2010-06-15 10:18 ` Balbir Singh
2010-06-14 17:58 ` Dave Hansen
2010-06-15 7:07 ` Avi Kivity
2010-06-15 14:47 ` Dave Hansen [this message]
2010-06-16 11:39 ` Avi Kivity
2010-06-17 6:04 ` Balbir Singh
2010-06-14 15:12 ` Dave Hansen
2010-06-14 15:34 ` Avi Kivity
2010-06-14 17:40 ` Balbir Singh
2010-06-15 7:11 ` Avi Kivity
2010-06-14 16:58 ` Balbir Singh
2010-06-14 17:09 ` Dave Hansen
2010-06-14 17:16 ` Balbir Singh
2010-06-15 7:12 ` Avi Kivity
2010-06-15 7:52 ` Balbir Singh
2010-06-15 9:54 ` Avi Kivity
2010-06-15 12:49 ` Balbir Singh
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=1276613249.6437.11516.camel@nimitz \
--to=dave@linux.vnet.ibm.com \
--cc=avi@redhat.com \
--cc=balbir@linux.vnet.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
/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).