Hello,
I am using a target very similar to the beagleboard OMAP-3530 cpu running at 500MHz.
I am running linux kernel 2.6.27, configured with CONFIG_PREEMPT enabled
I have a GPIO line hooked up to an external FPGA, and this generates an interrupt once every 1ms.
I monitor the time when my linux environment generates an interrupt.
Even though the FPGA generates the interrupt at precise 1ms intervals, I notice that there is jitter experienced in the time when my IRQ handler gets executed by the driver code. The jitter is as high as 70microseconds peak to peak (+/- 35microsenconds) at a minimum. The system has very few threads running and only 1 other thread has interrupts going.
I can see this by repeatedly doing "cat /proc/interrupts ".
The thread with interrupts is the "gptimer" interrupt. (other than the one I am observing)
The amount of jitter experienced becomes even higher ( about 250us peak to peak) when I run ethernet traffic using the smsc9500 usb over ethernet driver.
This jitter behaviour is not desirable and I was wandering if anyone out there knows of ways to cut it down by either: kernel configuration or OMAP3530 processor settings.
I am running my code from Flash, JFFS2 file system. (Have tried Ramdisk with no improvement). Any Ideas welcome. (OMAP or Linux)
Thanks