今週のLKML

今週は

  • Make kernel build deterministic
  • KGTP (Linux Kernel debugger and tracer) 20110405 release
  • [PATCH] Allow O_SYNC to be set by fcntl(F_SETFL)

Make kernel build deterministic

http://permalink.gmane.org/gmane.linux.ports.arm.kernel/112608

カーネルコンパイルする時に __TIME__ や gzip などによって、カーネルのオブジェクトのあちらこちらにタイムスタンプがうめこまれます。このために同じコードからビルドしてもその結果できるバイナリが変わってしまいます。(とすると、カーネルが改変されてないかどうかのチェックがしにくい、とかそんなことなんじゃないでしょーか)

そこで __TIME__ なんかのタイムスタンプをうめこむ要素を排除しよう、というのがこのパッチです。

KGTP (Linux Kernel debugger and tracer) 20110405 release

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

その名の通りに、 Linuxカーネルデバッグしたりトレースするツール。 kgbd との違いは

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

  • gdb 風のインタフェースではない
  • トレース用のインタフェースのみがある
    • トレースに特化している

との様子。

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

KGTP は gdb の 「gdb Remote Serial Protocol」の 「Tracepoint-Packets」の機能を使っているから、 gdb とマージした方がいいのでは、と提案。(まぁそのほうがわかりやすいよねぇ…)

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

しかし、シンプルなインタフェースのために提案拒否。まぁどっちもどっちか…。kgdb にトレースポイントの機能をつけることにがんばりそう?

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

とりあえず Harry Wei からの Acked-By はついていますね。

[PATCH] Allow O_SYNC to be set by fcntl(F_SETFL)

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

いまの実装では fcntl(fd, F_SETFL, flags|O_SYNC) としてもなにも変わらず無視されていますが、これを無視せずに処理しようというパッチに返信がありました。

いま無視されているこのフラグですが、処理するとなるとユーザランドのアプリケーションが遅くなってしまうこともありえます。(SYNCされますからね) 意味としてパッチを当てるのは正しいのですが……難しいところですね…。