On 2011-01-17 01:54, Huang Ying wrote: > On Sat, 2011-01-15 at 17:00 +0800, Jan Kiszka wrote: >> From: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> >> >> This case is a pure user space error we do not need to record. Moreover, >> it can be misused to flood the kernel log. Remove it. > > I don't think this is a pure user space error. This happens on real > hardware too, if the Machine Check exception is raised during early boot > stage or the second MC exception is raised before the first MC exception > is processed/cleared. > > So I use printk here to help debugging these issues. > > To avoid flooding the kernel log, we can use ratelimit. With user space I meant qemu, and maybe "error" was the wrong term. This code path is only triggered if qemu decides to. And there you may also print this event (and you already do). Another reason to not rely on catching this case here: KVM_X86_SET_MCE is obsolete on current kernels. Qemu will use a combination of KVM_SET_MSRS and KVM_SET_VCPU_EVENTS in the future, only falling back to this interface on pre-vcpu-events kernels. Then you need to debug this in user space anyway as the triple fault will no longer make it to the kernel. Jan > > Best Regards, > Huang Ying > >> Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> >> --- >> arch/x86/kvm/x86.c | 3 --- >> 1 files changed, 0 insertions(+), 3 deletions(-) >> >> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c >> index 9dda70d..7f7e4a5 100644 >> --- a/arch/x86/kvm/x86.c >> +++ b/arch/x86/kvm/x86.c >> @@ -2575,9 +2575,6 @@ static int kvm_vcpu_ioctl_x86_set_mce(struct kvm_vcpu *vcpu, >> if (mce->status & MCI_STATUS_UC) { >> if ((vcpu->arch.mcg_status & MCG_STATUS_MCIP) || >> !kvm_read_cr4_bits(vcpu, X86_CR4_MCE)) { >> - printk(KERN_DEBUG "kvm: set_mce: " >> - "injects mce exception while " >> - "previous one is in progress!\n"); >> kvm_make_request(KVM_REQ_TRIPLE_FAULT, vcpu); >> return 0; >> } > >
Attachment:
signature.asc
Description: OpenPGP digital signature