From: Jan Kiszka <jan.kiszka@siemens.com>
To: Avi Kivity <avi@redhat.com>
Cc: kvm <kvm@vger.kernel.org>
Subject: Re: VMX: System lock-up in guest mode, BIOS under suspect
Date: Mon, 04 Oct 2010 10:41:01 +0200 [thread overview]
Message-ID: <4CA9931D.1080708@siemens.com> (raw)
In-Reply-To: <4CA76AEC.7010604@redhat.com>
Am 02.10.2010 19:25, Avi Kivity wrote:
> On 10/01/2010 06:30 PM, Jan Kiszka wrote:
>> Hi,
>>
>> for the past days I've been trying to understand a very strange hard
>> lock-up of some Intel i7 boxes when running our 16-bit guest OS under
>> KVM. After applying some instrumentation before and after the VM entry
>> (e.g. direct write to VGA memory), it turned out that the system is
>> apparently stuck inside guest mode!
>
> Strictly speaking, it could also be a crash in the small window between
> vmexit and your writes. However it's likely to be as you say.
>
>> I double-checked that VM exits on external IRQs and NMIs are properly
>> enabled in the VMCS - they are. I also tried to capture any potential
>> last words via serial console and even via remote DMA over Firewire) -
>> nothing. This likely means that not only the one core in guest mode is
>> stuck but all the others as well (note: the freeze is reproducible both
>> in UP and SMP mode). Very uncommon for an OS crash I would say...
>>
>> So I decided to go for some nice conspiracy theory and put SMIs and
>> related BIOS code under suspect. Interestingly, this worked out:
>>
>> After disabling all SMIs on my box (Fujitsu Celsius H700) via the
>> chipset register, the hard freezes no longer occurred up to now. My
>> customer was able to confirm this on some Lenovo Notebook as well. We
>> are currently collecting data about the affected systems to correlate
>> it, and we are performing longer test runs.
>>
>> Nevertheless, I would like to collect some first comments on this. I'm
>> specifically wondering...
>>
>> - if there is anything the host OS can mess up to make VM exits crash
>> on the way into SMM or out again (I cannot imagine as the SMM monitor
>> should always be able to run, at least in the absence of CPU
>> erratas).
>
> Yes. It's basically a small hypervisor, and the host OS is its guest.
> So a well written SMM handler should not depend on any OS setting.
> Whether they're actually tested this way is another matter.
>
>> - what the SMM monitor could do wrong to cause such a crash,
>> especially as it looks like the hardware does all the switching for
>> it.
>
> Looks like SMM saves some handler-visible state when EPT is enabled.
> Are all your failures on EPT-capable hosts? If so, what happens when
> EPT is disabled?
All Core i7 should support EPT, so we should have this enabled on all
affected systems. However, ept=0 makes no difference on my box, it still
locks up.
>
>> - if there could still be some KVM crash around host<->guest switching
>> that just happens to be triggered by the SMI noise and that affects
>> the whole system (including cores that do not host KVM threads).
>>
>> Any ideas warmly welcome!
>
> Besides trying with ept=0, I suggest looking for machines that have SMIs
> but do not crash. If we find them, this seems to indicate a badly
> written SMM handler. If not, then there may be a systemic problem with
> kvm (or perhaps all SMM handlers are badly written).
We are looking for the BIOS vendors. In my case, it is Phoenix, but at
least the Lenovos have been re-branded.
Jan
--
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux
prev parent reply other threads:[~2010-10-04 8:41 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-01 16:30 VMX: System lock-up in guest mode, BIOS under suspect Jan Kiszka
2010-10-02 17:25 ` Avi Kivity
2010-10-04 8:41 ` Jan Kiszka [this message]
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=4CA9931D.1080708@siemens.com \
--to=jan.kiszka@siemens.com \
--cc=avi@redhat.com \
--cc=kvm@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox