Lansering av kÀrnan Linux 5.17

Efter tvÄ mÄnaders utveckling presenterade Linus Torvalds lanseringen av Linux-kÀrnan 5.17. Bland de mest anmÀrkningsvÀrda Àndringarna finns: ett nytt system för prestandahantering av AMD-processorer, möjlighet till rekursiv mappning av anvÀndaridentifierare i filsystem, stöd för portabla BPF-program som kompilerats, övergÄng av den pseudo-slumptalsgeneratorn till algoritmen BLAKE2s, RTLA-verktyget för analys av körning i realtid, en ny backend fscache för caching av nÀtverks-FS, samt möjlighet att knyta namn till anonyma mmap-operationer.

Den nya versionen innehÄller 14203 korrigeringar frÄn 1995 utvecklare, patchstorleken Àr 37 MB (Àndringarna berörde 11366 filer, 506043 kodrader lades till, 250954 kodrader togs bort). Omkring 44% av alla förÀndringar i 5.17 Àr relaterade till enhetsdrivrutiner, cirka 16% av förÀndringarna handlar om uppdatering av kod specifik för hÄrdvaruarkitekturer, 15% Àr relaterade till nÀtverksstacken, 4% till filsystem och 4% till interna delsystem i kÀrnan.

Huvudnyheterna i kÀrnan 5.17:

  • Disksubsystem, in- och utmatning och filsystem
    • Möjlighet till inbĂ€ddad mappning av anvĂ€ndaridentifierare för monterade filsystem har implementerats, vilket anvĂ€nds för att mappa filer frĂ„n en viss anvĂ€ndare pĂ„ ett monterat frĂ€mmande partition till en annan anvĂ€ndare i det aktuella systemet. Den tillagda funktionen möjliggör rekursiv anvĂ€ndning av mappning över filsystem som redan har mappning tillĂ€mpad.
    • Fscache-delssystemet har skrivits om helt, vilket anvĂ€nds för att organisera caching av data i lokala filsystem överförda genom nĂ€tverksfilsystem. Den nya implementeringen kĂ€nnetecknas av en betydande förenkling av koden och ersĂ€ttning av komplicerade schemalĂ€ggnings- och spĂ„rningsoperationer av objektens tillstĂ„nd med enklare mekanismer. Stödet för den nya fscache finns i CIFS-filsystemet.
    • I hĂ€ndelsespĂ„rningssystemet för filsystemet fanotify har en ny hĂ€ndelsetyp FAN_RENAME implementerats, som gör det möjligt att fĂ„nga namngivningen av filer eller kataloger direkt (tidigare tillĂ€mpades tvĂ„ separata hĂ€ndelser FAN_MOVED_FROM och FAN_MOVED_TO för att behandla omdöpningar).
    • I filsystemet Btrfs har operationer för loggning och fsync optimerats för stora kataloger genom att endast kopiera indexnycklar och minska mĂ€ngden loggade metadata. Stöd för indexering och sökning av storleken pĂ„ poster om ledigt utrymme har sĂ€kerstĂ€llts, vilket har resulterat i en minskning av fördröjningar med cirka 30 % och en kortare söktid. Det har blivit tillĂ„tet att avbryta defragmenteringsoperationer. Möjligheten att lĂ€gga till enheter vid avstĂ€ngd lastbalansering, det vill sĂ€ga vid montering av FS med alternativet skip_balance, har införts.
    • En ny syntax för montering av filsystemet Ceph har föreslagits, vilket löser de problem som funnits med bindning till IP-adresser. För att bestĂ€mma servern kan nu cluster-ID (FSID) anvĂ€ndas: mount -t ceph user@fsid.fs_name=\/[subdir] mnt -o mon_addr=monip1[:port][\/monip2[:port]] IP-adresser Filsystemet Ext4 har uppgraderats till ett nytt API för montering som separerar stegen för tolkning av monteringsalternativ och konfiguration av superblock. Stödet för monteringsalternativen lazytime och nolazytime, som lades till som en temporĂ€r Ă„tgĂ€rd för att förenkla övergĂ„ngen till att anvĂ€nda MS_LAZYTIME-flaggan, har upphört. Stöd för att stĂ€lla in och lĂ€sa etiketter i FS (ioctl FS_IOC_GETFSLABEL och FS_IOC_SETFSLABEL) har lagts till.
    • I NFSv4 har stöd för anvĂ€ndning i filsystem utan skiftning av stora och smĂ„ bokstĂ€ver i fil- och katalognamn lagts till. I NFSv4.1+ har stöd för identifiering av aggregerade sessioner (trunking) lagts till.
    • En driver för amd-pstate har lagts till, vilket möjliggör dynamisk frekvenshantering för optimal prestanda. Drivern stöder CPU och APU AMD frĂ„n generation Zen 2, utvecklades i samarbete med Valve och syftar till att förbĂ€ttra energieffektiviteten. För adaptiv frekvensjustering anvĂ€nds mekanismen CPPC (Collaborative Processor Performance Control), som gör det möjligt att mer exakt justera prestandan (inte begrĂ€nsad till tre prestandanivĂ„er) och reagera snabbare pĂ„ förĂ€ndringar Ă€n tidigare P-statsdrivrutiner baserade pĂ„ ACPI (CPUFreq).
  • Minne och systemtjĂ€nster
    • I eBPF-subsystemet har en bpf_loop()-hanterare föreslagits, vilket erbjuder ett alternativt sĂ€tt att organisera loopar i eBPF-program, vilket Ă€r snabbare och enklare att verifiera.
    • I eBPF-subsystemet har en bpf_loop()-hanterare föreslagits, vilket erbjuder ett alternativt sĂ€tt att organisera loopar i eBPF-program, vilket Ă€r snabbare och enklare att verifiera.
    • I kĂ€rnan har en mekanism för CO-RE (Compile Once — Run Everywhere) implementerats, vilket gör det möjligt att kompilera eBPF-programkod bara en gĂ„ng och anvĂ€nda en sĂ€rskild universell laddare som anpassar det laddade programmet till den aktuella kĂ€rnan och typerna av BTF (BPF Type Format).
    • Det har blivit möjligt att tilldela namn till omrĂ„den av privat anonym (allokerad genom malloc) minne, vilket kan förenkla felavlusning och optimering av minnesanvĂ€ndning i applikationer. Namnen tilldelas via prctl med flaggan PR_SET_VMA_ANON_NAME och visas i /proc/pid/maps och /proc/pid/smaps i formen «[anon:]».
    • I schemalĂ€ggaren har spĂ„rning och visning av tiden som processer tillbringar i tillstĂ„nd av tvingad vila (forced-idle) sĂ€kerstĂ€llts i /proc/PID/sched, vilket tillĂ€mpas exempelvis för att minska belastningen vid överhettning av processorn.
    • En gpio-sim-modul har lagts till, avsedd för att simulera GPIO-chip för testning.
    • I kommandot 'perf ftrace' har en underkommandon 'latency' lagts till för att generera histogram med information om latens.
    • Ett set av verktyg, 'RTLA', har lagts till för analys av arbete i realtid. Detta inkluderar verktyg som osnoise (bestĂ€mmer pĂ„verkan av operativsystemet pĂ„ uppgiftens exekvering) och timerlat (Ă€ndrar fördröjningar relaterade till timern).
    • Den andra serien patchar som implementerar konceptet med minnessidor (page folios) har integrerats, vilka liknar sammanslagna minnessidor (compound pages) men har en förbĂ€ttrad semantik och en mer begriplig arbetsorganisation. AnvĂ€ndningen av folios möjliggör snabbare minneshantering i vissa delsystem av kĂ€rnan. I de föreslagna patcharna har översĂ€ttningen av sidcache till anvĂ€ndning av folios slutförts och inledande stöd för folios i FS XFS har lagts till.
    • En 'make mod2noconfig'-uppsamlingslĂ€ge har lagts till, dĂ€r en konfiguration genereras som sammanstĂ€ller alla avstĂ€ngda delsystem i form av kĂ€rnmoduler.
    • Krav pĂ„ version av LLVM/Clang som kan anvĂ€ndas för att bygga kĂ€rnan har höjts. För att bygga krĂ€vs nu minst dess version 11.
  • Virtualisering och sĂ€kerhet
    • En uppdaterad implementation av den pseudo-slumptalsgenerator som kallas RDRAND har föreslagits. Den ansvarar för hanteringen av enheterna /dev/random och /dev/urandom och Ă€r anmĂ€rkningsvĂ€rd för övergĂ„ngen till anvĂ€ndning av hash-funktionen BLAKE2s istĂ€llet för SHA1 för att blanda entropi. Denna förĂ€ndring har ökat sĂ€kerheten hos den pseudo-slumptalsgeneratorn genom att eliminera problematiken med algoritmen SHA1 och utesluta skrivning av RNG:s initieringsvektor. Eftersom BLAKE2s-algoritmen övertrĂ€ffar SHA1 vad gĂ€ller prestanda, har dess tillĂ€mpning ocksĂ„ haft en positiv inverkan pĂ„ prestandan.
    • Skydd mot sĂ„rbarheter i processorer orsakade av spekulativ exekvering av instruktioner efter oförĂ€ndrad direkt övergĂ„ng har lagts till. Problemet uppstĂ„r pĂ„ grund av förhandsbehandling av instruktioner som följer direkt i minnet efter övergĂ„ngskommandot (SLS, Straight Line Speculation). För att aktivera skyddet krĂ€vs en kompilering med GCC 12-versionen som för nĂ€rvarande Ă€r under testning.
    • En mekanism för spĂ„rning av referensrĂ€kning (refcount, reference-count) har lagts till, inriktad pĂ„ att minska antalet fel vid referensrĂ€kning som leder till minnesĂ„tkomst efter att minnet har frigjorts. Mekanismen Ă€r för nĂ€rvarande begrĂ€nsad till nĂ€tverksundersystemet, men kan i framtiden anpassas för andra delar av kĂ€rnan.
    • Utökade kontroller för nya poster i programmets minnessidor har implementerats, vilket gör det möjligt att upptĂ€cka vissa typer av korruption och stoppa systemet för att blockera attacker i ett tidigt skede.
    • Möjligheten att packa upp kĂ€rnmoduler direkt av kĂ€rnan sjĂ€lv, snarare Ă€n av en anvĂ€ndarutrymmeshanterare, har lagts till. Detta gör det möjligt, med hjĂ€lp av LSM-modulen LoadPin, att sĂ€kerstĂ€lla att kĂ€rnmoduler laddas in i minnet frĂ„n en verifierad lagringsenhet.
    • En kompilering med flaggan '-Wcast-function-type' har sĂ€kerstĂ€llts, vilket aktiverar utskrift av varningar om typkonvertering av funktionspekare till inkompatibla typer.
    • En virtuell vĂ€rddrivrutin pvUSB har lagts till för hypervisorn Xen, vilket ger Ă„tkomst till USB-enheter som Ă€r genomslĂ€ppta till gĂ€stsysten (det gör det möjligt för gĂ€stsysten att fĂ„ Ă„tkomst till fysiska USB-enheter som Ă€r kopplade till gĂ€stsysten).
    • En modul har lagts till som möjliggör att interagera med IME-systemet (Intel Management Engine) via Wi-Fi, vilket finns i de flesta moderna moderkort med Intel-processorer och implementeras som en separat mikroprocessor som arbetar oberoende av CPU.
    • Stöd för KCSAN (Kernel Concurrency Sanitizer), ett verktyg för att dynamiskt upptĂ€cka race conditions inom kĂ€rnan, har implementerats för ARM64-arkitektur.
    • För 32-bitars ARM-system har möjligheten att anvĂ€nda KFENCE-mekanismen för att upptĂ€cka minnesfel lagts till.
    • I KVM-hypervisorn har stöd för AMX (Advanced Matrix Extensions) instruktioner implementerats, som finns i de kommande Intel Xeon Scalable serverprocessorerna.
  • NĂ€tverkssystemet
    • Stöd för att avlasta (offloading) trafikhantering 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 kommunicera mellan styrkontroller och relaterade enheter (vĂ€rdprocessorer, perifera enheter osv.).
    • TCP-stacken har optimerats, till exempel har fördröjd frigivning av socket-buffertar implementerats för att öka prestandan av recvmsg-anrop.
    • PĂ„ nivĂ„n CAP_NET_RAW har det blivit möjligt att stĂ€lla in lĂ€gena SO_PRIORITY och SO_MARK via funktionen setsockopt.
    • För IPv4 har det blivit möjligt att koppla raw-sockets inte till lokala IP-adresser genom att anvĂ€nda IP_FREEBIND och IP_TRANSPARENT alternativ.
    • Ett sysctl arp_missed_max har lagts till för att konfigurera tröskelvĂ€rdet för misslyckanden vid kontroll av ARP-monitor som efter vilket nĂ€tverksgrĂ€nssnittet sĂ€tts i en avstĂ€ngd status.
    • Möjligheten att konfigurera separata sysctl-vĂ€rden min_pmtu och mtu_expires för nĂ€tverksnamnrymder har tillhandahĂ„llits.
    • I API:et ethtool har möjligheten att stĂ€lla in och definiera storleken pĂ„ inkommande och utgĂ„ende paketbuffertar lagts till.
    • Stöd för filtrering av transit pppoe-trafik i nĂ€tverksbron har lagts till i Netfilter.
    • I ksmbd-modulen som implementerar filsystemet servern, som anvĂ€nder protokollet SMB3, har suport för nyckelutbyte lagts till, nĂ€tverksport 445 anvĂ€nds för smbdirect och stöd för parametern "smb2 max credit" har lagts till.
  • Utrustning
    • I drm-systemet (Direct Rendering Manager) och drivrutinen i915 har stöd för skĂ€rmar för visning av konfidentiell information lagts till, till exempel Ă€r vissa bĂ€rbara datorer utrustade med skĂ€rmar som har ett inbyggt lĂ€ge för konfidentiell visning, vilket gör det svĂ„rt att se frĂ„n sidan. De tillsatta Ă€ndringarna möjliggör anslutning av specialiserade drivrutiner för sĂ„dana skĂ€rmar och hantering av lĂ€gen för konfidentiell visning genom att stĂ€lla in egenskaper i vanliga KMS-drivrutiner.
    • I amdgpu-drivrutinen har stöd för den diagnostiska tekniken STB (Smart Trace Buffer) lagts till för alla AMD GPU:er som stöder den. STB förenklar analysen av krascher och identifiering av kĂ€llan till problem genom att spara information om funktionerna som körts före den senaste kraschen i en speciell buffert.
    • I i915-drivrutinen har stöd för Intel Raptor Lake S-chip lagts till och stöd för grafiska subsystem av Intel Alder Lake P-chip Ă€r som standard aktiverad. Det har ocksĂ„ blivit möjligt att styra bakgrundsbelysningen pĂ„ skĂ€rmen via VESA DPCD-grĂ€nssnitt.
    • I fbcon/fbdev-drivrutinerna har stödet för hĂ„rdvaruacceleration av rullning i konsolen Ă„terstĂ€llts.
    • Integrationen av Ă€ndringar för stöd för Apple M1-chip har fortsatt. Det har nu blivit möjligt att anvĂ€nda simpledrm-drivrutinen pĂ„ system med Apple M1-chip för utdata via framebuffer som tillhandahĂ„lls av firmware.
    • Stöd för ARM SoC, enheter och plattformar Snapdragon 7c, 845 och 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 (anvĂ€nds i Wi-Fi-routrar), 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 har lagts till.
    • Stöd för ARM Cortex-M55 och Cortex-M33-processorer har lagts till.
    • Stöd för enheter baserade pĂ„ MIPS-CPU:er: Linksys WRT320N v1, Netgear R6300 v1, Netgear WN2500RP v1/v2 har lagts till.
    • Stöd för SoC StarFive JH7100 baserat pĂ„ RISC-V-arkitekturen har lagts till.
    • Drivrutinen lenovo-yogabook-wmi för att styra bakgrundsbelysningen pĂ„ tangentbordet och fĂ„ Ă„tkomst till olika sensorer i Lenovo Yoga Book har lagts till.
    • Drivrutinen asus_wmi_sensors för att fĂ„ Ă„tkomst till sensorer som anvĂ€nds pĂ„ Asus moderkort X370, X470, B450, B550 och X399 baserade pĂ„ AMD Ryzen-processorer har lagts till.
    • Drivrutinen x86-android-tablets för x86-baserade surfplattor som levereras med Android-plattformen har lagts till.
    • Stöd för pekskĂ€rmar pĂ„ TrekStor SurfTab duo W1 och elektroniska pennor för Chuwi Hi10 Plus och Pro-tabeller har lagts till.
    • Drivrutiner för SoC Tegra 20/30 har lagts till för att stödja strömhantering och spĂ€nning. Möjligheten att starta pĂ„ Ă€ldre 32-bitars enheter baserade pĂ„ SoC Tegra, sĂ„som ASUS Prime TF201, Pad TF701T, Pad TF300T, Infinity TF700T, EeePad TF101 och Pad TF300TG, har sĂ€kerstĂ€llts.
    • Drivrutiner för industriella datorer frĂ„n Siemens har lagts till.
    • Stöd har lagts till för LCD-paneler Sony Tulip Truly NT35521, Vivax TPC-9150, Innolux G070Y2-T02, BOE BF060Y8M-AJ0, JDI R63452, Novatek NT35950, Wanchanglong W552946ABA och Team Source Display TST043015CMHX.
    • Stöd för ljudsystem och codecs AMD Renoir ACP, Asahi Kasei Microdevices AKM4375, Intel-system med NAU8825/MAX98390, Mediatek MT8915, nVidia Tegra20 S/PDIF, Qualcomm ALC5682I-VS, Texas Instruments TLV320ADC3xxx har lagts till. Problem med Tegra194 HD-ljud har lösts. Stöd för HDA för codecs CS35L41 har lagts till. FörbĂ€ttrat stöd för ljudsystem för bĂ€rbara datorer frĂ„n Lenovo och HP samt moderkort frĂ„n Gigabyte.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster