kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Avi Kivity <avi@redhat.com>
To: Tejun Heo <tj@kernel.org>
Cc: Andrew Theurer <habanero@linux.vnet.ibm.com>,
	kvm@vger.kernel.org, Linux-kernel@vger.kernel.org
Subject: Re: kernel bug in kvm_intel
Date: Sun, 01 Nov 2009 12:20:48 +0200	[thread overview]
Message-ID: <4AED6100.6040804@redhat.com> (raw)
In-Reply-To: <4AED5C3F.9050506@kernel.org>

On 11/01/2009 12:00 PM, Tejun Heo wrote:
> Hello,
>
> Avi Kivity wrote:
>    
>> Only, that merge doesn't change virt/kvm or arch/x86/kvm.
>>
>> Tejun, anything known bad about that merge?  ada3fa15 kills kvm.
>>      
> Nothing rings a bell at the moment.  How does it kill kvm?  One big
> difference caused by that merge is use of sparse areas near the top of
> vmalloc area.  This caused vmalloc area shortage on sparc64 and
> exposed paging code bug on ppc64 which caused the cpu to fault
> repeatedly on the same address.  Maybe something similiar is happening
> with kvm?
>
>    

We get a page fault immediately (next instruction) after returning from 
the guest when running with oprofile.  The page fault address does not 
match anything the instruction does, so presumably it is one of the 
accesses the processor performs in order to service an NMI (ordinary 
interrupts are masked; and the fact that it happens with oprofile 
strengthens this assumption).

If this is correct, the fault is not in the NMI handler itself, but in 
one of the memory areas the cpu looks in to vector the NMI, which can be:

- the IDT
- the GDT
- the TSS
- the NMI stack

Except for the IDT these are per-cpu structure, though I don't know 
whether they are allocated with the percpu infrastructure.

Here is the code in question:

>     3ae7:       75 05                   jne    3aee<vmx_vcpu_run+0x26a>
>       3ae9:       0f 01 c2                vmlaunch
>       3aec:       eb 03                   jmp    3af1<vmx_vcpu_run+0x26d>
>       3aee:       0f 01 c3                vmresume
>       3af1:       48 87 0c 24             xchg   %rcx,(%rsp)

^^^ fault, but not at (%rsp)

>       3af5:       48 89 81 18 01 00 00    mov    %rax,0x118(%rcx)
>       3afc:       48 89 99 30 01 00 00    mov    %rbx,0x130(%rcx)




--

error compiling committee.c: too many arguments to function

  reply	other threads:[~2009-11-01 10:20 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-09 20:04 kernel bug in kvm_intel Andrew Theurer
2009-10-11  5:19 ` Avi Kivity
2009-10-12 18:42   ` Andrew Theurer
2009-10-13  6:50     ` Avi Kivity
2009-10-13 14:04       ` Andrew Theurer
2009-10-14 17:10         ` Avi Kivity
2009-10-15 20:18           ` Andrew Theurer
2009-10-30 18:07             ` Andrew Theurer
2009-10-31 15:47               ` Avi Kivity
2009-10-31 16:25                 ` Andrew Theurer
2009-10-31 16:32                   ` Avi Kivity
2009-10-31 16:38                     ` Avi Kivity
2009-11-01 10:00                       ` Tejun Heo
2009-11-01 10:20                         ` Avi Kivity [this message]
2009-11-01 10:45                           ` Tejun Heo
2009-11-01 11:31                             ` Avi Kivity
2009-11-18  9:26                               ` Tejun Heo
2009-11-26  1:35                                 ` Andrew Theurer
2009-11-26  1:41                                   ` Tejun Heo
2009-11-26 10:31                                   ` Avi Kivity
2009-11-26 13:47                                     ` Andrew Theurer
2009-11-29 14:46                                   ` Avi Kivity
2009-11-30 16:27                                     ` Andrew Theurer
2009-10-13 14:31       ` 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=4AED6100.6040804@redhat.com \
    --to=avi@redhat.com \
    --cc=Linux-kernel@vger.kernel.org \
    --cc=habanero@linux.vnet.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=tj@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;
as well as URLs for NNTP newsgroup(s).