Utgivelse av Linux-kjernen 5.17

Etter to mÄneders utvikling presenterte Linus Torvalds utgivelsen av Linux-kjernen 5.17. Blant de mest bemerkelsesverdige endringene: et nytt ytelsesstyringssystem for AMD-prosessorer, muligheten for rekursiv mapping av brukeridentifikatorer i filsystemer, stÞtte for bÊrbare BPF-programmer, overfÞring av generatoren for pseudotilfeldige tall til BLAKE2s-algoritmen, RTLA-verktÞyet for sanntidsanalyse av utfÞrelse, en ny fscache-backend for caching av nettverks-FS, og muligheten til Ä knytte navn til anonyme mmap-operasjoner.

Den nye versjonen inkluderer 14 203 rettelser fra 1 995 utviklere, patch-stĂžrrelsen er 37 MB (endringene berĂžrte 11 366 filer, 506 043 linjer med kode ble lagt til, og 250 954 linjer ble fjernet). Omtrent 44 % av alle endringene i 5.17 er relatert til enhetsdrivere, omtrent 16 % av endringene gjelder oppdatering av koden for spesifikke maskinarkitekturer, 15 % er knyttet til nettverksstakken, 4 % til filsystemer og 4 % til kjerneundersystemer.

De viktigste nyhetene i kjernen 5.17:

  • Disk subsystem, I/O og filsystemer
    • Muligheten for innbakt mapping av brukeridentifikatorer for monterte filsystemer er implementert. Dette brukes for Ă„ tilordne filer til en bestemt bruker pĂ„ et montert fremmed partisjon med en annen bruker i det nĂ„vĂŠrende systemet. Den nye muligheten tillater rekursiv bruk av mapping over filsystemer der mapping allerede er brukt.
    • fscache-undersystemet er fullstendig omkodet. Dette brukes til Ă„ organisere caching i de lokale filsystemene for data som overfĂžres over nettverksfilsystemer. Den nye implementasjonen utmerker seg med betydelig forenkling av koden og erstatning av kompliserte planlegging- og tilstandsoppfĂžlgingstrinn med enklere mekanismer. StĂžtte for den nye fscache er implementert i CIFS-filsystemet.
    • I fanotify-hendelsessporingssystemet er en ny type hendelse FAN_RENAME implementert, som lar deg fange opp fil- eller katalogomdĂžpingsoperasjonen samtidig (tidligere ble to separate hendelser FAN_MOVED_FROM og FAN_MOVED_TO brukt for Ă„ hĂ„ndtere omdĂžpinger).
    • Btrfs-filsystemet har fĂ„tt optimalisert logging- og fsync-operasjoner for store kataloger, realisert ved Ă„ kopiere kun indeksnĂžkler og redusere mengden loggfĂžrt metadata. StĂžtte for indeksering og sĂžk basert pĂ„ stĂžrrelsen pĂ„ oppfĂžringer om ledig plass er implementert, noe som har redusert ventetid med omtrent 30% og forkortet sĂžketid. Det er nĂ„ tillatt Ă„ avbryte defragmenteringsoperasjoner. Muligheten til Ă„ legge til enheter mens bĂ„ndingen mellom lagrene er deaktivert, er inkludert, dvs. ved Ă„ montere FS med alternativet skip_balance.
    • En ny syntaks for montering av Ceph-filsystemet er foreslĂ„tt, som lĂžser tidligere problemer knyttet til IP-adressebinding. I tillegg IP-adresser kan man nĂ„ bruke klusteridentifikator (FSID) for Ă„ bestemme serveren: mount -t ceph user@fsid.fs_name=\/[subdir] mnt -o mon_addr=monip1[:port][\/monip2[:port]]
    • Ext4-filsystemet er overfĂžrt til et nytt API for montering, som skiller mellom parsing-faser for monteringsalternativer og oppsett av superblokk. StĂžtte for monteringsalternativene lazytime og nolazytime, som ble lagt til som en midlertidig endring for Ă„ forenkle overgangen til util-linux for bruk av flagget MS_LAZYTIME, er opphĂžrt. StĂžtte for Ă„ sette og lese etiketter i FS (ioctl FS_IOC_GETFSLABEL og FS_IOC_SETFSLABEL) er lagt til.
    • I NFSv4 er stĂžtte for Ă„ jobbe i filsystmer uten skille mellom store og smĂ„ bokstaver i fil- og katalognavn lagt til. I NFSv4.1+ er stĂžtte for Ă„ definere aggregerte sesjoner (trunking) lagt til.
  • Minne og systemtjenester
    • amd-pstate-driveren er lagt til, som gir dynamisk frekvenskontroll for optimal ytelse. Driveren stĂžtter AMD CPU-er og APU-er fra Zen 2-generasjonen og er utviklet i samarbeid med Valve, med mĂ„l om Ă„ forbedre energieffektiviteten. For adaptiv frekvensjustering brukes CPPC (Collaborative Processor Performance Control)-mekanismen, som gir mer presis endring av ytelse (ikke begrenset til tre ytelsesnivĂ„er) og raskere reaksjon pĂ„ endringer i status enn tidligere P-state-drivere basert pĂ„ ACPI (CPUFreq).
    • I eBPF-subsystemet er bpf_loop()-behandleren foreslĂ„tt, som gir en alternativ mĂ„te Ă„ organisere lĂžkker i eBPF-programmer, raskere og enklere Ă„ verifisere for verifikatoren.
    • I kjernen er det implementert en mekanisme for CO-RE (Compile Once — Run Everywhere), som lar deg kompilere eBPF-programmer bare Ă©n gang og bruke en spesiell universell laster som tilpasser programmet til den nĂ„vĂŠrende kjernen og BTF (BPF Type Format).
    • Det er nĂ„ mulig Ă„ tildele navn til omrĂ„der med privat anonym (allokert via malloc) minne, noe som kan forenkle feilsĂžking og optimalisering av minneforbruk i applikasjoner. Navn tildeles via prctl med flagget PR_SET_VMA_ANON_NAME og vises i /proc/pid/maps og /proc/pid/smaps i formen «[anon:]».
    • I oppgaveplanleggeren er det mulig Ă„ spore og vise tiden prosessene har tilbrakt i tvungen hvile (forced-idle) i /proc/PID/sched, noe som brukes for Ă„ redusere belastningen ved overoppheting av prosessoren.
    • Modulen gpio-sim er lagt til, som er ment for Ă„ simulere GPIO-brikker for testing.
    • Det er lagt til en underkommando «latency» til kommandoen «perf ftrace» for Ă„ generere histogrammer med informasjon om forsinkelser.
    • Et sett med verktĂžy kalt «RTLA» er lagt til for analyse av sanntidsdrift. Blant verktĂžyene finnes osnoise (som bestemmer innflytelsen fra operativsystemet pĂ„ oppgavens utfĂžrelse) og timerlat (som endrer forsinkelser relatert til timere).
    • Den andre serien av patcher er integrert med implementeringen av konseptet med minnesider (page folios), som ligner pĂ„ kombinerte minnesider (compound pages), men har en forbedret semantikk og en mer intuitiv organisering. Bruken av folios gjĂžr det raskere Ă„ administrere minnet i noen kjernesystemer. I de foreslĂ„tte patchene er oversettelsen av sidenes cache over til bruk av folios fullfĂžrt, og grunnleggende stĂžtte for folios er lagt til i FS XFS.
    • Det er lagt til en byggemodus «make mod2noconfig», som genererer en konfigurasjon som bygger alle de frakoblete subsystemene som kjernemoduler.
    • Kravene til versjonen av LLVM/Clang som kan brukes til Ă„ bygge kjernen har blitt hevet. NĂ„ kreves minst LLVM 11 for bygging.
  • Virtualisering og sikkerhet
    • Den oppdaterte implementeringen av RDRAND, som styrer enhetene /dev/random og /dev/urandom, er bemerkelsesverdig for overgangen til bruk av hash-funksjonen BLAKE2s i stedet for SHA1 for blanding av entropi. Endringen har forbedret sikkerheten til den pseudorandomtaleren ved Ă„ eliminere problemer knyttet til SHA1-algoritmen og unngĂ„ overskrivning av RNG-initieringsvektoren. Siden BLAKE2s-algoritmen overgĂ„r SHA1 i ytelse, har bruken av den ogsĂ„ hatt en positiv innvirkning pĂ„ ytelsen.
    • Det er lagt til beskyttelse mot sĂ„rbarheter i prosessorer forĂ„rsaket av spekulativ utfĂžrelse av instruksjoner etter ubetingede sprang. Problemet oppstĂ„r pĂ„ grunn av fremoverbehandling av instruksjoner i minnet som fĂžlger direkte etter spranginstruksjonen (SLS, Straight Line Speculation). For Ă„ aktivere beskyttelsen kreves en kompilering med GCC 12 i testfase.
    • En mekanisme for sporing av referansetelling (refcount) er lagt til, med fokus pĂ„ Ă„ redusere antallet feil i referansetellingen som fĂžrer til minnetilgang etter frigivelse. Mekanismen er for tiden begrenset til nettverksunderkystemet, men kan tilpasses for andre deler av kjernen i fremtiden.
    • Utvidede kontroller for nye oppfĂžringer i prosessens sidetabel er implementert, noe som gjĂžr det mulig Ă„ identifisere visse typer skader og stoppe systemet ved Ă„ blokkere tidlige angrep.
    • Muligheten for Ă„ pakke ut kjernemoduler direkte av kjernen selv, i stedet for av en brukerrombehandler, er lagt til. Dette gjĂžr det mulig Ă„, ved hjelp av LSM-modulen LoadPin, sikre at kjernemodulene lastes inn i minnet fra et verifisert lagringsmedium.
    • Kompatibilitet med flagget "-Wcast-function-type" er sikret, som aktiverer varsler om omcasting av funksjonspekere til inkompatibel type.
    • En virtuell vertdriver, pvUSB, for Xen hypervisoren er lagt til, og gir tilgang til USB-enheter som er viderekoblet til gjestesystemer (fĂžrer til at gjestesystemene kan fĂ„ tilgang til fysiske USB-enheter som er knyttet til gjestesystemet).
    • En ny modul har blivit tillagd för att interagera med IME (Intel Management Engine) via Wi-Fi, vilket levereras med de flesta moderna moderkort med Intel-processorer och implementeras som en separat mikrokontroller som arbetar oberoende av CPU:n.
    • ÅtgĂ€rden för ARM64-arkitekturen har implementerat stöd för KCSAN (Kernel Concurrency Sanitizer), som anvĂ€nds för att dynamiskt identifiera tillstĂ„nd med tĂ€vlingar inuti kĂ€rnan.
    • För 32-bitars ARM-system har en funktion för att anvĂ€nda KFENCE-mekanismen lagts till för att identifiera minnesfel.
    • I KVM-hypervisorn har stöd för AMX-instruktioner (Advanced Matrix Extensions) lagts till, som implementeras i de kommande Intel Xeon Scalable-serverprocessorerna.
  • Nettverks subsystem
    • Stöd för offloading av trafikhanteringsoperationer till nĂ€tverksenheter har lagts till.
    • Möjligheten att anvĂ€nda MCTP (Management Component Transport Protocol) över enheter med seriellt grĂ€nssnitt har lagts till. MCTP kan anvĂ€ndas för att interagera med styrkontrollanter och relaterade enheter (vĂ€rdprocessorer, perifera enheter etc.).
    • TCP-stacken har optimerats, exempelvis har fördröjd frigöring av socketbuffrar implementerats för att öka prestandan av recvmsg-anrop.
    • PĂ„ nivĂ„n CAP_NET_RAW har det blivit tillĂ„tet att stĂ€lla in SO_PRIORITY och SO_MARK-lĂ€gen via funktionen setsockopt.
    • För IPv4 har det blivit tillĂ„tet att ansluta raw-sockets inte till lokala IP-adresser med hjĂ€lp av IP_FREEBIND och IP_TRANSPARENT-alternativen.
    • Sysctl arp_missed_max har lagts till för att stĂ€lla in tröskelvĂ€rdet för antalet fel i ARP-övervakningen, efter vilket nĂ€tverksgrĂ€nssnittet sĂ€tts till inaktivt.
    • Möjligheten att stĂ€lla in separat sysctl-vĂ€rden för min_pmtu och mtu_expires för nĂ€tverksnamnrymder har tillhandahĂ„llits.
    • I ethtool API har möjligheten att stĂ€lla in och bestĂ€mma storleken pĂ„ inkommande och utgĂ„ende paketbuffrar lagts till.
    • I Netfilter har stöd för filtrering av transit pppoe-trafik i nĂ€tverksbron lagts till.
    • I ksmbd-modulen som implementerar filsystemet serveren, som anvĂ€nder SMB3-protokollet, har stöd för nyckelutbyte lagts till, nĂ€tverksport 445 har anvĂ€nts för smbdirect och stöd för parametern "smb2 max credit" har lagts till.
  • Utstyr
    • I drm (Direct Rendering Manager) og i915-driveren er stĂžtte for skjermer for konfidensiell informasjon lagt til; for eksempel er noen bĂŠrbare datamaskiner utstyrt med skjermer som har en innebygd konfidensialitetsmodus som gjĂžr det vanskeligere for andre Ă„ se. De nye endringene muliggjĂžr tilkobling av spesialiserte drivere for slike skjermer og styring av konfidensialitetsmoduser gjennom innstillinger i vanlige KMS-drivere.
    • I amdgpu-driveren er stĂžtte for STB (Smart Trace Buffer) debugging-teknologi lagt til for alle AMD GPUer som stĂžtter den. STB forenkler feilanalyse og identifisering av kilden til problemer ved Ă„ lagre informasjon om funksjonene som ble utfĂžrt fĂžr den siste feilen i en spesialbuffer.
    • I i915-driveren er stĂžtte for Intel Raptor Lake S-brikker lagt til, og stĂžtte for den grafiske subsystemet i Intel Alder Lake P-brikker er aktivert som standard. Muligheten til Ă„ styre skjermlyset via DPCD-interface fra VESA er ogsĂ„ tillatt.
    • I fbcon/fbdev-driverne er stĂžtte for maskinvareakselerasjon av rulling i konsollen gjeninnfĂžrt.
    • Integreringen av endringer for stĂžtte av Apple M1-brikker har fortsatt. Det er nĂ„ mulig Ă„ bruke simpledrm-driveren pĂ„ systemer med Apple M1-brikken for Ă„ utgi via framebuffer som tilbys av fastvaren.
    • StĂžtte for ARM SoC, enheter og brett som Snapdragon 7c, 845 og 888 (Sony Xperia XZ2/XZ2C/XZ3, Xperia 1 III/5 III, Samsung J5, Microsoft Surface Duo 2), Mediatek MT6589 (Fairphone FP1), Mediatek MT8183 (Acer Chromebook 314), Mediatek MT7986a/b (brukes i Wi-Fi rutere), Broadcom BCM4908 (Netgear RAXE500), Qualcomm SDX65, Samsung Exynos7885, Renesas R-Car S4-8, TI J721s2, TI SPEAr320s, NXP i.MX8 ULP8, Aspeed AST2500/AST2600, Engicam i.Core STM32MP1, Allwinner Tanix TX6, Facebook Bletchley BMC, Goramo MultiLink, JOZ Access Point, Y Soft IOTA Crux/Crux+, t6000/t6001 MacBook Pro 14/16 er lagt til.
    • StĂžtte for ARM Cortex-M55 og Cortex-M33-prosessorer er lagt til.
    • StĂžtte for MIPS-baserte CPU-enheter er lagt til: Linksys WRT320N v1, Netgear R6300 v1, Netgear WN2500RP v1/v2.
    • StĂžtte for RISC-V-baserte SoC StarFive JH7100 er lagt til.
    • En driver for lenovo-yogabook-wmi er lagt til for Ă„ kontrollere bakgrunnsbelysningen pĂ„ tastaturet og fĂ„ tilgang til forskjellige sensorer i Lenovo Yoga Book.
    • En driver for asus_wmi_sensors er lagt til for tilgang til sensorer som brukes pĂ„ Asus X370, X470, B450, B550 og X399 hovedkort basert pĂ„ AMD Ryzen-prosessorer.
    • En driver for x86-android-tablets er lagt til for nettbrett basert pĂ„ x86-arkitekturen som leveres med Android-plattformen.
    • StĂžtte for berĂžringsskjermer pĂ„ TrekStor SurfTab duo W1 og elektroniske penner for Chuwi Hi10 Plus og Pro-nettbrett er lagt til.
    • StrĂžm- og spenningskontrollstĂžtte er lagt til i drivere for SoC Tegra 20/30. Mulighet for oppstart pĂ„ gamle 32-bit enheter basert pĂ„ SoC Tegra, som ASUS Prime TF201, Pad TF701T, Pad TF300T, Infinity TF700T, EeePad TF101 og Pad TF300TG, er sikret.
    • Drivere for industrielle datamaskiner fra Siemens er lagt til.
    • StĂžtte for LCD-paneler som Sony Tulip Truly NT35521, Vivax TPC-9150, Innolux G070Y2-T02, BOE BF060Y8M-AJ0, JDI R63452, Novatek NT35950, Wanchanglong W552946ABA og Team Source Display TST043015CMHX er lagt til.
    • StĂžtte for lydsystemer og kodekene AMD Renoir ACP, Asahi Kasei Microdevices AKM4375, Intel-systemer som bruker NAU8825/MAX98390, Mediatek MT8915, nVidia Tegra20 S/PDIF, Qualcomm ALC5682I-VS, Texas Instruments TLV320ADC3xxx er lagt til. Problemer med Tegra194 HD-audio er lĂžst. StĂžtte for HDA for kodekene CS35L41 er lagt til. Forbedret stĂžtte for lydsystemer pĂ„ bĂŠrbare datamaskiner fra Lenovo og HP, samt hovedkort fra Gigabyte.

Kilde: opennet.ru

KjĂžp pĂ„litelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere đŸ”„ KjĂžp pĂ„litelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster