From: Chris Friesen <cbf123@mail.usask.ca>
To: avi@redhat.com, mtosatti@redhat.com, kvm@vger.kernel.org
Subject: dirty page tracking in kvm/qemu -- page faults inevitable?
Date: Tue, 29 Jul 2014 16:12:16 -0600 [thread overview]
Message-ID: <53D81C40.9020800@mail.usask.ca> (raw)
Hi,
I've got an issue where we're hitting major performance penalties while
doing live migration, and it seems like it might be due to page faults
triggering hypervisor exits, and then we get stuck waiting for the
iothread lock which is held by the qemu dirty page scanning code.
Accordingly, I'm trying to figure out the actual mechanism whereby dirty
pages are tracked in qemu/kvm. I've got an Ivy Bridge CPU, a 3.4 kernel
on the host, and qemu 1.4.
Looking at the qemu code, it seems to be calling down into kvm to get
the dirty page information.
Looking at kvm, most of what I read seems to be doing the usual "mark it
read-only and then when we take a page fault mark it as dirty" trick.
However, I read something about Intel EPT having hardware support for
tracking dirty pages. It seems like this might avoid the need for a
page fault, but might only be available on Haswell or later CPUs--is
that correct? Is it supported in kvm? If so, when was support added?
Thanks,
Chris
P.S. Please CC me on reply, I'm not subscribed to the list.
next reply other threads:[~2014-07-29 22:21 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-29 22:12 Chris Friesen [this message]
2014-07-30 6:09 ` dirty page tracking in kvm/qemu -- page faults inevitable? Xiao Guangrong
2014-07-30 7:41 ` Chris Friesen
2014-07-30 15:42 ` Paolo Bonzini
2014-07-30 16:02 ` Chris Friesen
2014-07-30 16:18 ` Paolo Bonzini
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=53D81C40.9020800@mail.usask.ca \
--to=cbf123@mail.usask.ca \
--cc=avi@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=mtosatti@redhat.com \
/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