Linux kernelaren bertsioa 6.0

Bi hilabeteko garapenaren ondoren, Linus Torvaldsek Linux 6.0 kernelaren oharra aurkeztu zuen. Bertsio-zenbakiaren aldaketa nabarmena arrazoi estetikoengatik da eta seriean arazo ugari pilatzearen ondoeza arintzeko urrats formala da (Linusek txantxetan esan zuen adar-zenbakia aldatzearen arrazoia hatzekin amaitzen ari zela litekeena zela. eta behatzak bertsio-zenbakiak zenbatzeko) . Aldaketa aipagarrienen artean: buffer asinkronoaren idazketa XFS-en euskarria, ublk blokeen kontrolatzailea, ataza-planifikatzailearen optimizazioa, kernelaren funtzionamendu zuzena egiaztatzeko mekanismoa, ARIA bloke-zifratuaren euskarria.

Berrikuntza nagusiak 6.0 nukleoan:

  • Disko azpisistema, I/O eta fitxategi sistemak
    • XFS fitxategi-sistemak buffer asinkronoen idazketarako laguntza gehitu du io_uring mekanismoa erabiliz. Fio tresnekin egindako errendimendu probek (hari 1, 4 kB bloke-tamaina, 600 segundo, idazketa sekuentziala) segundoko sarrera/irteera eragiketak (IOPS) 77k-tik 209k-ra, datu-transferentzia-abiadura 314MB/s-tik 854MB/s-ra igo direla erakusten dute. eta latentziaren jaitsiera 9600ns-tik 120ns-ra (80 aldiz).
    • Btrfs fitxategi-sistemak protokoloaren bigarren bertsioa ezartzen du "bidali" komandorako, metadatu gehigarrietarako laguntza ezartzen duena, datuak bloke handiagoetan bidaliz (64K baino gehiago) eta hedadurak forma konprimituan transmitituz. Zuzeneko irakurketa eragiketen errendimendua nabarmen handitu da (gehienez 3 aldiz), 256 sektore arteko aldibereko irakurketa dela eta. Blokeoen gatazka murriztu eta metadatuen egiaztapena bizkortu egin da geroratutako elementuetarako erreserbatutako metadatuak murriztuz.
    • EXT4_IOC_GETFSUUID eta EXT4_IC_SETFSUUID ioctl eragiketa berriak gehitu dira ext4 fitxategi-sistemara superblokean gordetako UUID-a berreskuratzeko edo ezartzeko.
    • F2FS fitxategi-sistemak memoria-kontsumo baxuko modua eskaintzen du, RAM kopuru txikia duten gailuetan funtzionamendua optimizatzen duena eta memoria-kontsumoa murrizteko aukera ematen du, errendimendu murriztuaren kostuarekin.
    • NVMe unitateen autentifikaziorako laguntza gehitu da.
    • NFSv4 zerbitzariak bezero aktibo kopuruaren muga ezartzen du, sistemako RAM gigabyte bakoitzeko 1024 bezero baliozko gisa ezartzen baita.
    • CIFS bezeroaren ezarpenak errendimendua hobetu du kanal anitzeko transmisio moduan.
    • FAN_MARK_IGNORE bandera berri bat gehitu da fanotify FS-ko gertaeren jarraipenaren azpisisteman, gertaera zehatzak alde batera uzteko.
    • Overlayfs FS-n, erabiltzaile-ID mapadun FS baten gainean muntatzen denean, POSIX-ekin bat datozen sarbide-kontrol-zerrendentzako laguntza zuzena eskaintzen da.
    • Ublk bloke kontrolatzailea gehitu da, logika espezifikoa erabiltzailearen espazioan atzeko planoaren albo batera eramaten duena eta io_uring azpisistema erabiltzen duena.
  • Memoria eta sistema zerbitzuak
    • Ezaugarri berriak gehitu zaizkio DAMON (Data Access MONitor) azpisistemari, RAM prozesurako sarbidea erabiltzaileen espaziotik kontrolatzeaz gain, memoria kudeaketan eragiteko aukera ematen baitute. Hain zuzen ere, "LRU_SORT" modulu berri bat proposatu da, LRU (Erabilitako azkenaldian) zerrenden birtaldekatzea eskaintzen duena memoria-orri batzuen lehentasuna handitzeko.
    • Memoria-eskualde berriak sortzeko gaitasuna CXL (Compute Express Link) busaren gaitasunak erabiliz ezarri da, CPU eta memoria-gailuen arteko abiadura handiko elkarrekintza antolatzeko erabiltzen dena. CXL-k kanpoko memoria-gailuek emandako memoria-eskualde berriak konektatzeko aukera ematen du eta helbide fisikoko baliabide osagarri gisa erabiltzeko sistemaren ausazko sarbide-memoria (DDR) edo memoria iraunkorra (PMEM) zabaltzeko.
    • Duela 20 urte gehitutako kodearen ondorioz sortutako AMD Zen prozesadoreen errendimendu-arazoak konpondu ziren chipset batzuetan hardware-arazo bati aurre egiteko (WAIT instrukzio gehigarri bat gehitu zen prozesadorea moteltzeko, chipsetak inaktibo egoerara joateko denbora izan zuen). Aldaketak errendimendua murriztea eragin zuen maiz inaktibo eta lanpetuta egoeren artean txandakatzen diren lan-kargak. Adibidez, konponbidea desgaitu ondoren, tbench testaren batez besteko puntuazioak 32191 MB/s-tik 33805 MB/s-ra igo ziren.
    • Zereginen programatzailetik heuristikodun kodea kendu da, prozesuen migrazioa bermatuz gutxien kargatutako CPUetara, energia-kontsumoan aurreikusitako irabazia kontuan hartuta. Garatzaileek ondorioztatu zuten heuristikoa ez zela nahikoa erabilgarria eta errazagoa zela kentzea eta prozesuak migratzea ebaluazio gehigarririk gabe, migrazio horrek potentzialki potentzialki kontsumo txikiagoa eragin zezakeen bakoitzean (adibidez, helburuko CPUa potentzia maila baxuagoan dagoenean). Heuristikoak desgaitzeak energia-kontsumoa murriztea ekarri zuen zeregin intentsiboak egiterakoan, adibidez, bideoa deskodetzeko proban, energia-kontsumoa % 5.6 murriztu zen.
    • Sistema handietako CPU-nukleoen artean zereginen banaketa optimizatu egin da, eta horrek errendimendua hobetu du lan-karga mota batzuetarako.
    • Io_uring I/O interfaze asinkronoak bandera berri bat eskaintzen du, IORING_RECV_MULTISHOT, eta horrek aukera ematen du plano anitzeko modua erabiltzeko recv() sistema-deiarekin sareko socket beretik irakurketa eragiketa anitz egiteko aldi berean. io_uring-ek sareko transferentzia ere onartzen du tarteko buffering gabe (zero-kopia).
    • Uprobeari loturiko BPF programak lo egoeran jartzeko gaitasuna inplementatu du. BPF-k ksym iteratzaile berri bat ere gehitzen du nukleoaren sinboloen taulekin lan egiteko.
    • Sysfs-en "efivars" interfaze zaharkitua, UEFI abiarazte-aldagaietara sartzeko pentsatua, kendu egin da (efivarfs FS birtuala gaur egun unibertsalki erabiltzen da EFI datuetara sartzeko).
    • Perf utilitateak txosten berriak ditu blokeo-gatazkak eta prozesadoreak nukleoaren osagaiak exekutatzen dituen denbora aztertzeko.
    • CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3 ezarpena kendu da, eta horri esker nukleoa "-O3" optimizazio moduan eraiki da. Kontuan izan da optimizazio moduekin esperimentuak muntaian zehar banderak pasatuz egin daitezkeela ("make KCFLAGS=-O3"), eta Kconfig-i ezarpen bat gehitzeak errendimendu-profil errepikakorra eskatzen du, "-O3" moduan erabiltzen den begizta desegiteak ematen duela erakutsiz. onura bat "-O2" optimizazio mailarekin alderatuta.
    • Debugfs interfaze bat gehitu da "memoria murrizteko" indibidualen funtzionamenduari buruzko informazioa lortzeko (kudeatzaileek memoria nahikoa ez dagoenean deitzen diete eta nukleoaren datu-egiturak paketatzeko memoria-kontsumoa murrizteko).
    • OpenRISC eta LoongArch arkitekturetarako, PCI buserako euskarria ezartzen da.
    • RISC-V arkitekturarako, "Zicbom" luzapena inplementatu da cachearekin koherentea ez den DMA duten gailuak kudeatzeko.
  • Birtualizazioa eta segurtasuna
    • RV (Runtime Verification) egiaztapen-mekanismo bat gehitu da, hutsegiterik ez dutela bermatzen duten sistema fidagarrietan funtzionamendu zuzena egiaztatzeko. Egiaztapena exekuzioan egiten da kudeatzaileak erantsiz exekuzioaren benetako aurrerapena egiaztatzen duten traza-puntuei, sistemaren espero den portaera definitzen duen makinaren erreferentzia-eredu deterministiko aurrez zehaztu batekin. Exekuzio garaian ereduarekin egiaztatzea metodo arinagoa eta inplementatzeko errazago gisa kokatzen da sistema kritikoetan exekuzioaren zuzentasuna egiaztatzeko, fidagarritasuna berresteko metodo klasikoak osatuz. RVren abantailen artean, sistema osoa modelizazio-lengoaia batean inplementatu gabe egiaztapen zorrotza eskaintzeko gaitasuna dago, baita ustekabeko gertaerei erantzun malgua ere.
    • Intel SGX2 (Software Guard eXtensions) teknologian oinarritutako enklabeak kudeatzeko nukleo-osagai integratuak, aplikazioek memoria-enkriptatutako eremu isolatuetan kodea exekutatzea ahalbidetzen baitu, gainerako sistemak sarbide mugatua baitu. Intel SGX2 teknologia Intel Ice Lake eta Gemini Lake txipetan onartzen da, eta Intel SGX1etik desberdintzen da enklabeen memoria dinamikoaren kudeaketarako jarraibide gehigarrietan.
    • X86 arkitekturarako, abio-kargagailuaren ezarpenen bidez pseudoausazko zenbaki-sorgailuaren hazia transferitzeko gaitasuna ezarri da.
    • SafeSetID LSM moduluak setgroups() deiaren bidez egindako aldaketak kudeatzeko gaitasuna du orain. SafeSetID-ek sistemako zerbitzuei erabiltzaileak modu seguruan kudeatzeko aukera ematen die pribilegioak handitu gabe (CAP_SETUID) eta root pribilegioak lortu gabe.
    • ARIA bloke zifratzeko euskarria gehitu da.
    • BPF-n oinarritutako segurtasuna kudeatzeko moduluak prozesu indibidualetara eta prozesu taldeetara (cgroups) kudeatzaileak eransteko gaitasuna eskaintzen du.
    • Watchdog inplementazioa duen mekanismo bat gehitu da vCPUren jarduera kontrolatzean oinarritutako sistema gonbidatuen zintzilikadurak detektatzeko.
  • Sarearen azpisistema
    • BPF azpisistemara SYN cookieak sortzeko eta egiaztatzeko kudeatzaileak gehitu dira. Gainera, konexioen egoera atzitzeko eta aldatzeko funtzio multzo bat (kfunc) gehitu da.
    • Haririk gabeko pilak MLO (Multi-Link Operation) mekanismorako laguntza gehitu du, WiFi 7 zehaztapenean zehaztutakoa eta gailuek aldi berean maiztasun-banda eta kanal desberdinak erabiliz datuak jaso eta bidaltzeko aukera ematen diena, adibidez, aldi berean hainbat komunikazio-kanal ezartzeko. bezero-gailu baterako sarbide-puntua.
    • Nukleoan integratutako TLS protokoloaren errendimendua hobetu da.
    • Nukleoko komando-lerroko aukera bat gehitu da "hostname=" ostalari-izena abio-prozesuan hasieran ezar dadin, erabiltzailearen espazioaren osagaiak hasi aurretik.
  • ΠžΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅
    • i915 (Intel) kontrolatzaileak Intel Arc (DG2/Alchemist) A750 eta A770 bideo-txartel diskretuetarako laguntza eskaintzen du. Intel Ponte Vecchio (Xe-HPC) eta Meteor Lake GPUetarako euskarriaren hasierako ezarpena proposatu da. Lanak jarraitzen du Intel Raptor Lake plataforma onartzen.
    • Amdgpu kontrolatzaileak AMD RDNA3 (RX 7000) eta CDNA (Instinct) plataformetarako laguntza ematen jarraitzen du.
    • Nouveau kontrolatzaileak NVIDIA nv50 GPU pantaila-motorrentzako laguntza-kodea berritu du.
    • LogiCVC pantailetarako logicvc DRM kontrolatzaile berria gehitu da.
    • v3d kontrolatzaileak (Broadcom Video Core GPUrako) Raspberry Pi 4 plakak onartzen ditu.
    • Qualcomm Adreno 619 GPUrako laguntza gehitu zaio msm kontrolatzaileari.
    • Panfrost kontrolatzaileari ARM Mali Valhall GPUrako laguntza gehitu zaio.
    • Lenovo ThinkPad X8s ordenagailu eramangarrietan erabiltzen diren Qualcomm Snapdragon 3cx Gen13 prozesadoreetarako hasierako laguntza gehitu da.
    • Soinu kontrolatzaileak gehitu dira AMD Raphael (Ryzen 7000), AMD Jadeite, Intel Meteor Lake eta Mediatek MT8186 plataformetarako.
    • Intel Habana Gaudi 2 ikaskuntza automatikoko azeleragailuetarako euskarria gehitu da.
    • ARM SoC Allwinner H616, NXP i.MX93, Sunplus SP7021, Nuvoton NPCM8XX, Marvell Prestera 98DX2530, Google Chameleon v3rako laguntza gehitu da.

Aldi berean, Latin American Free Software Foundation-ek guztiz doako 6.0 nukleoaren bertsio bat osatu zuen - Linux-libre 6.0-gnu, askeak ez diren osagaiak edo kode-atalak dituzten firmwareko elementuak eta kontrolatzaileak garbitu zituena, zeinaren esparrua dena. fabrikatzaileak mugatuta. Bertsio berriak CS35L41 HD audio kontrolatzailean eta STM32G0 mikrokontrolagailuetarako UCSI kontrolatzailean blobak erabiltzea desgaitzen du. Qualcomm eta MediaTek txipetarako DTS fitxategiak garbitu dira. MediaTek MT76 kontrolatzailean blobak desgaitzea berraztertu da. Blob garbiketa-kode eguneratua AMDGPU, Adreno, Tegra VIC, Netronome NFP eta Habanalabs Gaudi2 kontrolatzaile eta azpisistemetan. VXGE kontrolatzailea garbitzeari utzi zion, nukleotik kendu zena.

Iturria: opennet.ru

Gehitu iruzkin berria