qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] vga optmization


From: Stefano Stabellini
Subject: Re: [Qemu-devel] vga optmization
Date: Tue, 04 Nov 2008 15:13:40 +0000
User-agent: Thunderbird 2.0.0.14 (X11/20080505)

Glauber Costa wrote:

> On Tue, Nov 4, 2008 at 12:51 PM, Avi Kivity <address@hidden> wrote:
>> Stefano Stabellini wrote:
>>> Why don't you make qemu_physical_sync_dirty_bitmap take also and end
>>> address, and you merge the two bitmaps in this address range in this
>>> function, so you don't have to change cpu_physical_memory_get_dirty at
>>> all?
>>>
>>> I am saying to do something like:
>>>
>>> void qemu_physical_sync_dirty_bitmap(ram_addr_t start_addr, ram_addr_t
>>> end_addr)
>>> {
>>>        /* sync and merge the two bitmaps between start_addr and end_addr
>>> */
>>> }
>>>
>>> then leave cpu_physical_memory_get_dirty untouched.
>>> I would prefer this approch, it also leaves more space to other
>>> optimizations.
>>>
>> That's how current kvm userspace works.  It's also more correct, since the
>> kvm bitmap feeds both the vga dirty bits and the live migration dirty bits.
> 
> My reason to do this way, was to be lazy about updating the dirty bitmap.
> But if the common case is to check for all pages in the region, then
> it won't matter much.

We have an optimization not to always check for all pages in the region,
 it is not really good looking, but it is working fine.
I could send a patch with this optimization after yours, it only affects
vga.c.




reply via email to

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