Xenの話
4gb seg fixup
Xenを使ってる人が,DomU上で"4gb seg fixup"というメッセージが大量にでるという話をしていました.調べてみると,XenのFAQに載っていて,
These messages are from a glibc that was built with negative GS register offsets. Xen can run with negative GS register references, but it must "trap and emulate" this condition, which is relatively resource intensive, and quite slow.
という状態にあることがわかりました.ところが,ここからリンクされてるページを見て,コマンドを叩いてみると
# ldconfig -v -p 2>&1 | grep libc.so libc.so.6 (libc6, hwcap: 0x0018000000000000, OS ABI: Linux 2.6.9) => /lib/i686/nosegneg/libc.so.6 libc.so.6 (libc6, OS ABI: Linux 2.6.9) => /lib/libc.so.6
となるので,設定は正しいらしいのです.エラーを吐いているのはどうやらrubyのスクリプトで,当人がコンパイルしたものだということなので,もう一度コンパイルしなおすか,という話に.ちなみに,nosegnegってのがよくわからずに見つけたのがこのページ.
+ * We supply "nosegneg" as the fake capability, to indicate that we + * do not like negative offsets in instructions using segment overrides, + * since we implement those inefficiently.
ということで,Xen用に作られたオプションらしいです.