This patch does the same thing as the previous one, except it is complete as-is because it doesn't require architectures to define TIF_RUNNING. It doesn't use the atomic bitops anymore, and it is better optimised on UP kernels too. Affected architectures: ia64, mips, s390, sparc, sparc64, arm. I have had the patch lightly tested on 2.6.6 on sparc64 SMP, and different combinations of locking schemes, preempt, smp, etc tested on i386 SMP. Comments? Please CC me. Nick