Linus is completely right. Don't use spinlocks unless you know what you are doing.

Atomic operations are the proper way to process data on...