Re: qemu-kvm.git now live

Jan Kiszka <[email protected]>
Newsgroups org.kernel.vger.kvm-ia64,org.kernel.vger.kvm,org.kernel.vger.kvm-ppc
Message-ID <[email protected]>
Avi Kivity wrote:
> Jan Kiszka wrote:
>>> If migration disables dirty memory logging, it must keep the vga logging
>>> enabled, and vice versa.
>>>     
>>
>> So we need some notifier callbacks on slot changes so that all users can
>> re-enable dirty logging after the update as required. 
> 
> Simpler to do reference counting.  When a user enables logging for a
> memory range, the refcount for all slots containing that range gets
> bumped.  When a user enables logging for all of memory, a global
> refcount is bumped.  For a given slot, dirty logging is enabled if
> either the slot logging refcount or the global logging refcount is nonzero.

OK, but then we just need to check for that global flag after
registering/modifying slots and enable logging unconditionally. That's
indeed a simple add-on.

> 
> That's sort of what's implemented in qemu-kvm.git.  In qemu.git vga
> logging does not get disabled, which is really broken.  It prevents
> optimizations like disabling logging when the screen is not displayed to
> a human.

Is there a channel that tells vga "nothing will be displayed"? I may
have missed it while removing all those disable-logging-as-it-may-
confuse-slot-management hooks.

> 
>> Where/how does the
>> migration code disable dirty logging?
>>   
> 
> Should be phase 3 of ram_save_live().

But only in qemu-kvm. What is the plan about pushing it upstream? Then
we could discuss how to extend the exiting support best.

Jan

-- 
Siemens AG, Corporate Technology, CT SE 2
Corporate Competence Center Embedded Linux
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.