|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|