Linux kernelaren bertsioa 6.7

Bi hilabeteko garapenaren ondoren, Linus Torvaldsek Linux kernelaren 6.7 bertsioa aurkeztu zuen. Aldaketa aipagarrienen artean: Bcachefs fitxategi-sistemaren integrazioa, Itanium arkitekturarako euskarria etetea, Nouveak GSP-R firmwarearekin lan egiteko gaitasuna, NVMe-TCP-n TLS enkriptatzeko laguntza, BPFn salbuespenak erabiltzeko gaitasuna, futex-en laguntza io_uring-en, fq (Fair Queuing) programatzailearen errendimenduaren optimizazioa), TCP-AO luzapenaren laguntza (TCP Authentication Option) eta sare-konexioak mugatzeko gaitasuna Landlock segurtasun mekanismoan, sarbide-kontrola gehitu da erabiltzailearen izen-espaziorako eta io_uring. AppArmor bidez.

Bertsio berriak 18405 garatzaileren 2066 konponketa biltzen ditu, adabakiaren tamaina 72 MBkoa da (aldaketek 13467 fitxategiri eragin zioten, 906147 kode lerro gehitu ziren, 341048 lerro ezabatu ziren). Azken bertsioak 15291 garatzaileen 2058 konponketa izan zituen, adabakiaren tamaina 39 MB zen. 45-n sartutako aldaketa guztien % 6.7 inguru gailu kontrolatzaileei dagozkie, aldaketen % 14 gutxi gorabehera hardware-arkitekturaren berariazko kodea eguneratzeari dagozkio, % 13 sare-pilari dagokio, % 5 fitxategi-sistemei dagokie eta % 3. nukleo barneko azpisistemekin lotuta daude.

