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

Andres Lagar-Cavilla
2012-03-15T17:32:42Z

> 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!).

Andres
>
> 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.  If this happens
just
> because the page was recently a DMA target, then it''s not.
>
> Cheers,
>
> Tim.
>