The preemptible kernel Linux kernel code has always been non-preemptible Runs until it voluntarily releases the processor Interrupts excepted 2.5 adds a preemptible kernel option Kernel code can be interrupted too Benefit: reduced latency for high-priority processes Implications: Anything can happen between two instructions Uniprocessor machines have new concurrency issues Care required with per-CPU variables