|  |  | 
  
    |  |  | 
 
  |   |  | 
  
    |  |  | 
  
    |  |  | 
  
    |   xen-devel
Re: [Xen-devel] Few questions about migration 
| 
Amitayu Das wrote:
 I had few questions regarding the mechanism employed by the  
hypervisor for figuring out the pages modified during a pre-copy  
round of a migration of a VM.  Please assume that a migration of a  
VM is going on in the backdrop and a process (running inside that  
VM) is accessing (reading/writing) into pages in memory.
 
The mechanism is simpler than your two descriptions.
The hypervisor manages the -real- page tables and the processor  
modifies those page table entries upon page modification by the guest  
O/S or a process of it.  So, the hypervisor knows exactly what the  
process has touched.  The guest O/S sees the shadow copy that is read- 
only.  I do not know with what frequency (if at all) that the shadow  
copy PTE dirty page bits are set.  (Maybe there's a hypervisor call  
to update the shadow copy PTE dirty bits?) 
To answer your question this is how I presume the mechanism works:
1) Assume a page is initially dirty
2) Xen determines to ship that page to the destination
3) Xen marks that page read only, see below
4) Xen initiates shipping the page to the destination
Up to this point the guest O/S has been free to continue execution so  
long as it does not attempt to write to the page in question.  If it  
does it will be halted until step 7 below. 
5) Xen receives acknowledgment from the destination machine
6) Xen clears the dirty bit for the page and marks it writable
7) If the guest O/S had been paused, this is where the guest O/S  
could be resumed 
That's what I believe to be the process.
-- Randy
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 | 
 |  | 
  
    |  |  |