All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
To: Petr Cervenka <grugh@centrum.cz>
Cc: Xenomai <xenomai@xenomai.org>
Subject: Re: [Xenomai] non-blocking rt_task_suspend(NULL)
Date: Fri, 02 May 2014 14:30:01 +0200	[thread overview]
Message-ID: <53638FC9.7050909@xenomai.org> (raw)
In-Reply-To: <20140502141307.B6A14EC0@centrum.cz>

Le 02/05/2014 14:13, Petr Cervenka a écrit :
>> Od: "Petr Cervenka" <grugh@centrum.cz>
>>
>> CC: "Xenomai" <xenomai@xenomai.org>
>>> Od: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
>>>
>>> CC: "Xenomai" <xenomai@xenomai.org>
>>> On 04/24/2014 05:06 PM, Petr Cervenka wrote:
>>>>> Od: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
>>>>>
>>>>>> SIGDEBUG signal was not received. Task status from
>>>>>> rt_task_inquire() was 0x300180 or 0x300380 (depends where it is
>>>>>> placed) When the task is in the "wrong" state, also the call of
>>>>>> rt_task_sleep(100000) is returning permanently -EINTR code. Do
>>>>>> you have any other idea what to check or what can cause perhaps
>>>>>> every xenomai call fail with -EINTR in one task?
>>>>>
>>>>> If I had to debug this issue, I would enable the I-pipe tracer and
>>>>> trigger a trace freeze when the -EINTR code is received. With
>>>>> enough trace points, it should be possible to understand what
>>>>> happens.
>>>>>
>>>> I called a xntrace_user_freeze() immediately when the issue occurs,
>>>> but I simply don't understand what is happening there. The trace
>>>> output is in the attachment. Could you please help me to understand
>>>> it?
>>>>
>>>> I also got some minor problem with xntrace_user_freeze, because the
>>>> linker was not able to find it: asyncwriter.cpp:(.text+0x843):
>>>> undefined reference to `xntrace_user_freeze(unsigned long, int)' It
>>>> is defined in src/skins/common/trace.c and (should be) contained in
>>>> libxenomai.so. But I was not successful and I had to define it myself
>>>> (under different name). Version of xenomai is 2.6.3.
>>>
>>> We see that xnpod_suspend_thread returns immediately, likely because it 
>>> has the XNKICKED bit set. Could you add more back trace points? So that 
>>> we see what is setting the XNKICKED bit?
>>>
>>
>> I have added (maybe too much) back trace points. But as last time, I'm not able to see (almost) anything in it ;-)
>> Previous xnpod_suspend_thread (on line 3713, probably caused by rt_mutex_aquire) seems to be fine (for me;-) ).
>>
> 
> Could you please help me with analysis, what is happening in the trace log?
> I only see at the end only peaces of log, which are already contained somewhere before.
> For example lines 3832-3993 are the same as 2901-3062.
> Also 3697-3861 and 3065-3229.
> Also 3596-3692 and 2935-3058
> Also 3065-3550 and 2402-2887
> 
> There are also suspicious lines with "device_not_available" and "ipipe_handle_exception", but they seem to be regularly appearing.

I will probably not have time to have a look at it before the end of the
week-end. I had a quick glance and did not find what I expected. We will
have to add some calls to ipipe_trace_special to see get the values of
the task state or info flags in the trace.

-- 
Gilles.


  reply	other threads:[~2014-05-02 12:30 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-02 12:13 [Xenomai] non-blocking rt_task_suspend(NULL) Petr Cervenka
2014-05-02 12:30 ` Gilles Chanteperdrix [this message]
2014-05-02 13:16 ` Philippe Gerum
2014-05-06  8:17   ` Petr Cervenka
2014-05-06  8:39     ` Philippe Gerum
2014-05-06  8:56     ` Philippe Gerum
2014-05-06  9:29       ` Petr Cervenka
2014-05-06 12:57         ` Philippe Gerum
2014-05-07 13:13           ` Petr Cervenka
2014-05-08 15:53             ` Philippe Gerum
2014-05-12 12:37               ` Petr Cervenka
2014-05-12 13:09                 ` Philippe Gerum
2014-05-20 12:27                   ` Petr Cervenka
2014-05-20 12:54                     ` Philippe Gerum
  -- strict thread matches above, loose matches on Subject: below --
2014-04-16 16:02 Petr Cervenka
2014-04-16 16:17 ` Gilles Chanteperdrix
2014-04-18  8:51   ` Petr Cervenka
2014-04-22 17:20     ` Gilles Chanteperdrix
2014-04-24 15:06       ` Petr Cervenka
2014-04-24 17:53         ` Gilles Chanteperdrix
2014-04-25  8:38           ` Petr Cervenka
2014-04-16 14:20 Petr Cervenka
2014-04-16 14:28 ` Gilles Chanteperdrix
2014-04-15 12:42 Petr Cervenka
2014-04-16  9:08 ` Gilles Chanteperdrix
2014-04-16 12:22   ` Petr Cervenka
2014-04-16 12:26     ` Gilles Chanteperdrix

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=53638FC9.7050909@xenomai.org \
    --to=gilles.chanteperdrix@xenomai.org \
    --cc=grugh@centrum.cz \
    --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.