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

[Xen-devel] Questions about shadow page table.


  • To: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: "Wu Bingzheng" <wubingzheng@xxxxxxx>
  • Date: Tue, 26 May 2009 16:46:58 +0800 (CST)
  • Delivery-date: Tue, 26 May 2009 01:47:32 -0700
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

Hi,

I have some questions about Shadow page table in Xen.

1.
Xen used shadow-1, shadow-2, and shadow-3 from beginning to now.
(http://blog.xen.org/index.php/2008/08/27/xen-33-feature-shadow-3/)
In Xen 3.3, it re-use out-of-sync, which is used in Shadow-1.

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?


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?

3.
For the user space part, are the attribute bits of the entries 
in Guest page table and Shadow page table the same?

Thanks,
Wu


穿越地震带 纪念汶川地震一周年
_______________________________________________
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®.