Лінус Торвальдс оптимізував ядро Linux за допомогою Claude Code
Лінус Торвальдс, творець Linux, представив експериментальну серію з восьми патчів, створених за допомогою ШІ-помічника Claude Code. Оновлення спрямоване на усунення проблеми з кешуванням файлів, що уповільнює паралельне читання даних.
Деталі патчів
Патчі розміщені в гілці noref-filemap-read-with-llm у репозиторії Торвальдса. Штучний інтелект допомагав у написанні коду, створенні тестових програм і рецензуванні під його наглядом.
Проблема та рішення
Паралельне читання маленьких фрагментів одного кешованого файлу викликало високу конкуренцію за метадані. Кожен виклик читання змінював лічильник посилань, що призводило до 99,92% трафіку когерентності кешу. Новий підхід використовує механізм RCU (Read-Copy-Update), що дозволяє захищеним потокам копіювати дані без блокування лічильників.
Результати тестування
Тестування проводили на ноутбуці з Intel Core i7-8565U. Пропускна здатність при читанні 16 байт з однієї кешованої сторінки зросла з 9,9–10,4 млн до 30–33 млн операцій на секунду, а кількість циклів на одне читання зменшилась з 2 937–2 975 до 725–726. Проте Торвальдс зазначає, що ці результати стосуються лише конкретного тесту.
Ризики та компроміси
Хоча результати вражаючі, розробка виявила архітектурні проблеми. Затримане звільнення сторінок може призвести до хибних рішень про нестачу RAM. Вимкнення RCU-затримки призводило до некоректних даних, що підкреслює важливість контролю «життєвого циклу» сторінок. Також виявлено проблеми з розподілом пам’яті на архітектурі s390.
Ця серія патчів демонструє використання ШІ у розробці системного ПЗ, але потребує подальшого тестування та рецензування перед впровадженням у продакшн.
Джерело: dev.ua (https://dev.ua/news/linus-torvalds-vykorystav-claude-code-dlia-optymizatsii-iadra-linux-1792071614)