linux rcu

来源:互联网 发布:vim c语言环境配置 编辑:程序博客网 时间:2024/04/27 14:49

读写都不需要保护

 

关键在于写者会创建新的写副本, 且当所有读者都使用完当前副本, 才允许写着释放旧副本(call_rcu)。

 

规定以下变化引起静止状态结束:

1. process switch

2.user space

3. null loop

规定读者在以上状态前调用rcu_read_unlock。

 

使用范围:

1.rcu只保护被动态分配并通过指针引用的数据结构

2.在被保护临界区,任何内核控制路径不能睡眠

 

 

原创粉丝点击