Linux kernel release 5.12

Nei twa moannen fan ûntwikkeling presintearre Linus Torvalds de frijlitting fan 'e Linux kernel 5.12. Under de meast opfallende feroarings: stipe foar sône blokapparaten yn Btrfs, de mooglikheid om brûkers-ID's foar it bestânsysteem yn kaart te bringen, legacy ARM-arsjitektuer opromje, in "eagere" skriuwmodus yn NFS, it LOOKUP_CACHED-meganisme foar it bepalen fan triempaden út 'e cache , stipe foar atomêre ynstruksjes yn BPF, in debuggensysteem KFENCE foar it identifisearjen fan flaters by it wurkjen mei ûnthâld, NAPI-pollingmodus dy't rint yn in aparte kearntried yn 'e netwurkstapel, ACRN-hypervisor, de mooglikheid om it preemptmodel op 'e flecht te feroarjen yn 'e taak planner en stipe foar LTO-optimisaasjes by it bouwen yn Clang.

De nije ferzje omfettet 14170 (yn 'e foarige release 15480) fixes fan 1946 (1991) ûntwikkelders, de patchgrutte is 38 MB (de wizigingen beynfloede 12102 (12090) bestannen, 538599 (868025) rigels koade waarden tafoege, (333377) rigels waarden wiske). Ungefear 261456% fan alle wizigingen yntrodusearre yn 43 binne relatearre oan apparaatbestjoerders, sawat 5.12% fan feroaringen binne relatearre oan it bywurkjen fan koade spesifyk foar hardware-arsjitektuer, 17% binne relatearre oan de netwurkstapel, 12% binne relatearre oan triemsystemen, en 5% binne relatearre oan ynterne kernel-subsystemen.

Wichtichste ynnovaasjes:

  • Skiif subsysteem, I / O en triem systemen
    • De mooglikheid om brûkers-ID's yn kaart te bringen foar monteare bestânssystemen is ymplementearre (jo kinne triemmen fan ien brûker op in monteare bûtenlânske partysje yn kaart bringe mei in oare brûker op it hjoeddeistige systeem). Mapping wurdt stipe foar FAT, ext4 en XFS bestânssystemen. De foarstelde funksjonaliteit makket it makliker om bestannen te dielen tusken ferskate brûkers en op ferskate kompjûters, ynklusyf mapping sil brûkt wurde yn it systemd-homed draachbere thúsmapmeganisme, wêrtroch brûkers har thúsmappen nei eksterne media kinne ferpleatse en se brûke op ferskate kompjûters, mapping brûkers-ID's dy't net oerienkomme. In oare nuttige applikaasje is it organisearjen fan dielde tagong ta bestannen fan in eksterne host, sûnder feitlik de gegevens oer de eigners fan 'e bestannen yn it bestânsysteem te feroarjen.
    • De LOOKUP_CACHED-patches binne oannaam yn 'e kearn, wêrtroch operaasjes in bestânpaad kinne bepale fan brûkersromte sûnder blokkearjen, allinich basearre op de gegevens beskikber yn 'e cache. De LOOKUP_CACHED-modus wurdt aktivearre yn 'e oprop openat2 () troch de flagge RESOLVE_CACHED troch te jaan, wêryn gegevens allinich út 'e cache wurde betsjinne, en as de paadbepaling tagong ta it stasjon fereasket, wurdt de EAGAIN-flater weromjûn.
    • It Btrfs-bestânsysteem hat inisjele stipe tafoege foar sône blokapparaten (apparaten op hurde magnetyske skiven as NVMe SSD's, de opslachromte wêryn is ferdield yn sônes dy't groepen fan blokken as sektoaren foarmje, wêryn allinich opfolgjende tafoeging fan gegevens is tastien, it bywurkjen fan de hiele groep blokken). Yn allinich-lêsmodus wurdt stipe foar blokken mei metadata en gegevens lytser as in side (subside) ymplementearre.
    • Yn it F2FS-bestânsysteem is de mooglikheid om it algoritme en kompresjenivo te selektearjen tafoege. Stipe tafoege foar kompresje op heech nivo foar it LZ4-algoritme. Implementearre de checkpoint_merge mounting opsje.
    • In nij ioctl-kommando FS_IOC_READ_VERITY_METADATA is ymplementearre om metadata te lêzen fan bestannen beskerme mei fs-verity.
    • De NFS-kliïnt ymplementearret in "eagere" skriuwmodus (skriuwt = entûsjast), as ynskeakele, wurde skriuwoperaasjes nei in bestân daliks oerbrocht nei de tsjinner, om de side-cache te omgean. Dizze modus kinne jo ferminderje ûnthâld konsumpsje, jout instantaneous ûntfangst fan ynformaasje oer it ein fan frije romte yn it bestân systeem, en yn guon situaasjes makket it mooglik om te kommen ta ferhege prestaasjes.
    • Nije mount-opsjes binne tafoege oan CIFS (SMB): acregmax om triem-caching te kontrolearjen en acdirmax om mapmetadata-caching te kontrolearjen.
    • Yn XFS is multi-threaded quota-kontrôlemodus ynskeakele, fsync-útfiering is fersneld, en growfs-koade is taret om de funksje fan it ferminderjen fan de grutte fan it bestânsysteem út te fieren.
  • Unthâld en systeem tsjinsten
    • It subsysteem DTMP (Dynamic Thermal Power Management) is tafoege, wêrtroch jo it enerzjyferbrûk fan ferskate apparaten dynamysk kinne regelje op basis fan de ynstelde algemiene temperatuergrinzen.
    • De mooglikheid om de kernel te bouwen mei de Clang-kompiler mei it opnimmen fan optimisaasjes by it keppelingsstadium (LTO, Link Time Optimization) is ymplementearre. LTO-optimisaasjes ferskille troch it rekkenjen fan de steat fan alle bestannen dy't belutsen binne by it bouproses, wylst tradisjonele optimisaasjemodi elke bestân apart optimisearje en net rekken hâlde mei de betingsten foar it oproppen fan funksjes definieare yn oare bestannen. Bygelyks, mei LTO is inline-ynset mooglik foar funksjes fan oare bestannen, net brûkte koade is net opnommen yn 'e útfierbere triem, typekontrôle en algemiene optimalisaasje wurde útfierd op it projektnivo as gehiel. LTO-stipe is op it stuit beheind ta x86- en ARM64-arsjitektuer.
    • It is mooglik om preemption-modi (PREEMPT) te selektearjen yn 'e taakplanner by it opstartstadium (preempt=gjin/frijwillich/fol) of by it wurkjen troch debugfs (/debug/sched_debug), as de PREEMPT_DYNAMIC-ynstelling waard oantsjutte by it bouwen fan de kernel. Eartiids koe de extrusion-modus allinich wurde ynsteld op it nivo fan gearstallingsparameters. De wiziging makket it mooglik om distribúsjes te ferstjoeren fan kernels mei PREEMPT-modus ynskeakele, dy't minimale latency foar buroblêden leveret op kosten fan in lytse trochstreamboete, en as it nedich is werom te fallen nei PREEMPT_VOLUNTARY (in tuskenmodus foar buroblêden) of PREEMPT_NONE (biedt maksimale trochfier foar servers) .
    • Stipe foar atomêre operaasjes BPF_ADD, BPF_AND, BPF_OR, BPF_XOR, BPF_XCHG en BPF_CMPXCHG is tafoege oan it BPF-subsysteem.
    • BPF-programma's krije de mooglikheid om tagong te krijen ta gegevens op 'e stapel mei help fan pointers mei fariabele offsets. Bygelyks, as jo earder allinich in konstante elemintyndeks koenen brûke om tagong te krijen ta in array op 'e stapel, kinne jo no in feroarjende ien brûke. Tagongskontrôle allinich binnen de besteande grinzen wurdt útfierd troch de BPF-verifier. Dizze funksje is allinich beskikber foar befoarrjochte programma's fanwege soargen oer eksploitaasje fan kwetsberens foar it útfieren fan spekulative koade.
    • De mooglikheid tafoege om BPF-programma's te heakjen oan bleate tracepoints dy't net ferbûn binne mei trace-eveneminten sichtber yn brûkersromte (ABI-behâld wurdt net garandearre foar sokke tracepoints).
    • Stipe foar de bus CXL 2.0 (Compute Express Link) is ymplementearre, dy't brûkt wurdt om ynteraksje mei hege snelheid te organisearjen tusken de CPU en ûnthâldapparaten (kinne jo eksterne ûnthâldapparaten brûke as ûnderdiel fan RAM as permanint ûnthâld, as soe dit ûnthâld waarden ferbûn fia in standert ûnthâld controller yn de CPU).
    • Added nvmem stjoerprogramma te heljen gegevens út firmware-reservearre ûnthâld gebieten dy't net direkt tagonklik foar Linux (Bygelyks, EEPROM ûnthâld dat is fysyk tagonklik allinnich foar de firmware, of gegevens dy't allinnich tagonklik yn de iere boot faze).
    • Stipe foar it profileringssysteem "oprofile" is fuorthelle, dat net in soad brûkt waard en is ferfongen troch it modernere perfmeganisme.
    • De io_uring asynchrone I / O-ynterface leveret yntegraasje mei cgroups dy't ûnthâldgebrûk kontrolearje.
    • De RISC-V-arsjitektuer stipet NUMA-systemen, lykas kprobes en uprobes-meganismen.
    • Tafoege de mooglikheid om te brûken de kcmp () systeem oprop nettsjinsteande de funksjonaliteit fan proses steat snapshots (kontrolepunt / weromsette).
    • De makro's EXPORT_UNUSED_SYMBOL() en EXPORT_SYMBOL_GPL_FUTURE(), dy't in protte jierren net yn 'e praktyk brûkt binne, binne fuorthelle.
  • Virtualisaasje en feiligens
    • Added KFence (Kernel Electric Fence) beskerming meganisme, dy't fangt flaters by it wurkjen mei ûnthâld, lykas buffer oerrin en tagong nei it befrijen fan ûnthâld. Oars as de KASAN debuggen meganisme, KFence subsysteem wurdt karakterisearre troch hege bestjoeringssysteem snelheid en lege overhead, dat kinne jo fange ûnthâld flaters dy't ferskine allinnich op wurkjende systemen of yn lange-termyn operaasje.
    • Stipe tafoege foar de ACRN-hypervisor, skreaun mei it each op reewilligens foar real-time taken en geskiktheid foar gebrûk yn missy-krityske systemen. ACRN leveret minimale overhead, garandearret lege latency en adekwate responsiviteit by ynteraksje mei apparatuer. Unterstützt virtualisaasje fan CPU-boarnen, I/O, netwurksubsysteem, grafiken en lûdoperaasjes. ACRN kin brûkt wurde om meardere isolearre firtuele masines út te fieren yn elektroanyske kontrôle-ienheden, ynstrumintpanielen, auto-ynformaasjesystemen, konsuminte-IoT-apparaten en oare ynbêde technology. ACRN stipet twa soarten gastsystemen - befoarrjochte tsjinst-VM's, dy't wurde brûkt om systeemboarnen te behearjen (CPU, ûnthâld, I / O, ensfh.), En oanpaste brûkers-VM's, dy't Linux, Android en Windows-distribúsjes kinne útfiere.
    • Yn it subsysteem IMA (Integrity Measurement Architecture), dat in hash-database ûnderhâldt foar it kontrolearjen fan de yntegriteit fan bestannen en byhearrende metadata, wurdt it no mooglik om de yntegriteit fan 'e gegevens fan' e kernel sels te kontrolearjen, bygelyks om feroaringen yn SELinux-regels te folgjen. .
    • De mooglikheid om Xen-hyperoproppen te ûnderskeppen en troch te stjoeren nei de emulator dy't yn brûkersromte rint, is tafoege oan de KVM-hypervisor.
    • De mooglikheid tafoege om Linux te brûken as de root-omjouwing foar de Hyper-V hypervisor. De root-omjouwing hat direkte tagong ta de hardware en wurdt brûkt om gastsystemen út te fieren (analooch oan Dom0 yn Xen). Oant no ta stipe Hyper-V (Microsoft Hypervisor) Linux allinich yn gastomjouwings, mar de hypervisor sels waard regele fanút in Windows-basearre omjouwing.
    • Stipe tafoege foar inline-fersifering foar eMMC-kaarten, wêrtroch jo fersiferingsmeganismen kinne brûke ynboud yn 'e stasjonskontrôler dy't I/O transparant fersiferje en ûntsiferje.
    • De stipe foar de RIPE-MD 128/256/320 en Tiger 128/160/192 hashes, dy't net wurde brûkt yn 'e kearn, lykas de Salsa20 stream cipher, dy't ferfongen waard troch it ChaCha20 algoritme, is fuortsmiten fan 'e krypto subsysteem. It blake2-algoritme is bywurke om blake2s te ymplementearjen.
  • Netwurk subsysteem
    • Tafoege de mooglikheid om de NAPI polling handler foar netwurkapparaten te ferpleatsen nei in aparte kernel thread, wêrtroch ferbettere prestaasjes foar guon soarten wurkdruk mooglik binne. Earder waard polling útfierd yn 'e kontekst fan softirq en waard net dekt troch de taakplanner, wat it lestich makke om fynkorrelige optimisaasjes út te fieren om maksimale prestaasjes te berikken. Utfiering yn in aparte kearntried lit de polling-hanneler wurde waarnommen fan brûkersromte, hechte oan yndividuele CPU-kearnen, en rekken holden by it plannen fan taakwikseling. Om de nije modus yn sysfs yn te skeakeljen, wurdt de parameter /sys/class/net//threaded foarsteld.
    • Yntegraasje yn 'e kearn fan MPTCP (MultiPath TCP), in útwreiding fan it TCP-protokol foar it organisearjen fan de wurking fan in TCP-ferbining mei de levering fan pakketten tagelyk lâns ferskate rûtes fia ferskate netwurkynterfaces ferbûn mei ferskate IP-adressen. De nije release foeget de mooglikheid ta om prioriteit te jaan oan bepaalde diskusjes, wêrtroch't bygelyks it wurk fan reservekopy-threads kin organisearje dy't allinich ynskeakelje as der problemen binne mei de primêre thread.
    • IGMPv3 foeget stipe ta foar it EHT-meganisme (Explicit Host Tracking).
    • De pakketfiltermotor fan Netfilter biedt de mooglikheid om bepaalde tabellen te besit om eksklusive kontrôle te krijen (in eftergrûnbrânmuorreproses kin bygelyks eigendom nimme fan bepaalde tabellen, wêrtroch't immen oars mei har bemuoit).
  • Wetter - Agrarwetter
    • Wy hawwe ferâldere en net ûnderhâlden ARM-platfoarms skjinmakke. De koade foar de platfoarms efm32, picoxcell, prima2, tango, u300, zx en c6x, lykas har assosjearre bestjoerders, is fuortsmiten.
    • De amdgpu-bestjoerder biedt de mooglikheid om kaarten te oerklokken (OverDrive) basearre op de Sienna Cichlid GPU (Navi 22, Radeon RX 6xxx). Stipe tafoege foar FP16-pikselformaat foar DCE (display-controllermotor) fan 8e oant 11e generaasje. Foar GPU Navy Flounder (Navi 21) en APU Van Gogh is de mooglikheid om de GPU werom te setten ymplementearre.
    • De i915-bestjoerder foar Intel-grafykkaarten ymplementearret de parameter i915.mitigations om isolaasje- en beskermingsmeganismen út te skeakeljen yn it foardiel fan ferbettere prestaasjes. Foar chips dy't begjinne fan Tiger Lake, is stipe foar it VRR (Variable Rate Refresh) meganisme opnommen, wêrtroch jo de ferfarskingsfrekwinsje fan 'e monitor oanpasse kinne feroarje om glêdens te garandearjen en gjin gatten tidens spultsjes. Stipe foar Intel Clear Color-technology is opnaam foar ferbettere kleurnauwkeurigens. Stipe tafoege foar DP-HDMI 2.1. De mooglikheid om de efterljochting fan eDP-panielen te kontrolearjen is ymplementearre. Foar Gen9 GPU's mei LSPCON (Level Shifter and Protocol Converter)-stipe is HDR-stipe ynskeakele.
    • De nouveau-bestjoerder foeget inisjele stipe ta foar NVIDIA GPU's basearre op de GA100 (Ampere) arsjitektuer.
    • De msm-bestjoerder foeget stipe ta foar Adreno 508, 509 en 512 GPU's brûkt yn SDM (Snapdragon) 630, 636 en 660-chips.
    • Stipe tafoege foar Sound BlasterX AE-5 Plus, Lexicon I-ONIX FW810s en Pioneer DJM-750 lûdkaarten. Stipe tafoege foar Intel Alder Lake PCH-P audio subsysteem. Stipe foar softwaresimulaasje fan it ferbinen en loskeppeljen fan in audio-ferbining is ymplementearre foar debuggen fan handlers yn brûkersromte.
    • Stipe tafoege foar Nintendo 64-spielkonsoles makke fan 1996 oant 2003 (eardere besykjen om Linux nei de Nintendo 64 te portearjen wiene net foltôge en waarden klassifisearre as Vaporware). De motivaasje foar it meitsjen fan in nije haven foar in ferâldere platfoarm, dat is net frijjûn foar hast tweintich jier, is de winsk om te stimulearjen de ûntwikkeling fan emulators en ferienfâldigje de porting fan spultsjes.
    • Tafoege stjoerprogramma foar Sony PlayStation 5 DualSense game controller.
    • Stipe tafoege foar ARM-boards, apparaten en platfoarms: PineTab, Snapdragon 888 / SM8350, Snapdragon MTP, Two Beacon EmbeddedWorks, Intel eASIC N5X, Netgear R8000P, Plymovent M2M, Beacon i.MX8M Nano, NaBno.
    • Stipe tafoege foar Purism Librem5 Evergreen, Xperia Z3+/Z4/Z5, ASUS Zenfone 2 Laser, BQ Aquaris X5, OnePlus6, OnePlus6T, Samsung GT-I9070 smartphones.
    • Added bcm-vk stjoerprogramma foar Broadcom VK accelerator boards (Bygelyks, Valkyrie en Viper PCIe boards), dat kin brûkt wurde om offload audio, fideo en ôfbylding ferwurkjen operaasjes, likegoed as fersifering-relatearre operaasjes, nei in apart apparaat.
    • Stipe tafoege foar it Lenovo IdeaPad-platfoarm mei de mooglikheid om konstante opladen en toetseboerdferljochting te kontrolearjen. Ek wurdt stipe foar it ACPI-profyl fan it ThinkPad-platfoarm mei de mooglikheid om enerzjyferbrûksmodi te kontrolearjen. Tafoege stjoerprogramma foar Lenovo ThinkPad X1 Tablet Gen 2 HID subsysteem.
    • Ov5647-bestjoerder tafoege mei stipe foar kameramodule foar Raspberry Pi.
    • Stipe tafoege foar RISC-V SoC FU740 en HiFive Unleashed-boerden. In nije stjoerprogramma foar de Kendryte K210-chip is ek tafoege.

Boarne: opennet.ru

Add a comment