Skip to content

Commit

Permalink
KVM: PPC: Book3S HV P9: Improve exit timing accounting coverage
Browse files Browse the repository at this point in the history
The C conversion caused exit timing to become a bit cramped. Expand it
to cover more of the entry and exit code.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20210528090752.3542186-18-npiggin@gmail.com
  • Loading branch information
Nicholas Piggin authored and Michael Ellerman committed Jun 10, 2021
1 parent 6d770e3 commit a32ed1b
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions arch/powerpc/kvm/book3s_hv_p9_entry.c
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,8 @@ int kvmhv_vcpu_entry_p9(struct kvm_vcpu *vcpu, u64 time_limit, unsigned long lpc
if (hdec < 0)
return BOOK3S_INTERRUPT_HV_DECREMENTER;

start_timing(vcpu, &vcpu->arch.rm_entry);

if (vc->tb_offset) {
u64 new_tb = mftb() + vc->tb_offset;
mtspr(SPRN_TBU40, new_tb);
Expand Down Expand Up @@ -193,8 +195,6 @@ int kvmhv_vcpu_entry_p9(struct kvm_vcpu *vcpu, u64 time_limit, unsigned long lpc
*/
mtspr(SPRN_HDEC, hdec);

start_timing(vcpu, &vcpu->arch.rm_entry);

vcpu->arch.ceded = 0;

WARN_ON_ONCE(vcpu->arch.shregs.msr & MSR_HV);
Expand Down Expand Up @@ -337,8 +337,6 @@ int kvmhv_vcpu_entry_p9(struct kvm_vcpu *vcpu, u64 time_limit, unsigned long lpc

accumulate_time(vcpu, &vcpu->arch.rm_exit);

end_timing(vcpu);

/* Advance host PURR/SPURR by the amount used by guest */
purr = mfspr(SPRN_PURR);
spurr = mfspr(SPRN_SPURR);
Expand Down Expand Up @@ -402,6 +400,8 @@ int kvmhv_vcpu_entry_p9(struct kvm_vcpu *vcpu, u64 time_limit, unsigned long lpc

switch_mmu_to_host_radix(kvm, host_pidr);

end_timing(vcpu);

return trap;
}
EXPORT_SYMBOL_GPL(kvmhv_vcpu_entry_p9);

0 comments on commit a32ed1b

Please sign in to comment.