qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [BUG] Missing feature, KVM on ARM, dirty page logging.


From: Peter Maydell
Subject: Re: [Qemu-devel] [BUG] Missing feature, KVM on ARM, dirty page logging.
Date: Mon, 26 Nov 2012 18:35:33 +0000

On 26 November 2012 17:58, Ian Molton <address@hidden> wrote:
> 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've cc'd the kvmarm mailing list to give this a slightly wider airing.

> 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.

Yeah, not sure if anybody's tested video in a KVM guest.

> 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.

-- PMM



reply via email to

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