Linus Torvalds eksperymentuje z generowaniem zmian w jądrze za pomocą AI

Linus Torvalds przygotował zestaw poprawek dla systemu zarządzania pamięcią w jądrze Linux, które implementują optymalizację dla odczytu małych bloków danych z pamięci podręcznej stron bez atomowej zmiany licznika odwołań (refcount) w strukturze folio. W treści commita wskazano, że zmiany, związane z tym testy oraz wstępny tekst notatki zostały stworzone przez asystenta AI Claude Code pod nadzorem Torvaldsa. Zmiana została dodana do osobnej gałęzi jądra noref-filemap-read-with-llm i na razie nie wiadomo, czy zostanie przeniesiona do głównej gałęzi, czy jest to tylko wewnętrzny eksperyment.

Podczas testowania dzięki poprawkom udało się zwiększyć przepustowość odczytu małych plików w konfiguracji z 8 wątkami z 9.9-10.4 do 30-33 milionów operacji na sekundę (wzrost o 3 razy), z 4 wątkami — z 8.9-11.6 do 25-26 mln/s (wzrost o 2 razy), a przy jednowątkowym obciążeniu z 7.9-8.1 do 8.8-8.9 mln/s. Wzrost wydajności jest wynikiem tego, że podczas równoczesnego dostępu do pamięci podręcznej stron występuje silna konkurencja między wątkami w dostępie do pamięci podręcznej. Na przykład, gdy 8 wątków próbowałoby równocześnie odczytać 16 bajtów danych, 99.92% czasu spędza się nie na samym odczycie, lecz na oczekiwanie dostępu do licznika odwołań.

W poprawce, aby zapewnić poprawność danych, zamiast stosowania oddzielnych blokad, zmiany liczników odwołań lub buforowania pośredniego, zastosowano alternatywną metodę, która wykorzystuje odroczone zwolnienie pamięci z synchronizacją za pomocą mechanizmu RCU (Read-Copy-Update). Proponowana w poprawce metoda zapewnia, że strona pamięci nie zostanie fizycznie zwolniona, dopóki czytający wątek nie zakończy kopiowania danych.

Źródło: opennet.ru

Kup niezawodny hosting stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron z ochroną DDoS, serwery VPS VDS - ProHoster