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

Re: [Xen-devel] [PATCH V3] X86/vMCE: handle broken page with regard to migration



On 21/11/12 11:07, Ian Campbell wrote:
On Tue, 2012-11-20 at 18:54 +0000, Liu, Jinsong wrote:
Well, let me elaborate more my thought about broken page occur at last iter:

Theoretically we can separate 'broken page at last iter' into several 
sub-cases, and optimize case by case:
1. if the page (which will break at last iter) is not on dirty bitmap (of last 
iter) --> do nothing is OK, target will happily run w/o broken page;
2. if the page (which will break at last iter) is on dirty bitmap (of last iter)
   2.1 if at last iter, vmce occur after page copy --> do nothing is OK, target 
happily run w/o broken page;
   2.2 if vmce occur beofre pfn_type transfer --> do nothing is OK, V2 patch 
has correctly handle the case, target will set p2m broken correctly;
   2.3 if vmce occur after pfn_type transfer and before copy page to target --> 
we need handle this case;

Practically considering it's rare enough, and code complication, we handle it 
in a simple way (not so optimized but enough for real life):
- we don't distinguish if the page is in dirty bitmap of last iter;
- we don't prefer adding new hypercall for this corner case, instead we'd like 
to re-use currently existed hypercall;
- if vmce occur at last iter, we do 1~2 more iter.
Can't a page break on each "last" iter. i.e. you might actually go
around as many times as there are pages in the last batch?

I think it would be only if the pages break one by one, at just the right time -- that seems pretty unlikely. :-)

 -George

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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