On 03/20/2012 06:26 PM, Thierry Bultel wrote:
> Hello,
> 
> the issue I am describing here happens on a dual-core Atom (without 
> hyperthreading)
> 
> It is easy to reproduce with 2.6.32.7+xenomai 2.5.2, which was my 
> initial configuration until
> I remembered that Philippe told us that SMP was correctly supported from 
> 2.6.38.8
> 
> The fact is that I have been able to reproduce it with 
> 2.6.38.8+xenomai-2.6 as well. Only once, but I did.
> 
> I am using CAN with a IXXAT PCI-04 board .
> There is a single thread per bus.
> 
> With the old kernel, after about 400-500 seconds, and heavy load the 
> communication stops, and after some
> analysis, I found out that my process was stuck at :
> 
> rtcan_raw.c
> 
>    /* Try to pass the guard in order to access the controller */
> *  ret = rtdm_sem_timeddown(&dev->tx_sem, timeout, NULL);*
> 
> 
> The Refcount shown in /proc/rtcan/rtcan0/info is 1.
> 
> The workaround I found was to set the timeout to a non-zero value with 
> the appropriate ioctl,
> and when a timeout issues, to stop and restart the bus, with the effect 
> to destroy and re-recreate the semaphore and
> thus to communicate again.
> 
> By reading the code, the only reason I can see is that a TX interrupt is 
> lost.
> 
> I do not have much more ways to analyze deeper, so any advice would be 
> greatly appreciated

Have you tried xenomai 2.5.6 ?

-- 
                                                                Gilles.

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

Reply via email to