linux kernelのコードをながめてたら __read_mostly というのが宣言のところにちらほらでてくるのでなにかとおもったら、どうやら「読み込みしかしない変数を一箇所にあつめてセクションにして、そこそこ書き込みするデータとの間でキャッシュラインが被らないように隔離することでfalse sharingを防ぐということのようだ、たぶん。
- arch/x86_64/kernel/vmlinux.lds.S
- include/asm-x86_64/cache.h
linux kernelのコードをながめてたら __read_mostly というのが宣言のところにちらほらでてくるのでなにかとおもったら、どうやら「読み込みしかしない変数を一箇所にあつめてセクションにして、そこそこ書き込みするデータとの間でキャッシュラインが被らないように隔離することでfalse sharingを防ぐということのようだ、たぶん。