Linukso-kerna eldono 5.17

Post du monatoj da evoluo, Linus Torvalds prezentis la liberigon de la Linukso-kerno 5.17. Inter la plej rimarkindaj ŝanĝoj: nova rendimenta administradsistemo por AMD-procesoroj, la kapablo rekursie mapi uzantidentigilojn en dosiersistemoj, subteno por porteblaj kompilitaj BPF-programoj, transiro de la pseŭdo-hazarda nombrogeneratoro al la BLAKE2s-algoritmo, RTLA-servaĵo por realtempa ekzekuta analizo, nova fscache backend por konservado de retaj dosiersistemoj, la kapablo alligi nomojn al anonimaj mmap-operacioj.

La nova versio inkluzivas 14203 korektojn de 1995 programistoj, la flikgrandeco estas 37 MB (la ŝanĝoj influis 11366 dosierojn, 506043 linioj de kodo estis aldonitaj, 250954 linioj estis forigitaj). Proksimume 44% de ĉiuj ŝanĝoj lanĉitaj en 5.17 rilatas al aparataj ŝoforoj, proksimume 16% de ŝanĝoj rilatas al ĝisdatigo de kodo specifa por hardvararkitekturoj, 15% rilatas al la retstako, 4% rilatas al dosiersistemoj, kaj 4% estas rilataj al internaj kernaj subsistemoj.

