在rcu读取器端临界区使用list_for_each_entry会导致问题吗?

fcg9iug3  于 2023-04-29  发布在  其他
关注(0)|答案(1)|浏览(119)

在linux内核中,list_for_each_entry_rcu用于遍历读端临界区中的rcu保护列表。如果使用list_for_each_entry会发生什么?它会引起问题吗?

zte4gxcn

zte4gxcn1#

在某些架构中,CPU可以提前查看下一个指针。特别是在ALPHA和SPARC CPU的情况下。因此,需要list_for_each_entry_rcu(),这实际上是设置了内存屏障来限制这种行为。但是在writer端,我们可以避免使用list_for_each_entry_rcu(),而使用list_for_each_entry()。

相关问题