10月16日、Abinayaが「Linus Torvalds Reveals Claude Code Wrote Linux Kernel Patches and Test Programs」と題した記事を公開した。Linuxカーネルの生みの親であるLinus Torvaldsが、AI支援ツール「Claude Code」を使ってカーネルパッチ・テストプログラム・レビュー資料・技術文書の初稿を作成したと明かした内容で、業界内で広く注目を集めている。
Linus TorvaldsがClaude Codeを使ってカーネルパッチを書いた
Torvaldsは、Claude Codeを使ってLinuxカーネルへのパッチ・テストプログラム・レビュー資料・技術文書の初稿を作成したと明かした。AIコーディング支援ツールが「カーネルレベルのOS開発」に持ち込まれた事例として、業界内で注目を集めている。
ただし、これはAIがLinuxを自律的にメンテナンスしたわけではない。Torvalds自身の指示・監督のもとでClaude Codeが成果物を生成したという、監督型(supervised)の開発プロセスであることが明示されている。最終的な技術判断・マージ判断はあくまでTorvalds本人が行っており、Claude Codeはあくまで初稿生成と補助を担う役割だ。
何を解決しようとしているか:ページキャッシュの読み込みボトルネック
今回の8パッチシリーズが狙うのは、多数のスレッドが同一のキャッシュ済みファイルを小さなサイズで繰り返し読む際のボトルネックだ。
通常、読み取りのたびに「folio(フォリオ)」と呼ばれるメモリページグループの参照カウントを更新する必要がある。folioはLinuxカーネル5.16以降で導入されたページキャッシュの管理単位で、複数の物理ページをひとつの論理単位としてまとめて扱う仕組みだ。この参照カウントの更新処理がプロセッサコア間での共有データ競合を引き起こし、スケールしにくいボトルネックになっていた。
今回のアプローチは、**RCU(Read-Copy-Update)グレース期間が終わるまで、解放済みのページキャッシュメモリの再利用を遅延させる**というものだ。RCUはLinuxカーネルが持つ同期機構のひとつで、「読み取り側はロックなしに参照でき、書き込み側は古いデータのコピーを更新してから差し替える」という設計思想に基づく。今回はこのRCUの仕組みを活用することで、アクティブな読み取り処理がfolioの参照カウントを取得・解放せずにキャッシュデータをコピーできる新しい読み取りパスを実現している。
RCUアプローチを選んだ理由は、ロックなしで安全に読み取りを行えるRCUの特性が、今回の「参照カウント更新をスキップしたい」という要件と合致していたためだ。キャッシュミスやユーザーバッファのフォルト発生時など、高速パスが使えない場合は既存の読み取りパスにフォールバックする設計になっている。
ベンチマーク結果:スループットは約3倍、ただし条件付き
10月10日のコミットメッセージにおいてTorvaldsが自ら報告したベンチマーク結果は以下のとおりだ。数値はすべて同コミットメッセージに記載されたものである。
| 条件 | 読み取りスループット |
|---|---|
| ベースライン | 約9.9〜10.4百万回/秒 |
| パッチ適用後 | 約30〜33百万回/秒 |
測定環境は4コア8スレッドのIntelラップトップ、ファイルシステムはext4、プロセッサのセキュリティ緩和策(Spectre等の軽減機能)とCONFIG_HARDENED_USERCOPYは無効化した状態だ。大規模マシンでの計測はしていない点も明記されている。また、ユーザーメモリページが存在しない一部の読み取りは逆に遅くなった。
これはLinux全体の性能向上を示すものではなく、特定の狭いベンチマーク上の数値である点には注意が必要だ。
未解決の問題と限界
パッチには現時点でいくつかの課題が残ることが記事中で率直に認められている。
- メモリプレッシャー:遅延解放によって大量のメモリがアロケータに正確に計上されないまま再利用待ちになる問題が残る。後続パッチで一部は改善されたが、グレース期間が長引いた場合の上限は不明のまま
- テスト範囲の限界:KASAN(カーネルメモリエラー検出)、lockdep(ロック依存関係チェック)、hardened usercopy、他アーキテクチャ、複数のストレステストケースについては未検証
- 意図的に壊したバージョンでは解放済みメモリの他ユーザーのデータが読み返される誤動作を確認しており、正確性の検証は継続が必要
「Linuxの父」がAIツールを使ったという事実の重み
AIコーディング支援ツールがWebアプリや業務システムに使われることは珍しくなくなったが、今回の事例が際立つのは、カーネル開発という最も保守的で厳格な領域でTorvalds本人が使ったという点だ。同氏はあくまで「指示を出した側」であり、最終的な技術判断も人間が行っているが、パッチ・テストコード・文書の初稿という具体的な成果物をAIが担ったことは事実として記録されている。
Linuxカーネルのコードレビューは世界有数の厳しさで知られ、パッチ一行の変更にも詳細な根拠と議論が求められる文化がある。その中心人物であるTorvaldsがAI支援を公言したことは、開発コミュニティにとって象徴的な意味を持つ出来事といえる。
なお、このパッチシリーズは現時点ではより広範なテストとレビューが必要な段階であり、実運用環境での性能・メモリ安全性の検証はこれからだ。
詳細はLinus Torvalds Reveals Claude Code Wrote Linux Kernel Patches and Test Programsを参照していただきたい。