Linux-kjernen er ryggraden i Linux-operativsystemer (OS), og er det grunnleggende grensesnittet mellom en datamaskins maskinvare og dens prosesser.
nylig Linus Torvalds avduket utgivelsen av den nye Linux-kjerneversjonen 6.7, som presenteres etter to måneders utvikling og blant de mest bemerkelsesverdige endringene er integrasjonen av Bcachefs filsystem, avviklingen av støtte for Itanium-arkitekturen, muligheten til Nouveau til å jobbe med GSP-R-fastvare, støtte for TLS-kryptering i NVMe-TCP, muligheten til å bruke unntak i BPF, blant annet.
Den nye versjonen av Linux-kjernen 6.7 Den består av 15291 XNUMX rettelser og omtrent 45 % av alle endringer som er introdusert er relatert til enhetsdrivere, 14 % av endringene er relatert til oppdatering av spesifikk kode for maskinvarearkitekturer, 13 % er relatert til nettverksstakken, 5 % er relatert til filsystemer og 3 % er relatert til interne kjerneundersystemer.
Patchstørrelsen er 72 MB (endringene berørte 13.467 906.147 filer, 341.048 XNUMX linjer med kode ble lagt til, og XNUMX XNUMX linjer ble fjernet).
Hovednyhetene til Linux-kjernen 6.7
Bcachefs filsystemintegrasjon
Linux 6.7 tar i bruk Bcachefs filsystemkode, som forsøker å oppnå ytelsen, påliteligheten og skalerbarheten til XFS, kombinert med elementer av den avanserte funksjonaliteten som finnes i Btrfs og ZFS.
Bcachefs støtter funksjoner som inkludering av flere enheter på én partisjon, flerlags stasjonsdesign (det nederste laget med ofte brukte data basert på raske SSD-er og det øverste laget med data fra mindre brukte harddisker), replikering (RAID 1/10), caching, gjennomsiktig datakomprimering (LZ4, gzip og ZSTD-modus), tilstandskutt, integritetsverifisering ved bruk av kontrollsummer, mulighet til å lagre Reed-Solomon feilrettingskoder (RAID 5/6), informasjonslagring i kryptert form (ChaCha20 og Poly1305 brukes) . Når det gjelder ytelse, er Bcachefs foran Btrfs og andre filsystemer basert på kopier-på-skriv-mekanismen og demonstrerer en driftshastighet nær Ext4 og XFS.
Forbedringer i Btrfs
På Linux 6.7 En forenklet kvotemodus er implementert for Btrfs som gir bedre ytelse ved å spore utvidelser kun i underpartisjonen de er opprettet i, som forenkler beregninger og forbedrer ytelsen, men det tillater ikke at utvidelser deles mellom flere underpartisjoner. I tillegg er en ny stripetre-datastruktur lagt til Btrfs, egnet for logisk utvidelseskartlegging i situasjoner der den fysiske kartleggingen ikke stemmer overens mellom enheter. Stoffet brukes for tiden i RAID0- og RAID1-implementeringer for sonede blokkenheter.
Avvikling av støtte for Itanium-arkitektur (ia64)
De støtte for ia64-arkitekturen som brukes i Intel Itanium-prosessorer, hva er detoss fullstendig suspendert i 2021. Intel introduserte Itanium-prosessorer i 2001, men ia64-arkitekturen klarte ikke å konkurrere med AMD64, hovedsakelig på grunn av den høyere ytelsen til AMD64 og den jevnere overgangen fra 86-bits x32-prosessorer. Linus Torvalds uttrykte sin vilje til å gi tilbake støtte ia64 til kjernen, men jabare hvis det er en vedlikeholder som kan demonstrere høy kvalitet på støtten for denne plattformen ut av hovedkjernen i minst et år.
Kontinuerlig migrering av endringer fra Rust-for-Linux-grenen
Den nye versjonen går over til å bruke Rust 1.73-versjonen og tilbyr et sett med kroker for arbeid med arbeidskøer.
Forbedringer i implementeringen av FIFO-køer
I denne nye versjonen av Linux 6.7 implementering av en lett FIFO-mekanisme enkeltforbindelser som krever en spinlock kun for fjerning av kø i en prosesskontekst og dispenserer fra det for atomiske tillegg til køen i enhver sammenheng. I tillegg ble en objpool sirkulær buffer lagt til med en skalerbar implementering av en høyytelseskø for å allokere og returnere objekter.
TLS-krypteringsstøtte for NVMe-TCP
På Linux 6.7 NVMe-TCP-driveren (som lar deg få tilgang til NVMe-stasjoner over nettverket), Lagt til støtte for kryptering av dataoverføringskanalen ved hjelp av TLS (ved hjelp av KTLS og en bakgrunnsprosess) i tlshd brukerområde for tilkoblingsforhandling.
Forbedret ytelse for pakkeplanlegger
Optimalisert fq-pakkeplanleggerytelse, som gjorde det mulig å øke ytelsen med 5 % under tung belastning i tcp_rr (TCP Request/Response)-testen og med 13 % med en ubegrenset flyt av UDP-pakker.
Bruk av TCP-autentiseringsalternativet
Støtte er lagt til TCP-stakken for TCP-AO-utvidelsen som gjør det mulig å sjekke TCP-hoder ved hjelp av MAC-koder, ved å bruke mer moderne HMAC-SHA1- og CMAC-AES-128-algoritmer i stedet for det tidligere tilgjengelige TCP-MD5-alternativet basert på Legacy MD5-algoritmen .
Av andre endringer som skiller seg ut:
- Nye innstillinger er lagt til «cpuset.cpus.exclusive" og "cpuset.cpus.exclusive. Effektiv» til cpuset for CPU-eksklusiv binding.
- BPF-delsystemet implementerer støtte for unntak, som behandles som en nødutgang fra et BPF-program med mulighet til å rulle ut stabelrammer på en sikker måte. I tillegg tillater BPF-programmer bruk av kptr-pekere i forbindelse med CPU.
- For ARM32- og S390x-arkitekturer er støtte for gjeldende sett (cpuv4) med BPF-instruksjoner lagt til.
- For RISC-V-arkitektur er det mulig å bruke Shadow-Call Stack-kontrollmodusen tilgjengelig i Clang 17, designet for å beskytte mot overskriving av returadressen til en funksjon i tilfelle bufferoverflyt på stabelen.
- En ny intelligent skannemodus for minnesider er lagt til mekanismen for å slå sammen identiske minnesider (
- AppArmor har lagt til muligheten til å kontrollere tilgang til io_uring-mekanismen og lage brukernavneområder, slik at du selektivt kan tillate tilgang til disse egenskapene kun til visse prosesser.
- Lagt til VM Certification API for å bekrefte integriteten til VM-oppstartsprosessen.
- LoongArch-systemer støtter virtualisering ved hjelp av KVM-hypervisor.
- Lagt innledende støtte for GSP-RM-fastvare til Nouveau-kjernemodulen, som brukes i NVIDIA RTX 20+ GPU for å flytte initialiserings- og kontrolloperasjoner fra GPU-en til siden av en GSP-mikrokontroller
endelig hvis du er det interessert i å vite mer om det, kan du sjekke detaljene I den følgende lenken.