Berrikuntza nagusiak 6.7 nukleoan:

  • Disko azpisistema, I/O eta fitxategi sistemak
    • Nukleoak Bcachefs fitxategi-sistemaren kodea hartzen du, XFS-ren errendimendua, fidagarritasuna eta eskalagarritasuna lortzen saiatzen dena, Btrfs eta ZFS-en aurkitutako funtzionalitate aurreratuko elementuekin konbinatuta. Esate baterako, Bcachefs-ek funtzioak onartzen ditu, hala nola partizio batean gailu bat baino gehiago sartzea, geruza anitzeko disko-diseinuak (beheko geruza SSD azkarretan oinarritutako maiz erabiltzen diren datuekin eta goiko geruza disko gogorren datu gutxiago erabiltzen dituena), erreplikazioa (RAID). 1/10), cachea, datuen konpresio gardena (LZ4, gzip eta ZSTD moduak), egoera zatiak (instantanea), osotasuna egiaztatzea kontrol-baumak erabiliz, Reed-Solomon erroreak zuzentzeko kodeak gordetzeko gaitasuna (RAID 5/6), informazioa gordetzeko. forma zifratua (ChaCha20 eta Poly1305 erabiltzen dira). Errendimenduari dagokionez, Bcachefs Btrfs eta Copy-on-Write mekanismoan oinarritutako beste fitxategi sistemen aurretik dago, eta Ext4 eta XFS-tik gertu funtzionatzeko abiadura erakusten du.
    • Btrfs fitxategi-sistemak kuota modu sinplifikatu bat aurkezten du, errendimendu handiagoa lortzeko aukera ematen duena hedadurak soilik sortu diren azpipartizioan jarraituz, eta horrek nabarmen errazten ditu kalkuluak eta errendimendua hobetzen du, baina ez du onartzen hainbatetan partekatutako hedadurak kontuan hartzeko. azpipartizioak.
    • Btrfs-ek "marra-zuhaitza" datu-egitura berria gehitu du, hedadura logikorako mapak egiteko egokia mapeo fisikoak gailuen artean bat ez datozen egoeretan. Gaur egun, egitura RAID0 eta RAID1 inplementazioetan erabiltzen da zonakako bloke gailuetarako. Etorkizunean, egitura hori goi-mailako RAIDetan erabiltzeko asmoa dute, egungo ezarpenean dauden hainbat arazo konponduko dituztenak.
    • Ceph fitxategi-sistemak muntatutako fitxategi-sistemen erabiltzaile IDak mapatzeko laguntza ezartzen du, muntatutako atzerriko partizio batean erabiltzaile jakin baten fitxategiak uneko sistemako beste erabiltzaile batekin lotzeko erabiltzen dena.
    • Muntatzean uid eta gid zehazteko gaitasuna gehitu da efivarfs-i, erro ez diren prozesuek UEFI aldagaiak alda ditzaten.
    • Ioctl deiak gehitu dira exFAT-i FS atributuak irakurtzeko eta aldatzeko. Zero tamainako direktorioen kudeaketa gehitu da.
    • F2FS-k 16K blokeak erabiltzeko gaitasuna ezartzen du.
    • Autofs automuntatzeko mekanismoa aldatu egin da partizioak muntatzeko API berria erabiltzeko.
    • OverlayFS-k "lowerdir+" eta "datadir+" muntatzeko aukerak eskaintzen ditu. OverlayFS-ren xattrs-ekin habiaratuta muntatzeko euskarria gehitu da.
    • XFS-k PUZaren karga optimizatu du denbora errealeko blokeen esleipen-kodean. Irakurketa eta FICLONE eragiketak aldi berean egiteko gaitasuna eskaintzen da.
    • EXT2 kodea orri-folioak erabiltzeko bihurtu da.
  • Memoria eta sistema zerbitzuak
    • Intel Itanium prozesadoreetan erabilitako ia64 arkitekturarako euskarria, 2021ean guztiz etenda geratu zen, eten egin da. Itanium prozesadoreak Intelek 2001ean aurkeztu zituen, baina ia64 arkitekturak ez zuen AMD64-rekin lehiatu, batez ere AMD64-ren errendimendu handiagoagatik eta 32 biteko x86 prozesadoreetatik trantsizio arinagoa zelako. Ondorioz, Intel-en interesak x86-64 prozesadoreen alde aldatu ziren, eta Itanium-en lotea HP Integrity zerbitzariak izaten jarraitzen zuen, eskaerak duela hiru urte gelditu ziren. Ia64 euskarriaren kodea nukleotik kendu zen batez ere plataforma honen epe luzerako laguntza faltagatik, Linus Torvaldsek ia64 laguntza nukleora itzultzeko borondatea adierazi zuen bitartean, baina kalitate handiko froga dezakeen mantentzailerik badago. kernel nagusitik kanpo plataforma honen laguntza gutxienez urtebetez .
    • "ia32_emulation" kernel-lerroaren komando-parametroa gehitu da, abiarazte-fasean x32-86 arkitekturarako eraikitako nukleoetan 64 biteko moduaren emulaziorako euskarria gaitu edo desgaitzeko aukera ematen duena. Alderdi praktikoan, aukera berriak nukleoa 32 biteko aplikazioekin bateragarritasunerako laguntzarekin eraikitzeko aukera ematen du, baina modu hau lehenespenez desgaitu nukleoaren eraso-bektorea murrizteko, bateragarritasun APIa nukleo nagusia baino gutxiago probatzen baita. interfazeak.
    • Rust-for-Linux adarreko aldaketen migrazio jarraitua, Rust hizkuntza bigarren hizkuntza gisa erabiltzeko kontrolatzaileak eta kernel-moduluak garatzeko (Rust-en euskarria ez dago aktibo lehenespenez, eta ez du Rust-a sartzea dakar. nukleorako beharrezkoak diren muntaia-menpekotasunak). Bertsio berriak Rust 1.73 bertsioa erabiltzeko trantsizioa egiten du eta lan-ilarekin lan egiteko lotura multzo bat eskaintzen du.
    • Binfmt_misc mekanismoa erabil daiteke fitxategi exekutagarrien formatu berrietarako laguntza gehitzeko (adibidez, Java edo Python aplikazio konpilatuak exekutatzeko) pribilegiorik gabeko izen-espazio bereizietan.
    • cgroup controller cpuset-ek, zeregin bat exekutatzen denean CPU-nukleoen erabilera kontrolatzeko aukera ematen duena, tokiko eta urruneko partizioetan banatzen du, eta hauek desberdinak dira gurasoa cgroup erro-atal zuzena den ala ez. "cpuset.cpus.exclusive" eta "cpuset.cpus.excluisve.effective" ezarpen berriak ere gehitu zaizkio cpuset-ari PUZaren lotura esklusiborako.
    • BPF azpisistemak salbuespenetarako euskarria ezartzen du, BPF programa batetik larrialdi-irteera gisa prozesatzen diren markoak modu seguruan desegiteko gaitasunarekin. Horrez gain, BPF programek kptr erakusleak erabiltzea ahalbidetzen dute CPUarekin lotuta.
    • Futex-ekin eragiketen euskarria gehitu da io_uring azpisisteman, eta eragiketa berriak ezarri dira: IORING_OP_WAITID (waitid-en bertsio asinkronoa), SOCKET_URING_OP_GETSOCKOPT (getsockoptand aukera), SOCKET_URING_OP_SETSOCKOPT (setsockopt aukera) eta IORING_MULTISOP eragiketa gelditzen ez den bitartean (DOmulti_MULTISOP) datuak daude edo ez dago buffer osoa).
    • Konektatu bakarreko FIFO ilara arinen inplementazioa gehitu da, prozesu-testuinguru batean ilara kentzeko soilik spin-blokeoa behar dutenak eta edozein testuingurutan ilaran gehitze atomikoetarako spin-blokeo bat ezabatzen dutenak.
    • Eraztun-buffer "objpool" gehitu da, errendimendu handiko ilara baten ezarpen eskalagarrian objektuak esleitzeko eta itzultzeko.
    • Aldaketen hasierako zatia futex2 API berria ezartzeko gehitu da, NUMA sistemetan errendimendu hobea duena, 32 biteko beste tamainak onartzen dituena eta multiplexatutako futex() sistema-deiaren ordez erabil daitekeena.
    • ARM32 eta S390x arkitekturetarako, BPF instrukzioen egungo multzorako (cpuv4) euskarria gehitu da.
    • RISC-V arkitekturarako, Clang 17-n eskuragarri dagoen Shadow-Call Stack egiaztatzeko modua erabil daiteke, pilan buffer gainezka dagoenean funtzio batetik itzulera helbidea gainidazteaz babesteko diseinatua. Babesaren funtsa itzulera helbidea aparteko "itzal" pila batean gordetzea da, kontrola funtzio batera transferitu eta helbide hori berreskuratu ondoren funtziotik irten aurretik.
    • Memoria adimendunaren orriak eskaneatzeko modu berri bat gehitu zaio memoria-orrialde berdinak batzeko mekanismoari (KSM: Kernel Samepage Merging), arrakastarik gabe eskaneatutako orrien jarraipena egiten duena eta berriro eskaneatzearen intentsitatea murrizten duena. Modu berria gaitzeko, /sys/kernel/mm/ksm/smart_scan ezarpena gehitu da.
    • Ioctl komando berria PGEMAP_SCAN gehitu da, zeinak, userfaultfd(rekin) erabiliz gero, memoria-barruti zehatz batean idazteko gertaerak zehazteko aukera ematen duena. Ezaugarri berria, adibidez, sisteman erabil daiteke CRIU prozesuen egoera gordetzeko eta leheneratzeko edo jokoen aurkako iruzur sistemetan.
    • Asanblada-sisteman, Clang konpilatzailea erabilgarri badago, perf azpisistema erabiltzeko adibideen muntaketa, BPF programa gisa idatzita, gaituta dago lehenespenez.
    • Videobuf geruza zaharra, multimedia azpisisteman framebuffer-ak kudeatzeko erabiltzen zena eta duela 10 urte baino gehiago videobuf2-ren inplementazio berri batek ordezkatu zuena, kendu egin da.
  • Birtualizazioa eta segurtasuna
    • Fitxategi-sistemako bloke-tamaina baino bloke txikiagoetan datuak enkriptatzeko gaitasuna gehitu zaio fscrypt azpisistemari. Bloke txikiak soilik onartzen dituzten hardware enkriptatze-mekanismoak gaitzeko beharrezkoa izan daiteke (adibidez, 4096 bloke-tamaina soilik onartzen duten UFS kontrolagailuak erabil daitezke 16K bloke-tamaina duen fitxategi-sistema batekin).
    • "iommufd" azpisistemak, IOMMU (I/O Memory-Management Unit) memoria-orrialdeen taulak kudeatzeko aukera ematen du erabiltzaileen espaziotik fitxategi deskribatzaileen bidez, DMArako oraindik cachetik (zikin) garbitu ez diren datuen jarraipena gehitu du. eragiketak, prozesuaren migrazioan garbitu gabeko datuekin memoria zehazteko beharrezkoa dena.
    • TCP socketetarako sarbide-kontroleko arauak definitzeko euskarria gehitu zaio Landlock mekanismoari, prozesu talde batek kanpoko ingurunearekin duen elkarrekintza mugatzeko aukera ematen duena. Adibidez, HTTPS konexioak ezartzeko sareko 443 atakarako sarbidea soilik baimentzen duen arau bat sor dezakezu.
    • AppArmor azpisistemak io_uring mekanismorako sarbidea kontrolatzeko eta erabiltzailearen izen-espazioak sortzeko gaitasuna gehitu du, eta horrek aukera ematen dizu gaitasun horietarako sarbidea prozesu jakin batzuei soilik aukeratzeko.
    • Makina birtualaren egiaztagiriaren APIa gehitu da makina birtualaren abio prozesuaren osotasuna egiaztatzeko.
    • LoongArch sistemek birtualizazioa onartzen dute KVM hipervisorea erabiliz.
    • KVM hipervisorea RISC-V sistemetan erabiltzean, Smstateen luzapenerako euskarria agertu da, eta horrek makina birtualak hipervisoreak esplizituki onartzen ez dituen CPU erregistroetara atzitzea blokeatzen du. Gainera, sistema gonbidatuetan Zicond luzapena erabiltzeko euskarria gehitu da, baldintza osoko eragiketa batzuk erabiltzeko aukera ematen duena.
    • KVM-n exekutatzen diren x86-n oinarritutako sistema gonbidatuetan, 4096 CPU birtual onartzen dira.
  • Sarearen azpisistema
    • NVMe-TCP (NVMe over TCP) kontrolatzaileak, sarearen bidez NVMe unitateetara sartzeko aukera ematen duena (NVM Express over Fabrics) TCP protokoloa erabiliz, datu-transmisioko kanala TLS erabiliz enkriptatzeko laguntza gehitu du (KTLS eta atzeko planoko prozesu bat erabiliz). erabiltzailearen espazioan tlshd konexioa negoziatzeko).
    • fq (Fair Queuing) pakete-planifikatzailearen errendimendua optimizatu zen, eta horri esker, karga astunetan % 5 handitu zen tcp_rr (TCP Request/Response) proban eta % 13 UDP paketeen fluxu mugagabearekin.
    • TCP-k aukerako mikrosegundoko doitasun-zigilua (TCP TS) gaitasuna (RFC 7323) gehitzen du, latentziaren estimazio zehatzagoa eta pilaketa kontrolatzeko modulu aurreratuagoak ahalbidetzen dituena. Gaitzeko, "ip route add 10/8 ... features tcp_usec_ts" komandoa erabil dezakezu.
    • TCP pilak TCP-AO luzapenerako (TCP Authentication Option, RFC 5925) euskarria gehitu du, eta horri esker TCP goiburuak egiaztatzeko aukera ematen du MAC kodeak erabiliz (Message Authentication Code), HMAC-SHA1 eta CMAC-AES- algoritmo modernoagoak erabiliz. 128 ordez, aurretik eskuragarri zegoen TCP-MD5 aukera MD5 algoritmo heredatuan oinarrituta.
    • Sare birtualeko gailu "netkit" mota berri bat gehitu da, eta datu-transferentzia logika BPF programa baten bidez ezartzen da.
    • KSMBD, SMB zerbitzari baten kernel mailako inplementazioa, karaktere konposatuen ordezko bikoteak dituzten fitxategi-izenak ebazteko laguntza gehitu du.
    • NFS-k RPC zerbitzuekin harien ezarpena hobetu du. Idazketa eskuordetzeko euskarria gehitu da (NFSv4.1+erako). NFSD-k rpc_status netlink kudeatzailerako laguntza gehitu du. NFSv4.x bezeroentzako laguntza hobetu da knfsd-ra berriro esportatzean.
  • ΠžΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅
    • GSP-RM firmwarerako hasierako euskarria gehitu zaio Nouveau nukleoaren moduluari, NVIDIA RTX 20+ GPU-n erabiltzen dena hasierako eta GPU kontrolatzeko eragiketak GSP mikrokontrolagailu bereizi baten albo batera (GPU sistema prozesadorea) mugitzeko. GSP-RM laguntzari esker, Nouveau kontrolatzaileak firmware-deien bidez lan egin dezake, hardware-interakzioak zuzenean programatu beharrean, eta askoz errazagoa da NVIDIA GPU berrientzako laguntza gehitzea hasierako eta energia kudeatzeko aurrez eraikitako deiak erabiliz.
    • AMDGPU kontrolatzaileak GC 11.5, NBIO 7.11, SMU 14, SMU 13.0 OD, DCN 3.5, VPE 6.1 eta DML2 onartzen ditu. Garrantzirik gabeko kargarako laguntza hobetua (bideo modua aldatzean keinurik ez).
    • i915 kontrolatzaileak Intel Meteor Lake txipetarako euskarria gehitzen du eta Intel LunarLake (Xe 2) hasierako inplementazioa gehitzen du.
    • Transmisio-kanal asimetrikoetarako laguntza gehitu da USB4 v2 (120/40G) zehaztapenari.
    • ARM SoC-rako laguntza gehitu da: Qualcomm Snapdragon 720G (Xiaomi telefonoetan erabiltzen da), AMD Pensando Elba, Renesas, R8A779F4 (R-Car S4-8), USRobotics USR8200 (bideratzaileetan eta NASetan erabiltzen da).
    • Fairphone 5 telefonorako eta ARM plaketarako laguntza gehitu da Orange Pi 5, QuartzPro64, Turing RK1, Variscite MX6, BigTreeTech CB1, Freescale LX2162, Google Spherion, Google Hayato, Genio 1200 EVK, RK3566 Powkiddy RGB30.
    • Milk-V Pioneer eta Milk-V Duo RISC-V plaketarako euskarria gehitu da.
    • AMD CPUekin hornitutako HUAWEI ordenagailu eramangarrien soinu-interfazeetarako laguntza gehitu da. Dell Oasis 13/14/16 ordenagailu eramangarrietan instalatutako bozgorailu gehigarrietarako laguntza gehitu da. ASUS K6500ZC bozgorailu integratuetarako laguntza gehitu da. HP 255 G8 eta G10 ordenagailu eramangarrietan mututasun adierazlearen laguntza gehitu da. Acp6.3 audio kontrolatzaileentzako laguntza gehitu da. Focusrite Clarett+ 2Pre eta 4Pre grabazio-interfaze profesionaletarako laguntza gehitu da.

Aldi berean, Latin American Free Software Foundation-ek guztiz doako 6.7 nukleoaren bertsio bat osatu zuen - Linux-libre 6.7-gnu, askerik gabeko osagaiak edo kode-atalak dituzten firmware eta kontrolatzaileen elementuak garbitu zituena, zeinaren esparrua mugatua baita. fabrikatzaileak. 6.7 bertsioan, blob garbiketa kodea hainbat kontrolatzaile eta azpisistematan eguneratu da, adibidez, amdgpu, nouveau, adreno, mwifiex, mt7988, ath11k, avs eta btqca kontrolatzaileetan. Localtalk eta rtl8192u kontrolatzaileak garbitzeko kodea kendu egin da nukleotik kanpo geratu direlako. Xhci-pci, rtl8xxxu eta rtw8822b kontrolatzaileak garbitzeko beharrezkoak ez diren osagaiak kendu dira, aurretik akatsez gehituak. Aarch64 arkitekturarako dts fitxategietan blob izenak garbitu dira. Mt7925, tps6598x, aw87390 eta aw88399 kontrolatzaile berrietako blobak kendu dira.

Iturria: opennet.ru

Gehitu iruzkin berria