I am finishing part of project I started while ago and I need decent kernel for it. There is code that is critical to be ran all the time, as latency bigger than 1us may have impact on quality of generated signal.
My hardware is most likely to be ARM Cortex A-53, 4x1.2GHz with 1GB RAM (testing on Pine64 board). Simply said, I got code running all the time in loop, which is checking for change of data in memory, and then computing and sending signals. So, except GPIO pins manipulation there will NOT be any system calls like printing output to console, file opening, malloc/free etc... All that stuff will be ran in other cores.
I would like to use linux, as far as it has lot of features I would like to use on other three cores, like GUI rendering, rendering simple simulations of machine with OpenGL and also receiving instructions. I know it's lot of requirements for such a small chip, but Is there any way to make that work?
I tried passing
isolcpus=3 parameter to linux kernel and disabling irqs on this cpu. Then I spawned simple process with
taskset - but it did not work as expected, as there was jitter of 5us.