memory: Move AddressSpaceDispatch from AddressSpace to FlatView
commit66a6df1dc6d5b28cc3e65db0d71683fbdddc6b62
authorAlexey Kardashevskiy <aik@ozlabs.ru>
Thu, 21 Sep 2017 08:50:56 +0000 (21 18:50 +1000)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 21 Sep 2017 21:19:37 +0000 (21 23:19 +0200)
tree1cc4ab0eb28401da99ab4dc7361d98c9c135d2bd
parentcc94cd6d36602d976a5e7bc29134d1eaefb4102e
memory: Move AddressSpaceDispatch from AddressSpace to FlatView

As we are going to share FlatView's between AddressSpace's,
and AddressSpaceDispatch is a structure to perform quick lookup
in FlatView, this moves ASD to FlatView.

After previosly open coded ASD rendering, we can also remove
as->next_dispatch as the new FlatView pointer is stored
on a stack and set to an AS atomically.

flatview_destroy() is executed under RCU instead of
address_space_dispatch_free() now.

This makes mem_begin/mem_commit to work with ASD and mem_add with FV
as later on mem_add will be taking FV as an argument anyway.

This should cause no behavioural change.

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Message-Id: <20170921085110.25598-5-aik@ozlabs.ru>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
exec.c
include/exec/memory-internal.h
include/exec/memory.h
memory.c