Executing Tasklets

The most important part in the life of a tasklet is its execution. Because tasklets are implemented on top of softIRQs, they are always executed when software interrupts are handled.

Tasklets are linked with the tasklet_softirq softIRQ. Consequently, it is sufficient to invoke raise_softirq(TASKLET_SOFTIRQ) to execute the tasklets of the current processor at the next opportunity. The kernel uses tasklet_action as the action function of the softIRQ.

The function first determines the CPU-specific list in which the tasklets marked for execution are linked. It then redirects the list header to a local element, and thus removes all entries from the public list. They are then processed one after the other in the following loop:

Continue reading here: Kernelsoftirqc

Was this article helpful?

0 0