qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 7/7] Fake dirty loggin when it's not there


From: Alexander Graf
Subject: Re: [Qemu-devel] [PATCH 7/7] Fake dirty loggin when it's not there
Date: Fri, 17 Jul 2009 15:23:44 +0200


On 17.07.2009, at 15:18, Stefano Stabellini wrote:

On Fri, 17 Jul 2009, Alexander Graf wrote:
Thinking about this again, you'd have to copy it somewhere before. So
on every dirty check you'd have to copy all memory off to "somewhere"
to be able to check for it again later.

Sounds feasible, but is it really worth the effort? Can Xen do dirty
logging?

Sure it can now, but it used to have a memcmp based mechanism before,
and it had decent performances, while setting everything as dirty every time it is going to be a killer (at least if you do this under xen it is).

Hum, strage. For now the PPC target has bigger (performance) issues than dirty logging though :-).

Besides I don't know how the dirty tracking is implemented in kvm, but
it is not so good from a performance point of view in the HAP case,
because you have to set the videoram as read only and catch every write
(this how we do it at least) so it would be interesting to compare the
two approaches.

The current implementation does the same. Videoram is set r/o and on first write the log gets filled.

I was thinking of implementing a lazy dirty log that would check the pagetable's dirty bits when the dirty log is requested. That way we might save some time. We'd need to invalidate the entries in the current scheme anyways, so why not just read dirty and set it to 0?

On PPC this gets even more complicated, because nobody guarantees that the page you mapped is still in the "pagetable". So it might as well only live in the TLB or not at all anymore.

But then again I need to get dirty logging implemented for PPC at all first :-)

Alex





reply via email to

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