- programming interrupt handlers - registering (request_irq) - in_interrupt (check if in interrupt handler) - in_atomic (cannot be scheduled away) - no sleeping functions allowed - can be shared - handler code must check if it is the correct interrupt - can be threaded (threadirqs)