[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Heavy memory_region_get_dirty() -- Re: [PATCH 0/1 v2] K
From: |
Avi Kivity |
Subject: |
Re: [Qemu-devel] Heavy memory_region_get_dirty() -- Re: [PATCH 0/1 v2] KVM: Alleviate mmu_lock contention during dirty logging |
Date: |
Wed, 02 May 2012 14:33:55 +0300 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20120329 Thunderbird/11.0.1 |
On 05/02/2012 02:24 PM, Takuya Yoshikawa wrote:
> During checking mmu_lock contention, I noticed that QEMU's
> memory_region_get_dirty() was using unexpectedly much CPU time.
>
> Thanks,
> Takuya
>
> =============================
> perf top -t ${QEMU_TID}
> =============================
> 51.52% qemu-system-x86_64 [.] memory_region_get_dirty
> 16.73% qemu-system-x86_64 [.] ram_save_remaining
>
memory_region_get_dirty() is called from ram_save_remaining(). Looks
like quadratic behaviour here: we send a few pages in
ram_save_remaining(), then walk the entire dirty bitmap to calculate
expected_time().
We should probably calculate expected_time once per iteration.
--
error compiling committee.c: too many arguments to function