Linuss Torvalds ir sagatavojis ielÄpu komplektu kodola atmiÅas pÄrvaldÄ«bas apakÅ”sistÄmai. Linux, ievieÅ”ot optimizÄcijas mazu datu bloku lasīŔanai no lapas keÅ”atmiÅas, atomÄri nemainot atsauÄu skaitu (refcount) folio struktÅ«rÄ. ApstiprinÄjuma tekstÄ norÄdÄ«ts, ka izmaiÅas, saistÄ«tie testi un melnraksta anotÄcijas teksts tika izveidots, veicot Claude Code AI asistenta darbu Torvalda uzraudzÄ«bÄ. IzmaiÅas tika pievienotas atseviŔķai kodola atzarai noref-filemap-read-with-llm, un vÄl nav skaidrs, vai tÄs tiks atgrieztas galvenajÄ atzarÄ vai arÄ« ir tikai iekÅ”Äjs eksperiments.
TestÄÅ”anas laikÄ ielÄpi palielinÄja mazu failu lasīŔanas caurlaidspÄju 8 pavedienu konfigurÄcijÄ no 9.9ā10.4 lÄ«dz 30ā33 miljoniem operÄciju sekundÄ (3 reizes lielÄks), 4 pavedienu konfigurÄcijÄ no 8.9ā11.6 lÄ«dz 25ā26 miljoniem operÄciju sekundÄ (2 reizes lielÄks) un viena pavediena konfigurÄcijÄ no 7.9ā8.1 lÄ«dz 8.8ā8.9 miljoniem operÄciju sekundÄ. Å is veiktspÄjas pieaugums ir izskaidrojams ar to, ka vienlaicÄ«ga piekļuve lapas keÅ”atmiÅai rada nopietnu konkurenci starp pavedieniem, piekļūstot keÅ”atmiÅai. PiemÄram, kad 8 pavedieni mÄÄ£ina vienlaikus nolasÄ«t 16 baitus datu, 99.92% laika tiek pavadÄ«ts nevis paÅ”ai lasīŔanai, bet gan gaidot piekļuvi atsauces skaitÄ«tÄjam.
Lai nodroÅ”inÄtu datu pareizÄ«bu, ielÄps izmanto risinÄjumu, kas izmanto aizkavÄtu atmiÅas atbrÄ«voÅ”anu ar sinhronizÄciju, izmantojot lasīŔanas-kopÄÅ”anas-atjauninÄÅ”anas (RCU) mehÄnismu, nevis iegÅ«stot atseviŔķas slÄdzenes, mainot atsauces skaitÄ«tÄjus vai veicot starpposma buferizÄciju. Å Ä« metode garantÄ, ka atmiÅas lapa netiks fiziski atbrÄ«vota, kamÄr lasīŔanas pavediens nebÅ«s pabeidzis datu kopÄÅ”anu.
Avots: opennet.ru
