I'm working on a latency-sensitive application with the Open-Q DragonBoard 820. I have the examples compiling and running as well as some of my own test projects.
I've noticed that there seems to be a large, typically ~50ms delay when first calling a method through the idl interface using FastRPC. According to the documentation, this is most likely the cache synchronization which is fine. The problem is that subsequent calls still incur a 1-2ms latency. I assume this is a result of scheduling the dsp from FastRPC because the delay occurs even when the method is empty, not doing any work.
My question is: is this normal to expect a 2ms penalty to call aDSP code? Is there a way I can reduce this significantly somehow? Is FastRPC the only way to communicate with the aDSP, or can a program request lower level or higher priority access?
Some things I've tried already: Increasing the CPU thread priority doesn't seem to have an effect. Reducing the input buffer sizes doesn't have a significant effect.