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