Linukso-kerna eldono 6.0

Post du monatoj da evoluo, Linus Torvalds prezentis la liberigon de la Linukso 6.0-kerno. La signifa ŝanĝo en la versio-numero estas farita pro estetikaj kialoj kaj estas formala paŝo por malpezigi la malkomforton pro la amasiĝo de granda nombro da temoj en la serio (Linus ŝercis ke la kialo por ŝanĝi la branĉnumero estis pli verŝajna ke li mankis fingroj kaj piedfingroj por kalkuli version-numerojn). Inter la plej rimarkindaj ŝanĝoj: subteno por nesinkrona bufra skribo en XFS, la ublk-bloka ŝoforo, optimumigo de la taskoplanilo, mekanismo por kontroli la ĝustan funkciadon de la kerno, subteno por la ARIA-bloka ĉifro.

Ŝlosilaj novigoj en kerno 6.0:

  • Diska Subsistemo, I/O kaj Dosiersistemoj
    • La XFS-dosiersistemo aldonis subtenon por nesinkronaj bufritaj skriboj uzante la io_uring-mekanismon. Efikectestoj faritaj per fio-iloj (1 fadeno, 4kB blokgrandeco, 600 sekundoj, sinsekva skribo) montras pliiĝon en enig/eligaj operacioj je sekundo (IOPS) de 77k ĝis 209k, datumtransiga rapideco de 314MB/s ĝis 854MB/s, kaj falo en latenteco de 9600ns ĝis 120ns (80 fojojn).
    • La dosiersistemo Btrfs efektivigas duan version de la protokolo por la komando "sendi", kiu efektivigas subtenon por pliaj metadatenoj, sendante datumojn en pli grandaj blokoj (pli ol 64K) kaj transdonante ampleksojn en kunpremita formo. La agado de rekta legado de operacioj estis signife pliigita (ĝis 3 fojojn) pro samtempa legado de ĝis 256 sektoroj. Reduktis ŝlosan disputon kaj akcelis kontroladon de metadatenoj reduktante rezervitajn metadatenojn por prokrastitaj elementoj.
    • Novaj ioctl-operacioj EXT4_IOC_GETFSUUID kaj EXT4_IC_SETFSUUID estis aldonitaj al la dosiersistemo ext4 por retrovi aŭ agordi la UUID konservitan en la superbloko.
    • La dosiersistemo F2FS ofertas malaltan memorkonsuman reĝimon, kiu optimumigas funkciadon en aparatoj kun malgranda kvanto da RAM kaj permesas redukti memorkonsumon koste de reduktita rendimento.
    • Aldonita subteno por NVMe-veturadaŭtentigo.
    • La NFSv4-servilo efektivigas limon de la nombro da aktivaj klientoj, kiu estas fiksita kiel 1024 validaj klientoj por ĉiu gigabajto da RAM en la sistemo.
    • La CIFS-klienta efektivigo plibonigis efikecon en plurkanala dissenda reĝimo.
    • Nova flago FAN_MARK_IGNORE estis aldonita al la evento-spura subsistemo en la fanotify FS por ignori specifajn eventojn.
    • En la Overlayfs FS, kiam muntite sur FS kun uzanta ID-mapado, ĝusta subteno por POSIX-konformaj alirkontrollistoj estas disponigita.
    • Aldonita la ublk-bloka pelilo, kiu movas specifan logikon al la flanko de la fona procezo en uzantspaco kaj uzas la io_uring-subsistemon.
  • Memoraj kaj sistemaj servoj
    • Novaj funkcioj estis aldonitaj al la subsistemo DAMON (Data Access MONitor), permesante ne nur monitori procezaliron al RAM de uzantspaco, sed ankaŭ influi memoradministradon. Precipe, nova modulo "LRU_SORT" estis proponita, kiu disponigas regrupigon de LRU (Malplej Laste Uzitaj) listoj por pliigi la prioritaton de certaj memorpaĝoj.
    • La kapablo krei novajn memorregionojn estis efektivigita uzante la kapablojn de la buso CXL (Compute Express Link), uzata por organizi altrapidan interagadon inter la CPU kaj memoraj aparatoj. CXL ebligas vin konekti novajn memorregionojn provizitajn de eksteraj memoraj aparatoj kaj uzi ilin kiel kromajn fizikajn adresspacajn rimedojn por vastigi la hazardan alirmemoron (DDR) aŭ permanentan memoron (PMEM) de la sistemo.
    • Solvita rendimentoproblemoj kun AMD Zen-procesoroj kaŭzitaj de kodo aldonita antaŭ 20 jaroj por labori ĉirkaŭ aparatara problemo en iuj pecetaroj (plia WAIT-instrukcio estis aldonita por malrapidigi la procesoron tiel la pecetaro havis tempon iri en neaktivan staton). La ŝanĝo rezultigis reduktitan efikecon sub laborkvantoj kiuj ofte alternas inter neaktivaj kaj okupataj ŝtatoj. Ekzemple, post malfunkciigado de la solvo, la mezaj testpoentoj pliiĝis de 32191 MB/s al 33805 MB/s.
    • Kodo kun heŭristiko estis forigita de la taskoplanisto, certigante migradon de procezoj al la malplej ŝarĝitaj CPUoj, konsiderante la antaŭviditan gajnon en energikonsumo. La programistoj finis ke la heŭristiko ne estis sufiĉe utila kaj ke estis pli facile forigi ĝin kaj migri procezojn sen kroma taksado kiam ajn tia migrado eble povus rezultigi pli malaltan energikonsumon (ekzemple, kiam la cela CPU estas en pli malalta potencnivelo). Malebligado de heŭristiko kaŭzis redukton de energikonsumo dum la plenumado de intensaj taskoj, ekzemple, en la videomalkoda testo, elektrokonsumo malpliiĝis je 5.6%.
    • La distribuado de taskoj tra CPU-kernoj sur grandaj sistemoj estis optimumigita, kio plibonigis rendimenton por certaj specoj de laborkvanto.
    • La io_uring nesinkrona I/O-interfaco ofertas novan flagon, IORING_RECV_MULTISHOT, kiu ebligas al vi uzi plurpafan reĝimon kun la sistemvoko recv() por plenumi plurajn legajn operaciojn de la sama reto-ingo samtempe. io_uring ankaŭ subtenas retan translokigon sen meza bufro (nul-kopio).
    • Efektivigis la kapablon meti BPF-programojn alkroĉitajn al uprobe en dorman staton. BPF ankaŭ aldonas novan iterator ksym por labori kun kernaj simbolotabloj.
    • La malnoviĝinta "efivars" interfaco en sysfs, destinita por aliro al UEFI-ŝargvariabloj, estis forigita (la efivarfs virtuala FS nun estas universale uzata por aliri EFI-datumojn).
    • La perf-utilo havas novajn raportojn por analizi serurkonfliktojn kaj la tempon pasigitan de la procesoro ekzekuti kernajn komponantojn.
    • La agordo CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3 estis forigita, kio permesis konstrui la kernon en la optimumiga reĝimo "-O3". Oni rimarkas, ke eksperimentoj kun optimumigaj reĝimoj povas esti faritaj per pasigado de flagoj dum kunigo ("faru KCFLAGS=-O3"), kaj aldoni agordon al Kconfig postulas ripeteblan rendimentan profiladon, montrante, ke buklo-disvolvado uzata en "-O3" reĝimo donas. utilo kompare kun la "-O2" optimumiga nivelo.
    • Debugfs-interfaco estis aldonita por akiri informojn pri la operacio de individuaj "memorŝrumiloj" (traktantoj vokis kiam ekzistas nesufiĉa memoro kaj pakantaj kernaj datumstrukturoj por redukti sian memorkonsumon).
    • Por la OpenRISC kaj LoongArch-arkitekturoj, subteno por la PCI-buso estas efektivigita.
    • Por la arkitekturo RISC-V, la etendaĵo "Zicbom" estis efektivigita por administri aparatojn kun DMA, kiu ne estas kaŝmemor-kohera.
  • Virtualigo kaj Sekureco
    • RV (Runtime Verification) konfirmmekanismo estis aldonita por kontroli ĝustan funkciadon sur tre fidindaj sistemoj kiuj garantias neniujn fiaskojn. Konfirmo estas farita ĉe rultempo alkroĉante prizorgantojn al spurpunktoj kiuj kontrolas la faktan progreson de ekzekuto kontraŭ antaŭfiksita referenca determinisma modelo de la maŝino kiu difinas la atendatan konduton de la sistemo. Konfirmo kun la modelo ĉe rultempo estas poziciigita kiel pli malpeza kaj facile efektivigebla metodo por konfirmi la ĝustecon de ekzekuto sur kritikaj sistemoj, kompletigante klasikajn fidindecajn konfirmmetodojn. Inter la avantaĝoj de RV estas la kapablo disponigi striktan konfirmon sen aparta efektivigo de la tuta sistemo en modellingvo, same kiel flekseblan respondon al neantaŭviditaj okazaĵoj.
    • Integritaj kernaj komponantoj por administri enklavojn bazitajn sur teknologio Intel SGX2 (Software Guard eXtensions), kiu permesas al aplikoj ekzekuti kodon en izolitaj ĉifritaj areoj de memoro, al kiuj la resto de la sistemo havas limigitan aliron. Intel SGX2-teknologio estas subtenata en Intel Ice Lake kaj Gemini Lake-fritoj, kaj diferencas de Intel SGX1 en pliaj instrukcioj por dinamika memoradministrado de enklavoj.
    • Por la x86-arkitekturo, la kapablo transdoni la semon por la pseŭdohazarda nombrogeneratoro per la agordoj de ekŝargilo estis efektivigita.
    • La SafeSetID LSM-modulo nun havas la kapablon administri ŝanĝojn faritajn per la alvoko setgroups(). SafeSetID permesas al sistemaj servoj sekure administri uzantojn sen pligrandigaj privilegioj (CAP_SETUID) kaj sen akiri radikajn privilegiojn.
    • Aldonita subteno por ARIA-blokĉifro.
    • La BPF-bazita sekurecadministra modulo disponigas la kapablon alkroĉi prizorgantojn al individuaj procezoj kaj procezgrupoj (cgroups).
    • Mekanismo kun gardohundo-efektivigo estis aldonita por detekti pendojn de gastsistemoj bazitaj sur monitorado de vCPU-agado.
  • Reta subsistemo
    • Pritraktiloj por generi kaj kontroli SYN-kuketojn estis aldonitaj al la BPF-subsistemo. Aldonas ankaŭ aro da funkcioj (kfunc) por aliri kaj ŝanĝi la staton de konektoj.
    • La sendrata stako aldonis subtenon por la mekanismo MLO (Multi-Link Operation), difinita en la specifo WiFi 7 kaj permesanta al aparatoj samtempe ricevi kaj sendi datumojn uzante malsamajn frekvencbendojn kaj kanalojn, ekzemple, por samtempe establi plurajn komunikajn kanalojn inter alirpunkto al klienta aparato.
    • La agado de la TLS-protokolo konstruita en la kernon estis plibonigita.
    • Aldonis kernan komandlinian opcion "hostname=" por permesi la gastigan nomon esti agordita frue en la ekfunkciigo, antaŭ ol uzantspacaj komponantoj estas komencitaj.
  • Ekipaĵo
    • La i915 (Intel) ŝoforo provizas subtenon por Intel Arc (DG2/Alchemist) A750 kaj A770 diskretaj vidkartoj. Komenca efektivigo de subteno por Intel Ponte Vecchio (Xe-HPC) kaj Meteor Lake GPU-oj estis proponita. Laboro daŭre subtenas la Intel Raptor Lake-platformon.
    • La amdgpu-ŝoforo daŭre provizas subtenon por la platformoj AMD RDNA3 (RX 7000) kaj CDNA (Instinkto).
    • La Nouveau-ŝoforo reverkis la subtenkodon por NVIDIA nv50 GPU-ekranmotoroj.
    • Aldonita nova logicvc DRM-ŝoforo por LogiCVC-ekranoj.
    • La v3d-ŝoforo (por Broadcom Video Core GPU) subtenas Raspberry Pi 4-tabulojn.
    • Aldonita subteno por Qualcomm Adreno 619 GPU al la msm-ŝoforo.
    • Aldonita subteno por ARM Mali Valhall GPU al la Panfrost-ŝoforo.
    • Aldonita komenca subteno por Qualcomm Snapdragon 8cx Gen3-procesoroj uzataj en tekkomputiloj Lenovo ThinkPad X13s.
    • Aldonitaj sonpeliloj por AMD Raphael (Ryzen 7000), AMD Jadeite, Intel Meteor Lake kaj Mediatek MT8186 platformoj.
    • Aldonita subteno por maŝinlernado-akceliloj de Intel Habana Gaudi 2.
    • Aldonita subteno por ARM SoC Allwinner H616, NXP i.MX93, Sunplus SP7021, Nuvoton NPCM8XX, Marvell Prestera 98DX2530, Google Chameleon v3.

Samtempe, Latin American Free Software Foundation formis version de la tute libera kerno 6.0 - Linux-libre 6.0-gnu, malplenigita de elementoj de firmware kaj ŝoforoj enhavantaj neliberajn komponantojn aŭ sekciojn de kodo, kies amplekso estas limigita de la fabrikanto. La nova eldono malfunkciigas la uzon de blobs en la CS35L41 HD-aŭdio-ŝoforo kaj la UCSI-ŝoforo por mikroregiloj STM32G0. DTS-dosieroj por Qualcomm kaj MediaTek-blatoj estis purigitaj. La malfunkciigo de blobs en la MediaTek MT76-ŝoforo estis reverkita. Ĝisdatigita blob-purigadkodo en AMDGPU, Adreno, Tegra VIC, Netronome NFP kaj Habanalabs Gaudi2-ŝoforoj kaj subsistemoj. Ĉesis purigi la VXGE-ŝoforon, kiu estis forigita de la kerno.

fonto: opennet.ru

Aldoni komenton