From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takuya Yoshikawa Subject: Re: [PATCH 3/4] KVM: Count the number of dirty pages for dirty logging Date: Tue, 20 Dec 2011 13:29:35 +0900 Message-ID: <4EF00F2F.6080305@oss.ntt.co.jp> References: <20111114182041.43570cdf.yoshikawa.takuya@oss.ntt.co.jp> <20111114182334.f57fbeae.yoshikawa.takuya@oss.ntt.co.jp> <4EC0E85F.80004@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: mtosatti@redhat.com, kvm@vger.kernel.org, takuya.yoshikawa@gmail.com To: Avi Kivity Return-path: Received: from serv2.oss.ntt.co.jp ([222.151.198.100]:50465 "EHLO serv2.oss.ntt.co.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751415Ab1LTE2h (ORCPT ); Mon, 19 Dec 2011 23:28:37 -0500 In-Reply-To: <4EC0E85F.80004@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: (2011/11/14 19:07), Avi Kivity wrote: >> @@ -1491,7 +1492,8 @@ void mark_page_dirty_in_slot(struct kvm *kvm, struct kvm_memory_slot *memslot, >> if (memslot&& memslot->dirty_bitmap) { >> unsigned long rel_gfn = gfn - memslot->base_gfn; >> >> - __set_bit_le(rel_gfn, memslot->dirty_bitmap); >> + if (!__test_and_set_bit_le(rel_gfn, memslot->dirty_bitmap)) >> + memslot->nr_dirty_pages++; >> } >> } >> [snip] > btw mark_page_dirty() itself seems to assume mmu_lock protection that > doesn't exist. Marcelo? > I want to hear the answer for this question. Though I myself is reading the code, I cannot understand it thoroughly yet. I wish if there were mmu_lock entry in locking.txt ... Takuya