11月版 x86系重複コードの悪夢は消えるのか?
上川純一
日本ヒューレット・パッカード株式会社
コンサルティング・インテグレーション統括本部
2007/12/4
x86以外のプラットフォームにもKVMを
KVMの開発は活発に継続されています。LKMLだけを見るとあまり目立った動きはないのですが、kvm-develでは活発に開発が進んでおり、そこでの成果がlinuxのgit treeにマージされていっています。
初期のころはどんどん互換性が失われていたLinux KernelとKVMのAPIバージョンの対応ですが、最近は、APIバージョンを頻繁に上げないようにしているようです。この結果、カーネルとユーザー空間の組み合わせに悩んでいた初期のころよりも、KVMを試しやすくなっているようです。
|
Laurent Vivierは「Virtual Machine Time Accounting」という名前で、仮想マシンのゲストOSの処理に使われている時間をguest時間としてカウントするためのパッチを投げています。その最初の実装例としてKVMが取り上げられています。
従来のUNIXのプロセス実行時間の管理では、「system」と「user」という分類になりますが、それに「guest」が追加される形になります。これはまだマージされていないようですが、使い方によっては便利かもしれませんね。
また、KVMをx86以外のプラットフォームに移植可能にするパッチが出ています。powerpc(PPC440)用の移植についてはkvm-ppc-develメーリングリストが設けられており、その中で、IBMのJerone Young、Hollis Blanchardなどにより活発に開発が行われているようです。また、IA64用の移植については、Intel内部で開発が行われているようです。
9月26日には、kvm-develに、Intelの担当者であるXiantao Zhangから最初の投稿がありました。その後も、IA64移植用のパッチそのものではなく、KVMを移植しやすくするためのパッチ(KVM Portability)についての議論が続いています。
さらに、lguestを開発しているRusty Russelが、kvm-liteというパッチをリリースしているのも気になります。9月6日にkvm-devel MLに投稿されてから更新されていませんが、kvm-liteとは、lguestをKVMに移植したもののようです。KVMは、最近の新しいCPUの仮想化機構を利用して実装されているもので、古いCPUでは利用できません。これに対し、仮想化機構を持たないCPUでも、疑似仮想化カーネルをゲストOSとして利用できるようにするのがkvm-liteだそうです。
このようにKVMの用途がどんどん広がっていっているようですが、皆さんはもう試しましたか?
関連リンク: | |
2006年12月版 ついに仮想化がカーネル標準機能に!? http://www.atmarkit.co.jp/flinux/rensai/watch2006/watch12b.html |
|
Linux Tips「カーネルの仮想化機能「KVM」を使うには」 http://www.atmarkit.co.jp/flinux/rensai/linuxtips/a044kvm.html |
-stableの進ちょく
最後に、10月の-stableツリーはどうなったかを見てみましょう。
Greg K-Hは、10月はまだ2.6.23がリリースされた直後だったからか、2.6.22.yツリーと2.6.23.yツリーを並行してリリースしていました。2.6.22.yのメンテナンスがいつまで続くのか、また、誰がそれを受け継ぐのかが気になるところです。
一方、Adrian Bunkの管理している2.6.16.yのメンテナンスはしっかりと行われており、多数のパッチがバックポートされています。Willy Tarreauの管理している2.6.20.yについても順調にメンテナンスされているようです。
■2.6.16.y: Adrian Bunkの管理
- 2.6.16.54(10月8日)
・多数のMD関連の修正
・PPP関連の修正
・SPARC32の修正
そのほか、23パッチ
- 2.6.16.55(10月15日)
・snd-page-alloc procファイルにseq_fileを利用する(CVE-2007-4571)
・sysfsのinode番号の扱いでreaddirでoopsしたのを修正(CVE-2007-3104)
・乱数発生器のスタックオーバフローの可能性の修正など(CVE-2007-3105、CVE-2007-2453)
・SUIDの場合のcurrent->pdeath_signalのセキュリティホール修正(CVE-2007-3848)
・moxaドライバのバッファオーバフローの修正(CVE-2005-0504)
・x86_64: 32bitの場合にptraceの後に全レジスタをゼロ拡張する(CVE-2007-4573)
そのほか、19パッチ
- 2.6.16.56(11月2日)
・スタックがhugetlbに予約されている領域にいかないようにする(CVE-2007-3739)
・IA64のis_hugepage_only_rangeの修正
・powerpcの浮動小数点演算のエミュレーションでstfiwxの挙動が正しくなかったのを修正
・alphaのepollのシステムコールのヘッダファイルの修正
そのほか、23パッチ
■2.6.20.y: Willy Tarreauの管理しているツリー
- 2.6.20.21(10月17日)
・USBの修正
・ipv6の修正
・ieee1394がモジュールでない場合の初期化の修正
そのほか、32パッチ
■2.6.22.y:Greg K-Hたちが管理しているツリー
- 2.6.22.10(10月10日):Greg K-H
・selinuxでSIDが変更してもcurrent->pdeath_signalがクリアされていなかったのを修正
・sky2ネットワークカードの修正
・PPPのMicrosoft Point-to-Point Encryption(MPPE)で、スタックではなく、kmallocした領域に置く
そのほか、13パッチ
- 2.6.22.11(11月2日):Greg K-H
・TCP関連の修正
・hwmon関連の修正
・powerpcの浮動小数点演算のエミュレーションでstfiwxの挙動が正しくなかったのを修正
そのほか、27パッチ
- 2.6.22.12(11月5日):Greg K-H
・minixfs: dir i_sizeが不正な場合にprintkを制限する(CVE-2006-6058)
・"x86_64: allocate sparsemem memmap above 4G"をrevert
・dm snapshot:デッドロックの修正
・x86:fix global_flush_tlb()のバグ
そのほか、9パッチ
■2.6.23.y: Greg K-Hたちが管理しているツリー
- 2.6.23.1(10月12日):Greg K-H
・libata: sata_mv:さらなるscatter-gatherの修正
以上、1パッチ
(以上、敬称略)
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」コマンドです。
|
|