On Wed, Jun 03, 2015 at 02:22:35PM +0200, Igor Mammedov wrote: > 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.
I'm a bit too busy for a thorough review so it'll take a bit of time. From a quick look, it's nice. Acked-by: Michael S. Tsirkin <m...@redhat.com> > 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