Locks in Linux Kernel
Spinlock
non-recursive, real lock, only in SMP, no use in Uniprocessor;
rwlock_t
source/include/asm-i386/spinlock.h
semaphore
Mutex
real resources, non-recursive
rw_semaphore
wakeup lost; thunder herd; starvation
include/asm-i386/semaphore.h
memory barrier
include/asm-i386/system.h