Ŝlosilaj novigoj en kerno 5.17:

  • Diska Subsistemo, I/O kaj Dosiersistemoj
    • Efektivigis la eblecon de nestita mapado de uzantidentigiloj de surmuntitaj dosiersistemoj, uzataj por kompari dosierojn de specifa uzanto sur muntita eksterlanda sekcio kun alia uzanto sur la nuna sistemo. La aldonita funkcio ebligas al vi rekursie uzi mapadon supre de dosiersistemoj por kiuj mapado jam estas aplikata.
    • La fscache-subsistemo, uzata por organizi kaŝmemoron en la loka dosiersistemo de datumoj transdonitaj per retaj dosiersistemoj, estis tute reverkita. La nova efektivigo distingiĝas per signifa simpligo de la kodo kaj la anstataŭigo de kompleksaj operacioj de planado kaj spurado de objektostatoj kun pli simplaj mekanismoj. Subteno por la nova fscache estas efektivigita en la CIFS-dosiersistemo.
    • La okazaĵa spura subsistemo en la fanotify FS efektivigas novan eventospecon, FAN_RENAME, kiu ebligas vin tuj kapti la operacion de renomado de dosieroj aŭ dosierujoj (antaŭe, du apartaj eventoj FAN_MOVED_FROM kaj FAN_MOVED_TO estis uzataj por prilabori renomojn).
    • La dosiersistemo Btrfs optimumigis registradajn kaj fsync-operaciojn por grandaj dosierujoj, efektivigitaj kopiante nur indeksajn klavojn kaj reduktante la kvanton da registritaj metadatenoj. Subteno por indeksado kaj serĉado laŭ grandeco de liberspacaj rekordoj estis disponigita, kio reduktis latentecon je proksimume 30% kaj reduktis serĉtempon. Permesita interrompi malfragmentajn operaciojn. La kapablo aldoni aparatojn dum ekvilibro inter stiradoj estas malŝaltita, t.e. kiam oni muntas dosiersistemon kun la opcio skip_balance.
    • Nova sintakso por munti la Ceph-dosiersistemon estis proponita, solvante ekzistantajn problemojn asociitajn kun ligado al IP-adresoj. Krom IP-adresoj, vi nun povas uzi la clusteridentigilon (FSID) por identigi la servilon: mount -t ceph [retpoŝte protektita]_name=/[subdir] mnt -o mon_addr=monip1[:port][/monip2[:port]]
    • La dosiersistemo Ext4 moviĝis al nova munta API, kiu disigas la muntajn opciojn analizajn kaj superblokajn agordajn paŝojn. Ni forigis subtenon por la lazytime kaj nolazytime-munto-opcioj, kiuj estis aldonitaj kiel provizora ŝanĝo por faciligi la transiron de util-linukso por uzi la MS_LAZYTIME-flagon. Aldonita subteno por agordo kaj legado de etikedoj en la FS (ioctl FS_IOC_GETFSLABEL kaj FS_IOC_SETFSLABEL).
    • NFSv4 aldonis subtenon por labori en usklec-nesensivaj dosiersistemoj en dosieroj kaj dosierujoj. NFSv4.1+ aldonas subtenon por difinado de agregitaj sesioj (trunking).
  • Memoraj kaj sistemaj servoj
    • Aldonita amd-pstate-ŝoforo por provizi dinamikan frekvencan kontrolon por optimuma rendimento. La ŝoforo subtenas AMD-CPUojn kaj APU-ojn ekde la generacio Zen 2, disvolvita kune kun Valve kaj celas plibonigi la efikecon pri administrado de energio. Por adaptaj frekvencaj ŝanĝoj, la mekanismo CPPC (Collaborative Processor Performance Control) estas uzata, kiu ebligas al vi ŝanĝi indikilojn pli precize (ne limigita al tri agado-niveloj) kaj respondi pli rapide al ŝtatŝanĝoj ol la antaŭe uzata ACPI-bazita P-ŝtato. ŝoforoj (CPUFreq).
    • La eBPF-subsistemo ofertas bpf_loop() pritraktilon, kiu disponigas alternativan manieron organizi buklojn en eBPF-programoj, pli rapide kaj pli facila por konfirmo de kontrolilo.
    • Je la kerno-nivelo, la mekanismo CO-RE (Kompili Unufoje - Kuru Ĉie) estas efektivigita, kiu permesas vin kompili la kodon de eBPF-programoj nur unufoje kaj uzi specialan universalan ŝargilon, kiu adaptas la ŝarĝitan programon al la nunaj kerno kaj BTF-tipoj. (BPF-Tipo Formato).
    • Eblas asigni nomojn al areoj de privata anonima (asignita per malloc) memoro, kiu povas simpligi sencimigon kaj optimumigon de memorkonsumo en aplikoj. Nomoj estas atribuitaj per prctl kun la PR_SET_VMA_ANON_NAME flago kaj estas montrataj en /proc/pid/maps kaj /proc/pid/smaps en la formo "[anon: ]".
    • La taskoplanisto disponigas spuradon kaj montradon en /proc/PID/sched la tempon pasigitan de procezoj en la malvola-stato, uzata, ekzemple, por redukti la ŝarĝon kiam la procesoro trovarmiĝas.
    • Aldonita gpio-sim-modulo, dizajnita por simuli GPIO-fritojn por testado.
    • Aldonis subkomandon "latenteco" al la komando "perf ftrace" por generi histogramojn kun informoj pri latenteco.
    • Aldonita aro de "RTLA" utilecoj por analizi laboron en reala tempo. Ĝi inkluzivas utilecojn kiel osnoise (determinas la influon de la operaciumo sur la plenumo de tasko) kaj timerlat (ŝanĝas la prokrastojn asociitajn kun la tempigilo).
    • Dua serio de flikoj estis integrita kun la efektivigo de la koncepto de paĝfolioj, kiuj similas kunmetitajn paĝojn, sed havas plibonigitan semantikon kaj pli klaran organizon de laboro. Uzado de tomoj permesas vin akceli memoradministradon en iuj kernaj subsistemoj. La proponitaj flikoj kompletigis la konvertiĝon de la paĝa kaŝmemoro al la uzo de tomoj kaj aldonis komencan subtenon por tomoj en la XFS-dosiersistemo.
    • Aldonita "make mod2noconfig" konstrureĝimo, kiu generas agordon kiu kolektas ĉiujn malfunkciigitajn subsistemojn en la formo de kernaj moduloj.
    • La postuloj por la versio de LLVM/Clang uzebla por konstrui la kernon estis levitaj. Konstruo nun postulas almenaŭ liberigon de LLVM 11.
  • Virtualigo kaj Sekureco
    • Ĝisdatigita efektivigo de la pseŭd-hazarda nombro-generatoro RDRAND, respondeca por la operacio de la /dev/random kaj /dev/urandom aparatoj, estas proponita, rimarkinda pro la transiro al uzado de la BLAKE2s haŝfunkcio anstataŭe de SHA1 por entropiaj miksadoperacioj. La ŝanĝo plibonigis la sekurecon de la pseŭdo-hazarda nombro-generatoro eliminante la probleman SHA1-algoritmon kaj eliminante la anstataŭigon de la RNG-inicialigvektoro. Ĉar la BLAKE2s-algoritmo estas pli bona ol SHA1 en efikeco, ĝia uzo ankaŭ havis pozitivan efikon al efikeco.
    • Aldonita protekto kontraŭ vundeblecoj en procesoroj kaŭzitaj de konjekta plenumo de instrukcioj post senkondiĉaj antaŭensaltaj operacioj. La problemo okazas pro preventa prilaborado de instrukcioj tuj sekvante la branĉinstrukcion en memoro (SLS, Straight Line Speculation). Ebligi protekton postulas konstrui kun la nuna testa eldono de GCC 12.
    • Aldonis mekanismon por spuri referenckalkuladon (refkalkulo, referenckalkulo), celanta redukti la nombron da eraroj en referenckalkulado kiuj kondukas al aliro al memoro post kiam ĝi estis liberigita. La mekanismo estas nuntempe limigita al la retsubsistemo, sed estonte ĝi povas esti adaptita al aliaj partoj de la kerno.
    • Plilongigitaj kontroloj de novaj eniroj en la proceza memorpaĝa tabelo estis efektivigitaj, permesante detekti iujn specojn de damaĝo kaj haltigi la sistemon, blokante atakojn en frua etapo.
    • Aldonis la kapablon malpaki kernmodulojn rekte de la kerno mem, kaj ne de prizorganto en uzantspaco, kio permesas uzi la LoadPin LSM-modulon por certigi ke kernmoduloj estas ŝarĝitaj en memoron de kontrolita stoka aparato.
    • Provizita kunigo kun la flago "-Wcast-function-type", kiu ebligas avertojn pri ĵeto de funkciomontriloj al nekongrua tipo.
    • Aldonita virtuala gastiga ŝoforo pvUSB por la hiperviziero Xen, disponigante aliron al USB-aparatoj plusenditaj al gastsistemoj (permesas al gastsistemoj aliri fizikajn USB-aparatojn asignitajn al la gastsistemo).
    • Aldoniĝis modulo, kiu permesas vin interagi per Wi-Fi kun la subsistemo IME (Intel Management Engine), kiu venas en plej modernaj bazplatoj kun Intel-procesoroj kaj estas efektivigita kiel aparta mikroprocesoro, kiu funkcias sendepende de la CPU.
    • Por la ARM64-arkitekturo, subteno estis efektivigita por la senarariga ilo KCSAN (Kernel Concurrency Sanitizer), dizajnita por dinamike detekti raskondiĉojn ene de la kerno.
    • Por 32-bitaj ARM-sistemoj, la kapablo uzi la KFENCE-mekanismon por detekti erarojn dum laborado kun memoro estis aldonita.
    • La KVM-hiperviziero aldonas subtenon por instrukcioj AMX (Advanced Matrix Extensions) efektivigitaj en la venontaj Intel Xeon Scalable-servilprocesoroj.
  • Reta subsistemo
    • Aldonita subteno por malŝarĝo de operacioj rilataj al trafika administrado al la flanko de retaj aparatoj.
    • Aldonita la kapablo uzi MCTP (Management Component Transport Protocol) super seriaj aparatoj. MCTP povas esti uzita por komuniki inter administradregiloj kaj iliaj rilataj aparatoj (gastigaj procesoroj, flankaparatoj, ktp.).
    • La TCP-stako estis optimumigita, ekzemple, por plibonigi la agadon de recvmsg-vokoj, prokrastita liberigo de socket-bufroj estis efektivigita.
    • Je la nivelo de aŭtoritato CAP_NET_RAW, agordi la SO_PRIORITY kaj SO_MARK-reĝimojn per la funkcio setsockopt estas permesita.
    • Por IPv4, krudaj ingoj rajtas esti ligitaj al ne-lokaj IP-adresoj uzante la opciojn IP_FREEBIND kaj IP_TRANSPARENT.
    • Aldonita sysctl arp_missed_max por agordi la sojlan nombron da misfunkciadoj dum la kontrolo de ARP-monitoro, post kiu la reto-interfaco estas metita en malfunkciigitan staton.
    • Provizite la eblon agordi apartajn sysctl min_pmtu kaj mtu_expires valorojn por retaj nomspacoj.
    • Aldonis la kapablon agordi kaj determini la grandecon de bufroj por enirantaj kaj elirantaj pakaĵoj al la ethtool API.
    • Netfilter aldonis subtenon por filtrado de transita pppoe-trafiko en retponto.
    • La modulo ksmbd, kiu efektivigas dosierservilon uzante la SMB3-protokolon, aldonis subtenon por ŝlosila interŝanĝo, ebligis retan havenon 445 por smbdirect, kaj aldonis subtenon por la parametro "smb2 max credit".
  • Ekipaĵo
    • Subteno por ekranoj por montri konfidencajn informojn estis aldonita al la subsistemo drm (Direct Rendering Manager) kaj la i915-ŝoforo, ekzemple, iuj tekkomputiloj estas ekipitaj per ekranoj kun enkonstruita konfidenca rigardreĝimo, kio malfaciligas vidi de ekstere. . La aldonitaj ŝanĝoj permesas vin konekti specialigitajn ŝoforojn por tiaj ekranoj kaj kontroli konfidencajn foliumreĝimojn per agordo de propraĵoj en kutimaj KMS-ŝoforoj.
    • La amdgpu-ŝoforo inkluzivas subtenon por sencimiga teknologio STB (Smart Trace Buffer) por ĉiuj AMD GPU-oj kiuj subtenas ĝin. STB faciligas analizi misfunkciadojn kaj identigi la fonton de problemoj stokante en speciala bufro informojn pri la funkcioj faritaj antaŭ la lasta fiasko.
    • La i915-ŝoforo aldonas subtenon por Intel Raptor Lake S-blatoj kaj ebligas subtenon por la grafika subsistemo de Intel Alder Lake P-blatoj defaŭlte. Eblas kontroli la ekranan fonlumon per la VESA DPCD-interfaco.
    • Subteno por aparatara movo-akcelo en la konzolo estis resendita en la fbcon/fbdev-ŝoforoj.
    • Daŭra integriĝo de ŝanĝoj por subteni Apple M1-blatojn. Efektivigis la kapablon uzi la simpledrm-ŝoforon sur sistemoj kun Apple M1-peceto por eligo per frambuffer provizita de la firmvaro.
    • Aldonita subteno por ARM SoС, aparatoj kaj tabuloj Snapdragon 7c, 845 kaj 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 (uzita en Wifi-enkursigiloj), Broadcom BCM4908 (Netgear RAXE500), Qualcomm SDX65, Samsung Exynos7885, Renesas R-Car S4-8, TI J721s2, TI SPEAr320s, NXLP8 i.MX8 UXP2500 , Aspeed AST2600/AST32, Engicam i.Core STM1MP6, Allwinner Tanix TX6000, Facebook Bletchley BMC, Goramo MultiLink, JOZ Access Point, Y Soft IOTA Crux/Crux+, t6001/t14 MacBook Pro 16/XNUMX.
    • Aldonita subteno por ARM Cortex-M55 kaj Cortex-M33-procesoroj.
    • Aldonita subteno por aparatoj bazitaj sur CPU MIPS: Linksys WRT320N v1, Netgear R6300 v1, Netgear WN2500RP v1/v2.
    • Aldonita subteno por StarFive JH7100 SoC bazita sur RISC-V-arkitekturo.
    • Aldonita lenovo-yogabook-wmi-ŝoforo por kontroli la klavaran retrolumon kaj aliri diversajn sensilojn en la Lenovo Yoga Book.
    • Aldonita asus_wmi_sensors-ŝoforo por aliri sensilojn uzatajn sur Asus X370, X470, B450, B550 kaj X399 bazplatoj bazitaj sur AMD Ryzen-procesoroj.
    • Aldonita x86-android-tablojda pelilo por x86-bazitaj tabulkomputiloj senditaj kun la Android-platformo.
    • Aldonita subteno por TrekStor SurfTab-duopo W1-tuŝekranoj kaj elektronika plumo por Chuwi Hi10 Plus kaj Pro-tablojdoj.
    • Ŝoforoj por SoC Tegra 20/30 aldonis subtenon por administrado de potenco kaj tensio. Ebligas lanĉadon sur pli malnovaj 32-bitaj Tegra SoC-aparatoj kiel ASUS Prime TF201, Pad TF701T, Pad TF300T, Infinity TF700T, EeePad TF101 kaj Pad TF300TG.
    • Aldonitaj ŝoforoj por industriaj komputiloj de Siemens.
    • Aldonita subteno por Sony Tulip Truly NT35521, Vivax TPC-9150, Innolux G070Y2-T02, BOE BF060Y8M-AJ0, JDI R63452, Novatek NT35950, Wanchanglong W552946ABA kaj Team Source Display TST043015 LCD-paneloXNUMXCMH.
    • Aldonita subteno por sonsistemoj kaj kodekoj AMD Renoir ACP, Asahi Kasei Microdevices AKM4375, Intel-sistemoj uzante NAU8825/MAX98390, Mediatek MT8915, nVidia Tegra20 S/PDIF, Qualcomm ALC5682I-VS, Texas Instruments TLV320ADC3xxx. Problemoj kun Tegra194 HD-audio estis solvitaj. Aldonita HDA-subteno por CS35L41-kodekoj. Plibonigita subteno por sonsistemoj por Lenovo kaj HP-tekkomputiloj, same kiel Gigabajtaj baztabuloj.

fonto: opennet.ru

Aldoni komenton