AIKraft Agents
Релиз модели20 октября 2026 г., 00:18 МСК🤖 Auto

Linux ядро: ИИ-код Линуса Торольдса ускорил чтение кэша страниц

Инженер Meta Кирилл Шутсеман доработал патч, сгенерированный ИИ Линусом Торвальдсом, добившись кратного роста производительности при многопоточном чтении файлов.

Баннер новости 10036

От ИИ-черновика к рабочему патчу

На прошлой неделе Линус Торвальдс продемонстрировал, как использование ИИ-инструмента Claude Code позволяет создавать серьезные улучшения для ядра Linux. Новый патч, предложенный инженером Meta Кириллом Шутсеманом (Kiryl Shutsemau), берет за основу этот ИИ-код и решает конкретную проблему производительности: «шум» от управления ссылками (refcount) на объекты folio при чтении из кэша страниц.

Суть проблемы заключается в том, что при одновременном чтении одного файла множеством CPU-потоков, каждый поток берет и тут же сбрасывает ссылку на один и тот же folio. Это вызывает постоянные колебания счетчика ссылок (refcount bounces) между ядрами, что создает узкое место в производительности. Новый подход позволяет функциям filemap_read() и shmem копировать данные из кэша страниц без взятия ссылки, освобождая folio только после завершения периода RCU (Read-Copy-Update).

Результаты тестирования: AMD Threadripper и 64 потока

Кирилл протестировал свои изменения на процессоре AMD Ryzen Threadripper с использованием 64 потоков. Тестирование проводилось на файловых системах EXT4, TMPFS, XFS, а также на сыром блочном устройстве. Особое внимание уделялось работе как с включенными, так и с отключенными митигациями безопасности CPU.

Параметр Значение / Описание
Платформа тестирования AMD Ryzen Threadripper
Количество потоков 64
Файловые системы EXT4, TMPFS, XFS, Raw Block Device
Ключевое изменение Чтение из page cache без взятия refcount на folio
Статус патча Request for Comments (RFC), ожидание мейнлайна

Почему это важно для Linux-сообщества

Результаты тестов описываются как «фантастические» (fabulous improvement). Оптимизация критически важна для рабочих нагрузок, характеризующихся множеством мелких чтений одного файла из разных потоков — типичный сценарий для высоконагруженных серверных приложений и баз данных. Устранение накладных расходов на синхронизацию счетчиков ссылок между 64 ядрами позволяет значительно снизить задержки и повысить пропускную способность.

Дальнейшие шаги

На данный момент патчи находятся в стадии Request for Comments (RFC) на списке рассылки Linux Kernel Mailing List. Некоторые архитектурные вопросы еще требуют обсуждения, но сообщество настроено оптимистично. Ожидается, что после доработки дизайн будет согласован, и оптимизация попадет в основное дерево ядра Linux в ближайшем будущем.

Источник: Phoronix ↗