mbox series

[v4,0/4] KVM: Dynamic sized memslots array

Message ID 20240917163835.194664-1-peterx@redhat.com (mailing list archive)
Headers show
Series KVM: Dynamic sized memslots array | expand

Message

Peter Xu Sept. 17, 2024, 4:38 p.m. UTC
v4:
- Remove restriction on kvm reports smaller than the default alloc size
  (KVM_MEMSLOTS_NR_ALLOC_DEFAULT) [Fabiano]

v1: https://lore.kernel.org/r/20240904191635.3045606-1-peterx@redhat.com
v2: https://lore.kernel.org/r/20240904223510.3519358-1-peterx@redhat.com
v3: https://lore.kernel.org/r/20240909145413.3748429-1-peterx@redhat.com

This series make KVM memslots to be allocated dynamically in QEMU.  It
fixes a migration performance regression that I observed, reducing precopy
dirty sync process from ~86ms to ~3ms each time.

Patch 1 is the fix to the problem, while the rest three patches are
cleanups.

Thanks,

Peter Xu (4):
  KVM: Dynamic sized kvm memslots array
  KVM: Define KVM_MEMSLOTS_NUM_MAX_DEFAULT
  KVM: Rename KVMMemoryListener.nr_used_slots to nr_slots_used
  KVM: Rename KVMState->nr_slots to nr_slots_max

 include/sysemu/kvm_int.h |   7 +--
 accel/kvm/kvm-all.c      | 105 ++++++++++++++++++++++++++++++---------
 accel/kvm/trace-events   |   1 +
 3 files changed, 87 insertions(+), 26 deletions(-)

Comments

Peter Xu Oct. 9, 2024, 12:44 p.m. UTC | #1
Ping - Paolo, could you help have a look?  Thanks!

On Tue, Sep 17, 2024 at 12:38:31PM -0400, Peter Xu wrote:
> v4:
> - Remove restriction on kvm reports smaller than the default alloc size
>   (KVM_MEMSLOTS_NR_ALLOC_DEFAULT) [Fabiano]
> 
> v1: https://lore.kernel.org/r/20240904191635.3045606-1-peterx@redhat.com
> v2: https://lore.kernel.org/r/20240904223510.3519358-1-peterx@redhat.com
> v3: https://lore.kernel.org/r/20240909145413.3748429-1-peterx@redhat.com
> 
> This series make KVM memslots to be allocated dynamically in QEMU.  It
> fixes a migration performance regression that I observed, reducing precopy
> dirty sync process from ~86ms to ~3ms each time.
> 
> Patch 1 is the fix to the problem, while the rest three patches are
> cleanups.
> 
> Thanks,
> 
> Peter Xu (4):
>   KVM: Dynamic sized kvm memslots array
>   KVM: Define KVM_MEMSLOTS_NUM_MAX_DEFAULT
>   KVM: Rename KVMMemoryListener.nr_used_slots to nr_slots_used
>   KVM: Rename KVMState->nr_slots to nr_slots_max
> 
>  include/sysemu/kvm_int.h |   7 +--
>  accel/kvm/kvm-all.c      | 105 ++++++++++++++++++++++++++++++---------
>  accel/kvm/trace-events   |   1 +
>  3 files changed, 87 insertions(+), 26 deletions(-)
> 
> -- 
> 2.45.0
>
Paolo Bonzini Oct. 10, 2024, 7:53 a.m. UTC | #2
Queued, thanks.

Paolo