Hay un n�mero de operaciones at�micas definidas en include/asm/atomic.h: estas est�n garantizadas que ser�n at�micas para todas las CPUs en el sistema, entonces eliminando las carreras. Si tus datos compartidos consisten, digamos, en un simple contador, estas operaciones quiz�s sean m�s simples que usar spinlocks (aunque para algo no trivial el uso de spinlocks es m�s claro).
Destacar que las operaciones at�micas est�n definidas para actuar como barreras de escritura y lectura en todas las plataformas.