harvestを最適化せよ」という指示が随所で出てくる。ネットワークなのに乱数?と不思議に思って調べたメモ。12.1-RELEASE時点での情報である。harvestについて。FreeBSDは乱数を返すスペシャルファイル/dev/randomを持つが、通常、その実態は擬似乱数生成器となっている。数式で求められた確定的な乱数っぽい数値を返しているに過ぎず、乱数っぽさの維持にはエントロピーの質が重要となる。harvestと呼んでいるようだ。良質なエントロピーを育み利用する、という感じなので“harvest”はなかなか的を射た呼び方だと思う。そのエントロピー収穫先を制御するのがkern.random.harvest.maskカーネル変数というわけ。値は収穫先ごとのビットフラグで、1ならエントロピー源として使う、0なら使わないことを意味する。10進数のマスク値を見ても良くわからないので、エイリアスであるmask_symbolicやmask_binを見た方がいいだろう。うちの環境では以下のとおりだった。RNG'mask_binがmask値の2進数表現、mask_symbolicがmaskを更に読みやすくしたシステムで利用可能なエントロピー源の一覧で、[]で囲まれた収穫先は使われていないことを意味する。12.1-RELEASE時点で、24個のエントロピー源が定義されているようだ(sys/sys/random.h)。ご覧の通りNET_ETHERもエントロピー源として使われている。それがなぜネットワーク性能に影響するかというと、エントロピー収穫の際のロック競合が少なくない影響を及ぼしているとのことだ。10ギガビット以上の高速ネットワークではバカにならないそうで。Tags:FreeBSDNetworkPCCommentsNameE-MailWebsite人間の証明として、ボックス内の全ての文字を入力してください。Decomoソースの表示以前のリビジョンメディアマネージャー文書の先頭へ。