From: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
To: Gerhard Brauer <gerhard.brauer@web.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>,
"Luiz Fernando N. Capitulino" <lcapitulino@mandriva.com.br>,
Ingo Molnar <mingo@elte.hu>,
linux-kernel@vger.kernel.org
Subject: Re: 2.6.{26.2,27-rc} oops on virtualbox
Date: Tue, 26 Aug 2008 10:53:38 -0400 [thread overview]
Message-ID: <20080826145338.GA8601@Krystal> (raw)
In-Reply-To: <20080826141851.GA5300@tux1.brauer.lan>
* Gerhard Brauer (gerhard.brauer@web.de) wrote:
> On Fri, Aug 22, 2008 at 02:08:13PM -0700, H. Peter Anvin wrote:
> > Luiz Fernando N. Capitulino wrote:
> >>
> >> I have asked Mandriva and Ubuntu users to test this and all of
> >> them so far are saying that noreplace-paravirt works.
> >>
> >> It makes the system slower, but it works.
> >>
> >
> > Yes, the big issue is exactly what VirtualBox screws up in this matter,
> > how to detect it, and how to work around it.
> >
> > It's pretty clear it's a VirtualBox f*ckup at this point, but the failure
> > mechanism isn't at all obvious and so far the workaround is elusive.
> >
> > I'm strongly suspect this is a VirtualBox tcache management failure, but
> > that doesn't help the situation without knowing how it happens.
>
> On Archlinux we have the same problem. We have a bugreport here:
> http://bugs.archlinux.org/task/11141
>
> Myself test it with a LiveCD/Install-ISO which has 2.6.26 as install
> kernel. We have the guest oops on virtualbox-ose, virtualbox-sun and both on
> i686 or x86_64 hosts.
>
> Some things i noticed:
> - The system boots always when i either enable VT-x in guest settings or
> disable acpi and run the guest with acpi=off.
> - The oops occurs always on (disk)-io, no matter which file system i
> use.
> - When the oops has occured and the guest has to close and restart then,
> if i don't use VT-x or acpi=off, i always get an oops directly when
> initrd/kernel is starting. Last screen message before the oops then is
> "Freeing SMP alternatives".
>
> Here is also an archive with guest dmesg and messages.log from such an
> oops when heavy disk io leads to the oops:
> http://bugs.archlinux.org/task/11141?getfile=2445
>
Hrm, can you try this ?
1 - Make sure you kernel is not CONFIG_DEBUG_RODATA
2 - Change the whole text_poke implementation in
arch/x86/kernel/alternative.c to this :
void *__kprobes text_poke(void *addr, const void *opcode, size_t len)
{
return text_poke_early(addr, opcode, len);
}
If this works, I suspect that the problem comes from a vmap/vunmap
problem. If it still fails, the problem would likely come from a race
with interrupt disabling probably due to missing data/instruction cache
flush.
Then, after having tested (2), try this on top of it :
In arch/x86/kernel/alternative.c, alternatives_smp_switch()
Add unsigned long flags;
Change
spin_lock -> spin_lock_irqsave(&smp_alt, flags);
spin_unlock(&smp_alt); -> spin_unlock_irqrestore(&smp_alt, flags);
This will help testing if there is a problem with interrupts coming
shortly after the modification. If it fixes the problem, my guess is
that we should flush the instruction cache (and maybe the data cache ?)
in text_poke and text_poke early when interrupts are off.
Mathieu
>
> > -hpa
>
> Gerhard
>
> --
> Standards sind eine tolle Sache.
> Ich finde, jeder sollte einen haben.
--
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
next prev parent reply other threads:[~2008-08-26 14:53 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-20 19:29 2.6.{26.2,27-rc} oops on virtualbox Luiz Fernando N. Capitulino
2008-08-21 21:34 ` H. Peter Anvin
2008-08-22 6:42 ` H. Peter Anvin
2008-08-22 6:50 ` Ingo Molnar
2008-08-22 14:39 ` Luiz Fernando N. Capitulino
2008-08-22 15:34 ` Mathieu Desnoyers
2008-08-22 16:29 ` Luiz Fernando N. Capitulino
2008-08-22 16:35 ` Mathieu Desnoyers
2008-08-22 17:20 ` Luiz Fernando N. Capitulino
2008-08-22 18:11 ` H. Peter Anvin
2008-08-22 19:40 ` Luiz Fernando N. Capitulino
2008-08-22 20:31 ` H. Peter Anvin
2008-08-22 20:55 ` Luiz Fernando N. Capitulino
2008-08-22 20:57 ` Luiz Fernando N. Capitulino
2008-08-22 21:08 ` H. Peter Anvin
2008-08-26 14:18 ` Gerhard Brauer
2008-08-26 14:53 ` Mathieu Desnoyers [this message]
2008-08-26 16:09 ` Luiz Fernando N. Capitulino
2008-08-26 16:13 ` Luiz Fernando N. Capitulino
2008-08-26 17:18 ` Mathieu Desnoyers
2008-08-26 17:32 ` H. Peter Anvin
2008-08-26 18:02 ` Luiz Fernando N. Capitulino
2008-08-26 18:15 ` Mathieu Desnoyers
2008-08-26 19:52 ` H. Peter Anvin
2008-08-26 20:34 ` Gerhard Brauer
2008-08-26 20:48 ` Mathieu Desnoyers
2008-08-26 21:25 ` Gerhard Brauer
2008-08-26 21:35 ` Mathieu Desnoyers
2008-08-26 21:51 ` H. Peter Anvin
2008-08-27 0:13 ` Gerhard Brauer
2008-08-27 19:13 ` Luiz Fernando N. Capitulino
2008-08-27 23:33 ` Mathieu Desnoyers
2008-08-28 13:30 ` Luiz Fernando N. Capitulino
2008-08-31 9:29 ` Gerhard Brauer
2008-08-31 13:28 ` Stefan Lippers-Hollmann
2008-08-31 14:03 ` Gerhard Brauer
2008-08-31 14:09 ` Luiz Fernando N. Capitulino
2008-09-21 13:41 ` Gerhard Brauer
2008-09-22 9:51 ` Ingo Molnar
2008-09-24 13:24 ` Luiz Fernando N. Capitulino
2008-08-28 13:50 ` Gerhard Brauer
2008-08-26 19:27 ` Gerhard Brauer
2008-08-26 16:02 ` Luiz Fernando N. Capitulino
2008-08-26 16:40 ` Gerhard Brauer
2008-08-22 17:16 ` H. Peter Anvin
2008-08-22 17:45 ` Mathieu Desnoyers
2008-08-22 17:57 ` H. Peter Anvin
2008-08-22 19:10 ` Luiz Fernando N. Capitulino
2008-08-22 19:14 ` H. Peter Anvin
2008-08-22 19:18 ` H. Peter Anvin
2008-08-22 19:42 ` Luiz Fernando N. Capitulino
2008-08-22 14:28 ` Luiz Fernando N. Capitulino
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=20080826145338.GA8601@Krystal \
--to=mathieu.desnoyers@polymtl.ca \
--cc=gerhard.brauer@web.de \
--cc=hpa@zytor.com \
--cc=lcapitulino@mandriva.com.br \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
/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