[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] xenpaging:add the dealing of MEM_EVENT_FLAG_EVICT_FAIL request in
On Thu, Feb 09, hongkaixing@xxxxxxxxxx wrote: > xenpaging:add the dealing of MEM_EVENT_FLAG_EVICT_FAIL request in > tools/xenpaging > > If a page is nominated but not evicted,then dom0 accesses the page,it > will change the page's p2mt to be p2m_ram_paging_in,and the req.flags is > MEM_EVENT_FLAG_EVICT_FAIL;so it will fail in p2m_mem_paging_evict() because > of the p2mt;and paging->num_paged_out will not increase in this case;After > the paging process is terminated, the p2mt p2m_ram_paging_in still remains > in p2m table.Once domU accesses the nominated page,it will result in BSOD > or vm'stuck. > The patch adds the dealing of this request to resume the page before xenpaging > is ended. This can happen if p2m_mem_paging_populate() was called by a foreign domain. In this case MEM_EVENT_FLAG_VCPU_PAUSED is not set and xenpaging will not sent a response. And in this case the ring is in an inconsistent state anyway, new requests cant be added, I think. Acked-by: Olaf Hering <olaf@xxxxxxxxx> > Signed-off-by??hongkaixing<hongkaixing@xxxxxxxxxx>,shizhen<bicky.shi@xxxxxxxxxx> > > diff -r 9f4640e40d4f -r 68eae0b487ae tools/xenpaging/xenpaging.c > --- a/tools/xenpaging/xenpaging.c Thu Feb 09 16:50:52 2012 +0800 > +++ b/tools/xenpaging/xenpaging.c Thu Feb 09 16:58:01 2012 +0800 > @@ -911,7 +911,7 @@ > !!(req.flags & MEM_EVENT_FLAG_EVICT_FAIL) ); > > /* Tell Xen to resume the vcpu */ > - if ( req.flags & MEM_EVENT_FLAG_VCPU_PAUSED ) > + if (( req.flags & MEM_EVENT_FLAG_VCPU_PAUSED ) || ( > req.flags & MEM_EVENT_FLAG_EVICT_FAIL )) > { > /* Prepare the response */ > rsp.gfn = req.gfn; _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |