From: Igor Mammedov <imammedo@redhat.com>
To: qemu-devel@nongnu.org
Cc: pbonzini@redhat.com, mst@redhat.com
Subject: [Qemu-devel] [RFC 0/2] Fix QEMU crash during memory hotplug with vhost=on
Date: Wed, 3 Jun 2015 14:22:35 +0200 [thread overview]
Message-ID: <1433334157-37665-1-git-send-email-imammedo@redhat.com> (raw)
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
next reply other threads:[~2015-06-03 12:22 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-03 12:22 Igor Mammedov [this message]
2015-06-03 12:22 ` [Qemu-devel] [RFC 1/2] memory: introduce MemoryRegion container with reserved HVA range Igor Mammedov
2015-06-03 12:45 ` Paolo Bonzini
2015-06-03 13:43 ` Igor Mammedov
2015-06-03 12:22 ` [Qemu-devel] [RFC 2/2] pc: fix QEMU crashing when more than ~50 memory hotplugged Igor Mammedov
2015-06-03 12:48 ` Paolo Bonzini
2015-06-03 14:05 ` Igor Mammedov
2015-06-03 15:08 ` Paolo Bonzini
2015-06-03 15:23 ` Igor Mammedov
2015-06-03 16:11 ` Paolo Bonzini
2015-06-03 16:30 ` Michael S. Tsirkin
2015-06-03 15:05 ` [Qemu-devel] [RFC 0/2] Fix QEMU crash during memory hotplug with vhost=on Michael S. Tsirkin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1433334157-37665-1-git-send-email-imammedo@redhat.com \
--to=imammedo@redhat.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).