技术栈

spinlock

DeeplyMind
34 分钟前
spinlock·qspinlock
第 2 章 spinlock 与 qspinlock:从测试-设置到 MCS 队列第 1 章把地基打好了:原子操作保证一次RMW不可分割,acquire/release 约束临界区不外泄。本章拆解第一把真正的锁——自旋锁。它是内核里最基础、也最常用的互斥原语:拿不到锁的 CPU 不睡眠,而是原地打转(自旋)反复重试,直到锁被释放。正因为不睡眠,它能用在中断处理、持有其它锁等无法调度的上下文里。但“原地打转”这件事在多核上并不简单——朴素的实现会让所有争抢者挤在同一条缓存行上互相拖累。本章的主线,就是看内核如何从最朴素的 test-and-set 一路演进到 qspinlock 的 MC
我是有底线的