Linus Torvalds har förberett en uppsättning patchar för kärnans minneshanteringssystem. Linux, implementerar optimeringar för att läsa små datablock från sidcachen utan att atomiskt ändra referensantalet (refcount) i foliostrukturen. Commit-texten anger att ändringarna, tillhörande tester och utkast till annoteringstext skapades av Claude Code AI-assistenten under Torvalds överinseende. Ändringen lades till i en separat kärngren, noref-filemap-read-with-llm, och det är ännu inte klart om den kommer att backportas till huvudgrenen eller helt enkelt är ett internt experiment.
Under testningen ökade patcharna dataflödet för att läsa små filer i en 8-trådskonfiguration från 9.9-10.4 till 30-33 miljoner operationer per sekund (en 3x ökning), i en 4-trådskonfiguration från 8.9-11.6 till 25-26 miljoner operationer per sekund (en 2x ökning), och i en entrådskonfiguration från 7.9-8.1 till 8.8-8.9 miljoner operationer per sekund. Denna prestandaökning förklaras av det faktum att samtidig åtkomst till sidcachen orsakar hård konkurrens mellan trådar vid åtkomst till cachen. Till exempel, när 8 trådar försöker läsa 16 byte data samtidigt, går 99.92 % av tiden inte åt själva läsningen, utan åt att vänta på åtkomst till referensräknaren.
För att säkerställa att data är korrekta använder patchen en lösning som använder fördröjd minnesavallokering med synkronisering via Read-Copy-Update (RCU)-mekanismen, snarare än att hämta separata lås, ändra referensräknare eller mellanliggande buffring. Denna metod garanterar att en minnessida inte fysiskt avallokeras förrän lästråden har slutfört kopieringen av data.
Källa: opennet.ru
