virtualization.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
From: Dor Laor <dlaor@redhat.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: Rik van Riel <riel@redhat.com>,
	akpm@osdl.org, nickpiggin@yahoo.com.au, frankeh@watson.ibm.com,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	Dave Hansen <dave@linux.vnet.ibm.com>,
	virtualization@lists.osdl.org,
	Martin Schwidefsky <schwidefsky@de.ibm.com>,
	hugh@veritas.com, Izik Eidus <ieidus@redhat.com>
Subject: Re: [patch 0/6] Guest page hinting version 7.
Date: Tue, 31 Mar 2009 00:38:01 +0300	[thread overview]
Message-ID: <49D13BB9.3010200@redhat.com> (raw)
In-Reply-To: <49D12D16.6050407@goop.org>

Jeremy Fitzhardinge wrote:
> Rik van Riel wrote:
>   
>> Jeremy Fitzhardinge wrote:
>>     
>>> Rik van Riel wrote:
>>>       
>>>> Jeremy Fitzhardinge wrote:
>>>>
>>>>         
>>>>> That said, people have been looking at tracking block IO to work 
>>>>> out when it might be useful to try and share pages between guests 
>>>>> under Xen.
>>>>>           
>>>> Tracking block IO seems like a bass-ackwards way to figure
>>>> out what the contents of a memory page are.
>>>>         
>>> Well, they're research projects, so nobody said that they're 
>>> necessarily useful results ;).  I think the rationale is that, in 
>>> general, there aren't all that many sharable pages, and asize from 
>>> zero-pages, the bulk of them are the result of IO. 
>>>       
>> I'll give you a hint:  Windows zeroes out freed pages.
>>     
>
> Right: "aside from zero-pages".  If you exclude zero-pages from your 
> count of shared pages, the amount of sharing drops a lot.
>
>   
>> It should also be possible to hook up arch_free_page() so
>> freed pages in Linux guests become sharable.
>>
>> Furthermore, every guest with the same OS version will be
>> running the same system daemons, same glibc, etc.  This
>> means sharable pages from not just disk IO (probably from
>> different disks anyway),
>>     
>
> Why?  If you're starting a bunch of cookie-cutter guests, then you're 
> probably starting them from the same template image or COW block 
> devices.  (Also, if you're wearing the cost of physical IO anyway, then 
> additional cost of hashing is relatively small.)
>
>   
>> but also in the BSS and possibly
>> even on the heap.
>>     
>
> Well, maybe.  Modern systems generally randomize memory layouts, so even 
> if they're semantically the same, the pointers will all have different 
> values.
>
> Other research into "sharing" mostly-similar pages is more promising for 
> that kind of case.
>
>   
>> Eventually.  It starts out with hashing the first 128 (IIRC)
>> bytes of page content and comparing the hashes.  If that
>> matches, it will do content comparison.
>>     
The algorithm was changed quite a bit. Izik is planning to resubmit it
any day now.
>> Content comparison is done in the background on the host.
>> I suspect (but have not checked) that it is somehow hooked
>> up to the page reclaim code on the host.
>>     
>
> Yeah, that's the straightforward approach; there's about a research 
> project/year doing a Xen implementation, but they never seem to get very 
> good results aside from very artificial test conditions.
>   
Actually we got really good results by using ksm along with kvm, running 
large
amount of windows virtual machines. We can achieve over commit ratio
of up to 400% of the host ram for VMs doing M$ office load.
-dor

--
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>

  reply	other threads:[~2009-03-30 21:38 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-27 15:09 [patch 0/6] Guest page hinting version 7 Martin Schwidefsky
2009-03-27 15:09 ` [patch 1/6] Guest page hinting: core + volatile page cache Martin Schwidefsky
2009-03-27 22:57   ` Rik van Riel
2009-03-29 13:56     ` Martin Schwidefsky
2009-03-29 14:35       ` Rik van Riel
2009-03-27 15:09 ` [patch 2/6] Guest page hinting: volatile swap cache Martin Schwidefsky
2009-04-01  2:10   ` Rik van Riel
2009-04-01  8:13     ` Martin Schwidefsky
2009-03-27 15:09 ` [patch 3/6] Guest page hinting: mlocked pages Martin Schwidefsky
2009-04-01  2:52   ` Rik van Riel
2009-04-01  8:13     ` Martin Schwidefsky
2009-03-27 15:09 ` [patch 4/6] Guest page hinting: writable page table entries Martin Schwidefsky
2009-04-01 13:25   ` Rik van Riel
2009-04-01 14:36     ` Martin Schwidefsky
2009-04-01 14:45       ` Rik van Riel
2009-03-27 15:09 ` [patch 5/6] Guest page hinting: minor fault optimization Martin Schwidefsky
2009-04-01 15:33   ` Rik van Riel
2009-03-27 15:09 ` [patch 6/6] Guest page hinting: s390 support Martin Schwidefsky
2009-04-01 16:18   ` Rik van Riel
2009-03-27 23:03 ` [patch 0/6] Guest page hinting version 7 Dave Hansen
2009-03-28  0:06   ` Rik van Riel
2009-03-29 14:20     ` Martin Schwidefsky
2009-03-29 14:38       ` Rik van Riel
2009-03-29 14:12   ` Martin Schwidefsky
2009-03-30 15:54     ` Dave Hansen
2009-03-30 16:34       ` Martin Schwidefsky
2009-03-30 18:37       ` Jeremy Fitzhardinge
2009-03-30 18:42         ` Rik van Riel
2009-03-30 18:59           ` Jeremy Fitzhardinge
2009-03-30 20:02             ` Rik van Riel
2009-03-30 20:35               ` Jeremy Fitzhardinge
2009-03-30 21:38                 ` Dor Laor [this message]
2009-03-30 22:16                   ` Izik Eidus
2009-03-28  6:35 ` Rusty Russell
2009-03-29 14:23   ` Martin Schwidefsky
2009-04-02 11:32     ` Nick Piggin
2009-04-02 15:52       ` Martin Schwidefsky
2009-04-02 16:18         ` Jeremy Fitzhardinge
2009-04-02 16:23         ` Nick Piggin
2009-04-02 19:06         ` Rik van Riel
2009-04-02 19:22           ` Nick Piggin
2009-04-02 20:05             ` Rik van Riel
2009-04-03  0:50               ` Jeremy Fitzhardinge
2009-04-02 19:58           ` Jeremy Fitzhardinge
2009-04-02 20:14             ` Rik van Riel
2009-04-02 20:34               ` Jeremy Fitzhardinge
2009-04-03  8:49                 ` Martin Schwidefsky
2009-04-03 18:19                   ` Jeremy Fitzhardinge
2009-04-06  7:21                     ` Martin Schwidefsky
2009-04-06  7:32                       ` Nick Piggin
2009-04-06 19:23                       ` Jeremy Fitzhardinge
2009-04-02 19:27         ` Hugh Dickins

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=49D13BB9.3010200@redhat.com \
    --to=dlaor@redhat.com \
    --cc=akpm@osdl.org \
    --cc=dave@linux.vnet.ibm.com \
    --cc=frankeh@watson.ibm.com \
    --cc=hugh@veritas.com \
    --cc=ieidus@redhat.com \
    --cc=jeremy@goop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=nickpiggin@yahoo.com.au \
    --cc=riel@redhat.com \
    --cc=schwidefsky@de.ibm.com \
    --cc=virtualization@lists.osdl.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).