Linux 5.10 vjen me optimizime të rëndësishme Ext4, përmirësim të pajtueshmërisë AMD SEV dhe më shumë

thelb

Pas dy muajsh zhvillimi, Linus Torvalds njoftoi publikimin e versionit të ri të kernelit Linux 5.10 , një version që vjen me statusin e një dege me një periudhë të gjatë mbështetjeje, përditësimet e të cilit do të publikohen për të paktën dy vjet.

Ndryshimet e dukshme në këtë version të ri përfshijnë mbështetjen për mekanizmin mbrojtës MemTag për sistemet ARM64, opsionin e montimit "nosymfollow", optimizime të rëndësishme të Ext4, rregullimin e XFS 2038, një thirrje të re sistemi process_madvise, mbështetje të përmirësuar të AMD SEV përmes enkriptimit të regjistrit të CPU-së dhe aftësinë për të ndaluar programet BPF.

Versioni i ri mori 17470 rregullime nga 2062 zhvillues; madhësia e patch-it: 64 MB (ndryshimet prekën 15101 skedarë, shtuan 891932 rreshta kodi dhe hoqën 619716 rreshta). Përafërsisht 42% e të gjitha ndryshimeve të prezantuara në 5.10 lidhen me drajverët e pajisjeve , afërsisht 16% lidhen me përditësimin e kodit specifik të arkitekturës së harduerit, 13% lidhen me grumbullin e rrjetit, 3% lidhen me sistemet e skedarëve dhe 3% lidhen me nënsistemet e bërthamës së brendshme.

Lajmet kryesore në Linux 5.10

Ndër ndryshimet kryesore, vërejmë se për ext4, është shtuar modaliteti fast_commit , i cili zvogëlon ndjeshëm vonesat në shumë operacione me skedarë për shkak të pastrimit më të shpejtë të meta të dhënave në disk gjatë ekzekutimit të një thirrjeje fsync(). Në rrethana normale, ekzekutimi i fsync() sinkronizon një grup të tepërt meta të dhënash. Në modalitetin fast_commit, vetëm meta të dhënat e nevojshme për të rikuperuar sistemin e skedarëve në rast të një rrëzimi transferohen në regjistër, gjë që përshpejton thirrjet fsync() dhe përmirëson performancën e operacioneve që manipulojnë në mënyrë aktive meta të dhënat.

Ndërsa për Btrfs përfshin optimizime të rëndësishme të performancës në lidhje me operacionet fsync (). Reduktimi në grindjen e log mutex rezultoi në një rritje prej 4% të performancës dhe një ulje prej 14% të vonesës kur drejtohet standardi dbench me 32 klientë. Eliminimi i angazhimeve shtesë për lidhje dhe ndryshime të emrave rriti gjerësinë e bandës me 6% dhe uli vonesën me 30%. Kufizimi i fsync për të pritur vetëm në rishkrime rrit performancën me 10-40%.
Përveç kësaj, Zbatimi i Btrfs i I / O direkte (io i drejtpërdrejtë) është zhvendosur në kornizën e iomap. 

XFS shton ndryshime në metadatat e inode-it për të adresuar problemet e tejmbushjes në llojin e të dhënave time_t 32-bit në vitin 2038. Ndryshime të ngjashme, të cilat e zhvendosën tejmbushjen e numëruesit të kohës në vitin 2468, iu shtuan kodit për llogaritjen e kohërave të kuotave të diskut. Formati XFS V4 është shpallur i vjetëruar; përdoruesit inkurajohen të përditësohen në formatin V5, por ka kohë të mjaftueshme për përditësimin, pasi mbështetja V4 do të vazhdojë deri në vitin 2030. XFS gjithashtu ka ndryshuar madhësinë e hyrjes së inode-it btree, duke mundësuar më shumë kontrolle të redundancës dhe kohë më të shpejta montimi.

Për nënsistemin FUSE të zbatuar mbështetjen e operacioneve DAX për të hyrë drejtpërdrejt në sistemin e skedarëve, duke anashkaluar memorjen e faqes pa pajisje mbyllëse të nivelit të aplikimit që përdoret për të shmangur virtyt e memorjes së dyfishtë të organizimit të qasjes së përbashkët në sistemet e vizitorëve , drejtoritë dhe skedarët. Virtiofs gjithashtu shton mbështetje për montimin e veçantë të ndarjeve me pika të ndryshme të montimit në sistemin pritës.

Sistemi i skedarëve F2FS shton një modalitet të ri të mbledhjes së mbeturinave ATGC (Age Threshold Garbage Collection) , mbështetje të përmirësuar për pajisjet NVMe të zonuara dhe dekompresim më të shpejtë të të dhënave të kompresuara.

Në F2FS dhe Ext4, mënyra e punës me emra skedarësh që nuk e ndjejnë ndjeshmërinë ndaj shkronjave të mëdha dhe të vogla është ridizajnuar; është vendosur të unifikohet zbatimi i emrave të skedarëve që nuk e ndjejnë ndjeshmërinë ndaj shkronjave të mëdha dhe të vogla duke e zhvendosur kodin shoqërues në një bibliotekë të përbashkët.

Një ndryshim tjetër i rëndësishëm është në ndërfaqen asinkrone të I/O io_uring, e cila shton mundësinë për të krijuar unaza të kufizuara që mund të ndahen në mënyrë të sigurt me një proces jo të besueshëm. Kjo veçori i lejon aplikacionit bazë të kufizojë në mënyrë selektive aksesin vetëm në përshkruesit e tij individualë të skedarëve për përdorim nga aplikacionet e palëve të treta nëpërmjet io_uring. Përveç kësaj, flamuri PIDFD_NONBLOCK është shtuar në thirrjen e sistemit pidfd_open() për të krijuar një përshkrues skedari jo-bllokues (analog me O_NONBLOCK për pidfd).


Shto si burim të preferuar në Google