linux kernel 并发与同步原语
linux kernel实现了很多并发和同步原语,比如spin_lock/semaphore/mutex等等,本专栏重点理清楚它们的工作原理以及使用方法.理解它的来龙去脉.
悟空明镜
做一个快乐和健康的人。
mail:samarxie@126.com
展开
-
Kernel space lock contention配置及其使用
概述本文涉及到的内容如下:kernel lock相关debug方式,比如lock耗时,拿不到lock,lock依赖等等trace的使用1.开启lock contenttion涉及到的config配置config LOCKDEP bool depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPP...原创 2020-03-18 18:34:43 · 2316 阅读 · 0 评论 -
[linux kernel-并发与同步]2.atomic工作原理
一 源由-需要解决什么问题我们的程序逻辑经常遇到这样的操作序列:读一个位于memory中的变量的值到寄存器中修改该变量的值(也就是修改寄存器中的值)将寄存器中的数值写回memory中的变量值如果这个操作序列是串行化的操作(在一个thread中串行执行),那么一切OK,然而,世界总是不能如你所愿。在多CPU体系结构中,运行在两个CPU上的两个内核控制路径同时并行执行上面操作序列,有可能...转载 2018-09-29 15:40:32 · 2045 阅读 · 2 评论 -
[linux kernel-并发与同步]3.semaphore工作原理及其使用案例
一 semaphore工作原理我们经常在kernel源码中声明semaphore,如下两种方式:静态申请:#define DEFINE_SEMAPHORE(name) \ struct semaphore name = __SEMAPHORE_INITIALIZER(name, 1) 动态申请:static inline void sema_init(struc...原创 2018-09-28 17:32:56 · 2480 阅读 · 0 评论