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

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

At 10:32 -0700 on 15 Mar (1331807562), Andres Lagar-Cavilla 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.
> That's the right causation (as opposed to invalidate cache being called
> after balloon).
> All that will happen is that the balloon request will be (partially)
> failed. Up to the guest balloon driver to deal with it gracefully (and to
> not choose weird pages to balloon away in the first place!).

No - the balloon call will succeed, and the page will be removed from
the p2m and its ref dropped.  But the guest's memory usage won't drop
until qemu lets go of its mapping.

If qemu is liable to do this to a lot of memory, that's definitely a
problem.  But I suspect that in fact it won't do that.


Xen-devel mailing list



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