- Linux生みの親のリーナス・トーバルズ氏が、Claude Codeを使ってLinuxカーネルの高速化パッチを作った
- 小さな読み込みを8スレッドで行うテストで、処理は約3倍(毎秒約1,000万回から3,000万回超)になった
- 測定は本人のノートPC1台だけで、まだ本流には取り込まれていない
- 1スレッドの一部ケースは遅くなり、メモリの扱いにも未解決の課題が残る
- Linuxには「Assisted-by」タグというAI利用の公開ルールがある
AIは、世界でいちばん厳しいと言われるオープンソース開発の現場にまで入ってきたのでしょうか。Linuxの生みの親が、自分のブランチでClaude Codeを使ったと明かし、速度が約3倍になったと報告しています。何が起きたのか、どこまで信頼できるのかを見ていきます。
何が起きた?トーバルズ氏が公開したパッチ
2026年10月12日ごろ、リーナス・トーバルズ氏が自分のLinuxツリーにnoref-filemap-read-with-llmというブランチを公開しました。
Hardware Bustersによると、中身は8本のパッチの連続(パッチシリーズ)です。Claude Codeがコードとテストを書き、説明文の下書きも作ったと、本人が添え書き(カバーレター)に書いています。
カバーレターには、作業は「私の指示のもとで」行われ、測定は「自分のマシン」で実行したとあります。最初に見つけたのはPhoronixの記者で、そこから複数のメディアに広がりました。
対象はLinux 7.3-rc6の上に載るコードで、まだ正式には取り込まれていません。
ページキャッシュとは?何を速くしたのか
ページキャッシュ(よく使うファイルをメモリに置いておく仕組み)
パソコンは、一度読んだファイルの中身をメモリに残しておきます。次に同じファイルを読むとき、ストレージまで取りに行かなくて済むからです。この仕組みがページキャッシュです。
Linuxのファイル読み込みの多くは、この仕組みを通ります。だから、ここが少し速くなるだけでもサーバーの動きに影響します。
ボトルネックは「参照カウンタ」
問題になっていたのは、複数のスレッド(同時に動く作業の単位)が同じファイルを少しずつ読む場面です。
読むたびに、各スレッドは「いま何人がこのデータを使っているか」を数えるカウンタ(参照カウンタ)を増やしたり減らしたりします。全員が同じカウンタを書き換えるので、CPUのコア同士が同じメモリの一角を奪い合います。
Hardware Bustersによると、8スレッドで16バイトずつ読むテストでは、コア間の衝突のうち99.92%がこの奪い合いでした。
RCUで「数えない」読み方に
新しい方式では、読み込み中にカウンタを触りません。代わりにRCU(読み手を止めずに、あとでまとめて安全に片づける仕組み)を使います。
キャッシュから外れたデータは、すぐには解放しません。全部の読み手が通り過ぎたことを確認してから、メモリに返します。
1つのCPUに1,024ページを超える解放待ちがたまると、片づけを急がせる安全弁も付いています。
どれくらい速くなった?数字で確認
測定したのは、トーバルズ氏のCore i7-8565Uのノートパソコン(4コア・8スレッド)です。Hardware Bustersによる数字は次のとおりです。
- 8スレッドの読み込み1回あたりのCPUサイクル数は、約2,950から約725に減った
- 毎秒の読み込み回数は、約1,000万回から3,000万〜3,300万回に増えた(約3倍)
- コア間の衝突(HITM)は、30,538回から101回に減った
- 1スレッドでは、約452から約408サイクルに減り、約10%軽くなった
衝突は約300分の1に減っています。奪い合いが減ったという説明と、数字が合っています。
ただし、これは16バイトという極端に小さい読み込みを、8つのスレッドが同じファイルに一斉に行う特別なテストです。サーバー全体が3倍になるという意味ではありません。
課題とリスク:速くなる代わりに失うもの
カバーレターには、うまくいかない点も書かれています。DEV Communityの分析記事もこの点を取り上げています。
1つ目は、遅くなる場面があることです。まだ割り当てられていないメモリ領域に読み込むと、一度失敗してから、従来の経路でやり直す流れになります。1スレッドの16バイト読み込みは、約4,150サイクルから約6,550サイクルに増えました。
2つ目は、メモリの解放が遅れることです。解放待ちのページは、メモリ管理の空き容量の数字に出てきません。Hardware Bustersによると、トーバルズ氏自身がこの部分を最も解決できていない点としています。
実際、2GiBの仮想マシンでの負荷テストでは、6本版のパッチは4CPUと8CPUでOOMキラー(メモリ不足で動作中のプロセスを強制終了する仕組み)を起こしました。8本そろえた版では完走したとされています。
3つ目は、試験が足りないことです。測ったのは1台のノートPCだけで、他の機種やメモリが足りない状況での確認はこれからです。第三者による再現もまだありません。
AI支援開発はどう変わる?従来との比較
次に、AI利用のルールを見ます。Linuxカーネルには、AIが関わったパッチの扱いを定めた公式文書があります。ITsFossによると、Linux 7.0で入りました。
中身は次の3点です。
- AI支援のコードもGPL-2.0-onlyのライセンスを守る
- AIエージェントは
Signed-off-by(責任を負う署名)を付けられない - AIが手伝ったパッチには
Assisted-byタグを付ける
つまり、AIの利用は禁止していません。ただし、結果に責任を持つのは必ず人間の提出者です。
従来のやり方と並べると、違いが分かります。
- 従来:人が設計し、書き、テストし、署名する
- 今回:人が方向を決め、AIが書き、試験を作り、人が測定して責任を持つ
なお、Startup Fortuneによると、トーバルズ氏は2024年10月にはAI話の9割は誇大宣伝だと語っていました。2026年7月には「Linuxは反AIのプロジェクトではない」と書いています。立場はかなり変わったことになります。
日本の開発者・企業への影響
Linuxは日本でも、Webサービスやクラウド、工場の機器、スマートフォンなど、さまざまな場所で動いています。カーネルの読み込み処理が速くなれば、日本のユーザーにも恩恵が届くかもしれません。
ある中小企業のインフラ担当者を考えてみましょう。自社のサーバーで、同じ設定ファイルを大量のプロセスが読んでいるとします。今回のような改善が正式に取り込まれれば、設定を変えなくても負荷が下がるかもしれません。
開発チームにとっては、進め方のほうが参考になります。AIに書かせ、人が測り、弱点まで公開するという手順は、社内の開発ルールを作るときのヒントになります。
たとえば「AIを使った箇所は記録に残す」「責任者は必ず人間にする」というルールなら、すぐ真似できるはずです。
ただし、カーネルの変更は影響範囲が広く、まだ取り込まれてもいません。今すぐ本番環境に入れるものではありません。
よくある質問(FAQ)
Q1. このパッチはもうLinuxに入りましたか?
いいえ。まだ取り込まれていません。Linux 7.3-rc6の上に載った実験的なブランチです。次の開発サイクル(7.4)に入るかどうかも、まだはっきりしていません。
Q2. 本当に3倍速くなるのですか?
特定のテストでは、毎秒の読み込み回数が約3倍になりました。ただし小さな読み込みを8スレッドで同じファイルに行う条件で、1台のノートPCでの結果です。実際の用途ではもっと小さい改善にとどまる可能性があります。
Q3. AIが書いたコードは安全に使えますか?
カーネルでは、AIが書いたかどうかにかかわらず、人間の提出者が全責任を負います。今回は、トーバルズ氏が自分で測定し、弱点も書き出した上での公開です。レビューと追加試験が通るまでは、安全とは言い切れません。
Q4. Assisted-byタグとは何ですか?
AIが手伝ったパッチに付ける印です。形式はAssisted-by: AGENT_NAME:MODEL_VERSIONで、使った道具も並べて書けます。AIを共同著者ではなく道具として扱う考え方に基づいています。
まとめ
- トーバルズ氏がClaude Codeでページキャッシュの高速化パッチを作り、AI利用を自ら公表した
- 特定のテストで読み込み回数は約3倍になったが、測定は本人のノートPC1台だけ
- 1スレッドで遅くなる場面とメモリ管理の課題が残っている
- Linuxのルールでは、AI支援でも責任を負うのは人間の提出者
次の一歩として、自分のチームでも「AIを使った箇所を記録し、責任者を決める」ルールを1つ作ってみてください。
参考文献
- Torvalds Claude Code page cache patch(explainx.ai)
- Linus Torvalds Uses Claude Code to Rework the Linux Page Cache, Tripling Small-Read Throughput(Hardware Busters)
- Linus Torvalds used Claude Code to rewrite how Linux reads cached files(Startup Fortune)
- Claude Code and Linus Torvalds: the Linux patch tradeoffs(DEV Community)
- AI Code Gets Approved in the Linux Kernel… But With Strings Attached(ITsFoss)