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 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html