Re: [Xen-devel] [PATCH] xen-mapcache: don''t unmap locked entry during mapcache invalidation

Stefano Stabellini
2012-03-15T17:46:20Z

On Thu, 15 Mar 2012, Tim Deegan wrote:
> At 17:14 +0000 on 15 Mar (1331831693), Stefano Stabellini wrote:
> > On Thu, 15 Mar 2012, Julien Grall wrote:
> > > When an IOREQ_TYPE_INVALIDATE is sent to QEMU, it invalidates all
entry
> > > of the map cache even if it''s locked.
> > >
> > > QEMU is not able to know that entry was invalidated, so when an
IO
> > > access is requested a segfault occured.
> >
> > The problem here is the long term mappings in QEMU that cannot easily
be
> > re-created.
> > I am not sure whether this can cause any trouble to things like
> > xenpaging.
>
> It causes some trouble to ballooning - a guest might try to return memory
> to Xen only to find that Qemu won''t let go of it.
>
> If (as I hope is the case) qemu never has a locked mapping to something
> that the guets ought to be ballooning, that''s OK.

That should be the case.

> If this happens just
> because the page was recently a DMA target, then it''s not.

Only if the DMA is still in progress, in that case it is a bad idea to
balloon out that page.