Linux Kernel Spinlock and Atomic Operations