Just for information...
I estimated the max ISR rate and sampling accuracy when using iio
buffering triggered by a hardware PWM timer on a IMX6 dl board:
Up to a ISR rate of ~5kHz the accuracy of the sampling time is about
+/-25us (measured over several seconds).
Above 10kHz, interrupts are lost (but CPU load still <25%).
Test conditions:
For this test I modified 'generic_buffer' so I could estimate the
accuracy of the sampling point (by calculating min/max/mean of the time
difference.
The kernel was 4.2.1 with CONFIG_PREEMPT=y
The ADC device I used is a AD7476 connected via SPI bus.
The scaling_governor was set to performance.
No additional load (buildroot rfs).
The results are about same when using a 4.1 TT-patched kernel with
CONFIG_PREEMPT_RT_FULL=y (without special isr priority).
Conclusion: accurate high(er) speed sampling seems not to be possible
this way (without dma buffered continuous sampling)
-- Matthias
--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html