All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@web.de>
To: Huang Ying <ying.huang@intel.com>
Cc: Avi Kivity <avi@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, kvm <kvm@vger.kernel.org>
Subject: Re: [PATCH] KVM: x86: Remove user space triggerable MCE error message
Date: Mon, 17 Jan 2011 09:01:22 +0100	[thread overview]
Message-ID: <4D33F752.2090106@web.de> (raw)
In-Reply-To: <1295249471.10748.91.camel@yhuang-dev>

[-- Attachment #1: Type: text/plain, Size: 2069 bytes --]

On 2011-01-17 08:31, Huang Ying wrote:
> On Mon, 2011-01-17 at 15:11 +0800, Jan Kiszka wrote:
>> 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@siemens.com>
>>>>
>>>> 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.
> 
> Not only decided by qemu, but also decided by guest OS.  If guest OS
> does not clear the MSR or guest OS does not set the X86_CR4_MCE bit in
> the cr4, the triple fault will be triggered.

Right, but qemu has full access to the state and can detect this.

> 
>> And there you may also
>> print this event (and you already do).
> 
> Sorry, which print do you mean?  I can not find similar print in user
> space.

Err, it's not yet there for the kvm case, I was starring at the tcg code
path.

> 
>> 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.
> 
> OK.  Then, I think it will be helpful for debugging if we can print
> something like this in user space implementation.

qemu_log_mask(CPU_LOG_RESET, "Triple fault\n");

(and there will be a message on the monitor if raised manually)

Jan


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 259 bytes --]

  reply	other threads:[~2011-01-17  8:01 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-15  9:00 [PATCH] KVM: x86: Remove user space triggerable MCE error message Jan Kiszka
2011-01-17  0:54 ` Huang Ying
2011-01-17  7:11   ` Jan Kiszka
2011-01-17  7:31     ` Huang Ying
2011-01-17  8:01       ` Jan Kiszka [this message]
2011-01-20 16:04 ` Marcelo Tosatti

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D33F752.2090106@web.de \
    --to=jan.kiszka@web.de \
    --cc=avi@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=mtosatti@redhat.com \
    --cc=ying.huang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.