]> git.proxmox.com Git - qemu.git/commit
exec: separate current memory map from the one being built
authorPaolo Bonzini <pbonzini@redhat.com>
Wed, 29 May 2013 10:09:47 +0000 (12:09 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 4 Jul 2013 15:42:49 +0000 (17:42 +0200)
commit9affd6fc0e7904fb36d58d1992bbd7cae3649197
tree1414826b45bcbab9ad25d2291868476c39b143e9
parentb41aac4f0d17000babd815e088699d58e59917b8
exec: separate current memory map from the one being built

Currently, phys_node_map and phys_sections are shared by all
of the AddressSpaceDispatch.  When updating mem topology, all
AddressSpaceDispatch will rebuild dispatch tables sequentially
on them.  In order to prepare for RCU access, leave the old
memory map alive while the next one is being accessed.

When rebuilding, the new dispatch tables will build and lookup
next_map; after all dispatch tables are rebuilt, we can switch
to next_* and free the previous table.

Based on a patch from Liu Ping Fan.

Signed-off-by: Liu Ping Fan <qemulist@gmail.com>
Reviewed-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
exec.c