KVM: X86: Update mmu->pdptrs only when it is changed
It is unchanged in most cases. Signed-off-by: Lai Jiangshan <laijs@linux.alibaba.com> Message-Id: <20211111144527.88852-1-jiangshanlai@gmail.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
2e9ebd5509
commit
24cd19a28c
@ -828,9 +828,12 @@ int load_pdptrs(struct kvm_vcpu *vcpu, struct kvm_mmu *mmu, unsigned long cr3)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
kvm_register_mark_available(vcpu, VCPU_EXREG_PDPTR);
|
||||||
|
if (memcmp(mmu->pdptrs, pdpte, sizeof(mmu->pdptrs))) {
|
||||||
memcpy(mmu->pdptrs, pdpte, sizeof(mmu->pdptrs));
|
memcpy(mmu->pdptrs, pdpte, sizeof(mmu->pdptrs));
|
||||||
kvm_register_mark_dirty(vcpu, VCPU_EXREG_PDPTR);
|
kvm_register_mark_dirty(vcpu, VCPU_EXREG_PDPTR);
|
||||||
kvm_make_request(KVM_REQ_LOAD_MMU_PGD, vcpu);
|
kvm_make_request(KVM_REQ_LOAD_MMU_PGD, vcpu);
|
||||||
|
}
|
||||||
vcpu->arch.pdptrs_from_userspace = false;
|
vcpu->arch.pdptrs_from_userspace = false;
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user