Linux 5.10 kommer med betydelige Ext4-optimaliseringer, forbedret AMD SEV-kompatibilitet og mer

Kernel

Etter to måneder med utvikling annonserte Linus Torvalds utgivelsen av den nye Linux-kjernen versjon 5.10 , en versjon som har status som en gren med lang støtteperiode, og hvis oppdateringer vil bli utgitt i minst to år.

Merkbare endringer i denne nye versjonen inkluderer støtte for MemTag-beskyttelsesmekanismen for ARM64-systemer, monteringsalternativet "nosymfollow", betydelige Ext4-optimaliseringer, XFS 2038-fiks, et nytt process_madvise-systemkall, forbedret AMD SEV-støtte gjennom CPU-registerkryptering og muligheten til å sette BPF-programmer på pause.

Den nye versjonen mottok 17 470 rettelser fra 2062 utviklere; oppdateringsstørrelse: 64 MB (endringene påvirket 15 101 filer, la til 891 932 linjer med kode og fjernet 619 716 linjer). Omtrent 42 % av alle endringene introdusert i 5.10 er relatert til enhetsdrivere , omtrent 16 % er relatert til oppdatering av maskinvarearkitekturspesifikk kode, 13 % er relatert til nettverksstakken, 3 % er relatert til filsystemer og 3 % er relatert til interne kjerneundersystemer.

Hovednyheter i Linux 5.10

Blant de viktigste endringene finner vi at fast_commit-modus er lagt til for ext4 , noe som reduserer forsinkelser i mange filoperasjoner betydelig på grunn av raskere flytting av metadata til disk når et fsync()-kall utføres. Under normale omstendigheter synkroniserer kjøring av fsync() et redundant sett med metadata. I fast_commit-modus overføres bare metadataene som er nødvendige for å gjenopprette filsystemet i tilfelle et krasj, til registeret, noe som øker hastigheten på fsync()-kall og forbedrer ytelsen til operasjoner som aktivt manipulerer metadata.

Mens for Btrfs inkluderer viktige ytelsesoptimaliseringer relatert til fsync () -operasjoner. Reduksjonen i log mutex-påstanden resulterte i en 4% økning i ytelse og en 14% reduksjon i ventetid når du kjører dbench-referansen med 32 klienter. Å eliminere ytterligere forpliktelser for lenker og navneendringer økte båndbredden med 6% og reduserte ventetiden med 30%. Å begrense fsync til å bare vente på omskrivninger økte ytelsen med 10-40%.
Videre Btrfs-implementering av direkte I / O (direkte io) er flyttet til iomap-rammeverket. 

XFS legger til endringer i inode-metadata for å løse overløpsproblemer i 32-bits time_t-datatypen i 2038. Lignende endringer, som flyttet tidstellerens overløp til år 2468, ble lagt til koden for beregning av diskkvotetider. XFS V4-formatet er erklært foreldet; brukere oppfordres til å oppgradere til V5-formatet, men det er god tid til oppgraderingen, ettersom V4-støtten vil fortsette til 2030. XFS har også endret størrelsen på btree-inodeoppføringen, noe som muliggjør flere redundanskontroller og raskere monteringstider.

For FUSE-delsystemet implementert DAX-operasjonsstøtten for å få direkte tilgang til filsystemet, utenom sidebufferen uten en applikasjonsnivålåseanordning som brukes til å unngå dobbel cache for organisering av felles tilgang til gjestesystemer , kataloger og filer. Virtiofs legger også til støtte for separat montering av partisjoner med forskjellige festepunkter på vertssystemet.

F2FS-filsystemet legger til en ny ATGC (Age Threshold Garbage Collection) søppelinnsamlingsmodus , forbedret støtte for sonede NVMe-enheter og raskere dekomprimering av komprimerte data.

I F2FS og Ext4 har måten å jobbe med filnavn som ikke skiller mellom store og små bokstaver blitt redesignet; det er besluttet å forene implementeringen av filnavn som ikke skiller mellom store og små bokstaver ved å flytte den tilhørende koden til et felles bibliotek.

En annen viktig endring er i det asynkrone I/O-grensesnittet io_uring, som legger til muligheten til å opprette begrensede ringer som trygt kan deles med en uklarert prosess. Denne funksjonen lar basisapplikasjonen selektivt begrense tilgang til kun sine individuelle filbeskrivelser for bruk av tredjepartsapplikasjoner via io_uring. I tillegg er PIDFD_NONBLOCK-flagget lagt til systemkallet pidfd_open() for å opprette en ikke-låsende filbeskrivelse (analogt med O_NONBLOCK for pidfd).


Legg til som foretrukket kilde i Google