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