yve*_*mes 5 linux multithreading reentrancy linux-kernel
是的,我知道......有些人有时很难说服我们其他人听起来自然是什么,我现在需要你的帮助SO社区(或者我很快就会去邮政...)
我的一位同事确信Linux内核代码不是可重入的,因为他上次在7年前对它感兴趣时就读到了它.可能它的阅读时间恰到好处,请记住,多核心架构在前一段时间并没有广泛普及,并且Linux项目在其开始时并没有完全写好并且完全成熟了所有花哨的功能.
今天是不同的.很明显,在同一架构上并行运行的不同进程调用相同的系统调用不会导致未定义的行为.Linux内核现在很普遍,即使在多核架构上运行,它的可靠性也是众所周知的.这是我现在的论点.但你客观地证明这一点会是什么?
我想在Linux内核(在lxr网站上)显示一些函数作为mutex_lock()系统调用.Eveything经过调整,可以在并行环境中运行.但对于新手来说,代码可能并不那么明显(就像我一样).
请帮我.. ;-)
在内核邮件列表存档中搜索"BKL".这代表"Big Kernel Lock",它曾经被用来预防问题.已经做了很多工作将它分解成碎片,允许重新进入,因为不同的进程使用内核的不同部分.最近提到的"BKL"(至少我已经注意到)已经基本上提到有人试图通过锁定比其他人批准的更容易让自己的生活变得容易,此时他们经常说"回到过去的日子" "BKL",或该订单上的某些内容.
| 归档时间: |
|
| 查看次数: |
887 次 |
| 最近记录: |