[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Seamlessly sharing identical memory pages among domains

> >
> > Doing a proper shared cache is slightly trickier given the
> > paravirtualised memory interface -- we'd have to introduce guests
> > to a new kind of write fault: "A write fault has occurred, and
> > you'll have to copy the page because this machine page is
> > immutable as it is already shared with other domains". Modifying
> > Linux to handle this wouldn't be hard.
> Would this just involve adding an extra error code to what x86 already
> uses and then modifying the guest to understand that that error code
> means that the page has to be COWed?

Yep. The only slight subtlety is that that the page in question
may appear in multiple page tables and at multiple VAs: if the
page is truly read-write shared in the guest (e.g. sysv shared
memory [*]) then it it will be necessary to find all the ptes and
patch them to the newly allocated machine frame. I think such
pages are rare, and tracking them down by scanning the list of
vma's that are mapping the object (e.g. a file) in question is
pretty easy and quick. However, this would most sensibly be done
by making minor modifications to architecture independent code,
which is something we try to avoid. I guess we could just have
arch xen grub its way through the higher-level data structures...


[*] Hmm, do memory mapped files behave like this too? I can't

This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE.
Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.