|
From: | Alexey Kardashevskiy |
Subject: | Re: [Qemu-ppc] [PATCH qemu v7 06/14] spapr_iommu: Introduce "enabled" state for TCE table |
Date: | Wed, 27 May 2015 09:55:41 +1000 |
User-agent: | Mozilla/5.0 (X11; Linux i686 on x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 |
On 05/27/2015 01:51 AM, Paolo Bonzini wrote:
On 26/05/2015 17:49, Alexey Kardashevskiy wrote:It's very little used, but that's just because it's not too common. There's nothing wrong with it. :) If you do del/set_size/add, you may want to put a memory_region_transaction_{begin,commit} around the whole dance.
Here I lost you again :) Why? These are IOMMU MRs -> they are dynamic, what will begin()/commit() change here?If you don't add them, the memory core may create two or three different flatviews. With begin/commit, it will only do one change. It's just an optimization.
One step back :) Whole dance is what here? There are: 1) del+set_size(0) 2) set_size(not zero)+add1) and 2) are called in different places, between those the guest get control so I cannot wrap these in begin/commit. If you suggest begin+commit around, for example, 1)- this is just a single call and there be one change to flatview, where many changes may happen? And only the last one is used, right, or there is a list of them somewhere? :)
-- Alexey
[Prev in Thread] | Current Thread | [Next in Thread] |