Linux kernel release 5.17

Nei twa moannen fan ûntwikkeling presintearre Linus Torvalds de frijlitting fan 'e Linux kernel 5.17. Under de meast opfallende feroarings: in nij prestaasjebehearsysteem foar AMD-prosessoren, de mooglikheid om brûkers-ID's rekursyf yn kaart te bringen yn bestânsystemen, stipe foar draachbere kompilearre BPF-programma's, in oergong fan 'e pseudo-willekeurige nûmergenerator nei it BLAKE2s-algoritme, in RTLA-hulpprogramma foar real-time útfieringsanalyse, in nije fscache-backend foar caching fan netwurkbestânsystemen, de mooglikheid om nammen te heakjen oan anonime mmap-operaasjes.

De nije ferzje omfettet 14203 fixes fan 1995 ûntwikkelders, de patchgrutte is 37 MB (de feroaringen beynfloede 11366 bestannen, 506043 rigels koade waarden tafoege, 250954 rigels waarden wiske). Ungefear 44% fan alle wizigingen yntrodusearre yn 5.17 binne relatearre oan apparaatbestjoerders, sawat 16% fan feroaringen binne relatearre oan it bywurkjen fan koade spesifyk foar hardware-arsjitektuer, 15% binne relatearre oan de netwurkstapel, 4% binne relatearre oan triemsystemen, en 4% binne relatearre oan ynterne kernel-subsystemen.

