楼主再接再厉.
:mrgreen:
回复 #15 dreamice 的帖子
dreamice 兄,你好!你有没有《深入理解linux内核》这本书,陈丽君的 在203页倒数第三行和第四行,有这么一句话说在自旋锁忙等期间,内核抢占还是有效的-----------------为什么??不是抢占不是软中断吗?被禁止了啊?? 期待lz的早日更新下一文章! 原帖由 xiaochangfu 于 2009-11-15 22:22 发表 http://linux.chinaunix.net/bbs/images/common/back.gifdreamice 兄,你好!你有没有《深入理解linux内核》这本书,陈丽君的 在203页倒数第三行和第四行,有这么一句话说在自旋锁忙等期间,内核抢占还是有效的-----------------为什么??不是抢占不是软中断吗? ...
这里主要要搞明白自旋锁的几个函数区别
spin_lock
spin_lock_irqsave
spin_lock_bh
c
常用的spin_lock是忙等,并没有禁用CPU的中断,所以内核抢占还是有效的。所以,我们在用spinlock时,要特别注意,也容易引起死锁。比如说,双核cpu中,cpuA在自旋,cpuB此是中断发生了,抢占了占用自旋锁的cpuB的进程,而抢占后的cpuB又继续去自旋,就造成死锁了。
后续我想做一个自旋锁以上几个函数的详细分析,包括应用,这样让大家都能彻底明白自旋锁的用法。 原帖由 xiaochangfu 于 2009-11-15 22:22 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
dreamice 兄,你好!你有没有《深入理解linux内核》这本书,陈丽君的 在203页倒数第三行和第四行,有这么一句话说在自旋锁忙等期间,内核抢占还是有效的-----------------为什么??不是抢占不是软中断吗? ...
你说的这个地方应该这样理解:
当有很多进程在等待自旋锁的时候,当这个自旋锁被占用的进程释放的时候,优先级高的进程会获得自旋锁资源,就是这个地方的“抢占”的意思 怎么没有PDF版了? 回复 26# lhzw2001
感觉 pdf版还不如这个贴出来的版本更直观哈,哈哈
如果需要的话,私下找我 还是那本开发详解啊。第二版啥时候出版哩 回复 28# omycle
不清楚,现在都感觉有点忽悠的成分了 分析的比较透彻,感觉测试例子简单了点,没法体现concurrence and race condition.