On Mon, Mar 3, 2008 at 1:48 PM, Philippe Gerum <[EMAIL PROTECTED]> wrote:
>
> Anders Blomdell wrote:
>  > Philippe Gerum wrote:
>  >> Anders Blomdell wrote:
>  >>> Philippe Gerum wrote:
>  >>>> Anders Blomdell wrote:
>  >>>>> Gilles Chanteperdrix wrote:
>  >>>>>> On Fri, Feb 29, 2008 at 5:54 PM, Anders Blomdell
>  >>>>>> <[EMAIL PROTECTED]> wrote:
>  >>>>>>> Hi,
>  >>>>>>>
>  >>>>>>>  with xenomai 2.4.1 my call to:
>  >>>>>>>
>  >>>>>>>   rt_cond_wait(&cond, &mutex, 1000);
>  >>>>>>>
>  >>>>>>>  doesn't timeout (signalling works OK). Kernel version is 2.6.23.12, 
> can it be
>  >>>>>>>  due to CONFIG_NO_HZ=y, or have I misunderstood something?
>  >>>>>> What is your system timer setting ? Are you running in periodic or
>  >>>>>> aperiodic mode ? If aperiodic, 1000 ticks means 1000 ns, that is 1us,
>  >>>>>> so rt_cond_wait should return instantaneously.
>  >>>>> OK, here comes a simplified program that just outputs A, and then 
> hangs.
>  >>>>>
>  >>>> I can't reproduce this issue with your test code here, but this might be
>  >>>> the sign of some timer race depending on how fast is the hw.
>  >>>>
>  >>>> By hanging, I assume the box is still ok, right?
>  >>>> If so, could you please send the output of /proc/xenomai/stat,
>  >>>> /proc/xenomai/sched, /proc/xenomai/timer and 
> /proc/xenomai/timerstat/master?
>  >>>>
>  >>>> TIA,
>  >>>>
>  >>>> cat /proc/xenomai/stat
>  >>> CPU  PID    MSW        CSW        PF    STAT       %CPU  NAME
>  >>>   0  0      0          108606586  0     00500080  100.0  ROOT/0
>  >>>   0  0      0          54113426   0     00000082    0.0  rtnet-stack
>  >>>   0  0      0          1          0     00000082    0.0  rtnet-rtpc
>  >>>   0  22291  2          3          0     00300186    0.0  main
>  >>>   0  0      0          107816863  0     00000000    0.0  IRQ22: 
> rt_eepro100
>  >>>   0  0      0          617309219  0     00000000    0.0  IRQ233: [timer]
>  >>>
>  >>>> cat /proc/xenomai/sched
>  >>> CPU  PID    PRI      PERIOD     TIMEOUT    TIMEBASE  STAT       NAME
>  >>>   0  0       -1      0          0          master    R          ROOT/0
>  >>>   0  0       98      0          0          master    W          
> rtnet-stack
>  >>>   0  0        0      0          0          master    W          
> rtnet-rtpc
>  >>>   0  22291    1      0          0          master    w          main
>  >>>
>  >>>> cat /proc/xenomai/timer
>  >>> 
> status=on+watchdog:setup=0:clock=8061167744254256:timerdev=lapic:clockdev=tsc
>  >>>
>  >>>> cat /proc/xenomai/timerstat/master
>  >>> CPU  SCHEDULED   FIRED       TIMEOUT    INTERVAL   HANDLER      NAME
>  >>> 0    1049107334  506070537   324149     -          NULL         
> [host-timer/0]
>  >>> 0    3358790     3358789     662553305  1000000000  xnpod_watch  
> [watchdog]
>  >>> 0    1           1           -          -          xnthread_ti  main
>  >>>
>  >>>
>  >> Thanks. It looks like the timer did tick but the wakeup event was
>  >> missed. The thread is still waiting for it (stat xxxxxxx6 means
>  >> delayed+pending, which is the mode rt_cond_wait() sets for the thread).
>  >> We do have a problem, it seems.
>  >>
>  > OK, what can I do to be of assistance?
>  >
>
>  Are you running the application over GDB?

Cannot this be that the constant (3) used in rthal_timer_program_shot
is a bit too small ?

-- 
                                               Gilles Chanteperdrix

_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help

Reply via email to