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.
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?
> 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?
> Xen-devel mailing list
> [hidden email]
> If you reply to this email, your message will be added to the discussion
> 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 mailing list