2009-06-02 [長年日記]

_ [linux][vm]お前のページを共有する、抵抗は無意味だ――KSM @IT

ゲストOSとして起動したQEMUは、最初に自身のメモリを共有可能であると
/dev/ksmに登録します。すると、ksmスレッドがバックグラウンドで定期的
にページをスキャンし、それぞれのページのハッシュ値を計算していきます。
ハッシュ値が同じものが見つかったらmemcmpで内容が一致するかを確認
し、本当に一致していたら、両方の参照元のpteが同じpageを指すよう
書き換えかつリードオンリーにしてしまいます。
 
これで、参照元プロセスがページの内容を変更しようとしたタイミングで
ページフォルトが発生し、通常のfork時のCOWと同じように共有解除が
されるというわけです。

逆COW?そりゃいくらなんでも乱暴すぎるんじゃないでしょうか。 第一ksmスレッドのオーバヘッドはバカにならないんじゃぁ。。。

でもこんなpatchがmainに入っちゃうんだからLinuxだなぁ。

本日のツッコミ(全2件) [ツッコミを入れる]
_ みやした (2009-06-05 23:54)

なんかmixiでQ氏の記事がほとんど他ブログリンクになったぞ。 <br>何やっとんの?

_ masterq (2009-06-06 09:01)

friendfeedってののの更新を突っ込んでみました。 <mixi <br>twitterやらdeliciousやらの更新の方が日記の更新より頻度が多いんでぇ。 <br>

[]