LinuxCon Europe Linus Torvalds 03 (cropped)
写真: Krd (photo) Von Sprat (crop/extraction) / CC BY-SA 4.0 / Wikimedia Commons

Linus Torvalds氏がClaude Codeを補助に使い、Linuxカーネルのメモリー管理を改善するパッチ系列に取り組んでいます。この設計は、多数のスレッドが同じファイルを小さく読み取る際に生じるfolio参照カウントの競合を避けることを目指しています。

小さな読み取りで起きる競合を対象に

対象のブランチ名は noref-filemap-read-with-llm です。ファイルのページキャッシュからデータを読む処理を、folioへの参照を使わずに行うことを目指しています。

問題となるのは、多数のスレッドが1つのファイルを小さく読み取るケースです。Torvalds氏は、この条件でfolioの参照カウント処理が競合する問題に対処するパッチを作成しています。

Linuxカーネルのドキュメントによると、ページキャッシュはファイルシステムとユーザー空間、カーネルがやり取りする主要な仕組みです。通常の読み取りや書き込み、メモリーマッピングはページキャッシュを通り、O_DIRECTなどで迂回できます。ページキャッシュ内のメモリー管理単位がfolioです。今回の変更は、このページキャッシュからの読み取りに関わります。

Claude Codeを使った作業範囲

Torvalds氏は、コードに加え、テストプログラムやレビュー、パッチ系列の説明文の初稿にもClaude Codeを使ったと記しています。AIが作業を補助し、進行の指揮はTorvalds氏が担ったとのことです。

一方、性能測定はTorvalds氏自身のマシンで実施したとされています。

効果と今後の扱い

パッチ系列の説明では、対象の問題に対する影響を「Quite a difference」と表現しています。

パッチはTorvalds氏の noref-filemap-read-with-llm ブランチに置かれています。Linux本体への取り込みは決まっていません。

Torvalds氏が次のLinux 7.4のマージ期間にこのブランチを取り込むかどうかが、今後の判断事項です。