Marinasは、Linuxカーネル内部でのメモリリークを検出するデバッグオプションを追加するパッチを提案しました。このパッチは、ガベージコレクションの仕組みを利用して、メモリリークを検出します。--leak-checkツールと同様の機能を提供することを目標としているようです。Kleenはこのパッチの有用性に疑問を呈しました。Marinasのパッチの有用性が必要以上に少なく見えてしまう。Coverityが調査対象としていない各自が持っている開発用のツリーや特殊なアーキテクチャ、ドライバには有用だよ」と擁護しました。このパッチは急速に改良を重ね、実際にいくつかのメモリリークを検出しているようです。一部のパターンについてはメモリリークを誤検出するという報告があります。Marinasは、その対策も提案しています。メモリリークを検出するデバッグオプションがカーネルに入ることで、今後のカーネルの品質が向上するとよいですね。Hoffmannは、「vsyscall領域を移動する」というパッチをLKMLに投げました。$80)やsysenter(注)の発行を通常のライブラリ関数呼び出しで実現します。Object)と呼びます。一部のアーキテクチャの時間関数などは、高速化のためカーネル空間に切り替わらず、vsyscallのみで実現しています。$80よりもsysenterを使う方法が高速でした。ほかのCPUでは逆に遅かったり、実装されていなかったりします。vsyscall領域を移動する必要があるかというと、XenなどのHypervisorが仮想メモリ空間上の固定したアドレスにメモリ領域を確保しようとすると、vsyscallが固定的に利用している領域と衝突してしまうからです。この議論が盛り上がったのには別の理由もありました。vsyscallが確保するメモリ領域のアドレスはすでに知られており、セキュリティ攻撃の対象の1つになっているようなのです。そのため、vsyscallを移動できるようにすることでアドレスを予測不可能にしたいというわけです。Mortonが報告しました。2.3.2のld.soは、VDSOがリロケーション可能な場合に対応できないらしいのです。Torvaldsはそうした意見に対して「ユーザー空間の互換性が重要だというのが分からないのであれば、カーネル開発者のふりをするのはやめて、例えばHurdみたいなおもちゃシステムの開発者になった方がよい」と制しました。短期間の処理に要した時間を計りたいという場合はよくあります。細かい時間で更新される時間カウンタとしては、sched_clock()という関数が使えます。以下のような用途が考えられるでしょう。Kingは指摘しました。x86ではTSCレジスタを利用しており、TSCレジスタの値は64bitです。sched_clock()はその値を加工してナノ秒に変換しているのですが、結果として精度は54bitになります。ARMではこれが32bitしかありません。これは何を意味するでしょうか?時間の経過とともに数字が増えるわけですが、ある時点で「0」に戻ります。それを64bitの変数の演算として見ると、突然長い時間が過ぎてしまったように見えます。この解決策の1つとして、彼は差分を計算する専用の関数sched_clock_diff()を定義することを提案しました。すると、そもそもsched_clock()をナノ秒で提供するように加工する必要がなくなります。Pigginがコメントしました。この状況はあまり良くないことではありますが、あまり文句も出ていないため「このコードを利用している部分はあまり存在しないのだね」という結論に達して、結局何も修正はなされていないようです。sched_clock()を利用する場合はご注意を。-stableリリース、今月も大忙し5月は合計で8つの安定版リリースが出ました。4月ほど多くはありませんでしたが、セキュリティ対応のために緊急リリースされたものもいくつか見られました。順調にリリースされているということで、安定版が安心して利用できるのはよいことですね。頻繁なリリースについての意見もありました。Ionita)といった冗談が飛ぶ場面も。Tarreauはまじめな意見として、「2.4のツリーではまだホットフィックスが追い付いていないが、それに比べて安定版のツリーには数日遅れでセキュリティホールへの修正がなされており、良いことだ」とコメントしました。Watch(連載中)Linuxカーネル開発の現場ではさまざまな提案や議論が交わされています。その中からいくつかのトピックをピックアップしてお伝えします連載:Linuxファイルシステム技術解説ファイルシステムにはそれぞれ特性がある。本連載では、基礎技術から各ファイルシステムの特徴、パフォーマンスを検証する特集:全貌を現したLinuxカーネル2.6[第1章]エンタープライズ向けに刷新されたカーネル・コアついに全貌が明らかになったカーネル2.6。6月に正式リリースされる予定の次期安定版カーネルの改良点や新機能を詳しく解説する特集:/procによるLinuxチューニング[前編]/procで理解するOSの状態Linuxの状態確認や挙動の変更で重要なのが/procファイルシステムである。(2017/7/27)本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、コマンド名からプロセスIDを探す「pidof」コマンドです。(2017/7/21)今回は、コマンドライン環境でのジョブコントロールを試してみましょう。(2017/7/21)本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、プロセスごとのCPUの使用率やI/Oデバイスの使用状況を表示する「pidstat」コマンドです。(2017/7/20)本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、I/Oデバイスの使用状況を表示する「iostat」コマンドです。