5月版 マージウィンドウなんか1週間に縮めちゃえ?


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


着々と進化するKVM、準仮想化での改善

 KVMの開発に関しては、準仮想化の部分で進展が見られました。PV(para-virtual)ドライバ関連の一連のパッチがリリースされています。lguestとともに活発に開発されているparavirt_opsの仕組みを活用しているようです。

 その1つに「KVM hypercall」という仕組みがあり、ゲストOSがホストOSの支援を受けて各種処理を効率化・高速化できるようになっています。これでオーバヘッドが減るとよいですね。現在はさらに、ディスクI/OやPCIデバイスのDMAの仮想化に向けた仕組みなどの準備が進んでいるようです。

 さて、仮想化環境においては、そのままでは時間の扱いが難しく、特殊な取り扱いがなされることが多いです。

 KVMもその例外ではありません。Glauber de Oliveira Costaの提案したkvmclockドライバが入り、準仮想化された時間情報が提供されるようになりました。ホストOSがゲストOSのメモリ空間に、現在の時間情報とそのときのプロセッサのTSCレジスタの情報を書き込むという実装になっているようです。こうすることで、ゲストOSの範囲内で時間が取得でき、高速になります。

 移植性の部分でも進展があったようです。以前、KVMを移植しやすくするパッチ(KVM Portability)が投稿されていましたが、これを用いて、ia64、powerpc、s390の各版について開発が進んでいるようです。2.6.26-rc1では、各アーキテクチャ向けのコードがマージされました。

関連記事:
リンク 2007年11月版 x86系重複コードの悪夢は消えるのか?
http://www.atmarkit.co.jp/flinux/rensai/watch2007/watch11b.html

アイコン とうとうマージされた便利機能、KGDB

 2.6.26向けにマージされた機能として「KGDB」(linux kernel source level debugger)があります。これは昔からパッチとして存在したものなのですが、ほかのコードへの影響が多い関係で、なかなかメインラインへのマージに至りませんでした。パッチを縮小し、影響が少ない形にしてとうとうマージに至りました。

 KGDBはカーネルのデバッグ機能を提供します。それも、別マシンでデバッガ(GDB)を実行し、実行中のLinux Kernelに接続できるようにします。この接続には、シリアルケーブルやイーサネット経由での接続が利用可能なようです。

 例えば、ブートパラメータで停止するようにブレークポイントを指定したり、exceptionの結果停止したカーネルの状態をリモートからデバッグできるようになります。カーネルデバッグのお供に便利そうじゃないですか?

参考:
Documentation/DocBook/kgdb.tmpl kgdbのドキュメント

-stableの進ちょく

 4月の-stableリリースは、Chris Wrightがリリースした2.6.24.5のみだったようです。あまり急ぎではないバックポートが中心となっており、セキュリティパッチも特にリリースされておらず、安定した月でした。

■2.6.24.y: Greg K-Hたちが管理しているツリー
  • 2.6.24.5(4月19日):Chris Wright
    ・fcntl(F_SETLKW)をnfsで利用するとロックする問題に対応
    ・AF_LLC ソケットを利用するのに特権が必要なように変更する
    ・fbモジュールをアンロードすると/proc/fbがoopsする
    ほか、65パッチ

(以上、敬称略)

2/2

Index
Linux Kernel Watch 5月版
 マージウィンドウなんか1週間に縮めちゃえ?
  Page 1
 2.6.26に向けて再燃、リリースプロセスめぐる議論
 マージウィンドウ、2週間の是非
 linux-nextの存在意義とは?
 cgroupでリソースを管理する幸せ
Page 2
 着々と進化するKVM、準仮想化での改善
 とうとうマージされた便利機能、KGDB
 -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 記事ランキング

本日 月間