Performance and Interrupt Response Times

In the design and implementation of RTKernel-32, great care has been taken to achieve excellent run-time performance. Especially an increase of task switch times with an increasing number of tasks has been avoided.

For mailbox and message passing operations, it should be considered that the execution time requirements depend on the size of the data objects copied.

Interrupt response time is defined as the time that elapses between the interrupt signal coming in at the interrupt controller and the execution of the first statement in the corresponding interrupt handler. It primarily depends on the maximum time during which interrupts are disabled and the time required to process other interrupts. Since all RTKernel-32 operations that can lead to task switches are performed with interrupts disabled, the interrupt response time directly depends on the run-time requirements of the discrete RTKernel-32 operations. Interrupts also cannot be accepted while an interrupt is being processed and interrupts have not yet been reenabled. This is also true for the timer interrupt handler of RTKernel-32. Even though its run-time requirements are proportional to the number of tasks entering state TS_READY during the current interrupt, interrupts are reenabled after each task that has been processed, so that interrupt response time is only marginally impeded by the timer interrupt.

The demo program RTBench delivered with RTKernel-32 can be used to measure RTKernel-32's performance.