If I am not missing something important here, we can heavily simplify the kvm_slot code. Flatview will make sure that we don't have to deal with overlapping slots. E.g. when a memory section is resized, we are first notified about the removal and then about the new memory section. So basically, we can directly always map one memory section to one kvm slot (if the fixed up size is > 0). Only very briefly tested. Will do some more testing if we agree that this is the right thing to do. David Hildenbrand (6): kvm: require JOIN_MEMORY_REGIONS_WORKS kvm: factor out alignment of memory section kvm: use start + size for memory ranges kvm: we never have overlapping slots in kvm_set_phys_mem() kvm: kvm_log_start/stop are only called with known sections kvm: kvm_log_sync() is only called with known memory sections accel/kvm/kvm-all.c | 276 +++++++++++++++++----------------------------------- 1 file changed, 89 insertions(+), 187 deletions(-) -- 2.9.4