カーネルの話題のつづきです。ついて解説していきます。ロック本体よりも長いなんてアレゲですね。ランキング!まず正解をばお見せします。$0,0(%%esp))"}みたいな内容に展開されると思ってください。今回は説明の手を抜くためにSSE2搭載プロセッサ(Pentium4以上)だと仮定します。"memory")に展開されます。これをしばらくこれを仮定して話がかかれています。なにやらasm文が普通のコンパイラのものと全然違いますが、これはgccの拡張アセンブラをつかっているから。gccの拡張インラインアセンブラについては最後に参考URLを列挙しておいたのでそちらで勉強してくださいませ。命令に後続するストア命令より前にグローバルにアクセス可能になることを保証する。命令、任意のシリアル化命令(CPUID命令など)に対して順序付けされる。SFENCE命令は、ロード命令やLFENCE命令に対しては順序付けされない。順序設定の緩いメモリタイプを使用して、アウト・オブ・オーダー発行、ライト・コンバイニング、ライト・コラプシングなどの手法により、プロセッサ・パフォーマンスの向上を達成する。データを参照する側のルーチンが、順序設定の緩いデータであることをどの程度認識するかは、アプリケーションによって異なり、データを生成する側のルーチンにはわからない。