Commit f11c3a8d authored by Amit Shah's avatar Amit Shah Committed by Avi Kivity

KVM: Add stat counter for hypercalls

Signed-off-by: default avatarAmit Shah <amit.shah@qumranet.com>
Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
parent a5f61300
...@@ -72,6 +72,7 @@ struct kvm_stats_debugfs_item debugfs_entries[] = { ...@@ -72,6 +72,7 @@ struct kvm_stats_debugfs_item debugfs_entries[] = {
{ "irq_window", VCPU_STAT(irq_window_exits) }, { "irq_window", VCPU_STAT(irq_window_exits) },
{ "halt_exits", VCPU_STAT(halt_exits) }, { "halt_exits", VCPU_STAT(halt_exits) },
{ "halt_wakeup", VCPU_STAT(halt_wakeup) }, { "halt_wakeup", VCPU_STAT(halt_wakeup) },
{ "hypercalls", VCPU_STAT(hypercalls) },
{ "request_irq", VCPU_STAT(request_irq_exits) }, { "request_irq", VCPU_STAT(request_irq_exits) },
{ "irq_exits", VCPU_STAT(irq_exits) }, { "irq_exits", VCPU_STAT(irq_exits) },
{ "host_state_reload", VCPU_STAT(host_state_reload) }, { "host_state_reload", VCPU_STAT(host_state_reload) },
...@@ -2405,6 +2406,7 @@ int kvm_emulate_hypercall(struct kvm_vcpu *vcpu) ...@@ -2405,6 +2406,7 @@ int kvm_emulate_hypercall(struct kvm_vcpu *vcpu)
} }
vcpu->arch.regs[VCPU_REGS_RAX] = ret; vcpu->arch.regs[VCPU_REGS_RAX] = ret;
kvm_x86_ops->decache_regs(vcpu); kvm_x86_ops->decache_regs(vcpu);
++vcpu->stat.hypercalls;
return 0; return 0;
} }
EXPORT_SYMBOL_GPL(kvm_emulate_hypercall); EXPORT_SYMBOL_GPL(kvm_emulate_hypercall);
......
...@@ -328,6 +328,7 @@ struct kvm_vcpu_stat { ...@@ -328,6 +328,7 @@ struct kvm_vcpu_stat {
u32 fpu_reload; u32 fpu_reload;
u32 insn_emulation; u32 insn_emulation;
u32 insn_emulation_fail; u32 insn_emulation_fail;
u32 hypercalls;
}; };
struct descriptor_table { struct descriptor_table {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment