All of lore.kernel.org
 help / color / mirror / Atom feed
From: Philippe Gerum <rpm@xenomai.org>
To: Jan Kiszka <jan.kiszka@domain.hid>
Cc: xenomai-core <xenomai@xenomai.org>
Subject: Re: [Xenomai-core] Frozen timer IRQ
Date: Thu, 06 Apr 2006 19:15:49 +0200	[thread overview]
Message-ID: <44354CC5.8080405@domain.hid> (raw)
In-Reply-To: <443537C5.1080801@domain.hid>

Jan Kiszka wrote:
> Philippe Gerum wrote:
> 
>>Jan Kiszka wrote:
>>
>>>Philippe Gerum wrote:
>>>
>>>
>>>>Jan Kiszka wrote:
>>>>
>>>>
>>>>>Attached is an ipipe-freeze of the frozen system. It's taken at the
>>>>>time
>>>>>the main thread of the terminating application has successfully
>>>>>rt_task_join'ed the last remaining RT-thread. I took 2000 trace points
>>>>>before and after that point and additionally instrumented
>>>>>rthal_timer_program_shot() (special trace 0x01, the argument is the
>>>>>delay). The interesting stuff happens around 600 us after the
>>>>>freeze: it
>>>>>seems the scheduled Linux timer arrives then but doesn't get much
>>>>>attention beyond from ipipe.
>>>>>
>>>>>Any idea what to look for next? I have a "perfect" test system now,
>>>>>though I still see no light at the end of the tunnel how to export
>>>>>it to
>>>>>other boxes.
>>>>>
>>>>>Enough for today.
>>>>>
>>>>>Jan
>>>>>
>>>>>
>>>>>PS: This trace was taken over 2.6.15 to exclude any issues with the new
>>>>>2.6.16. Both kernels show the same effect.
>>>>>
>>>>
>>>>Does this patch make any difference?
>>>>
>>>>--- ipipe-root.c~    2006-01-31 09:55:44.000000000 +0100
>>>>+++ ipipe-root.c    2006-04-06 17:01:49.000000000 +0200
>>>>@@ -328,9 +328,8 @@
>>>>        /* Only sync virtual IRQs here, so that we don't recurse
>>>>           indefinitely in case of an external interrupt flood. */
>>>>
>>>>-        if ((ipipe_root_domain->cpudata[cpuid].
>>>>-             irq_pending_hi & IPIPE_IRQMASK_VIRT) != 0)
>>>>-            __ipipe_sync_stage(IPIPE_IRQMASK_VIRT);
>>>>+        if (ipipe_root_domain->cpudata[cpuid].irq_pending_hi != 0)
>>>>+            __ipipe_sync_stage(IPIPE_IRQMASK_ANY);
>>>>    }
>>>>#ifdef CONFIG_IPIPE_TRACE_IRQSOFF
>>>>    ipipe_trace_end(0x8000000D);
>>>
>>>
>>>Nope.
>>
>>That's good news, actually. I would have been quite embarrased if it did
>>it.
>>
>>
>>>Where should I put my finger on to find out what's happening?
>>>
>>
>>It seems that the pipeline log is not synced by __ipipe_unstall_iret_root.
>>We need to know why. Question: is the root stage stalled or unstalled by
>>this
>>routine during the latest call before the box freezes?
> 
> 
> I'm currently switching my brain between to many tasks: Could you simply
> tell me what variable to check so that I can hack some
> ipipe_trace_special into the kernel?

The value of the IPIPE_STALL_FLAG for the root domain upon exit from 
__ipipe_unstall_iret_root.

> 
> 
>>PS: it would be nice to display the status of the current stage
>>(stalled/unstalled) and the one of the hw interrupt bit, for each trace.
> 
> 
> Patches are welcome :) - wait, you are the Adeos maintainer! ;)
> 
> Actually, the hw-irq state is already expressed by "|" at the head of
> each line ("|" means "hw-IRQs off").
> 

Ok, I'm rather short in time too, so let's drop this for now and keep it 
on the todo list so that we get back to this when time allows.

-- 

Philippe.


  reply	other threads:[~2006-04-06 17:15 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-04 21:29 [Xenomai-core] Frozen timer IRQ Jan Kiszka
2006-04-05  7:13 ` Philippe Gerum
2006-04-05 12:10 ` Gilles Chanteperdrix
2006-04-05 12:29   ` Philippe Gerum
2006-04-05 12:38   ` Philippe Gerum
2006-04-05 13:05     ` Philippe Gerum
2006-04-05 19:30       ` Jan Kiszka
2006-04-05 21:56         ` Jan Kiszka
2006-04-05 21:58           ` Jan Kiszka
2006-04-06 15:04           ` Philippe Gerum
2006-04-06 15:29             ` Jan Kiszka
2006-04-06 15:39               ` Philippe Gerum
2006-04-06 15:46                 ` Jan Kiszka
2006-04-06 17:15                   ` Philippe Gerum [this message]
2006-04-07 11:57                     ` Jan Kiszka
2006-04-07 13:02                     ` Jan Kiszka
2006-04-07 16:28                       ` Philippe Gerum
2006-04-07 16:39                         ` Philippe Gerum
2006-04-07 18:00                           ` [Xenomai-core] Frozen timer IRQ - now traced with kgdb :) Jan Kiszka
2006-04-09  9:40                             ` Philippe Gerum
2006-04-06 17:10         ` [Xenomai-core] Frozen timer IRQ Philippe Gerum

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=44354CC5.8080405@domain.hid \
    --to=rpm@xenomai.org \
    --cc=jan.kiszka@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.