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

Re: [Xen-devel] RE: Memory sharing, is it possible a page is freed in DomU on its way to be shared?


  • To: pengfei zhang <zpfalpc23@xxxxxxxxxxx>
  • From: Jui-Hao Chiang <juihaochiang@xxxxxxxxx>
  • Date: Wed, 20 Apr 2011 11:15:54 +0800
  • Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
  • Delivery-date: Tue, 19 Apr 2011 20:16:47 -0700
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=GjYg1/Z3L+MFcv2VSSS75WVVRbU8sktcxu1W8tGr8WfLpuyrRO6sktIgAJnrkD99l1 tMz/h2ZpuoskZdQSPLBgMJFOSCCEwZJdyLFErhFpPWCb24rvGhVRL90YDaSDkby/Xhor jX11y0Ujyx1zOSKs8RdFrz2dgm5pp5AdVNkX4=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

Hi,

I remember Tim said there already exist potential problem in p2m type,
and could be taken care of after 4.1 is released.
Forget about mem_sharing first, say if I want to grab a page that no
other Xen code can touch and use, how do I do it in the current Xen?
I guess this should not be a problem only for mem_sharing.

The other solution I am thinking is to use the RCU write lock in
mem_sharing can solve the race condition on p2m type.
But it seems the RCU mechanism favors the reader but not the writer,
in our case, the mem_sharing code.
If that's the case, then the mem_sharing operation will block for a
long period, e.g. the guest page fault triggers unshare(), and degrade
the response time of guest domain.

Bests,
Jui-Hao

On Tue, Apr 19, 2011 at 10:46 PM, pengfei zhang <zpfalpc23@xxxxxxxxxxx> wrote:
>
> After thinking of this problem for some time, I think this situation can not 
> happen for my point of view.
> After the block disk driver has get the request from I/O dispatcher, if the 
> buffer memory is freed for other use,
> no one will notify the driver about this, and this will cause data 
> reading conflict. So the kernel must do something(protect the buffer until 
> response from driver?) to avoid this.
> ________________________________
> Date: Tue, 19 Apr 2011 06:27:46 -0700
> From: [hidden email]
> To: [hidden email]
> Subject: Memory sharing, is it possible a page is freed in DomU on its way to 
> be shared?
>
> Hi:
>
>       Just come up this question.
>
>       Say a process in domU read IO, then blkfront driver will have a new 
> page prepared to
> fill the IO data. The blkfront pass the gref to blkback in dom0, later 
> passed  to blktap, then
> forward to  tapdisk for physical IO read, in memory sharing, the gref may be 
> nominate to
> Xen for page sharing again( say this is sharing step).
>
>       My question is, it is possible during the IO data comes back from 
> tapdisk, the page
> referred by gerf in domU could be freed? (maybe by process termination, or 
> blkfront free this page)
>
>      And if it is possible, then the page is free in domU, it is also 
> possible that the page be given
> back to Xen through ballloon driver, and the P2M will be invaild.  This may 
> make *sharing step*
> gfn points to a invalid mfn possible.
>
>      So is this possible happen?
>
>      thanks.
>
>
>
>
>
>
>
> _______________________________________________
> Xen-devel mailing list
> [hidden email]
> http://lists.xensource.com/xen-devel
>
>
> ________________________________
> If you reply to this email, your message will be added to the discussion 
> below:
> http://xen.1045712.n5.nabble.com/Memory-sharing-is-it-possible-a-page-is-freed-in-DomU-on-its-way-to-be-shared-tp4313262p4313262.html
> To unsubscribe from Xen, click here.
> ________________________________
> View this message in context: RE: Memory sharing, is it possible a page is 
> freed in DomU on its way to be shared?
> Sent from the Xen - Dev mailing list archive at Nabble.com.
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel
>

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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