A10 soft realtime performance issue

Started by carossopatrick, May 27, 2015, 09:02:04 PM

Previous topic - Next topic

carossopatrick

Hello all,
I'm testing the soft real-time performance of the pre-built kernel, with CONFIG_PREEMPT and high resolution timers. From a user application assigned to SCHED_FIFO at maximum priority I toggle a GPIO every 1ms (nanosleep), and I check the signal with a scope. Even with 100% CPU load the jitter is negligible (on the scale of 1ms) but sometimes there are "holes" of 4-5ms. Is there something I can do? What is the next step? Try to patch with RT?
I would like to make some I2C/SPI input, elaborate the signals and issue the outputs with a time period of 3-4ms. Would this be possible, by your experience?
Thank you very much.
Patrick

MBR

Try another type or realtime scheduling, like SCHED_RR or SCHED_DEADLINE (see http://man7.org/linux/man-pages/man7/sched.7.html). Or dedicate just one thread for the realtime stuff and give it maximal priority with pthread_setschedparam(), while doing everythig else in the main thread. You also may try to find the source of "holes" using the tool LatencyTOP. Otherwise, the only reliable way is to use the realtime kernel, so you will have to patch and recompile.