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

Re:Re: [Xen-devel] Questions about shadow page table.




Thanks so much!
Wu

>Hi,
>
>At 09:46 +0100 on 26 May (1243331218), Wu Bingzheng wrote:
>> Shadow-1. Its method of propagating changes from guest pagetables
>> to the shadow pagetables was as follows:
>> 
>>   1. Remove write access to any guest pagetable.
>>   2. When a guest attempts to write to the guest pagetable, mark it
>>      out-of-sync, add the page to the out-of-sync list and give write
>>      permission.
>>   3. On the next page fault or cr3 write, take each page from the
>>      out-of-sync list and:
>>      - resync the page: look for changes to the guest pagetable,
>>        propagate those entries into the shadow pagetable
>>      - remove write permission, and clear the out-of-sync bit.
>> 
>> My question is that, dose step 2 trap into Xen hypervisor?
>
>Yes, of course.  It's done in the #PF handler. 
>
>> 2.
>> I think there are 2 kinds of page fault. 1) normal page fault in guest,
>> which should be handled by guest; 2) invoked by guest updating the page
>> table, which should be handled by Xen.
>> 
>> So, if there's a page-miss fault in guest, how many times it will trap into Xen?
>> First, page miss, trap into Xen. Xen finds out it's the 1st kind fault,
>> then it go back to guest to handle it
>> Then, in guest, when it updates the page table to fix the page fault,
>> it will invoke the 2nd kind fault, which will trap into Xen again.
>> 
>> Am I right?
>
>Yes; and in some circumstances there can be more than two faults
>(e.g. if the guest's new entry hasn't got the Accessed bit set).
>
>> 3.
>> For the user space part, are the attribute bits of the entries
>> in Guest page table and Shadow page table the same?
>
>No; the only guarantee is that the shadow entry won't contain more
>access rights than the guest entry.  For PTEs that map MMIO space we try
>to do the right thing with the caching attributes too.
>
>Cheers,
>
>Tim.
>
>-- 
>Tim Deegan <Tim.Deegan@xxxxxxxxxx>
>Principal Software Engineer, Citrix Systems (R&D) Ltd.
>[Company #02300071, SL9 0DZ, UK.]
>
>_______________________________________________
>Xen-devel mailing list
>Xen-devel@xxxxxxxxxxxxxxxxxxx
>http://lists.xensource.com/xen-devel



穿越地震带 纪念汶川地震一周年
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

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