From: Avi Kivity <avi@redhat.com>
To: balbir@linux.vnet.ibm.com
Cc: Dave Hansen <dave@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 12:54:31 +0300 [thread overview]
Message-ID: <4C174DD7.3000608@redhat.com> (raw)
In-Reply-To: <20100615075210.GB4306@balbir.in.ibm.com>
On 06/15/2010 10:52 AM, Balbir Singh wrote:
>>>
>>> That is why the policy (in the next set) will come from the host. As
>>> to whether the data is truly duplicated, my experiments show up to 60%
>>> of the page cache is duplicated.
>>>
>> Isn't that incredibly workload dependent?
>>
>> We can't expect the host admin to know whether duplication will
>> occur or not.
>>
>>
> I was referring to cache = (policy) we use based on the setup. I don't
> think the duplication is too workload specific. Moreover, we could use
> aggressive policies and restrict page cache usage or do it selectively
> on ballooning. We could also add other options to make the ballooning
> option truly optional, so that the system management software decides.
>
Consider a read-only workload that exactly fits in guest cache. Without
trimming, the guest will keep hitting its own cache, and the host will
see no access to the cache at all. So the host (assuming it is under
even low pressure) will evict those pages, and the guest will happily
use its own cache. If we start to trim, the guest will have to go to
disk. That's the best case.
Now for the worst case. A random access workload that misses the cache
on both guest and host. Now every page is duplicated, and trimming
guest pages allows the host to increase its cache, and potentially
reduce misses. In this case trimming duplicated pages works.
Real life will see a mix of this. Often used pages won't be duplicated,
and less often used pages may see some duplication, especially if the
host cache portion dedicated to the guest is bigger than the guest cache.
I can see that trimming duplicate pages helps, but (a) I'd like to be
sure they are duplicates and (b) often trimming them from the host is
better than trimming them from the guest.
Trimming from the guest is worthwhile if the pages are not used very
often (but enough that caching them in the host is worth it) and if the
host cache can serve more than one guest. If we can identify those
pages, we don't risk degrading best-case workloads (as defined above).
(note ksm to some extent identifies those pages, though it is a bit
expensive, and doesn't share with the host pagecache).
--
error compiling committee.c: too many arguments to function
--
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 9:54 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
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 [this message]
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=4C174DD7.3000608@redhat.com \
--to=avi@redhat.com \
--cc=balbir@linux.vnet.ibm.com \
--cc=dave@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).