hi there,
currently i'm facing a very annoying problem with linux and the OMAP-L138.
i'm working on a custom board with a OMAPL138 SOM-M1 module on it. i'm using the DSP and the ARM part of this processor.
DSP generates data and shares it with the ARM via CMEM (4 Buffers). on the ARM there runs linux (kernel 2.6.37 from davinci psp release 03.21.00.04). the ARM applications has 3 threads running. one of them streams the data from CMEM buffers via gadgetfs (interrupt transfer) to the host pc. every 6,6ms there has to be one buffer of data (8192 bytes) transmitted.
this setup mostly works as expected. but sometimes (the time of occurrence is unpredictable), i recognize a delay of 1,44s for the usb writer thread (measured on ARM). which of course causes massive data loss.
i try to investigate this error now for several weeks... for now i have no idea where to search further.
it looks like the writer thread does not get scheduled or something is blocking for this long time. so i tried to play around with realtime thread priorities. with no effect.
i also deactivated any communication to/from DSP to eliminate effects from that side.
is it possible, that a module of linux can cause such a huge latency in scheduling? how can i investigate such latency problems?
any help or hint is appreciated
thank you for your help
peter