linux.conf.au, January 2003 PRINCIPLES: Software Interrupts Three types: softirqs, tasklets, bottom halves. Marked (usually by hardware interrupt handlers) to do more work. Timer functions (add_timer et al) run as bottom halves. Run on return from hw handlers ... and from ksoftirqd if very busy.