linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [RFC][PATCH 0/5] Memory merging driver for Linux
@ 2008-01-21 16:05 Izik Eidus
  2008-01-23 17:05 ` [kvm-devel] " Rik van Riel
  2008-01-23 23:10 ` Chris Wright
  0 siblings, 2 replies; 8+ messages in thread
From: Izik Eidus @ 2008-01-21 16:05 UTC (permalink / raw)
  To: kvm-devel, andrea, avi, dor.laor, linux-mm, yaniv

when kvm is used in production servers, many times it run the same 
guests operation systems more than once
the idea of this module is to find the identical pages in diffrent 
guests and to share them so we can save memory,
due to the fact that many guests run identical operation systems, alot 
of data in the ram is equal between the guests

this module find this identical data (pages) and merge them into one 
single page
this new page is write protected so in any case the guest will try to 
write to it do_wp_page will duplicate the page

this module simply go over a list of pages that were registered, and 
find the identical pages (using hash table)
the pages that it scan are anonymous, each time that it find an 
identical pages it create a file mapped
(right now it is just kernel allocated) page that will be the shared page,

as for now i am missing swapping support (will add soon using non-linear 
vmas)
 
this module can be used for every other purpuse and work without kvm
(i used it for qemu)
to make it work for kvm, the mmu notifers sent by andrea should be used

i added 2 new functions to the kernel
one:
page_wrprotect() make the page as read only by setting the ptes point to
it as read only.
second:
replace_page() - replace the pte mapping related to vm area between two 
pages

few numbers:
for started windows i can share almost the whole memory (as it zero all 
the pages),
so i can start much much more windows guests than i have memory (as long 
as no one touch it)

for linux guests i was able to share 800mb+ for 4 centos guests that 
each had 512mb memory allocated to
(again it was without work load, and they ran X)

-- 
woof.

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

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2008-01-24  9:26 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-01-21 16:05 [RFC][PATCH 0/5] Memory merging driver for Linux Izik Eidus
2008-01-23 17:05 ` [kvm-devel] " Rik van Riel
2008-01-23 17:54   ` Andrea Arcangeli
2008-01-23 18:11     ` Izik Eidus
2008-01-24  5:38   ` Avi Kivity
2008-01-23 23:10 ` Chris Wright
2008-01-24  5:40   ` Avi Kivity
2008-01-24  9:26     ` Izik Eidus

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox