To musiało się stać. Linus Torvalds, twórca i główny opiekun jądra Linux, przyznał publicznie, że użył sztucznej inteligencji do napisania kodu, który trafił do repozytorium systemu. Dla społeczności open source to symboliczny moment — jeszcze kilka lat temu Torvalds podchodził do AI z wyraźnym sceptycyzmem, dziś traktuje ją jako narzędzie pracy programisty i opiekuna kodu.
W swoim zgłoszeniu do Gita Torvalds napisał wprost, że kod, programy testowe, przegląd zmian oraz pierwsza wersja opisu zostały przygotowane przy użyciu asystenta kodowania opartego na modelu językowym — konkretnie Anthropic Claude Code — pod jego kierunkiem. Efektem jest seria ośmiu łatek opublikowanych na gałęzi noref-filemap-read-with-llm w repozytorium Torvaldsa.
Problem, który rozwiązują, nie jest błahy. Chodzi o wąskie gardło pojawiające się, gdy wiele wątków wykonuje drobne odczyty z tego samego pliku. Dane trafiają wtedy do pamięci podręcznej stron (page cache), a wątki wielokrotnie pobierają i zwalniają referencje do struktur pamięci zwanych folio. Każda taka operacja wymaga atomowego zapisu do współdzielonej linii cache, co zmusza rdzenie procesora do rywalizacji o dostęp do niej. W testach na czterordzeniowym, ośmiowątkowym procesorze Intel Core i7-8565U, gdzie osiem wątków wykonywało 16-bajtowe wywołania pread() na tej samej stronie, ta jedna linia cache odpowiadała za 99,92 proc. obciążenia międzyrdzeniowego.
Torvalds i Claude Code zaproponowali zmianę momentu, w którym jądro może ponownie wykorzystać pamięć usuniętą z page cache. Zamiast natychmiast zwracać ją alokatorowi, łaty odraczają ponowne użycie do upływu okresu karencji mechanizmu read-copy-update (RCU). Dzięki temu czytelnik chroniony sekcją RCU może kopiować dane bezpośrednio do bufora użytkownika bez pobierania referencji do folio. To świadomy kompromis: rezygnacja z natychmiastowego odzyskiwania pamięci na rzecz ścieżki odczytu, która nie aktualizuje w kółko współdzielonego licznika.
Wyniki w tym konkretnym scenariuszu są spektakularne. Przepustowość ośmiu wątków wzrosła z około 9,9–10,4 mln odczytów na sekundę do 30–33 mln, a liczba cykli jądra na odczyt spadła z około 2950 do 725. Odczyt jednowątkowy poprawił się skromniej — z około 452–454 cykli do 408–409. Sam Torvalds zastrzegł, że maszyna z większą liczbą procesorów lub więcej niż jednym gniazdem powinna zyskać więcej, ale nic większego nie zostało zmierzone.
Warto jednak studzić emocje: to nie znaczy, że cały Linux działa teraz trzy razy szybciej. Mowa o eksperymentalnych rezultatach jednego, wąskiego obciążenia testowego na prywatnym laptopie Torvaldsa, który miał ze sobą w Pradze podczas konferencji Linux Plumbers. Co więcej, problem nie został rozwiązany do końca — opóźnianie ponownego użycia pamięci oznacza, że strony mogą pozostawać niedostępne, gdy jądro czeka na zakończenie okresu karencji. To klasyczny trade-off między wydajnością a gospodarką pamięcią, który będzie wymagał dalszych przeglądów i testów.
Podsumowanie
Zgłoszenie Torvaldsa to przełom nie tylko techniczny, ale i kulturowy — pokazuje, że nawet najbardziej konserwatywni strażnicy kodu jądra zaczynają traktować asystentów AI jako realne narzędzie inżynierskie. Jednocześnie sprawa przypomina, że wygenerowany przez model kod wymaga ludzkiego nadzoru, testów i świadomej oceny kompromisów. AI pisze dziś łatki do Linuksa, ale odpowiedzialność za ich jakość wciąż spoczywa na człowieku.