qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [RFC 0/2] Fix QEMU crash during memory hotplug with vhost=o


From: Igor Mammedov
Subject: [Qemu-devel] [RFC 0/2] Fix QEMU crash during memory hotplug with vhost=on
Date: Wed, 3 Jun 2015 14:22:35 +0200

When more than ~50 pc-dimm devices are hotplugged with
vhost enabled, QEMU will assert in vhost vhost_commit()
due to backend refusing to accept too many memory ranges.

Series introduces Reserved HVA MemoryRegion container
where all hotplugged memory is remapped and passes
the single container range to vhost instead of multiple
memory ranges for each hotlugged pc-dimm device.

It's alternative approach to increasing backend supported
memory regions limit since what I've come up with
backend side approach is quite a bit more code so far.

With this approach it would be possible to extend it to
initial memory later and provide a single range for all
RAM to vhost, which should speed up its hot-path by replacing
current GPA<->HVA lookup loop with offset calculation.

Igor Mammedov (2):
  memory: introduce MemoryRegion container with reserved HVA range
  pc: fix QEMU crashing when more than ~50 memory hotplugged

 exec.c                    | 13 +++++++++++
 hw/i386/pc.c              |  4 ++--
 hw/virtio/vhost.c         | 15 ++++++++++---
 include/exec/cpu-common.h |  1 +
 include/exec/memory.h     | 42 ++++++++++++++++++++++++++++++++++--
 memory.c                  | 55 +++++++++++++++++++++++++++++++++++++++++++++++
 6 files changed, 123 insertions(+), 7 deletions(-)

-- 
1.8.3.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]