On Tue, Oct 11, 2011 at 1:57 PM, cc Luit <universalbillow@xxxxxxxxx> wrote:
> appreciate your explanation so much, that's really detail and helpfull!
> but I think for the propagate from GPT to SPT, it's not always need the sync
> all the time, I know in the early version of xen there is not need to do
> that, but just the Lazy mode, which means (just what I understand, but not
> sure):
> when guest os modify the GPT, do not emulate (there is no write-protected
> PTE, so guest can directly modify it)
> 1) when the access right ascension, the guest OS will INVLPG to shootdown
> TLB, so hypervisor can catch the INPLPG inst to sync up the SPT/GPT
> 2) when access right down, when guest OS access this page it will trap to
> xen, xen will catch #PF to sync up SPT/GPT,
We already do something like this for L1 pages; search for "SHOPT_OUT_OF_SYNC".
But when you start to do this for higher-level pages (L2 and above),
then you get into a lot of very tricky corner-cases. Because changes
to higher-level PTs are less common, we went with the simpler route of
simply emulating all accesses to them.
It could be done -- IIRC, version 1 of the shadow code did this
(because there was very limited hypervisor emulation). But to get it
correct *and* working quickly will be kind of difficult.
>> > bu ke qi! ;-)
>
> feel kind and amazed to see the Chinese Pinyin, really feel kind of you:-)
我学了中文学了两年。我常常要用那个! :-)
-George
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|