[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <49D12564.40708@redhat.com>
Date: Mon, 30 Mar 2009 16:02:44 -0400
From: Rik van Riel <riel@...hat.com>
To: Jeremy Fitzhardinge <jeremy@...p.org>
CC: Dave Hansen <dave@...ux.vnet.ibm.com>,
Martin Schwidefsky <schwidefsky@...ibm.com>, akpm@...l.org,
nickpiggin@...oo.com.au, frankeh@...son.ibm.com,
virtualization@...ts.osdl.org, linux-kernel@...r.kernel.org,
linux-mm@...ck.org, hugh@...itas.com
Subject: Re: [patch 0/6] Guest page hinting version 7.
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.
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), but also in the BSS and possibly
even on the heap.
>> The KVM KSM code has a simpler, yet still efficient, way of
>> figuring out which memory pages can be shared.
> How's that? Does it do page content comparison?
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.
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.
--
All rights reversed.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists