Measuring IRQ handlers and SOFTIRQ handlers


1. Measure IRQ handlers

This option enables measurement of time spent in each IRQ handler.
Measured data is being displayed through the "/proc/interrupts" file. The CPU usage mean value for each IRQ handler and the maximum continuous time spent in each IRQ handler are being calculated for the time elapsed between two subsequent reads of the "/proc/interrupts" file.

2. Measure SOFTIRQ handlers

This option enables measurement of time spent in each SOFTIRQ handler. Measurement includes every tasklet, that is being registered for this measure through the "tasklet_register()" function. The "tasklet_init()" calls register tasklets automaticaly.
Measured data is being displayed through the "/proc/softirqs" file. The CPU usage mean value for each SOFTIRQ handler and the maximum continuous time spent in each SOFTIRQ handler are being calculated for the time elapsed between two subsequent reads of the "/proc/softirqs" file.

3. The patch

The following linux patch allows you to configure the kernel for compilation without any of the above options.

Linux kernel patch:

Patch nameKernel version that patch can be applied to
patch_2.6.0_test11_usage_0.1
linux-2.6.0-test11


Comments appreciated:)
Samo