Hi,
We are using OMAP L138 and ipc_1_25_03_15, bios_6_35_04_50, xdctools_3_25_03_72, syslink_2_21_02_10.
We are observing that the ARM tasks that use syslink suddenly start using 100% of CPU between them. The DSP functionality is also dead when this happens. The DSP may be locked or dead. In trying to understand the behavior if we powerdown the DSP the same behavior is observed. The ARM tasks using the syslink use 100% CPU between them.
cat /proc/interrupts shows that there are no interrupts for syslink.
28: 61 cp_intc SYSLINK This value remain same.
In the setup the ARM and DSP talk over simplex and duplex channels.
For each channel ARM Creates the Heap. No separate Gate is created for each Heap.
Each core creates it own Rx MessageQ and registers with the heap.
Each Core Opens the remote Tx MessageQ.
The Notify Driver and Transport mechanism used are:
SYSLINK_NOTIFYDRIVER=NOTIFYDRIVERSHM
SYSLINK_TRANSPORT=TRANSPORTSHM
The behavior is random and has happened after varying longs hours of operation and sometimes even after few minutes.
I do not have any trace log at the moment.
Where should we start looking for the problem? Why and how is that using syslink is providing a tight coupling between the two cores?
Even if the DSP is dead the ARM should still continue with the task sleeping if the Gate is not available or execute normally but report send-to-DSP errors because heap is out of memory when DSP is not reading off from the MessageQ.
Thanks.
Taran Tripathi