Messages in this thread | | | Date | Tue, 13 Mar 2012 18:20:45 +0900 | From | Takuya Yoshikawa <> | Subject | Re: [PATCH 2/4] KVM: Avoid checking huge page mappings in get_dirty_log() |
| |
Avi Kivity <avi@redhat.com> wrote:
> It occurs to me that we should write-protect huge page tables, since it > makes write protection much faster (we make up for this later at write > fault time, but that might not occur, and even if it does we reduce > guest jitter). In fact I once proposed a more involved variant, called
Do you mean protecting huge page tables when we start logging and dropping them, one by one, at the time of write fault?
If so, we do not need to change get_dirty_log() implementation. Changing kvm_mmu_remove_write_access() and fault handler seems to be enough.
> O(1) write protection, in which we write-protect the topmost page table > only and only un-write-protect the paths that fault.
> That can be done later however and shouldn't affect this patchset.
I have some additional patches to optimize rmap handling which seems to improve get_dirty_log() about 10% in the worst case.
After that, I want to take some time to prepare for further developments because my current test tools are not enough now.
Takuya
| |