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

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



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