linux rcu

读写都不需要保护

 

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

 

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

1. process switch

2.user space

3. null loop

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

 

使用范围:

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

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

 

 

你可能感兴趣的:(linux rcu)