[Qemu-devel] [PATCH RFC 0/6] QEMU: kvm: cleanup kvm_slot handling

David Hildenbrand posted 6 patches 6 years, 8 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20170809133346.30271-1-david@redhat.com
Test FreeBSD passed
Test checkpatch passed
Test docker passed
Test s390x passed
accel/kvm/kvm-all.c | 276 +++++++++++++++++-----------------------------------
1 file changed, 89 insertions(+), 187 deletions(-)
[Qemu-devel] [PATCH RFC 0/6] QEMU: kvm: cleanup kvm_slot handling
Posted by David Hildenbrand 6 years, 8 months ago
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


Re: [Qemu-devel] [PATCH RFC 0/6] QEMU: kvm: cleanup kvm_slot handling
Posted by Paolo Bonzini 6 years, 8 months ago
On 09/08/2017 15:33, David Hildenbrand wrote:
> 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.

Yes, it all looks very sane.

Paolo

> 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(-)
>