Coping with preemption Make your code SMP-safe Proper locking for access to shared data Spinlocks disable preemption You should have done this anyway Watch timing issues You can lose the processor at any time Use locking for timing-critical device access Watch per-CPU variables Use the associated primitives If you must disable preemption Use preempt_disable()