Линус Торвальдс тестирует AI для оптимизации ядра Linux

Линус Торвальдс разработал набор патчей для подсистемы управления памятью в ядре Linux, которые оптимизируют чтение мелких блоков данных из страничного кэша. Эти изменения были созданы с помощью AI-ассистента Claude Code под контролем Торвальдса и добавлены в отдельную ветку noref-filemap-read-with-llm. На данный момент неясно, будет ли этот патч интегрирован в основную ветку ядра, так как это может быть просто внутренний эксперимент.

Линус Торвальдс тестирует AI для оптимизации ядра Linux

Во время тестирования новых патчей удалось значительно увеличить пропускную способность чтения мелких файлов. Например, при использовании 8 потоков производительность возросла с 9.9-10.4 миллионов операций в секунду до 30-33 миллионов, что составляет прирост в 3 раза. С 4 потоками показатели увеличились с 8.9-11.6 до 25-26 миллионов операций в секунду, а при однопоточной нагрузке — с 7.9-8.1 до 8.8-8.9 миллионов операций в секунду.

Эти улучшения объясняются тем, что при одновременном доступе к страничному кэшу возникает высокая конкуренция между потоками. Для решения этой проблемы в патче используется обходной вариант, который применяет отложенное освобождение памяти с синхронизацией через механизм RCU (Read-Copy-Update). Это гарантирует, что страница памяти не будет физически освобождена, пока поток, читающий данные, не завершит копирование.