NjĂ« inxhinier i kompanisĂ« Amazon identifikoi njĂ« regresion specifik pĂ«r bĂ«rthamĂ«n Linux 7.0, lĂ«shimi i sĂ« cilĂ«s pritet mĂ« 13 prill. Ndryshimi i cilĂ«simeve tĂ« planifikuesit tĂ« detyrave ka rezultuar nĂ« njĂ« rĂ«nie tĂ« dukshme tĂ« kapacitetit dhe pĂ«rgjegjshmĂ«risĂ« gjatĂ« punĂ«s me bazĂ«n e tĂ« dhĂ«nave PostgreSQL nĂ« sistemet me arkitekturĂ«n ARM64. Duke pĂ«rdorur bĂ«rthamĂ«n 7.0, treguesit e performancĂ«s gjatĂ« testit pgbench 'simple-update' ranĂ« gati nĂ« gjysmĂ« â nga 98565 nĂ« 50751.
Ngadalësimi është shkaktuar nga ndryshimi i modit të dëbimit (preemption) në planifikuesin e paracaktuar nga PREEMPT_NONE në PREEMPT_LAZY në arkitekturë që mbështesin këtë mod, duke shkaktuar që në hapësirën përdoruese PostgreSQL të shpenzojë 55% të kohës së CPU në thirrjen s_lock(). Për të zgjidhur problemin, është propozuar të kthehet si parazgjedhje moda PREEMPT_NONE dhe të hiqet lidhja e saj me cilësimin ARCH_NO_PREEMPT.
Peter Zijlstra, autori i ndryshimeve që shkaktuan regresionin dhe mbajtësi i planifikuesit të detyrave dhe nën-sistemeve të bllokimeve në bërthamë, deklaroi se nevojitet një rregullim në kodin e PostgreSQL. Për të adresuar rënien e performancës, ai këshilloi përdorimin e zgjerimit të sapo shtuar në bërthamë të PostgreSQL, "rseq slice" (Sekuencat e Rinstaluara) për të kufizuar probabilitetin e dëbimit të mbajtësit të bllokimit.
Ende nuk dihet se çfarë vendimi do të marrë Linus Torvalds, i cili ndjek rregullin se bërthama nuk duhet të përkeqësojë performancën dhe të prishë kompatibilitetin me hapësirën e përdoruesit. Në njërën anë, bërthama 7.0 ndodhet në fazën përfundimtare të testimit para publikimit dhe rikthimi i konfigurimeve të planifikuesit mund të çojë në regresione të tjera, ndërsa në anën tjetër përdoruesit mund të përballen me një reduktim dyfish të performancës të njërës nga sistemet më të njohura të menaxhimit të bazave të të dhënave.
Burimi: opennet.ru
