This is an old revision of the document!
| IRQ Handler A | IRQ Handler B | Softirq A | Softirq B | Tasklet A | Tasklet B | Timer A | Timer B | User Context A | User Context B | |
| IRQ Handler A | None | |||||||||
| IRQ Handler B | spin_lock_irqsave() | None |
Softirq A spin_lock_irq() spin_lock_irq() spin_lock() Softirq B spin_lock_irq() spin_lock_irq() spin_lock() spin_lock() Tasklet A spin_lock_irq() spin_lock_irq() spin_lock() spin_lock() None Tasklet B spin_lock_irq() spin_lock_irq() spin_lock() spin_lock() spin_lock() None Timer A spin_lock_irq() spin_lock_irq() spin_lock() spin_lock() spin_lock() spin_lock() None Timer B spin_lock_irq() spin_lock_irq() spin_lock() spin_lock() spin_lock() spin_lock() spin_lock() None User Context A spin_lock_irq() spin_lock_irq() spin_lock_bh() spin_lock_bh() spin_lock_bh() spin_lock_bh() spin_lock_bh() spin_lock_bh() None User Context B spin_lock_irq() spin_lock_irq() spin_lock_bh() spin_lock_bh() spin_lock_bh() spin_lock_bh() spin_lock_bh() spin_lock_bh() down_interruptible None
