内核里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?
我输入的关键词生成搜索的页面
找到了如下两个结果:
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?