On 25/08/2017 15:19, David Gibson wrote: > On Fri, Aug 25, 2017 at 11:57:26AM +0200, Paolo Bonzini wrote: >> On 25/08/2017 11:22, Peter Maydell wrote: >>> On 25 August 2017 at 09:53, Paolo Bonzini <pbonz...@redhat.com> wrote: >>>> The solution is to: 1) share the FlatView structures if they refer to >>>> the same root memory region; 2) have one AddressSpaceDispatch per >>>> FlatView instead of one per AddressSpace, so that FlatView reference >>>> counting takes care of clearing the AddressSpaceDispatch too. Neither >>>> is particularly hard. >>> If we did this we could get rid of address_space_init_shareable(), >>> right? (It's a bit of a cheesy hack aimed at avoiding having duplicate >>> address space structures for the same root memory region, but if >>> the underlying code is better at not duplicating all the data >>> structures unless necessary then the benefit of having the >>> separate API goes away I think.) >> >> Yes, indeed. > > Hm. Why do we need to construct full ASes for virtio-blk, rather than > just MRs?
It's an artifact of how virtio_address_space_read and virtio_address_space_write are implemented. Paolo
signature.asc
Description: OpenPGP digital signature