public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Johannes Stezenbach <js@sig21.net>
To: Rusty Russell <rusty@rustcorp.com.au>
Cc: lguest@ozlabs.org, linux-kernel@vger.kernel.org,
	Ingo Molnar <mingo@elte.hu>,
	Arjan van de Ven <arjan@infradead.org>,
	Jeremy Fitzhardinge <jeremy@goop.org>
Subject: [Lguest] 2.6.33 guest crash (was: Re: 2.6.32-rc5 guest crash)
Date: Sun, 14 Mar 2010 18:34:59 +0100	[thread overview]
Message-ID: <20100314173459.GA919@sig21.net> (raw)
In-Reply-To: <200910261426.05769.rusty@rustcorp.com.au>

On Mon, Oct 26, 2009 at 02:26:04PM +1030, Rusty Russell wrote:
> On Mon, 26 Oct 2009 04:25:21 am Johannes Stezenbach wrote:
> > 
> > I'm using linux-2.6.32-rc5-81-g964fe08 as both host and guest,
> > and the guest crashes on boot:
> > 
> > Calibrating delay loop... 
> > general protection fault: 0000 [#1] PREEMPT SMP 
> > last sysfs file: 
> > Modules linked in:
> > 
> > Pid: 0, comm: swapper Not tainted (2.6.32-rc5 #1) 
> > EIP: 0061:[<c11f915d>] EFLAGS: 00010046 CPU: 0
> > EIP is at cmpxchg8b_emu+0x1/0x12

I recently installed 2.6.33 and now the error which was
fixed in 2.6.32 is back since the fix got reverted in
db677ffa5f5a4f15b9dad4d132b3477b80766d82

What now?

Am I correct to assume that I can avoid the issue
by switching to a 64bit kernel (on host + guest)?


> OK, it's the non-paravirt "cli" we're breaking on (the pushfl is bad too).
> 
> This is because alternatives haven't been subbed yet.  The Right Thing is to
> make this asm code paravirt aware.  The Easy Thing is to fix this code to
> only get included when we're actually compiling for a 386 or 486 (this was
> introduced with the original pentium AFAICT).
> 
> How's this Ingo, Arjan?
> 
> Subject: x86: sidestep lguest problem by only building cmpxchg8b_emu for pre-Pentium
> 
> Arjen's 79e1dd05d1a22 "x86: Provide an alternative() based cmpxchg64()" broke
> lguest, even on systems which have cmpxchg8b support.  The emulation code
> gets used until alternatives get run, but it contains native instructions,
> not their paravirt alternatives.
> 
> The simplest fix is to turn this code off except for 386 and 486 builds.
> 
> Reported-by: Johannes Stezenbach <js@sig21.net>
> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
> 
> diff --git a/arch/x86/Kconfig.cpu b/arch/x86/Kconfig.cpu
> --- a/arch/x86/Kconfig.cpu
> +++ b/arch/x86/Kconfig.cpu
> @@ -400,7 +400,7 @@ config X86_TSC
>  
>  config X86_CMPXCHG64
>  	def_bool y
> -	depends on X86_PAE || X86_64 || MCORE2 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MATOM
> +	depends on !M386 && !M486
>  
>  # this should be set for all -march=.. options where the compiler
>  # generates cmov.
> 
> 
> 
> 

Thanks
Johannes

  parent reply	other threads:[~2010-03-14 17:33 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20091025175521.GA13300@sig21.net>
2009-10-26  3:56 ` [Lguest] 2.6.32-rc5 guest crash Rusty Russell
2009-10-26 11:38   ` [tip:x86/urgent] x86: Side-step lguest problem by only building cmpxchg8b_emu for pre-Pentium tip-bot for Rusty Russell
2009-10-26 19:11   ` [Lguest] 2.6.32-rc5 guest crash Johannes Stezenbach
2010-03-14 17:34   ` Johannes Stezenbach [this message]
2010-03-14 21:23     ` [Lguest] 2.6.33 guest crash (was: Re: 2.6.32-rc5 guest crash) Johannes Stezenbach
2010-03-30  4:27       ` Rusty Russell
2010-03-30  4:51         ` [Lguest] 2.6.33 guest crash Jeremy Fitzhardinge
2010-04-13 15:29         ` [Lguest] 2.6.33 guest crash (was: Re: 2.6.32-rc5 guest crash) Johannes Stezenbach

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=20100314173459.GA919@sig21.net \
    --to=js@sig21.net \
    --cc=arjan@infradead.org \
    --cc=jeremy@goop.org \
    --cc=lguest@ozlabs.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=rusty@rustcorp.com.au \
    /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