Wichtichste ynnovaasjes yn kernel 5.17:

  • Skiif subsysteem, I / O en triem systemen
    • Implementearre de mooglikheid fan nested mapping fan brûkers-ID's fan monteare triemsystemen, brûkt om bestannen fan in spesifike brûker te fergelykjen op in monteare bûtenlânske partysje mei in oare brûker op it hjoeddeistige systeem. De tafoege funksje lit jo rekursyf mapping brûke boppe op bestânsystemen wêrfoar mapping al tapast is.
    • It fscache-subsysteem, brûkt om caching te organisearjen yn it lokale bestânsysteem fan gegevens oerdroegen fia netwurkbestânsystemen, is folslein opnij skreaun. De nije ymplemintaasje wurdt ûnderskieden troch in wichtige ferienfâldiging fan de koade en it ferfangen fan komplekse operaasjes fan planning en folgjen foarwerp steaten mei ienfâldiger meganismen. Stipe foar de nije fscache wurdt ymplementearre yn it CIFS-bestânsysteem.
    • It subsysteem foar folgjen fan eveneminten yn 'e fanotify FS ymplementearret in nij eveneminttype, FAN_RENAME, wêrtroch jo de operaasje fan it omneamen fan triemmen of mappen fuortendaliks kinne ûnderskeppe (earder waarden twa aparte eveneminten FAN_MOVED_FROM en FAN_MOVED_TO brûkt om omneamingen te ferwurkjen).
    • It Btrfs-bestânsysteem hat optimalisearre logging- en fsync-operaasjes foar grutte mappen, ymplementearre troch allinich yndeks-kaaien te kopiearjen en it oantal oanmelde metadata te ferminderjen. Stipe foar yndeksearjen en sykjen op grutte fan frije romterecords is levere, wat de latency mei sawat 30% hat fermindere en syktiid fermindere. Tastien om defragmentaasje operaasjes te ûnderbrekken. De mooglikheid om apparaten ta te foegjen by it balansearjen tusken driuwfearren is útskeakele, d.w.s. by it montearjen fan in bestânsysteem mei de skip_balance opsje.
    • In nije syntaksis foar it montearjen fan it Ceph-bestânsysteem is foarsteld, it oplossen fan besteande problemen ferbûn mei bining oan IP-adressen. Neist IP-adressen kinne jo no de cluster-identifikaasje (FSID) brûke om de tsjinner te identifisearjen: mount -t ceph [e-post beskerme]_name=/[subdir] mnt -o mon_addr=monip1[:port][/monip2[:port]]
    • It Ext4-bestânsysteem is ferpleatst nei in nije mounting API dy't de stappen foar parsearing en superblockkonfiguraasje skiedt fan 'e berchopsjes. Wy hawwe stipe foar de lazytime- en nolazytime-mount-opsjes ferlitten, dy't waarden tafoege as in tydlike wiziging om de oergong fan util-linux makliker te meitsjen om de MS_LAZYTIME-flagge te brûken. Stipe tafoege foar it ynstellen en lêzen fan labels yn 'e FS (ioctl FS_IOC_GETFSLABEL en FS_IOC_SETFSLABEL).
    • NFSv4 tafoege stipe foar wurkjen yn gefal-ûngefoelige triemsystemen yn triem- en mapnammen. NFSv4.1+ foeget stipe ta foar it definiearjen fan aggregearre sesjes (trunking).
  • Unthâld en systeem tsjinsten
    • Amd-pstate-bestjoerder tafoege om dynamyske frekwinsjekontrôle te leverjen foar optimale prestaasjes. De bestjoerder stipet AMD CPU's en APU's begjinnend fan 'e Zen 2-generaasje, ûntwikkele tegearre mei Valve en is rjochte op it ferbetterjen fan effisjinsje fan enerzjybehear. Foar adaptive frekwinsjeferoarings wurdt it CPPC-meganisme (Collaborative Processor Performance Control) brûkt, wêrtroch jo yndikatoaren krekter kinne feroarje (net beheind ta trije prestaasjesnivo's) en rapper reagearje op steatwizigingen as de earder brûkte ACPI-basearre P-state bestjoerders (CPUFreq).
    • De eBPF subsysteem biedt in bpf_loop () handler, dat jout in alternative manier om te organisearjen loops yn eBPF programma, flugger en makliker foar ferifikaasje troch in verifier.
    • Op kernelnivo wurdt it CO-RE-meganisme (Compile Once - Run Everywhere) ymplementearre, wêrtroch jo de koade fan eBPF-programma's mar ien kear kinne kompilearje en in spesjale universele loader brûke dy't it laden programma oanpast oan 'e hjoeddeistige kernel- en BTF-typen (BPF Type Format).
    • It is mooglik om nammen ta te jaan oan gebieten fan partikuliere anonime (tadield fia malloc) ûnthâld, dat kin ferienfâldigje debuggen en optimalisearjen fan ûnthâld konsumpsje yn applikaasjes. Nammen wurde tawiisd fia prctl mei de PR_SET_VMA_ANON_NAME flagge en wurde werjûn yn /proc/pid/maps en /proc/pid/smaps yn 'e foarm "[anon: ]".
    • De taakplanner jout tracking en werjaan yn /proc/PID/sched de tiid bestege troch prosessen yn 'e twongen-idle steat, brûkt bygelyks om de lading te ferminderjen as de prosessor oververhitt.
    • Gpio-sim-module tafoege, ûntworpen om GPIO-chips te simulearjen foar testen.
    • In subkommando "latency" tafoege oan it kommando "perf ftrace" om histogrammen te generearjen mei latency-ynformaasje.
    • In set fan "RTLA" nutsbedriuwen tafoege foar it analysearjen fan wurk yn echte tiid. It omfettet nutsbedriuwen lykas osnoise (bepaalt de ynfloed fan it bestjoeringssysteem op 'e útfiering fan in taak) en timerlat (feroaret de fertragingen ferbûn mei de timer).
    • In twadde searje patches is yntegrearre mei de ymplemintaasje fan it konsept fan sidefolio's, dy't lykje op gearstalde siden, mar hawwe ferbettere semantyk en in dúdliker organisaasje fan wurk. It brûken fan tomes lit jo ûnthâldbehear yn guon kernel-subsystemen fersnelle. De foarstelde patches foltôge de konverzje fan 'e side-cache nei it gebrûk fan tomes en tafoege inisjele stipe foar tomes yn it XFS-bestânsysteem.
    • Added "meitsje mod2noconfig" bou modus, dy't generearret in konfiguraasje dy't sammelet alle útskeakele subsystemen yn 'e foarm fan kernel modules.
    • De easken foar de ferzje fan LLVM/Clang dy't brûkt wurde kinne om de kearn te bouwen binne ferhege. Bou fereasket no op syn minst LLVM 11-release.
  • Virtualisaasje en feiligens
    • In bywurke ymplemintaasje fan de pseudo-willekeurich getal generator RDRAND, ferantwurdlik foar de wurking fan de / dev / willekeurich en / dev / urandom apparaten, wurdt foarsteld, opmerklik foar de oergong nei it brûken fan de BLAKE2s hash funksje ynstee fan SHA1 foar entropy mingde operaasjes. De feroaring ferbettere de feiligens fan 'e pseudo-willekeurige nûmergenerator troch it problematyske SHA1-algoritme te eliminearjen en it oerskriuwen fan' e RNG-initialisaasjevektor te eliminearjen. Sûnt it BLAKE2s-algoritme superieur is oan SHA1 yn prestaasjes, hie it gebrûk ek in posityf effekt op prestaasjes.
    • Tafoege beskerming tsjin kwetsberens yn processors feroarsake troch spekulative útfiering fan ynstruksjes nei ûnbedoelde foarútsprong operaasjes. It probleem komt foar troch pre-emptive ferwurking fan ynstruksjes direkt nei de branch ynstruksje yn it ûnthâld (SLS, Straight Line Speculation). Beskerming ynskeakelje fereasket bouwen mei de op it stuit testende release fan GCC 12.
    • In meganisme tafoege foar it folgjen fan referinsjeteljen (refcount, reference-count), rjochte op it ferminderjen fan it oantal flaters yn referinsjeteljen dy't liede ta tagong ta ûnthâld nei't it befrijd is. It meganisme is op it stuit beheind ta it netwurk subsysteem, mar yn 'e takomst kin it oanpast wurde oan oare dielen fan' e kernel.
    • Utwreide kontrôles fan nije yngongen yn 'e proses-ûnthâldsidetabel binne ymplementearre, wêrtroch bepaalde soarten skea kinne opspoare en it systeem stopje, oanfallen yn in ier stadium blokkearje.
    • Tafoege de mooglikheid om útpakke kernel modules direkt troch de kearn sels, en net troch in handler yn brûkersromte, wêrtroch it brûken fan de LoadPin LSM module om te soargjen dat kernel modules wurde laden yn it ûnthâld fan in ferifiearre opslach apparaat.
    • Foarsjoen fan gearkomste mei de flagge "-Wcast-function-type", dy't warskôgingen mooglik makket oer castingfunksje-oanwizers nei in ynkompatibel type.
    • Added firtuele host stjoerprogramma pvUSB foar de Xen hypervisor, en jout tagong ta USB apparaten trochstjoerd nei gast systemen (stiet gast systemen tagong ta fysike USB apparaten tawiisd oan de gast systeem).
    • In module is tafoege wêrmei jo kinne ynteraksje fia Wi-Fi mei de IME (Intel Management Engine) subsysteem, dat komt yn de measte moderne moederbord mei Intel processors en wurdt útfierd as in aparte mikroprosessor dy't wurket ûnôfhinklik fan de CPU.
    • Foar de ARM64-arsjitektuer is stipe ymplementearre foar it KCSAN (Kernel Concurrency Sanitizer) debuggen-ark, ûntworpen om racebetingsten dynamysk te detektearjen binnen de kernel.
    • Foar 32-bit ARM-systemen is de mooglikheid tafoege om it KFENCE-meganisme te brûken om flaters te detektearjen by it wurkjen mei ûnthâld.
    • De KVM-hypervisor foeget stipe ta foar AMX-ynstruksjes (Advanced Matrix Extensions) ymplementearre yn 'e kommende Intel Xeon Scalable-serverprocessors.
  • Netwurk subsysteem
    • Stipe tafoege foar it ôfladen fan operaasjes yn ferbân mei ferkearsbehear oan 'e kant fan netwurkapparaten.
    • De mooglikheid tafoege om MCTP (Management Component Transport Protocol) te brûken oer seriële apparaten. MCTP kin brûkt wurde om te kommunisearjen tusken behear controllers en harren assosjearre apparaten (host processors, perifeare apparaten, ensfh).
    • De TCP-stapel is optimalisearre, bygelyks om de prestaasjes fan recvmsg-oproppen te ferbetterjen, fertrage frijlitting fan socketbuffers is ymplementearre.
    • Op it CAP_NET_RAW-autoriteitsnivo is it ynstellen fan de SO_PRIORITY- en SO_MARK-modi fia de setsockopt-funksje tastien.
    • Foar IPv4 meie rau sockets bûn wurde oan net-lokale IP-adressen mei de opsjes IP_FREEBIND en IP_TRANSPARENT.
    • Sysctl arp_missed_max tafoege om it drompeltal fan flaters te konfigurearjen tidens de ARP-monitorkontrôle, wêrnei't de netwurkynterface yn in útskeakele steat pleatst wurdt.
    • Foarsjoen fan de mooglikheid om aparte sysctl min_pmtu en mtu_expires wearden te konfigurearjen foar netwurk nammeromten.
    • De mooglikheid tafoege om de grutte fan buffers foar ynkommende en útgeande pakketten yn te stellen en te bepalen oan de ethtool API.
    • Netfilter hat stipe tafoege foar it filterjen fan transit pppoe ferkear yn in netwurkbrêge.
    • De ksmbd-module, dy't in bestânserver ymplementearret mei it SMB3-protokol, hat stipe tafoege foar kaai-útwikseling, netwurkpoarte 445 ynskeakele foar smbdirect, en stipe tafoege foar de parameter "smb2 max credit".
  • Wetter - Agrarwetter
    • Stipe foar skermen foar it werjaan fan fertroulike ynformaasje is tafoege oan it subsysteem drm (Direct Renderering Manager) en de i915-bestjoerder, bygelyks, guon laptops binne foarsjoen fan skermen mei in ynboude fertroulike werjeftemodus, wêrtroch it dreech is om fan bûten te sjen . De tafoege wizigingen kinne jo ferbine spesjalisearre bestjoerders foar sokke skermen en kontrolearje fertroulike blêdzjen modi troch it ynstellen fan eigenskippen yn reguliere KMS drivers.
    • De amdgpu-bestjoerder omfettet stipe foar STB (Smart Trace Buffer) debuggentechnology foar alle AMD GPU's dy't it stypje. STB makket it makliker om mislearrings te analysearjen en de boarne fan problemen te identifisearjen troch yn in spesjale buffer ynformaasje te bewarjen oer de funksjes útfierd foar de lêste mislearring.
    • De i915-bestjoerder foeget stipe ta foar Intel Raptor Lake S-chips en makket standert stipe foar it grafyske subsysteem fan Intel Alder Lake P-chips mooglik. It is mooglik om de efterljochting fan it skerm te kontrolearjen fia de VESA DPCD-ynterface.
    • Stipe foar fersnelling fan it rôljen fan hardware yn 'e konsole is weromjûn yn' e fbcon / fbdev-bestjoerders.
    • Trochgean yntegraasje fan feroarings te stypjen Apple M1 chips. Implementearre de mooglikheid om de simpledrm-bestjoerder te brûken op systemen mei in Apple M1-chip foar útfier fia in framebuffer levere troch de firmware.
    • Stipe tafoege foar ARM SoС, apparaten en boards Snapdragon 7c, 845 en 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 (brûkt yn Wi-Fi-routers), Broadcom BCM4908 (Netgear RAXE500), Qualcomm SDX65, Samsung Exynos7885, Renesas R-Car S4-8, TI J721s2, TI SPEArX320s, N8LPs, N8LPs, N2500LPs, N2600LPs, N32Ps, N1s. , Aspeed AST6/AST6000, Engicam i.Core STM6001MP14, Allwinner Tanix TX16, Facebook Bletchley BMC, Goramo MultiLink, JOZ Access Point, Y Soft IOTA Crux/Crux+, tXNUMX/tXNUMX MacBook Pro XNUMX/XNUMX.
    • Stipe tafoege foar ARM Cortex-M55- en Cortex-M33-processors.
    • Stipe tafoege foar apparaten basearre op CPU MIPS: Linksys WRT320N v1, Netgear R6300 v1, Netgear WN2500RP v1/v2.
    • Stipe tafoege foar StarFive JH7100 SoC basearre op RISC-V-arsjitektuer.
    • Lenovo-yogabook-wmi-bestjoerder tafoege om it toetseboerdferljochting te kontrolearjen en tagong te krijen ta ferskate sensoren yn it Lenovo Yoga Book.
    • Asus_wmi_sensors-bestjoerder tafoege om tagong te krijen ta sensors brûkt op Asus X370, X470, B450, B550 en X399-moederborden basearre op AMD Ryzen-processors.
    • Tafoege x86-android-tablet-bestjoerder foar x86-basearre tablet-pc's ferstjoerd mei it Android-platfoarm.
    • Stipe tafoege foar TrekStor SurfTab duo W1 touchscreens en elektroanyske pinne foar Chuwi Hi10 Plus en Pro tablets.
    • Bestjoerders foar SoC Tegra 20/30 hawwe stipe tafoege foar macht- en spanningsbehear. Aktivearret it opstarten op âldere 32-bit Tegra SoC-apparaten lykas ASUS Prime TF201, Pad TF701T, Pad TF300T, Infinity TF700T, EeePad TF101 en Pad TF300TG.
    • Bestjoerders tafoege foar Siemens yndustriële kompjûters.
    • Stipe tafoege foar Sony Tulip Truly NT35521, Vivax TPC-9150, Innolux G070Y2-T02, BOE BF060Y8M-AJ0, JDI R63452, Novatek NT35950, Wanchanglong W552946ABA en Team Source LCD Display T043015CMHXNUMXXXNUMX paniel Display TXNUMXCMHXNUMXXXNUMX.
    • Stipe tafoege foar lûdsystemen en codecs AMD Renoir ACP, Asahi Kasei Microdevices AKM4375, Intel-systemen mei NAU8825/MAX98390, Mediatek MT8915, nVidia Tegra20 S / PDIF, Qualcomm ALC5682I-VS, Texas Instruments TLVxxx320AD. Problemen mei Tegra3 HD-audio binne oplost. HDA-stipe tafoege foar CS194L35 codecs. Ferbettere stipe foar lûdsystemen foar Lenovo- en HP-laptops, lykas Gigabyte-motherboards.

Boarne: opennet.ru

Add a comment