WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] Questions about shadow page table.

To: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] Questions about shadow page table.
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
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
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