8月版 リグレッションやChangeLogは不要?


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


ナノ秒単位の設定が可能なutimensatシステムコール

 Ulrich Drepper(glibcのメンテナ)は、futimesatインターフェイスでは機能が足りていないということを理由に、utimensatシステムコールを提案しました。

 futimesatは、inodeのアクセス・変更時間を設定するためのシステムコールです。struct timevalをパラメータとして受け取るため、マイクロ秒単位で設定します。一方、inodeの各種情報を取得するstatというシステムコールでは、ナノ秒単位で取得できるようになっています。つまり、そもそも設定できない精度で情報を取得できるような仕組みになっているわけです。

 この問題を解決するために、パラメータとしてstruct timespec(ナノ秒単位)を利用できるutimensatというシステムコールを用意することになりました。このシステムコールはLinuxカーネル2.6.22-rc1でマージされました。

XenゲストOSもlguestもマージ

 Linuxカーネルに新しくいくつかの仮想化機能がマージされていますので、こちらも見てみましょう。

 まず目立つのが、Xen ゲストOSとしての機能が2.6.23-rc2にマージされていることです。そして、Rusty Russelが実装した、仮想マシンモニタとゲストOSを提供する機能、lguestが2.6.23-rc1にマージされています。

 一方、KVM(注)は順調にメンテナンスが行われているようで、逐次修正がマージされています。KVMに関して変更の発生しなかった月はないといってよく、まだまだ活発に開発されている状況です。

注:2007年2月版 仮想化技術「KVM」の高速化パッチ登場!を参照。

 ユーザーの観点からすると、ユーザー空間のインターフェイスとカーネル空間のインターフェイスの後方互換性を維持していないことによる互換性の欠落が問題になります。カーネルに含まれているkvmのバージョンは、最新のユーザー空間のアプリケーションkvmと互換性がないため、Avi Kivityによると次のような対応になっていました。

参考:カーネルに含まれるkvmのバージョン
カーネルVer.
kvmVer.
2.6.20 kvm-12
2.6.21 kvm-17
2.6.22 kvm-22 以降

 カーネル2.6.23に向けて、今のところ2.6.22と非互換とするような変更はないようですが、ユーザー空間とカーネル空間の組み合わせについてはまだまだ気にする必要がありそうです。

ますます増える-stableツリー

 Linusのリリースから分岐して比較的安定したカーネルを提供する-stableツリーの仕組みですが、最近はどんどんツリーが増える傾向にあるようです。

 2.6.20系列については、Greg K-HとChris Wrightの手によって、7月7日の2.6.20.15までリリースされました。その時点までは2.6.21と並行してメンテナンスされていたのですが、その後2.6.22がリリースされ、2.6.20系列はメンテナンスされないことになりました。

 これを問題視したWilly Tarreauは2.6.20のメンテナンスを継承すると宣言し、8月15日に2.6.20.16をリリースしています。彼によると、方針としては独自路線を行くものではなく、2.6.21.7までのパッチに追いつくために2.6.21.7のパッチをバックポートしているのだということです。2.6.21、22に必要なパッチの勢いが落ち着くまでの「つなぎ」という位置付けです。Willy Tarreauは2.4系列のメンテナもしているので、お世話になっている人も多いのではないでしょうか。

 現在もメンテナンスされている各-stableツリーを簡単にまとめてみましょう。

参考:-stableツリーの状況
-stableツリーVer.
メンテナ
2.6.16.y Adrian Bunkが管理しているツリー
2.6.20.y もともとGreg K-Hたちが管理していたツリー、
その後Willy Tarreauが継承している
2.6.21.y Greg K-Hたちが管理していたツリー
2.6.22.y Greg K-Hたちが管理しているツリー

(以上、敬称略)

2/2

Index
Linux Kernel Watch 8月版
 リグレッションやChangeLogは不要?
  Page 1
 リグレッショントラッキングやChangeLogの意義は?
 新規追加のシステムコールあれこれ
 シグナルをファイルディスクリプタ経由で
 fallocateシステムコールのその後は?
Page 2
 ナノ秒単位の設定が可能なutimensatシステムコール
 XenゲストOSもlguestもマージ
 ますます増える-stableツリー

連載 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 記事ランキング

本日 月間