|
|
|
|
|
|
|
|
|
|
xen-devel
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...
Ian
[*] Hmm, do memory mapped files behave like this too? I can't
remember.
-------------------------------------------------------
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.
http://ads.osdn.com/?ad_id=3149&alloc_id=8166&op=click
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel
|
|
|
|
|