代码路径 arch/arm/include/asm/spinlock.h 锁数据结构如下: 注意sllock和下面的ticket互为union 基本原理: spinlock 叫号机制,先拿到一个号, 即为先在slock基础上给next++ unspinlock放锁时给owner++。 放锁后正好使next== owner