qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 6/6] kvm: Fix dirty tracking with large kernel p


From: Blue Swirl
Subject: Re: [Qemu-devel] [PATCH 6/6] kvm: Fix dirty tracking with large kernel page size
Date: Sat, 3 Mar 2012 15:29:39 +0000

On Mon, Feb 27, 2012 at 00:36, Alexander Graf <address@hidden> wrote:
>
> On 26.02.2012, at 22:41, Blue Swirl wrote:
>
>> On Fri, Feb 24, 2012 at 00:23, David Gibson <address@hidden> wrote:
>>> From: Benjamin Herrenschmidt <address@hidden>
>>>
>>> If the kernel page size is larger than TARGET_PAGE_SIZE, which
>>> happens for example on ppc64 with kernels compiled for 64K pages,
>>> the dirty tracking doesn't work.
>>
>> I think a better solution would be to push this to memory API and
>> underlying exec.c dirty tracking so that they use the same page size
>> as kernel (only in this KVM case, in general dirty tracking should
>> match TARGET_PAGE_SIZE granularity).
>
> Yeah, that would allow us to make sure we only align MMIO regions where we 
> can, but I don't think it's an easy change to make. And this way the common 
> page size throughout QEMU is TARGET_PAGE_SIZE, which other pieces of code 
> rely on. Also, dynamically changing TARGET_PAGE_SIZE has unknown performance 
> implications.
>
> So for the time being, I definitely think this is the right approach. It's 
> easy and isolated :).

Laziness ;-) This could be the initial approach though and someone
could improve upon it later.

For better performance, KVM and QEMU could even share the bit maps (if
the page sizes are kept in synch) so there would be no need to
synchronize. But if MMU page sizes are not constant (huge pages, huge
gaps), also bit map approach could be suboptimal and some other way
could be needed.

>
>
> Alex
>



reply via email to

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