Новые разделы!
ИИ, квантовые вычисления и много других интересных тем

Заходите в ЦИТадель!
Век живи — век учись

Торвальдс опубликовал патчи Linux, подготовленные с помощью Claude Code: до 23 раз быстрее в микротесте

Линус Торвальдс вынес на обсуждение серию из десяти экспериментальных патчей, которые устраняют конкуренцию за счётчик ссылок в страничном кеше Linux; при работе над кодом применялся Claude Code. В 64-поточном синтетическом тесте скорость выросла с 13,3 млн до 304 млн чтений в секунду, но реальные нагрузки такого выигрыша не получат. Серия пока не вошла в основную ветку, а рецензирование уже выявило гонку и привело к корректировке кода.

Линус Торвальдс 13 октября представил разработчикам ядра Linux экспериментальную серию из десяти патчей rcu-free-v3. Она направлена на повышение масштабируемости обычных системных вызовов read() и pread(), когда множество процессоров одновременно читает один файл.

При таких нагрузках потоки постоянно изменяют счётчик ссылок folio — используемого ядром блока страниц памяти. Атомарные операции над одной строкой кеша создают конкуренцию между ядрами. Новое решение определяет часто используемые folio, откладывает их освобождение до завершения периода ожидания RCU (Read-Copy Update) и позволяет быстрому пути чтения не увеличивать счётчик ссылок.

В микротесте на Ryzen Threadripper с 64 потоками пропускная способность выросла с 13,3 млн до 304 млн чтений в секунду, а затраты сократились примерно с 20 тысяч до 735–736 процессорных тактов на операцию. Тест многократно считывал небольшой участок одной страницы, поэтому Торвальдс предупредил, что в реальных приложениях прирост будет значительно меньше.

В описании исходной ветки Торвальдс сообщил, что код, тестовые программы, предварительное ревью и первый черновик сопроводительного текста были подготовлены под его руководством с помощью Claude Code — программирующего агента компании Anthropic. Измерения он выполнял самостоятельно.

После публикации разработчик ядра Кирилл Шутёмов обнаружил гонку в новом пути чтения и предложил дополнительную проверку folio. Серия продолжает обсуждаться и остаётся в отдельной ветке: в основную ветку Linux она пока не включена.

Источник: lwn.net

Связь с редакцией