Linux2.6.11版本:classic RCU的实现

作者:linuxer 发布于:2016-1-27 18:31 分类:内核同步机制

无论你愿意或者不愿意,linux kernel的版本总是不断的向前推进,做为一个热衷于专研内核的工程师,最大的痛苦莫过于此:当你熟悉了一个版本的内核之后,内核已经推进到一个新的版 本,你曾经熟悉的内容可能会变得陌生(这里主要说的是该模块的内部实现,实际上,内核中的每一个子系统都是会尽量保持接口API的不变)。怎么应对这种变 化呢?一方面,具体的实现可能千差万别,但是基本的概念是一样的,无论哪一个版本的内核,总是能够理解一个内核子系统的基本概念和运作机理。另外一方面, 不同版本之间的实现不同往往是有原因的,新版本中具体实现的不同往往是针对旧版本的问题而改进的,如果你能够理清不同版本之间的差异以及背后的原因,那么 你其实也在不断的加深对计算机系统的理解(不断的迭代是一个不错的学习linux内核的方法)。

因此,在进入具体的Linux2.6.11版本内核RCU实现之前,我们首先描述why,也就是说为何修改RCU算法实现?旧内核有哪里不足,新的内核优点是什么?随后需要描述的是如何改进,最后,我们描述的是Linux2.6.11版本内核RCU模块的具体实现。

阅读全文>>

标签: Read-Copy-Update

评论(0) 浏览(1768)

Linux 2.5.43版本的RCU实现(废弃)

作者:linuxer 发布于:2016-1-19 12:13 分类:内核同步机制

RCU的工作原理虽然简单,但是实现产品级别的RCU同步机制并不是一个简单的事情,看看目前kernel中庞大的RCU数据结构,这让我望而却 步。蜗窝科技在撰写其他文档的时候,往往喜欢使用最新的内核,本文和其他文章不一样,本文选择了第一个引入RCU的内核版本,即2.5.43。

本文主要介绍了linux2.5.43版本上的RCU实现。

阅读全文>>

标签: RCU

评论(4) 浏览(2057)

蓝牙协议分析(2)_协议架构

作者:wowo 发布于:2016-1-14 22:20 分类:蓝牙

本文是蓝牙协议分析的第二篇文章,在“蓝牙协议分析(1)_基本概念”的基础上,从整体架构的角度,了解蓝牙协议的组成,以便加深对蓝牙的理解。

阅读全文>>

标签: Bluetooth l2cap profile hci gap

评论(23) 浏览(10008)

perfbook memory barrier(14.2章节)中文翻译(下)

作者:linuxer 发布于:2016-1-11 19:26 分类:内核同步机制

终于完成了perfbook中所有关于memory barrier的内容了,站在当前的时间点上,回头看看翻译perfbook之前的我,那时候是多么的幼稚, 对memory barrier理解多么肤浅。当然,也许随着时间的流逝,5年之后才回头看看今天的我,也会发现:即便是通读了perfbook的memory barrier的内容,其实仍然肤浅,仍然没有理解其精髓。究其原因,一方面,学习的过程总是螺旋式上升的,在当前的技术背景下,我只能到达目前的状 态,要进一步提高,需要在计算机体系结构、编译原理……方面有所突破。另外一方面,技术在无情的进步,如果停在原地注定是会被淘汰的。

生命不息,奋斗不止,还是要象蜗牛一样慢慢前行……

阅读全文>>

标签: Memory barrier perfbook

评论(8) 浏览(2384)

Why Memory Barriers中文翻译(下)

作者:linuxer 发布于:2016-1-5 18:09 分类:内核同步机制

在上一篇why memory barriers文 档中,由于各种原因,有几个章节没有翻译。其实所谓的各种原因总结出一句话就是还没有明白那些章节所要表达的内容。当然,对于一个真正的热爱钻研的 linuxer,不理解的那些章节始终都是一块心病。终于,在一个月黑风高的夜晚,我发了一封邮件给perfbook的作者Paul,请其指点一二。果然 是水平越高越平易近人,很快,大神回复了,给出了一些他的意见,大意就是不必纠结于具体的细节,始终focus在几个基本的规则上就OK了。受此鼓舞,我 还是坚持把剩余章节翻译出来,于是形成了本文。

阅读全文>>

标签: Memory barrier

评论(10) 浏览(3391)

Copyright @ 2013-2015 蜗窝科技 All rights reserved. Powered by emlog