From: Ian Molton <ian.molton@codethink.co.uk>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] [BUG] Missing feature, KVM on ARM, dirty page logging.
Date: Mon, 26 Nov 2012 17:58:58 +0000 [thread overview]
Message-ID: <50B3ADE2.4080605@codethink.co.uk> (raw)
Hi folks,
I'm looking at dirty page logging on KVM on ARM, which appears, at
present to be non-existent. Is anyone working on this, or willing to
lend a hand?
I'm running KVM on an OMAP5, and my guest is a vexpress-a15 with PL-111
framebuffer.
running tcg mode, this works, however in KVM I was seeing (occasionally)
one frame of video.
Some debugging led me to the dirty_log code, and I discovered that qemu
makes a bad test for the return code from kvm_vm_ioctl(s,
KVM_GET_DIRTY_LOG, &d) in kvm_physical_sync_dirty_bitmap(), so the
problem was going unreported.
Furthermore, I think the vexpress emulation was missing a call to
memory_region_set_log(vram, true, DIRTY_MEMORY_VGA);
for the vram region, which was preventing the host kernel knowing that
dirty page logging was required. (I think - Im not really very clear on
the whole qemu memory API, as AFAICT, its barely documented...)
Anyhow, If I add the call to memory_region_set_log(), and if I ask the
host kernel to mark absolutely everything as dirty, it does in fact, work.
Obviously this is a massive hack, but I'm not too sure where to go on
from here, so pointers would be nice. Presumably, I'm going to have to
do some prodding of the hosts page tables, but I'm not clear exactly
what, as yet.
-Ian
next reply other threads:[~2012-11-26 17:59 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-26 17:58 Ian Molton [this message]
2012-11-26 18:35 ` [Qemu-devel] [BUG] Missing feature, KVM on ARM, dirty page logging Peter Maydell
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=50B3ADE2.4080605@codethink.co.uk \
--to=ian.molton@codethink.co.uk \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.