All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Gilles Chanteperdrix" <gilles.chanteperdrix@xenomai.org>
To: johann.obermayr@sigmatek.at
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai] usage of rtdm_task_sleep_abs
Date: Mon, 13 Jul 2015 19:21:41 +0200	[thread overview]
Message-ID: <7413ead94cb8c4f3a91d1288a27103c9.squirrel@sourcetrek.com> (raw)
In-Reply-To: <55A3EE26.5070802@sigmatek.at>


Johann Obermayr wrote:
> Am 13.07.2015 um 17:24 schrieb Gilles Chanteperdrix:
>> Johann Obermayr wrote:
>>> without your application, there are no large latencies.
>>> with your application see frozen.txt (with latency -f)
>> I am confused. You mean "our application", not "your application",
>> right?
>> lrtdrv_monitoring_irq is not part of the code delivered by the Xenomai
>> project.
>>
>>> We see the problem only if one task (background) is accessing the SRAM
>>> on your PCI-Card. if we stop this task, all is ok.
>> Again: the Xenomai project does not make PCI-card. So, you probably mean
>> "our PCI-Card"?
> yes, our PCI-Card. (sorry for my bad english)
>>> So we have a higher prior task (pci-locker), that interrupt the
>>> background task, so that the pci bus get free.
>> I am not sure I understand your explanations. But the trace is pretty
>> clear:
>>
>> At time -658 the timer is programmed to tick at -561.
>>
>>> :|  # event   tick@-561   -658	  0.112  xntimer_next_local_shot+0xca
>>
>>> :|  + func                -651	  0.145  lrtdrv_monitoring_irq+0x4
>>> [sigmatek_lrt] (irq_hook_handler+0x32 [sigmatek_lrt])
>>> :|  + end     0x000000ef  -651! 641.640  apic_timer_interrupt+0x52
>>> (<102d0254>)
>> But at that point the tick is delayed for 600us. And according to the
>> trace, the last traced function called before that delay is the function
>>
>> ltdrv_monitoring_irq.
>>
>> So, I do not know what this irq is doing, but I would suggest having a
>> close look at it.
>>
>>
> hello,
>
> i have disable our lrtdrv_monitoring_irq.
> Only have this callback
> static void irq_hook_handler(unsigned int irq, unsigned int state)
> {
>      if (fpga_interrupt == irq && state == 0x01)
>      {
>          time_fpga_irq = rt_timer_tsc();
>      }
> }
> same latency

Maybe, but your trace does not contain enough points to see it. The trace
should at least contain the "tick@" event which gets missed, so that we
can see how much the interrupt is delayed, and what was happening at the
time.


-- 
                                            Gilles.
https://click-hack.org



  reply	other threads:[~2015-07-13 17:21 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-09 12:15 [Xenomai] usage of rtdm_task_sleep_abs Johann Obermayr
2015-07-09 14:19 ` Gilles Chanteperdrix
2015-07-09 15:43   ` Johann Obermayr
2015-07-09 15:51     ` Gilles Chanteperdrix
2015-07-10  9:34       ` Johann Obermayr
2015-07-10  9:46         ` Gilles Chanteperdrix
2015-07-10 10:43           ` Johann Obermayr
2015-07-10 10:49             ` Gilles Chanteperdrix
2015-07-13 13:41               ` Johann Obermayr
2015-07-13 14:02                 ` Gilles Chanteperdrix
2015-07-13 14:56                   ` Johann Obermayr
2015-07-13 15:24                     ` Gilles Chanteperdrix
2015-07-13 16:58                       ` Johann Obermayr
2015-07-13 17:21                         ` Gilles Chanteperdrix [this message]
2015-07-13 17:26                           ` Johann Obermayr
2015-07-13 19:58                             ` Gilles Chanteperdrix
2015-07-13 20:23                               ` Johann Obermayr
2015-07-13 20:31                                 ` Gilles Chanteperdrix
2015-07-13 20:45                                   ` Johann Obermayr
2015-07-13 20:54                                     ` Gilles Chanteperdrix
2015-07-13 21:30                                       ` Johann Obermayr
2015-07-13 21:58                                       ` Johann Obermayr
2015-07-13 22:39                                         ` Gilles Chanteperdrix
2015-07-13 23:30                                           ` Johann Obermayr
2015-07-14  0:02                                             ` Gilles Chanteperdrix
2015-07-15 21:00                                               ` Johann Obermayr
2015-07-15 21:21                                                 ` [Xenomai] ipipe trace Johann Obermayr
2015-07-16  6:30                                                 ` [Xenomai] usage of rtdm_task_sleep_abs Gilles Chanteperdrix
2015-07-16 11:46                                                   ` Johann Obermayr
2015-07-17  5:25                                                     ` Gilles Chanteperdrix
2015-07-13 20:35                                 ` 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=7413ead94cb8c4f3a91d1288a27103c9.squirrel@sourcetrek.com \
    --to=gilles.chanteperdrix@xenomai.org \
    --cc=johann.obermayr@sigmatek.at \
    --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.