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. _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/virtualization