上川純一
日本ヒューレット・パッカード株式会社
コンサルティング・インテグレーション統括本部
2005/8/23
リリースプロセスは改善するのか?
Ottawa Linux Symposiumで、リリースプロセス改善の提案がありました。この議論はLKMLで継続して行われました。その結果、大きな変更については、
- 新しい安定リリースを実施した直後の2週間でマージする
- それ以降は修正のみを取り入れて安定を図る
という方針が打ち出されました。
2.6.13-rcXのシリーズではまだ採用しないということなので、リリースプロセスを改善するとしたらそれ以降になります。本当に実現するのか、2.6.14の開発動向が楽しみです。
7月の-stableリリースは2.6.12.3のみ
7月にリリースされた安定版カーネルは、2.6.12.3だけでした。10のパッチを適用して、7月15日にアナウンスされました。
このリリースで最も議論を巻き起こしたのは、無線通信用の6PackドライバのSMP対応についてです。6packドライバは、make menuconfigにおいてSMPでは動作できないという設定(BROKEN_ON_SMP)になっていました。カーネル2.6.12.3では、それをSMPでもコンパイルできるように変更しました。しかしこれに対して、Adrian Bunkは「この変更はほかのブランチにも適用されていないので、-stableツリーで実施すべき変更ではない。十分テストされていない」とコメントしました。それでも、結局2.6.12.3の変更に含まれています。ハム関連のユーザーの間で十分テストされている、ということのようです。
x86_64アーキテクチャの32bit互換モードのコードにおけるメモリリークの修正など、一部の変更については「変更が大き過ぎる」と反論が出たために却下されました。
パッチの厳密な適用基準が明確になっているわけではないですが、-stableカーネルは合議制を採用して順調にメンテナンスされているようです。
参考リンク: | ||
-stableリリースのgitリポジトリ (Chris Wright) |
http://www.kernel.org/git/?p=linux/kernel/git/chrisw/linux-2.6.12.y.git;a=summary | |
-stableリリースのgitリポジトリ (Greg K-H) |
http://www.kernel.org/git/?p=linux/kernel/git/gregkh/linux-2.6.12.y.git;a=summary |
gitで問題のカーネルリビジョンを検索
本連載でも毎回のようにウォッチしているソースコード管理ツールgitは、その後もすごい勢いで開発が進んでいましたが、そろそろ開発も落ち着いたようです。
しかしながら、またgitのバックエンドのデータの形式が変更されました。ファイルをひとまとめにするPACKED形式が導入され、多数のファイルをこまごまと転送しなければならないという従来の問題を解決しています。その影響で、古いバージョンのgitでは、最新のLinuxカーネルのgitリポジトリからチェックアウトができない、などの弊害が出ました。
そんなgitに、カーネルの問題がどのリビジョンで発生したのかを探索するのに便利な機能が追加されました。
git-rev-listコマンドに--bisectオプションを指定すると、ちょうど真ん中のリビジョンが表示されます。また、タグ名の最初に「^」(否定)を付加すると、「そのタグに含まれているリビジョンは除外する」という意味になります。例えば、下記のコマンドは「2.6.12に入っているけど、2.6.12-rc3に入っていないリビジョン」の一覧を取得し、その真ん中にあるリビジョンを表示します。
git-rev-list --bisect v2.6.12 ^v2.6.12-rc3 |
これを応用して、Linusはgit bisectコマンドを実装しました。うまく動くリビジョンと動かないリビジョンを指定すると、その間のリビジョンをチェックアウトします。次にそれをテストして、そのリビジョンがうまく動いたか動かなかったかによって次に試すリビジョンを決めます。最終的には、問題が発生した変更点を割り出すことができます。
git bisect start |
||||||||||||
|
崖っぷちに立たされたFUSEの行方は
この連載でも何度か取り上げているFUSE(Filesystem in Userspace)ですが、まだ-mmツリーに残っており、Linusのツリーにはマージされていません。
セキュリティ対策の実装方法の方針については同意を得られていないが、取りあえずマージしてみよう、という方向で検討を重ねていました。しかし、議論が進むにつれて、風向きが変わってきました。
最終的にAndrew Mortonは、「v9fs(注)やNFSで提供できない機能ではないので、その方向で検討してみてはどうか」と提案しました。Miklos Szerediがこのまま引っ込んでしまうのか、何か改善策を引っさげて反論してくれるのか。FUSEの動向も目が離せません。
注:v9fsについては、 「 Linux Kernel Watch 7月版 gitベースのカーネル2.6.12に問題発生!?」 の2ページ目も参照。 |
参考リンク: | ||
FUSE | http://fuse.sourceforge.net/ | |
v9fsプロジェクトページ | http://v9fs.sourceforge.net/ |
(以上、敬称略)
2/2
|
|
|
||||
|
連載 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カーネルの開発体制などについて伺った |
|
|
- 【 pidof 】コマンド――コマンド名からプロセスIDを探す (2017/7/27)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、コマンド名からプロセスIDを探す「pidof」コマンドです。 - Linuxの「ジョブコントロール」をマスターしよう (2017/7/21)
今回は、コマンドライン環境でのジョブコントロールを試してみましょう。X環境を持たないサーバ管理やリモート接続時に役立つ操作です - 【 pidstat 】コマンド――プロセスのリソース使用量を表示する (2017/7/21)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、プロセスごとのCPUの使用率やI/Oデバイスの使用状況を表示する「pidstat」コマンドです。 - 【 iostat 】コマンド――I/Oデバイスの使用状況を表示する (2017/7/20)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、I/Oデバイスの使用状況を表示する「iostat」コマンドです。
|
|