linux locking
内核版本 2c71fdf02a95b3dd425b42f28fd47fb2b1d22702
sync in atomic
spinlocks
spinlock_t
从最简单的 spinlock_t 开始,看一下其底层是如何实现的。这里我们假设没有开启任何锁相关的 debug CONFIG,同时未开启 PREEMPT_RT。spinlock_t 的定义为
…memory berriers in Linux kernel
C 语言的代码在编译和运行的过程中,会发生许多和代码不同的行为,这包括了编译器的指令重排优化和 CPU 的乱序执行,以及 CPU 的 cacheline。这些行为在一般情况下(比如单线程程序),不会对代码的正确性造成影响,但是
…