Release av Linux-kÀrnan 5.12.

Efter tvÄ mÄnaders utveckling presenterade Linus Torvalds slÀppet av kÀrnan Linux 5.12. Bland de mest anmÀrkningsvÀrda förÀndringarna finns: stöd för zonerade blockenheter i Btrfs, möjlighet att mappa anvÀndaridentifierare för filsystem, rensning av förÄldrade ARM-arkitekturer, lÀge för "otÄlig" skrivning i NFS, mekanism LOOKUP_CACHED för att bestÀmma filvÀgar frÄn cache, stöd för atomiska instruktioner i BPF, felsystemet KFENCE för att upptÀcka fel vid minneshantering, ett lÀge för NAPI-polling i nÀtverksstacken som körs i en separat kÀrntrÄd, hypervisorn ACRN, möjlighet att Àndra preempt-modellen i schemalÀggaren i realtid och stöd för LTO-optimeringar vid byggnation i Clang.

I den nya versionen har 14170 (i föregÄende version 15480) korrigeringar införts av 1946 (1991) utvecklare, patchstorleken Àr 38 MB (förÀndringar har pÄverkat 12102 (12090) filer, 538599 (868025) kodrader har lagts till, 333377 (261456) kodrader har tagits bort). UngefÀr 43 % av alla förÀndringar i 5.12 Àr relaterade till enhetsdrivrutiner, cirka 17 % av förÀndringarna rör uppdatering av arkitektspecifik kod, 12 % Àr relaterade till nÀtverksstacken, 5 % till filsystem och 4 % till interna delsystem i kÀrnan.

