概要

今年も例年通りオタワにてLinux Kernel Developers Summitが開催された。Linux Kernel Summitは、世界各地から選ばれたカーネル開発者だけが50人程度招待され、今後一年のカーネル開発の方向性に大きな影響を与える重要な会議である。二日間に渡って開催されたLinux Kernel Summitについて簡単に報告する

1日目

  • CPU Panel
    • 最初のセッションでは、CPU PanelというタイトルでIBM、Intel、AMDから各社のCPUについての簡単な紹介がなされた。
    • IBMからは、Cellプロセッサのアーキテクチャの説明を中心に、非対称なマルチコアCPUであるCellをどのようにLinuxで扱うかといった点にも触れていた。Intelからは、IntelのCPUのロードマップの紹介、ならびにマルチコアのプロセッサについて、性能面よりむしろパワーマネージメントに主眼を置いて説明がなされた。AMDからは、AMDのプロセッサに導入される仮想化技術についてと、今後のマルチコアプロセッサの展開について説明がなされた。
  • IO Buses
    • このセッションでは、特にPCIバスのエラー処理について議論がなされた。デバイス関係では仕様通りに動いてくれないことがあって困るのだが、といった愚痴に近い話も出た。
  • IOMMU
    • IOバスについてのセッションに続き、LinuxでのIOMMUサポートについてのセッションが行われた。IOMMUは、デバイスからメモリアクセスを行う場合に、デバイスに対して仮想アドレス空間を提供するものであり、PC系のアーキテクチャには馴染みがないがサーバ系のアーキテクチャではよく採用されている。
    • LinuxではIOMMUのサポートが不十分なので、IOMMUサポートをどのように行うかといった点や、デバイスに対しIOMMUを経由してメモリアクセスを行わせることの性能インパクトはないのか(IOMMUをバイパスして物理メモリに直接アクセスさせる方が性能が出るのでは?)といった点について議論が行われた。また、IOMMU経由でアクセスするためのメモリ領域確保の方法についての議論もあった。
  • Memory Management: defragmentation and fragmentation avoidance
    • メモリ管理周辺の話題について、3つのセッションが開かれた。
    • ブート後ある程度時間を経過すると、物理的に連続した領域のメモリを確保することは困難となる。断片化したメモリをまとめて連続した空き領域を作る(defragment する)ための方法と問題点がチェアから紹介された。defragmentationについての話が中心で、fragmentation回避の話はあまり出なかったように思う。
  • Memory Management: mm scalability
    • メモリ管理についての最後のセッションでは、CPU数が多くなったときのページフォールトハンドラの処理時間が大きい問題について簡単な説明があった。
  • ExecShieldの話
    • 元々はempty slotとして留保されていた時間にRedHatのExecSchieldの紹介があてられた。ExecShieldはセキュリティ強化のためのツールで、データ領域を実行不可にしたり、glibcレベルでちょっとしたチェックをするようにしたりといった強化をしているとのこと。また、プログラムの実行のたびにメモリアドレスが一定にならないようにずらす工夫もしている。紹介が中心で何かの議論に発展するということはなかった。
  • Virtualization
    • XenやUMLなどの仮想化をサポートするにあたって、共通化できそうな部分は共通化できるようにしようという話だった。さらに細かい話はOLSでのBOFで行うとのこと。また、Xenをmainlineへマージするにあたって、何をする必要があるか、いつやるのか、誰がやるのかを考える必要があるという話も出た。
  • VFS/Filesystem
    • generic_file_write()あたりの、間接関数呼び出しなどでとても読みにくくなってるコードを単純化したいということを中心に議論された。direct IOのサポートの導入のされ方がコードを難解にしているという指摘がなされた。
  • 5 minute speed talks
    • 初日の最後のセッションは,飛び入り形式で何か話したいテーマがある人が話をする時間にあてられた。ドライバモデルの話や組み込み向けにカーネルサイズを小さくしたい話などが出た。

2日目

初日に引き続き、二日目は基本的に別途開催されたNetworking Summitなどのまとめ報告が主な話題であった。技術的な話は初日よりかなり少なめな印象だったせいか、参加者は若干初日よりも少なめだった。

 

  • Device Driver Panel
    • 初日のCPU Panelと同じような形で、今度はハードウェア(特にSCSI)のベンダ(Emulex、QLogic、Intel)とCE Linux Forumから簡単なプレゼンテーションが行われた。
    • どのハードウェアベンダも、Linuxのドライバを作るにあたってはドライバのメンテナンスに苦労しているという話が中心だった。各ディストリビューションのリリースごとにメンテナンスするのか、あるいはmainlineへ統合し、mainlineベースでメンテナンスしていくのかといった選択で困るらしい。
  • Networking Summit Summary
    • 別途開催されたNetworking Summitの報告。16人参加したとのこと。Networking Summitでは、XFRMやTCP segmentation offloadなどの議題について議論したとのことだった。
  • Convergence of network and storage paths
    • cluster filesystemやNAS、iSCSIなどにおいて、ネットワーク上にstorageを置いた場合に起こる問題についてのセッションが開かれた。主にメモリが逼迫した状況でもネットワークスタックは動作できなくてはならない(メモリ回収でdirtyなページを書き出す必要があるため)という要件について活発に議論が行われた。Linusから、「ディスクレスのシステムは昔からあるがうまくいった試しがないので、完全にディスクレスのシステムなんて考えない方がいいのでは?」というツッコミが入っていた。
  • Clustering
    • Cluster Summitのまとめ。cluster filesystemやクラスタにまたがるプロセス管理の話について主に説明。SSI (Single System Image)の実現について議論が中心だった。
  • RAS tools discussion
    • kdumpなどのRAS系ツールについて議論。ダンプを取る前にはDMAをきちんと止めないといけないが、大丈夫なのかというあたりで議論になっていた。
  • グラフィックス関係
    • もともとGFXのセッションとDesktop Summit Summaryのセッションに分かれていたが、グラフィックス関係ということで一続きのセッションとなった。内容はDesktop Summitのまとめが中心だった。特に、VT(仮想ターミナル機能)の実現について、最近のグラフィックカードはレジスタなどが多く、VT間の切り換えの際に保存すべき情報が非常に多くなっていることが問題という話があった。
  • Power Management Summit Summary
    • Power Management Summitについてのまとめが発表された。suspend/resumeまわりの問題についての議論が行われたとのことだった。他には組み込み向けのpower managementについての話があった。
  • Development Process / Quality Control
    • 今回のLinux Kernel Summitの最後に、Linuxカーネルの開発体制についてのセッションが開かれた。カーネルの品質を落とすことなく、どうやって開発を進めていくかという話が中心となった。
    • 現状では、バグ報告をうまく取り上げることができていないケースがあるので,改善の余地があるはずだという話が挙がった。バグの管理のやりかたにしても,現状ではbugzillaをうまく使えていないという話が出た。聞き落としたかもしれないが、少なくともこの場では今後2.7や2.8をいつ出すかといった話はなかったように思う。

 

以上、今年のLinux Kernel Summitの簡単な報告であるが、LWN.netには詳細なレポートがある。ちなみに毎年恒例のSummit参加者による集合写真もLWN.netにある。