Hello,
Since upgrading from SDK 06.00 to 07.00 we experience increased CPU usage and occurrences of the board becoming unresponsive when using ALSA on an EVM-SK board running an unmodified AMSDK 07.00 load.
The following 2 scenarios generally trigger the issue within a minute:
1.) arecord / aplay
Running a record and a separate play session on the board (the used EVM-SK has been modified for an added line-in jack) will result in both commands eventually starting to experience XRUNs after some time and the CPU usage increases to 100%.
2.) aplay / ping
Secondly using aplay on the EVM-SK while stressing the board with a flood of pings results in XRUNs and finally loss of audio.
We did a first quick ftrace on the second scenario and saw the davinci pcm dma irq callback occurring periodically as expected, however, aplay was not scheduled.
We see the EVM-SK previously entering sleep state C1 and the davinci pcm dma irq callback hit the idle task. With the wakeup call affecting aplay the need for rescheduling is flaged as expected, however, the CPU is busy processing a flood of hard/soft irqs until aplay is finally scheduled.
Following the indication that the problematic condition is at least favoured by idle handling, we were not able to observe the issue with either a Kernel built without PM idle support or the original AMSDK 07.00 kernel with cstates other than C0 disabled.
Interestingly the same issue also did not show up running the same test on a general purpose EVM board running an unmodified AMSDK 07.00. A quick look at /dev/cpu_dma_latency showed that the effective constraint prevents any cstate below C0 to be chosen. Once the EVM chooses C1/C2, the issue can be triggered on the EVM hardware too.
Best Regards,
Christian