softirq

Others

percpu data on x86: use a segment register to store the offset of each per cpu data

Softirq

Time when softirq execute:

function __do_softirq:

irq that interrupt softirq: does NOT call invoke_softirq to handle new pending softirq.

Example:

Conclusion: - softirq is NEVER nested, so is tasklet.

Tasklet

State of tasklet:

Work queue

Which is totally different now, the kernel thread entry is still worker_thread, but worker and worker_pool is the new strategy. worker_pool is group of workers by cpu. Ref Documentation/workqueue.txt

API

API for softirq

API for tasklet

API for workqueue

API for control

comments powered by Disqus