Commit 32de0749 authored by QingFeng Hao's avatar QingFeng Hao Committed by Christian Borntraeger

KVM: add machine check counter to kvm_stat

This counter can be used for administration, debug or test purposes.
Suggested-by: default avatarVladislav Mironov <mironov@de.ibm.com>
Signed-off-by: default avatarQingFeng Hao <haoqf@linux.vnet.ibm.com>
Reviewed-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: default avatarCornelia Huck <cohuck@redhat.com>
Reviewed-by: default avatarDavid Hildenbrand <david@redhat.com>
Signed-off-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
parent 25840030
...@@ -320,6 +320,7 @@ struct kvm_vcpu_stat { ...@@ -320,6 +320,7 @@ struct kvm_vcpu_stat {
u64 deliver_restart_signal; u64 deliver_restart_signal;
u64 deliver_program_int; u64 deliver_program_int;
u64 deliver_io_int; u64 deliver_io_int;
u64 deliver_machine_check;
u64 exit_wait_state; u64 exit_wait_state;
u64 instruction_epsw; u64 instruction_epsw;
u64 instruction_gs; u64 instruction_gs;
......
...@@ -595,6 +595,7 @@ static int __must_check __deliver_machine_check(struct kvm_vcpu *vcpu) ...@@ -595,6 +595,7 @@ static int __must_check __deliver_machine_check(struct kvm_vcpu *vcpu)
trace_kvm_s390_deliver_interrupt(vcpu->vcpu_id, trace_kvm_s390_deliver_interrupt(vcpu->vcpu_id,
KVM_S390_MCHK, KVM_S390_MCHK,
mchk.cr14, mchk.mcic); mchk.cr14, mchk.mcic);
vcpu->stat.deliver_machine_check++;
rc = __write_machine_check(vcpu, &mchk); rc = __write_machine_check(vcpu, &mchk);
} }
return rc; return rc;
......
...@@ -88,6 +88,7 @@ struct kvm_stats_debugfs_item debugfs_entries[] = { ...@@ -88,6 +88,7 @@ struct kvm_stats_debugfs_item debugfs_entries[] = {
{ "deliver_restart_signal", VCPU_STAT(deliver_restart_signal) }, { "deliver_restart_signal", VCPU_STAT(deliver_restart_signal) },
{ "deliver_program_interruption", VCPU_STAT(deliver_program_int) }, { "deliver_program_interruption", VCPU_STAT(deliver_program_int) },
{ "deliver_io_interrupt", VCPU_STAT(deliver_io_int) }, { "deliver_io_interrupt", VCPU_STAT(deliver_io_int) },
{ "deliver_machine_check", VCPU_STAT(deliver_machine_check) },
{ "exit_wait_state", VCPU_STAT(exit_wait_state) }, { "exit_wait_state", VCPU_STAT(exit_wait_state) },
{ "instruction_epsw", VCPU_STAT(instruction_epsw) }, { "instruction_epsw", VCPU_STAT(instruction_epsw) },
{ "instruction_gs", VCPU_STAT(instruction_gs) }, { "instruction_gs", VCPU_STAT(instruction_gs) },
......
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