All of lore.kernel.org
 help / color / mirror / Atom feed
From: Philippe Gerum <rpm@xenomai.org>
To: "M. Koehrer" <mathias_koehrer@domain.hid>
Cc: xenomai@xenomai.org, jan.kiszka@domain.hid
Subject: Re: [Xenomai-help] Xenomai and MSI enabled crashes kernel
Date: Wed, 02 May 2007 16:47:17 +0200	[thread overview]
Message-ID: <1178117237.5111.123.camel@domain.hid> (raw)
In-Reply-To: <26575694.1178110645829.JavaMail.ngmail@domain.hid>

On Wed, 2007-05-02 at 14:57 +0200, M. Koehrer wrote:
> Hi Jan,
> 
> I have looked closed into that issue.
> For that I have added a global array that is written within  
> __ipipe_handle_irq() (file arch/i386/kernel/ipipe.c):
> 
>                 extern int xxx_int[];
>                 irq = ~irq;
> 
>                 xxx_int[0] = irq;
> 
> #ifdef CONFIG_X86_LOCAL_APIC
>                 {
>                         unsigned vector = irq + FIRST_EXTERNAL_VECTOR;
>                         if (vector >= FIRST_SYSTEM_VECTOR)
>                                 irq = ipipe_apic_vector_irq(vector);
>                 }
> 
>                  xxx_int[1] = irq;
> 
> 
> This global variable is printed out within the kernel trap.
> It returns the values 0xcf and 0xe0 (207 and 224) for xxx_int[0], xxx_int[1].
> And this is the really strange thing as the IRQ for the e1000 should be 219 (on a non-adeos-patched kernel).
> I do not know what happens here, but it looks really strange...
> 

It's not, this is ok. Fact is that 0xcf is the LAPIC's local timer
interrupt vectored from 0xef, this has nothing to do with the e1000 IRQ.
The effect of my latest patch is to remap this value to the 224-256
range for IRQ numbers which Adeos now reserves to system interrupts on
your setup, i.e. 0xcf becomes interrupt number 224, because it is a
system interrupt.

As a sidenote, let's not draw any conclusion regarding the interrupt
number that might cause the bug for now, we just don't have any
guarantee that the boot log is not lying at us so far; e.g. the latest
IRQ trace could well be stuck into the printk() ring buffer, regardless
of ipipe_set_printk_sync() being in effect for the root domain or not.
What we'd need is a raw serial console output routine (i.e.
__ipipe_debug_serial() from other Adeos ports), but I've not implemented
this for x86, unfortunately.

The sole and only important thing to achieve right now, is to have this
bug 100% reproducible on a stabilized setup, which also provides enough
instrumentation to allow further debugging without moving targets. It's
an interrupt-related bug, no wonder it may have multiple incarnations,
so let's choose one and only one of them, we could trace.

What I need to know, is which code is laid at address
__ipipe_handle_irq+0x26b, this is why I asked for the disassembly.
Each change in the kernel code or configuration option will much likely
change this address, for that reason, what we need is:

- get back to CONFIG_DEBUG_KERNEL off, since enabling it changes the
behaviour
- boot the machine, and hopefully get back to the usual BUG() message,
- send a copy of the kernel disassembly along with the boot log.

Without that, I have no mean to help debugging anything, I'm afraid.

-- 
Philippe.




  parent reply	other threads:[~2007-05-02 14:47 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-02 12:57 [Xenomai-help] Xenomai and MSI enabled crashes kernel M. Koehrer
2007-05-02 13:23 ` Jan Kiszka
2007-05-02 14:47 ` Philippe Gerum [this message]
2007-05-03  7:06   ` M. Koehrer
2007-05-03  8:29     ` Philippe Gerum
  -- strict thread matches above, loose matches on Subject: below --
2007-05-07  7:11 M. Koehrer
2007-05-04  7:45 M. Koehrer
2007-05-04  7:59 ` Jan Kiszka
2007-05-04  8:20   ` M. Koehrer
2007-05-04 12:20     ` Philippe Gerum
2007-05-04 12:46       ` M. Koehrer
2007-05-04 13:03         ` Philippe Gerum
2007-05-05 17:21       ` Philippe Gerum
2007-05-08 11:53         ` M. Koehrer
2007-05-08 12:28           ` Philippe Gerum
2007-05-08 12:38             ` M. Koehrer
2007-05-08 13:28               ` Philippe Gerum
2007-05-08 13:37               ` Philippe Gerum
2007-05-08 14:35                 ` M. Koehrer
2007-05-09  8:00                   ` Philippe Gerum
2007-04-26 12:04 M. Koehrer
2007-04-27 11:48 ` Jan Kiszka
2007-04-27 13:14   ` Philippe Gerum
2007-04-27 13:22     ` Jan Kiszka
2007-04-27 13:31       ` M. Koehrer
2007-04-27 13:47         ` Jan Kiszka
2007-04-27 14:08           ` M. Koehrer
2007-04-27 14:19             ` Philippe Gerum
2007-04-27 14:28               ` M. Koehrer
2007-04-27 14:40                 ` Philippe Gerum
2007-04-27 14:56                 ` Philippe Gerum
2007-04-27 15:05                   ` Philippe Gerum
2007-04-27 15:10                     ` M. Koehrer
2007-04-27 15:36                       ` Philippe Gerum
2007-04-27 15:41                         ` M. Koehrer
2007-04-30  9:05                           ` Jan Kiszka
2007-04-30 10:11                             ` M. Koehrer
2007-04-30 11:27                               ` Jan Kiszka
2007-04-30 12:51                                 ` M. Koehrer
2007-04-30 15:10                                   ` Jan Kiszka
2007-04-27 20:39                       ` Philippe Gerum
2007-04-30 15:39                         ` Philippe Gerum
2007-05-02  7:05                           ` M. Koehrer
2007-05-02  8:39                             ` Jan Kiszka
2007-05-02  9:14                               ` M. Koehrer
2007-05-02  9:39                                 ` Jan Kiszka
2007-05-02 12:42                                 ` Philippe Gerum
2007-05-02 13:44                                   ` M. Koehrer
2007-05-02 13:49                                     ` Jan Kiszka
2007-04-27 14:31             ` Jan Kiszka
2007-04-27 14:52               ` M. Koehrer
2007-04-28 12:54 ` Bernhard Walle

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=1178117237.5111.123.camel@domain.hid \
    --to=rpm@xenomai.org \
    --cc=jan.kiszka@domain.hid \
    --cc=mathias_koehrer@domain.hid \
    --cc=xenomai@xenomai.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 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.