Linux Kernel Watch

4月版 カーネル2.6.11.yのメンテナは嫌なヤツ?

上川純一
日本ヒューレット・パッカード株式会社
コンサルティング・インテグレーション統括本部
2005/4/19

 Linuxカーネルの開発には、世界中の人々がそれぞれの立場でかかわっています。主にメーリングリストを通じてさまざまな提案が行われ、その中のいつかが採用され、いくつかが却下されます。時にはそれが物議を醸すこともあります。本連載では、Linuxカーネルをめぐるさまざまなトピックを毎月ピックアップしてお伝えしていきます。

 今回は、2005年3月にlinux-kernelメーリングリスト(以下LKML)に流れた情報から、いくつかの話題を紹介します(編注)。

編注:http://www.ussg.iu.edu/hypermail/linux/kernel/で、LKMLのアーカイブを閲覧することができる。

Linuxカーネル2.6.x.y系列の導入

 これまでも、「Linuxカーネルのリリース方法を変更しよう」という議論は何度もありました。そして、2005年2月に行われた議論の結果として、3月から新しいリリースプロセスの実地試験が始まりました。安定版カーネルのバージョン番号を

2.6.x.y

という4つの番号で管理し、「2.6.x」に対して「2.6.x.y」は安全な修正のみを取り込んだものにするという方法です。この方針で、3月中に2.6.11.1から2.6.11.6までのリリースがありました。

 カーネル2.6.11.1〜6は、Linus Torvaldsの開発ブランチとは独立したものです。次にリリースするカーネル2.6.12へ向けた変更とは別に、2.6.11の安定化を目指したパッチのみを適用しています。つまり、本当に必要な修正だけを採用することにより、安定化を図ったもの(カーネル2.6.11.y)と、開発用のもの(カーネル2.6.12)を分けるということです。

 Linusは、「SUCKER(しっかりとパッチレビューができて、強い意志を持った融通の利かない嫌なヤツ)を演じられる人でないと、この作業はできない」と書いていました。Greg Kroah-Hartman(以下Greg K-H)とChris Wrightが、この作業を実行に移しています。

  • セキュリティフィックスやドライバの致命的なバグを修正する
  • 体裁の修正やコンパイル時の警告の修正などは採用しない
  • パッチをGreg K-HとChris Wrightがレビューし、しばらく寝かせたものを採用する

という手順になっているようです。

 カーネル2.6.11.1〜6の特徴を簡単に説明します。
  • 2.6.11.12.6.11.2
    変更点は少量で、コンパイルできないものの修正とデバイスのワークアラウンド、エラーコードの修正

  • 2.6.11.3
    コンパイルできないものの修正の追加と、本当に動かないデバイスドライバの修正

  • 2.6.11.4
    変更点は少数で、pppのセキュリティフィックスが入っていた

  • 2.6.11.5
    いろいろな動かないドライバの修正
 ここまでは、Greg K-Hがアナウンスしました。3日に1回くらいのペースでリリースしています。
  • 2.6.11.6
    isofsの修正などの適用および2つのセキュリティフィックス

 このリリースはChris Wrightがアナウンスしました。

 この方針の問題は、2.6.11系列に対しての修正は、2.6.12の向いている方向とは違う、という点です。2.6.11系列と2.6.12の間に乖離が発生することで、2.6.12のリリースが遅れれば遅れるほど困難な作業が増えていきそうです。

 ただし、安定版のリリースが行われることでより安心して最新版のカーネルを利用でき、よりテストされるようになるという利点がありそうです。

relayfsの統合

 relayfs(Relay Filesystem)は、カーネル空間からユーザー空間への効率的なデータ転送を提供するものです。カーネル側ではrelayfsの提供するAPIを利用して、逐次データをユーザー空間に提供します。ユーザー空間のアプリケーションは、relayfsをマウントしたディレクトリのファイルをopenし、mmap、pollなどを利用してデータを受け取ります。ちょうど/procと似たような仮想ファイルシステムを提供します。

 relayfsはもともと、LTT(Linux Trace Toolkit)というカーネルの動作を追跡するためのツールで収集したデータを、ユーザー空間に伝達するために実装された機能です。いったん2.6.11-rc2-mm2で導入されたのですが、後にまた削除されていました。その後、「いろいろな改善が施されたのでmmツリーに統合しよう」という話が出て、2.6.11-mm3で再度統合されました。

 その際のannounce.txtには、

+relayfs.patch
+relayfs-backing_dev-fix.patch

 Re-add much shrunk relayfs
 (大幅に小さくなったrelayfsを再度追加した)

という記述があります。

 デバッグやデバイスドライバの開発などに便利そうなインターフェイスなので、これからいろいろ使えるかも?

参考リンク:
  relayfs http://www.opersys.com/relayfs/
  LTT http://www.opersys.com/ltt/
  2.6.11-mm3の
announce.txt
http://www.kernel.org/pub/linux/kernel/people/akpm/patches/
2.6/2.6.11/2.6.11-mm3/announce.txt

1/2

Index
Linux Kernel Watch 4月版
 カーネル2.6.11.yのメンテナは嫌なヤツ?
Page 1
 Linuxカーネル2.6.x.y系列の導入
 relayfsの統合
  Page 2
 sysfsを利用するにはGPLじゃないとダメ?
 乱数生成の高速化は必要か
 デバイス名の変更が引き起こす混乱
 FUSEが本流デビューするのはいつの日か?

連載 Linux Kernel Watch


 Linux Squareフォーラム Linuxカーネル関連記事
連載:Linux Kernel Watch(連載中)
Linuxカーネル開発の現場ではさまざまな提案や議論が交わされています。その中からいくつかのトピックをピックアップしてお伝えします
連載:Linuxファイルシステム技術解説
ファイルシステムにはそれぞれ特性がある。本連載では、基礎技術から各ファイルシステムの特徴、パフォーマンスを検証する
特集:全貌を現したLinuxカーネル2.6[第1章]
エンタープライズ向けに刷新されたカーネル・コア
ついに全貌が明らかになったカーネル2.6。6月に正式リリースされる予定の次期安定版カーネルの改良点や新機能を詳しく解説する
特集:/procによるLinuxチューニング[前編]
/procで理解するOSの状態

Linuxの状態確認や挙動の変更で重要なのが/procファイルシステムである。/procの概念や/procを利用したOSの状態確認方法を解説する
特集:仮想OS「User Mode Linux」活用法
Linux上で仮想的なLinuxを動かすUMLの仕組みからインストール/管理方法やIPv6などに対応させるカーネル構築までを徹底解説
Linuxのカーネルメンテナは柔軟なシステム
カーネルメンテナが語るコミュニティとIA-64 Linux
IA-64 LinuxのカーネルメンテナであるBjorn Helgaas氏。同氏にLinuxカーネルの開発体制などについて伺った

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間