@naota344の今週のLKML

今週は

  • [PATCH 1/5] VFS: Do (nearly) lockless generic_file_llseek
  • [patch 00/15] CFS Bandwidth Control V6

[PATCH 1/5] VFS: Do (nearly) lockless generic_file_llseek

http://permalink.gmane.org/gmane.linux.kernel/1156351

llseek のデフォルト動作、 generic_file_llseek をほとんど lockless にしようという patch です。

いまの generic_file_llseek の実装では inode object 内の i_mutex をlockしていて、全く関係のない(file objectは共通していない)2つのプロセスが同じファイルを開いている時でも同期していました。

そこでこの i_mutex を file objectのf_lockを使うように変更しよう、またSEEK_SET・SEEK_ENDなどlockの必要でない場所でlockをとっているのをやめよう、というのがこのpatchです。

[patch 00/15] CFS Bandwidth Control V6

http://permalink.gmane.org/gmane.linux.kernel/1136690

CGroupにcpu bandwidthを制御する機能をつけくわえようと議論がなされています。

CPU affinity を使えば使用するCPUを制限することができますが、それと同様のことを cgroup を使って行なおう、というpatchのようです。

昔のpatchによるグラフですがイメージとしてはこのグラフ https://docs.google.com/View?id=dgjvsb78_6dhktmzhs がいいかと。16個のコアのあるマシンでテストを行なっていて、CPU使用率を計測しています。 affinity ではプロセスの動くことができるCPUの数をそのまま単純に制限しているのでまぁ線形に伸びていってこれが理想なわけですね。 cgroup bandwidth では指定された group が一定時間に使うことのできるCPUのbandwidthを制限します。affinity 全てのCPUを使うことはできますが、上限がCPU 10コア分とかにされている感じですかね…。

uts: make default hostname configurable, rather than always using "(none)"

http://comments.gmane.org/gmane.linux.kernel/1147820

sethostname() などを呼ばなかった時のデフォルトのhost名は"(none)"となっていますが、この値はあんまりぱっとしないのでこのデフォルトを変更できるようにしよう、というpatchです。これで設定しておけば init=/bin/bash とかで起動した時にもホスト名がついてて便利、という感じでしょうか…。

なかなか面白いとこですよね…。 make oldconfig して一瞬目を疑いました…。

Linux 3.0-rc4

http://permalink.gmane.org/gmane.linux.kernel/1157753

3.0-rc4 が出ています。

個人的にはこのpatchのRCUの performance regression の修正が気になるところです。

http://www.spinics.net/lists/linux-tip-commits/msg12620.html