- 博客(4)
- 资源 (2)
- 收藏
- 关注
原创 TREE RCU实现之三 —— 定期调用
上一节,介绍过了RCU实现中用到的主要函数。不过还需要定期的运行这些函数,整个机制才完整。 RCU的实现是通过在update_process_times() 中调用rcu_check_callbacks()来达到这个目的的。每个CPU都会定期的调用update_process_times()。rcu_check_callbacks()会去检查当前的RCU机制中是否有需要处理的内容,
2012-12-07 11:17:52
10065
原创 TREE RCU实现之二 —— 主干函数
RCU的实现集中在以下几个步骤: 1, 调用call_rcu,将回调函数增加到列表。 2, 开始一个宽限期。 3, 每个CPU报告自己的状态,直到最后一个CPU,结束一个宽限期。 4, 宽限期结束,每个CPU处理自己的回调函数。call_rcu的实现 static void__call_rcu(st
2012-12-06 18:36:50
8651
原创 TREE RCU实现之一 —— 数据结构
代码分布 在分析代码之前, 先看看代码的分布情况。RCU实现的代码包含在下列一些文件中,此处用到的是linux 3.6.4的代码。 RCU实现的头文件,所有使用RCU的代码都需要包含它 包含rcupdate.h中没有包含的函数声明。
2012-12-05 02:36:29
12180
3
原创 RCU机制
简介 RCU(Read-Copy Update)是数据同步的一种方式,在当前的Linux内核中发挥着重要的作用。RCU主要针对的数据对象是链表,目的是提高遍历读取数据的效率,为了达到目的使用RCU机制读取数据的时候不对链表进行耗时的加锁操作。这样在同一时间可以有多个线程同时读取该链表,并且允许一个线程对链表进行修改(修改的时候,需要加锁)。RCU适用于需要频繁的读取数据,而相应修
2012-12-02 01:33:55
31370
2
Solutions Manual for Digital Signal Processing using Matlab - Second Edition
2018-08-28
Real-Time Digital Signal Processing
2018-08-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人