Linus Torvalds har utarbeidet et sett med oppdateringer for kjernens minnehåndteringssystem. Linux, implementerer optimaliseringer for å lese små datablokker fra sidebufferen uten å atomisk endre referanseantallet (refcount) i foliostrukturen. Commit-teksten oppgir at endringene, tilhørende tester og utkast til annotasjonstekst ble opprettet av Claude Code AI-assistenten under Torvalds' veiledning. Endringen ble lagt til i en separat kjernegren, noref-filemap-read-with-llm, og det er ennå ikke klart om den vil bli tilbakeportert til hovedgrenen eller bare er et internt eksperiment.
Under testingen økte oppdateringene gjennomstrømningen for lesing av små filer i en 8-trådskonfigurasjon fra 9.9–10.4 til 30–33 millioner operasjoner per sekund (en 3x økning), i en 4-trådskonfigurasjon fra 8.9–11.6 til 25–26 millioner operasjoner per sekund (en 2x økning), og i en enkelttrådskonfigurasjon fra 7.9–8.1 til 8.8–8.9 millioner operasjoner per sekund. Denne ytelsesøkningen forklares av det faktum at samtidig tilgang til sidebufferen forårsaker sterk konkurranse mellom tråder når de får tilgang til bufferen. For eksempel, når 8 tråder prøver å lese 16 byte med data samtidig, brukes 99.92 % av tiden ikke på selve lesingen, men på å vente på tilgang til referansetelleren.
For å sikre at dataene er korrekte, bruker oppdateringen en midlertidig løsning som benytter forsinket minne-avallokering med synkronisering via Read-Copy-Update (RCU)-mekanismen, i stedet for å anskaffe separate låser, endre referansetellere eller mellomliggende bufring. Denne metoden garanterer at en minneside ikke blir fysisk avallokert før lesetråden har fullført kopieringen av dataene.
Kilde: opennet.ru
