Linus Torvalds savā publiskajā git repozitorijā ievietoja desmit ielāpu sēriju, kas pārstrādā veidu, kā Linux lasa jau kešatmiņā ielādētus failus. Pirmo melnrakstu, testa programmas un pašu kodu uzrakstīja Claude Code viņa vadībā. Mērījumus Torvalds veica uz sava klēpjdatora.
Uz četru kodolu astoņu pavedienu mašīnas astoņi pavedieni, kas atkārtoti lasīja vienu failu pa 16 baitiem, pakāpās no aptuveni 10 miljoniem līdz vairāk nekā 30 miljoniem lasīšanu sekundē. Viens gadījums kļuva lēnāks: 16 baitu lasīšana no lappuses, kas vēl nav kartēta atmiņā. Zars saucas noref-filemap-read-with-llm un galvenajā kodola kokā tas pagaidām nav iekļauts.
Līdz šim Torvalds LLM rīkus kodola izstrādē lielākoties kritizēja. Šī ir pirmā reize, kad viņš atklāti norāda, ka visu sēriju no sākuma līdz galam gatavojis ar valodas modeli. Cilvēks saglabāja vadību: Torvalds noteica virzienu, pārbaudīja rezultātu un veica mērījumus, bet rutīnas rakstīšanu uzņēmās modelis.
Kā darbojas jaunais ātrais ceļš
Kad programma lasa failu, kas jau atrodas atmiņā, kodolam vispirms jāatrod attiecīgā lappuse jeb folija. Pēc tam tam jāpārliecinās, ka šī folija nepazūd kopēšanas laikā. Līdzšinējā pieeja katrai lasīšanai palielināja atsauces skaitītāju un pēc tam to samazināja. Tieši šis solis maksā laiku visbiežāk izmantotajā ceļā.
Jaunā sērija atzīmē karstās folijas tā, ka to atbrīvošanu atliek līdz RCU perioda beigām. RCU jeb read-copy-update ļauj daudziem lasītājiem piekļūt datiem bez slēdzenēm, kamēr vecā kopija tiek saglabāta, līdz visi lasītāji ir pabeiguši darbu. Datu kopēšana tagad notiek šajā aizsardzībā. Atsauces skaitītājs ātrajā ceļā vairs netiek aiztikts, tāpēc katra maza lasīšana kļūst lētāka.
Mazas, bieži atkārtotas lasīšanas no viena faila ir izplatīts datubāzu un tīmekļa serveru slodzes modelis. Tur katrs papildu atmiņas pieskāriens uz vienu lasīšanu summējas miljoniem reižu sekundē. Tāpēc atsauces skaitītāja noņemšana no karstā ceļa dod tik lielu pieaugumu tieši šādā testā.
Torvalds aprakstā norādīja, ka modelis sagatavoja arī ātruma mērīšanas testa programmas un pat recenzijas pirmo variantu. Viņš uzsvēra, ka rezultātus pārbaudīja pats un skaitļiem akli neuzticas. Šāda atklātība ir neparasta, jo daudzi izstrādātāji AI ieguldījumu kodā nepiemin.
Tagā Torvalds rakstīja, ka viņš “did what I preach” — proti, beidzot pats izmantojis mūsdienu LLM rīkus, lai tiktu skaidrībā ar veco kodu.
Recenzijā jau atrasta sacīkstes kļūda
Kodola izstrādātāji sēriju sāka vērtēt uzreiz un atrada sacīkstes kļūdu (race condition) jaunajā kodā. Praksē tas nozīmē, ka divi pavedieni noteiktā secībā var piekļūt vienai folijai brīdī, kad tā jau tiek atbrīvota. The New Stack ziņo, ka pārstrādātajā versijā ar nosaukumu rcu-free-v3 Torvalds ieviesa atsevišķu lappuses karodziņu PG_rcu_free. Tas atliek atmiņas atgūšanu tik ilgi, kamēr kopēšana uz lietotāja atmiņu ir pabeigta, ja vien nenotiek lappuses kļūda.
Torvalds pats brīdināja, ka kods ir eksperimentāls un prasa rūpīgu pārbaudi. Desmitkārtīgs ātruma pieaugums ir pievilcīgs, taču atmiņas pārvaldībā sacīkstes kļūda var novest pie datu bojājuma vai avārijas. Tieši tāpēc pirmā recenzija vispirms pievērsās drošībai.
Daļa uzturētāju, tostarp Metjū Vilkokss (Matthew Wilcox), iebilda pret šādu risinājumu. Torvalds vairākus piedāvātos variantus noraidīja. Neviens no abiem zariem pagaidām nav apvienots galvenajā kodā.
Otrs zars ar kļūdām kopš 2013. gada
Dažas dienas pirms lasīšanas sērijas Torvalds nāca klajā ar vēl vienu LLM atbalstītu darbu. Zars assoc-array-fixes pārstrādā kodola asociatīvā masīva (assoc_array) bibliotēku. Šī bibliotēka glabā atslēgu un vērtību pārus un to izmanto, piemēram, kodola atslēgu gredzeni drošības apakšsistēmā. Lietotāja telpā palaists testa ietvars pārstrādātajā kodā atklāja trīs kļūdas, kas sniedzas līdz pašam pirmajam bibliotēkas komitam 2013. gadā.
Sākotnējo kļūdu, no kuras viss aizsākās, ziņoja izstrādātājs Nils Olroge (Nils Ollrogge). Tag ziņojumā Torvalds atzīmēja, ka šoreiz pats izmantojis tos rīkus, kurus citiem iesaka. Abi zari ir kandidāti nākamajam Linux 7.4 apvienošanas logam, ja izturēs recenziju un testēšanu.
Mainīga attieksme pret mākslīgo intelektu
Torvalda attieksme pret mākslīgo intelektu kodola darbā līdz šim bija atturīga. Šā gada maijā viņš sūdzējās, ka dublētie AI ģenerētie kļūdu ziņojumi padarījuši kodola slēgto drošības sarakstu gandrīz nepārvaldāmu. Tagad viņš pats laida publiskā recenzijā kodu, ko lielā mērā sagatavoja valodas modelis.
Par ideju Torvalds pastāstīja 2026. gada Uzturētāju samitā, pirms publicēja sēriju vērtēšanai. Pašlaik abi zari dzīvo tikai viņa publiskajā git repozitorijā kernel.org.
Komentāri
Šim rakstam vēl nav komentāru. Esi pirmais, kurš dalās ar savu viedokli.