リーナス・トーバルズによる初のLLM支援パッチシリーズ
原題: Linus Torvalds's first LLM-assisted patch series
日本語訳
# タイトル
リーナス・トーバルズによる初のLLM支援パッチシリーズ
# 本文
10個からなる比較的短いパッチシリーズは、folioがホットであることを検知し、「このfolioの解放をRCU期間終了後まで遅延させる」という設定を行うことで、folioのルックアップを基本的に強化するものである。そして、そのRCUによる遅延を利用して、単にfolioのルックアップ自体をRCU下で行う(これは以前から行われていた)だけでなく、実際のfolioデータへのアクセス自体もRCU下で行うようにする。ユーザコピーがページフォールトを引き起こさない場合、RCU保護された領域内でfolioからデータを完全に読み取ることができるため、ファストパスにおいて参照カウントの取得が不要になる。その結果、read()が中心のベンチマークにおいて、桁違いの高速化を実現している。ただし、レビューによってコード内のレースコンディションが既に特定されているため、さらなる作業が必要となる。
原文(英語)を表示
Linus Torvalds's first LLM-assisted patch series
The fairly short series of ten patches basically enhances folio lookup by noticing when folios are hot, and setting a "delay releasing this folio until after a RCU period", and then using that RCU delay it does not just the folio lookup itself under RCU (which we've done forever), but also the actual folio data accesses themselves under RCU. No refcount taking needed for the fastpath where we can just read the data from the folio entirely in an RCU-protected region when the user copy doesn't cause page faults.
The end result is an order-of-magnitude speedup for a read()-heavy
benchmark. Review has already identified a race
condition in the code, though, so further work will be needed.