分页: 1 / 1

内核里list.h用WRITE_ONCE是什么意思?

发表于 : 2016-05-07 6:40
科学之子
内核里list.h用WRITE_ONCE是什么意思?
我输入的关键词生成搜索的页面
找到了如下两个结果:
http://stackoverflow.com/questions/3498 ... rnel-lists
https://github.com/google/ktsan/wiki/RE ... WRITE_ONCE

貌似都是说为了避免一些优化或Miscompilation(意思是编译器Bug?)
但是为什么这里会使用,我还是不明白,看起来很简单的代码,难道也能出现Miscompilation?

而且有些WRITE_ONCE在前,有些则在后,不明白
最关键的是如果我编写内核代码的话,在什么情况下才应该使用WRITE_ONCE或XXX_ONCE?

Re: 内核里list.h用WRITE_ONCE是什么意思?

发表于 : 2016-05-07 13:38
科学之子
也许我该仔细看看这个链接?
https://www.kernel.org/doc/Documentatio ... rriers.txt

Re: 内核里list.h用WRITE_ONCE是什么意思?

发表于 : 2016-05-07 17:15
astolia
stackoverlfow上的问答已经足够了,你所有的疑问,包括那个最关键的问题上面都说了。