Huvudsakliga nyheter:

  • Disksubsystem, in- och utmatning och filsystem
    • Möjligheten att mappa anvĂ€ndaridentifierare för monterade filsystem har implementerats (filer frĂ„n en anvĂ€ndare pĂ„ en monterad annan partition kan kopplas till en annan anvĂ€ndare i det aktuella systemet). Mappning stöds för filsystem FAT, ext4 och XFS. Den föreslagna funktionen möjliggör enklare fildelning mellan olika anvĂ€ndare och datorer, inklusive mappning som kommer att tillĂ€mpas i mekanismen för flyttbara hemkataloger systemd-homed, vilket gör det möjligt för anvĂ€ndare att flytta sina hemkataloger till externa lagringsenheter och anvĂ€nda dem pĂ„ olika datorer dĂ€r anvĂ€ndaridentifierarna inte matchar. En annan anvĂ€ndbar tillĂ€mpning Ă€r att organisera delning av filer frĂ„n en extern vĂ€rd, utan att faktiskt Ă€ndra Ă€garinformation i filsystemet.
    • I kĂ€rnan har patchar för LOOKUP_CACHED införts, vilket möjliggör att utföra filvĂ€gsbestĂ€mning frĂ„n anvĂ€ndarutrymmet utan blockering, endast baserat pĂ„ data som finns i cacheminnet. Modus LOOKUP_CACHED aktiveras i anropet openat2() genom att skicka flaggan RESOLVE_CACHED, vid vilken tidpunkt data endast ges frĂ„n cacheminnet, och om vĂ€gsbestĂ€mningen krĂ€ver Ă„tkomst till lagringen returneras felet EAGAIN.
    • I filsystemet Btrfs har grundlĂ€ggande stöd för zonerade blockenheter lagts till (enheter pĂ„ magnetiska hĂ„rddiskar eller NVMe SSD, dĂ€r lagringsutrymmet Ă€r uppdelat i zoner som bestĂ„r av grupper av block eller sektorer, dĂ€r data endast fĂ„r lĂ€ggas till sekventiellt med en uppdatering av hela blockgruppen). I skrivskyddat lĂ€ge stöds block med metadata och data som Ă€r mindre Ă€n en sida (subpage).
    • I filsystemet F2FS har möjligheten att vĂ€lja algoritm och komprimeringsnivĂ„ införts. Stöd för hög nivĂ„ av komprimering för LZ4-algoritmen har lagts till. En monteringsoption för checkpoint_merge har implementerats.
    • En ny ioctl-kommand FS_IOC_READ_VERITY_METADATA har implementerats för att lĂ€sa metadata frĂ„n filer skyddade med fs-verity.
    • I NFS-klienten har ett lĂ€ge med "ivrig" skrivning (writes=eager) implementerats, dĂ€r skrivoperationer omedelbart skickas till servern, vilket omgĂ„r sidcacheminnet. Detta lĂ€ge minskar minnesanvĂ€ndningen, ger omedelbar information om den lediga platsens status i filsystemet och kan i vissa situationer öka prestandan.
    • I CIFS (SMB) har nya monteringsalternativ lagts till: acregmax för att hantera cacheminnet för filer och acdirmax för att hantera cacheminnet för metadata för kataloger.
    • I XFS har lĂ€get för flertrĂ„dad kontroll av kvoter aktiverats, fsync-exekveringen har pĂ„skyndats och kod för growfs har förberetts för att införa funktionen för att minska storleken pĂ„ filsystemet.
  • Minne och systemtjĂ€nster
    • En DTMP (Dynamic Thermal Power Management) delsystem har lagts till, vilket möjliggör dynamisk reglering av energiförbrukningen för olika enheter baserat pĂ„ angivna gemensamma temperaturbegrĂ€nsningar.
    • Möjligheten att kompilera kĂ€rnan med Clang-kompilatorn har implementerats med inkludering av optimeringar under lĂ€nkning (LTO, Link Time Optimization). LTO-optimeringar tar hĂ€nsyn till tillstĂ„ndet hos alla filer som deltar i byggprocessen, medan traditionella optimeringslĂ€gen optimerar varje fil enskilt och inte beaktar anrop av funktioner som definieras i andra filer. Till exempel, vid LTO Ă€r det möjligt att göra inline-utveckling för funktioner frĂ„n andra filer, och oanvĂ€nd kod inkluderas inte i det körbara programmet, typkontroll utförs och en övergripande optimering pĂ„ projektets nivĂ„ möjliggörs. Stödet för LTO Ă€r för nĂ€rvarande begrĂ€nsat till arkitekturerna x86 och ARM64.
    • Möjligheten att vĂ€lja preemptionslĂ€gen (PREEMPT) i schemalĂ€ggaren har tillhandahĂ„llits under startfasen (preempt=none/voluntary/full) eller under drift via debugfs (/debug/sched_debug), om PREEMPT_DYNAMIC-instĂ€llningen anges vid kompilering av kĂ€rnan. Tidigare kunde preemption-lĂ€get endast anges pĂ„ byggparameter-nivĂ„. Ändringen gör att distributioner kan leverera kĂ€rnor med aktiverat PREEMPT-lĂ€ge, vilket ger minimala fördröjningar för skrivbordsmiljöer till priset av en obetydlig minskning av genomströmningen, och vid behov Ă„tergĂ„ till lĂ€gena PREEMPT_VOLUNTARY (intermediĂ€rt lĂ€ge för skrivbord) eller PREEMPT_NONE (ger maximal genomströmning för servrar).
    • Systemet BPF har fĂ„tt stöd för atomĂ€ra operationer BPF_ADD, BPF_AND, BPF_OR, BPF_XOR, BPF_XCHG och BPF_CMPXCHG.
    • BPF-program har fĂ„tt möjlighet att fĂ„ Ă„tkomst till data i stacken med hjĂ€lp av pekare med varierande förskjutning. Till exempel, om Ă„tkomst till en array i stacken tidigare endast kunde göras med ett konstant index för elementet, kan nu ett förĂ€ndrat index anvĂ€ndas. Kontrollen av Ă„tkomsten inom befintliga grĂ€nser genomförs av BPF-verifieraren. Denna möjlighet Ă€r endast tillgĂ€nglig för privilegerade program pĂ„ grund av oro kring exploatering av sĂ„rbarheter relaterade till spekulativ kodexekvering.
    • Möjligheten att koppla BPF-program till "bare" spĂ„rpunkter, som inte Ă€r kopplade till synliga anvĂ€ndarhĂ€ndelser för spĂ„rning, har lagts till (det finns ingen garanti för ABI-bevarande för sĂ„dana spĂ„rpunkter).
    • Stöd för CXL 2.0-bussen (Compute Express Link) har implementerats, vilket anvĂ€nds för att organisera högförsiktig interaktion mellan CPU och minnesenheter (möjliggör anvĂ€ndningen av externa minnesenheter som en del av RAM eller permanent minne, som om detta minne var anslutet via den inbyggda minneskontrollern i CPU).
    • En nvmem-drivrutin har lagts till för att hĂ€mta data frĂ„n minnesomrĂ„den som Ă€r reserverade av firmware och som Ă€r direkt otillgĂ€ngliga för Linux (till exempel EEPROM-minne, som endast Ă€r fysiskt Ă„tkomligt av firmware, eller data som endast Ă€r tillgĂ€ngliga under den tidiga laddningen).
    • Stödet för profileringssystemet 'oprofile' har tagits bort, vilket inte fick tillrĂ€cklig spridning och har ersatts av den mer moderna mekanismen perf.
    • I grĂ€nssnittet för asynkron in-/utmatning io_uring har integration med cgroup, som kontrollerar anvĂ€ndningen av minne, sĂ€kerstĂ€llts.
    • Stöd för NUMA-system och mekanismer som kprobes och uprobes har implementerats för RISC-V-arkitekturen.
    • Möjligheten att anvĂ€nda systemanropet kcmp() oberoende av funktionaliteten hos processens tillstĂ„ndssnapshots (checkpoint/restore) har lagts till.
    • Makron EXPORT_UNUSED_SYMBOL() och EXPORT_SYMBOL_GPL_FUTURE() har tagits bort, vilka inte har anvĂ€nts i praktiken pĂ„ mĂ„nga Ă„r.
  • Virtualisering och sĂ€kerhet
    • En skyddsmekanism KFence (Kernel Electric Fence) har lagts till, som fĂ„ngar fel vid arbete med minne, sĂ„som bufferöverflöd och Ă„tkomst efter att minnet har frigjorts. Till skillnad frĂ„n den debug-mekanismen KASAN, kĂ€nnetecknas KFence-subsystemet av hög hastighet och lĂ„ga overheadkostnader, vilket möjliggör fĂ„ngande av minneshanteringsfel som endast uppstĂ„r i arbetsmiljöer eller vid lĂ„ngvarig drift.
    • Stöd för hypervisorn ACRN har lagts till, skriven med fokus pĂ„ beredskap för att utföra realtidsuppgifter och lĂ€mplighet för anvĂ€ndning i kritiska system. ACRN sĂ€kerstĂ€ller minimala overheadkostnader, garanterar lĂ„g fördröjning (low latency) och adekvat responsivitet vid interaktion med hĂ„rdvara. Virtualisering av resurser för CPU, in-/utmatning, nĂ€tverksunderbyggnad, grafik och ljudoperationer stöds. ACRN kan anvĂ€ndas för att köra flera isolerade... virtuella maskiner i elektroniska styrenheter, instrumentpaneler, fordonskommunikationssystem, konsumenters IoT-enheter och annan inbyggd teknik. ACRN stöder tvĂ„ typer av gĂ€stsystem – privilegierade Service VM som anvĂ€nds för att hantera systemresurser (CPU, minne, in-/utmatning etc.), och anvĂ€ndarbaserade User VM dĂ€r Linux-distributioner, Android och Windows kan köras.
    • I IMA (Integrity Measurement Architecture) subsystemet, som sĂ€kerstĂ€ller upprĂ€tthĂ„llandet av en hash-databas för att kontrollera integriteten av filer och relaterad metadata, har det tillkommit en möjlighet att kontrollera integriteten av sjĂ€lva kĂ€rndata, exempelvis för att spĂ„ra förĂ€ndringar i SELinux-regler.
    • Hypervisor KVM har fĂ„tt möjlighet att fĂ„nga hyperanrop frĂ„n Xen och vidarebefordra dem till en emulator som körs i anvĂ€ndarrummet.
    • Det har lagts till stöd för att anvĂ€nda Linux som root-miljö för hypervisorn Hyper-V. Root-miljön har direkt Ă„tkomst till hĂ„rdvaran och anvĂ€nds för att köra gĂ€stsystem (motsvarar Dom0 i Xen). Tidigare har Hyper-V (Microsoft Hypervisor) endast stött Linux i gĂ€stmiljöer, men sjĂ€lva hypervisorn styrdes frĂ„n en Windows-baserad miljö.
    • Inline-kryptering har lagts till för eMMC-kort, vilket möjliggör anvĂ€ndning av inbyggda krypteringsmekanismer i lagringskontrollern som genomför transparent kryptering och dekryptering av in-/utmatning.
    • Understödet för de oanvĂ€nda RIPE-MD 128/256/320 och Tiger 128/160/192 hash-algoritmerna har tagits bort frĂ„n kryptosubsystemet, liksom strömmande krypteringsalgoritmen Salsa20, vilken har ersatts av algoritmen ChaCha20. Algoritmen blake2 har uppdaterats till blake2s-implementationen.
  • NĂ€tverkssystemet
    • Möjligheten att flytta NAPI polling-handlern för nĂ€tverksenheter till en separat kĂ€rntrĂ„d har lagts till, vilket möjliggör bĂ€ttre prestanda för vissa typer av belastningar. Tidigare utfördes polling i kontexten av softirq och omfattades inte av schemalĂ€ggaren, vilket gjorde det svĂ„rt att genomföra finjusteringar för att uppnĂ„ maximal prestanda. Genom att köra i en separat kĂ€rntrĂ„d kan man övervaka polling-handlaren frĂ„n anvĂ€ndarrummet, koppla den till separata CPU-kĂ€rnor och beakta den i schemalĂ€ggningen av uppgiftsswitchar. För att aktivera det nya lĂ€get har parametern \/sys\/class\/net\/\/threaded föreslagits i sysfs.
    • Integration in the MPTCP (MultiPath TCP) core has been continued, which is an extension of the TCP protocol for the operation of TCP connections with the delivery of packets simultaneously over multiple routes through different network interfaces linked to different IP addresses. The new release includes the ability to attach priority to specific flows, enabling, for instance, the activation of backup flows that engage only when there are issues with the primary flow.
    • Support for the EHT (Explicit Host Tracking) mechanism has been added in IGMPv3.
    • In the netfilter packet filtering mechanism, ownership capabilities for specific tables have been implemented to achieve exclusive control (for example, a background firewall process can secure certain tables, preventing anyone else from interfering with them).
  • Utrustning
    • A cleanup of deprecated and unsupported ARM platforms has been carried out. Code for platforms efm32, picoxcell, prima2, tango, u300, zx, and c6x, as well as their associated drivers, has been removed.
    • In the amdgpu driver, overclocking (OverDrive) capability for GPUs based on the Sienna Cichlid (Navi 22, Radeon RX 6xxx) has been implemented. Support for the FP16 pixel format for DCE (display controller engine) from the 8th to the 11th generation has been added. A reset option for the GPU has been implemented for the Navy Flounder (Navi 21) and APU Van Gogh.
    • In the i915 driver for Intel graphics cards, the i915.mitigations parameter has been implemented to disable isolation and protection mechanisms in favor of performance enhancement. Support for the VRR (Variable Rate Refresh) mechanism has been enabled for chips starting from Tiger Lake, adapting the monitor refresh rate for smoothness and eliminating stuttering during gaming. Intel Clear Color technology has been integrated to enhance color accuracy. Support for DP-HDMI 2.1 has been included. Control over the backlighting of eDP panels has been realized. For Gen9 GPUs supporting LSPCON (Level Shifter and Protocol Converter), HDR support has been enabled.
    • Initial support for NVIDIA GPUs based on the GA100 (Ampere) architecture has been added in the nouveau driver.
    • Support for GPUs Adreno 508, 509, and 512, used in SDM (Snapdragon) 630, 636, and 660 chips, has been added in the msm driver.
    • Support for the Sound BlasterX AE-5 Plus, Lexicon I-ONIX FW810s, and Pioneer DJM-750 sound cards has been added. Support for the audio subsystem Intel Alder Lake PCH-P has been introduced. Software simulation of audio jack connection and disconnection for debugging user space handlers has been implemented.
    • Stöd för spelkonsolerna Nintendo 64, som tillverkades mellan 1996 och 2003, har lagts till (tidigare försök att portera Linux till Nintendo 64 har inte genomförts framgĂ„ngsrikt och har haft statusen Vaporware). Motivet bakom skapandet av en ny port för en förĂ„ldrad plattform som inte har tillverkats pĂ„ nĂ€stan tjugo Ă„r Ă€r att stimulera utvecklingen av emulatorer och förenkla portningen av spel.
    • En drivrutin för spelkontrollen Sony PlayStation 5 DualSense har lagts till.
    • Stöd för ARM-plattformar, enheter och plattformar har lagts till: PineTab, Snapdragon 888 / SM8350, Snapdragon MTP, Two Beacon EmbeddedWorks, Intel eASIC N5X, Netgear R8000P, Plymovent M2M, Beacon i.MX8M Nano, NanoPi M4B.
    • Stöd för smartphones som Purism Librem5 Evergreen, Xperia Z3+/Z4/Z5, ASUS Zenfone 2 Laser, BQ Aquaris X5, OnePlus6, OnePlus6T, Samsung GT-I9070 har lagts till.
    • Drivrutinen bcm-vk har lagts till för acceleratorplattor frĂ„n Broadcom VK (t.ex. PCIe-plattor som Valkyrie och Viper), vilket kan anvĂ€ndas för att avlasta ljud-, video- och bildbehandling samt kryptografiska operationer till en separat enhet.
    • Stöd för Lenovo IdeaPad-plattformen med möjlighet att styra konstant laddning och bakgrundsbelysning av tangentbordet har lagts till. ACPI-profilen för ThinkPad-plattformen har ocksĂ„ stöd för energiförvaltningslĂ€gen. En drivrutin för HID-systemet Lenovo ThinkPad X1 Tablet Gen 2 har lagts till.
    • Drivrutinen ov5647 har lagts till med stöd för en kameramodul för Raspberry Pi.
    • Stöd för RISC-V SoC FU740 och HiFive Unleashed-plattor har lagts till. En ny drivrutin för chipet Kendryte K210 har ocksĂ„ lagts till.

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