On 12/26/2009 11:56 PM, Dan Kruchinin wrote: > As I wrote earlier, memory clobber didn't help, but there is an interesting thing: > I replaced description of the third argument of spin_lock function from "rI" to "r" and it fixed my problem. > AFAIK the only one thing "I" does and that is describing my argument as a constant in range 0 - 31. > I don't understand why it so radically changes generated code. It doesn't. Your problem is the missing clobber on Operand 1 in the asm in spin_unlock. Andrew.