一开始,我有一个 CPU 内核作为写入器来写入共享数据,一个内核作为读取器来读取共享数据。
我需要读者写回一些数据来共享数据。
我知道rcu_read_lock()
/rcu_read_unlock()
用于读者获取共享数据。但是我不确定读者写回共享数据会不会造成什么问题?
在阅读器中:
rcu_read_lock();
//get shared data
//modify the data
rcu_assign_pointer(ptr1, ptr2)
rcu_read_unlock();
此代码有效吗?