2013年2月5日
摘要: 看的是 2.6.18.3 版本的 rcu 代码, 这个版本其实还没有区分什么 tiny rcu, preempt rcu, 这些都出现在以后的版本, 之所以选择这个, 完全是因为刚开始看 rcu 时搜索到的网文引用的代码是这个版本的, 而且也算是早期的实现, 代码比较少, 容易看清脉络。 rcu 的原理大概就相当于一个读写锁, 不同的是实现方式: rcu 要求被读的数据被一个指针指向, 读者先读这个指针, 而后读指针指向的数据; 写者也先读这个指针及其数据, 不同的是它而后分配出一块新内存, 做一次拷贝, 而后修改在这个拷贝上进行, 等修改完毕, 将指针指向这块新内存;而后将旧内存释放掉。.. 阅读全文
posted @ 2013-02-05 17:27 zylthinking 阅读(983) 评论(0) 推荐(0) 编辑