From: Lai Jiangshan <jiangshan.ljs@xxxxxxxxxxxx> mmu_pages_clear_parents() is not really required (see patch4). mmu_unsync_walk() can be simplified when the function is removed. Lai Jiangshan (12): KVM: X86/MMU: Warn if sp->unsync_children > 0 in link_shadow_page() KVM: X86/MMU: Rename kvm_unlink_unsync_page() to kvm_mmu_page_clear_unsync() KVM: X86/MMU: Split a part of kvm_unsync_page() as kvm_mmu_page_mark_unsync() KVM: X86/MMU: Remove mmu_pages_clear_parents() KVM: X86/MMU: Clear unsync bit directly in __mmu_unsync_walk() KVM: X86/MMU: Rename mmu_unsync_walk() to mmu_unsync_walk_and_clear() KVM: X86/MMU: Remove the useless struct mmu_page_path KVM: X86/MMU: Remove the useless idx from struct kvm_mmu_pages KVM: X86/MMU: Unfold struct mmu_page_and_offset in struct kvm_mmu_pages KVM: X86/MMU: Don't add parents to struct kvm_mmu_pages KVM: X86/MMU: Remove mmu_pages_first() and mmu_pages_next() KVM: X86/MMU: Rename struct kvm_mmu_pages to struct kvm_mmu_page_vec arch/x86/kvm/mmu/mmu.c | 173 ++++++++++++----------------------------- 1 file changed, 51 insertions(+), 122 deletions(-) -- 2.19.1.6.gb485710b