[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Shadow Page Tables in Xen
On Apr 22, 2009, at 3:02 PM, priya sehgal wrote: Hi Gianluca,There are various problems I can see with this approach:- As Tim suggested, this will make the bandwidth required to do live migration much bigger (you're talking about increasing the granularity of memory to be sent from 1 to 1000 pages). So you should take into account that yes, making bigger logdirty chunks will decrease the pagefaults, but will increase the required network bandwidth, which is a very important parameter for live migration.I think there is one thing missing in what I explained. If a page in a group is written for the first time, all its neighbors are marked as RW. But, their dirty bit might be off. Now, we maintaina dirty group bitmap, which just stores the page groups that are dirty.During the end of an epoch, when we are about to ship the pagesto the destination machine, we first check the groups which are dirty. Scan through *each* page's PTE corresponding to that group to determineif it is DIRTY. Only if the page is DIRTY is it sent over the network. So, we do not send unwanted pages , only the ones marked DIRTY in the RW-enabled groups. Ok that seems, but please note that at the moment shadows always set the DIRTY bit (unless we're tracking a VRAM address), so you might have to set the dirty bit clean when propagating the shadow, which is a bit too intrusive perhaps. But yes, that would work. Also, you mentioned that the main performance bottleneck is due to blowing up of the shadow page tables. Why is this required? Can't the page table entries that were migrated in the last epoch be cleaned up only and reset. Could you please elaborate on this ? Yes. We could do that, as Ian suggested. There was no effort in making live migration's shadow code fast, so nobody ever did it. Might be good to do it, if you're interested in this case, and will be much cleaner than your suggested effort, and perhaps way more interesting. This comment, found in shadow_clean_dirty_bitmap might explain you a lot: /* Need to revoke write access to the domain's pages again. * In future, we'll have a less heavy-handed approach to this, * but for now, we just unshadow everything except Xen. */ shadow_blow_tables(d); Thanks, Gianluca _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |