加入收藏 | 设为首页 | 会员中心 | 我要投稿 网站开发网_安阳站长网 (https://www.0372zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营 > 正文

深入理解RCU实现

发布时间:2016-10-29 09:06:07 所属栏目:运营 来源:站长网
导读:副标题#e# 深入理解RCU实现 ——基于 内核2.6.21 RCU实现(lvyilong316) RCU(Read-Copy Update),顾名思义就是读-拷贝修改,它是基于其原理命名的。对于被RCU保护的共享数据结构, 读者不需要获得任何锁就可以访问它,但写者在访问它时首先拷贝一个副本,然

static void __cpuinit rcu_online_cpu(int cpu) 

    struct rcu_data *rdp = &per_cpu(rcu_data, cpu); 
    struct rcu_data *bh_rdp = &per_cpu(rcu_bh_data, cpu); 


    rcu_init_percpu_data(cpu, &rcu_ctrlblk, rdp); 
    rcu_init_percpu_data(cpu, &rcu_bh_ctrlblk, bh_rdp); 
    open_softirq(RCU_SOFTIRQ, rcu_process_callbacks, NULL); 

    这个函数主要完成两个操作:初始化两个per cpu变量;注册RCU_SOFTIRQ软中断处理函数rcu_process_callbacks。我们从这里又看到了另一个per cpu变量:rcu_bh_data.有关bh的部份之后再来分析.在这里略过这些部分。 下面看下rcu_init_percpu_data()的实现。

rcu_init_percpu_data

(编辑:网站开发网_安阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!