A user thread may be non-preemptible for a short time while executing in the kernel and holding a spinlock.