
Trečiasis ateities kandidatas į paleidimą 6.18 atvyksta Be fanfarų ir su tuo ramiu pulsu, kurį taip vertina branduolio ekosistema. Pasak paties Linuso Torvaldso, skaičiai yra vidutiniai, o ciklas vyksta normaliai; kitaip tariant, „Linux 6.18-rc3“ nušlifuoja, pataiso ir derina klaidas be revoliucijų, daugiausia dėmesio skiriant pataisymams, išsklaidytiems visame medyje.
Savo trumpame pranešime Torvaldsas atkreipia dėmesį, kad didžiausią šios partijos dalį sudaro SMB Direct pataisymai, tiek kliento, tiek serverio pusėje, ir nemažai tikslinimo pataisymų. Likusi dalis platinama kaip įprasta: maždaug pusė paveikia tvarkykles (taip pat pridedant „DeviceTree“ susiejimus) ir Likę pataisymai yra įvairūs: XFS, tinklai, io_uring, DRM, Rust Binder ir kompanija. Jei jus domina detalės, pateikiame trumpą žurnalą su dešimtimis pakeitimų, kuriuos apžvelgiame pagal posistemę.
Svarbiausios naujos „Linux 6.18-rc3“ funkcijos
Šioje savaitės analizėje išsiskiria SMB tiesioginio valdymo blokas. Tiek SMB klientas, tiek serveris koreguoja kreditus ir eiles, kad būtų išvengta regresijos ir išteklių trūkumo. Kelios posistemio dalys pakelia kartelę užtikrindamos, kad Siuntimo/praplovimo struktūros rezervuoja pakankamai vietos ir kad atjungimo būsenos patikimai pažadina visas laukiančias gijas.
Be to, į XFS įterpti pataisymai, siekiant išvengti užimtumo ciklų segmentų rinkiklyje, talpykloje išsaugoti atviras sritis i_private, sugriežtinti nebenaudojamų prijungimo parinkčių tvarkymą ir ištaisyti jautrias nuorodų tikrinimo ir blokavimo dalisŠio rc3 XFS pakeitimai sutelkti į stabilumą ir aiškią diagnostiką senesniems parametrams.
Kitą pyrago pusę sudaro įprastas tvarkyklių ir platformų mišinys: nuo DRM/AMD ir DRM/Xe iki „Rockchip“, per „mlx5/mlx5e“ tinklus, „Realtek“ ir „Micrel PHY“, UFS/Qualcomm, USB/xHCI DbC ir daug daugiau. Tai „santechnikos“ tipo „rc3“, kuriame... Vertė yra mažų pataisų suma kurie apsaugo nuo gedimų, atminties nutekėjimo ar laiko neatitikimų.
MVĮ ir MVĮ tiesiogiai: dėmesys patikimumui
El trumpasis žurnalas aiškiai parodo SMB Direct pastangas. Tarp svarbiausių punktų:
- SMB klientas ir serveris koreguoja darbo užklausų erdvę, užkirsdami kelią perpildymui ir užtikrindami saugų QP nutekėjimą (ib_drain_qp). Įvedami ir sunaudojami skaitikliai. Siuntimo kreditai kritiniuose keliuose.
- Serveris supaprastina giminingų siuntimo kelių sąrašų valdymą („flush“ / „send_done“) ir priverčia RDMA atjungimą pažadinti visas gijas iš pirmo bandymo.
- Pėdsakai smb3_rw_credits faile yra sustiprinti, įtraukimai pertvarkomi taip, kad struktūros būtų prieinamos pėdsakų taškuose ir TCP kreditų struktūrose pasirašytų tipų reikšmės yra fiksuotos..
Apskritai, „SMB Direct“ pakeitimais siekiama užtikrinti, kad RDMA perdavimai esant apkrovai vyktų sklandžiai, veiktų nuspėjamai ir tvarkytų klaidų būsenas nepaliekant jokių užstrigusių gijų. Tai yra pakeitimai, kurie, nors ir subtilūs, padaryti skirtumą didelio našumo aplinkoje.
Failų sistemos ir saugykla
Skyrelis failų sistemos ir blokai apima keletą žymių kūrinių:
- XFS: vengti užimtų ciklų, kaupti talpyklos zonas, uždrausti __GFP_NOFAIL FS konteksto inicializavimo metu, patobulinti nebenaudojamų parinkčių pranešimus ir sutaisyti spynas ir sektorių skaitiklius.
- Btrfs: Pataisymai funkcijoje „ref-verify“ (IS_ERR ir NULL), atlaisvintas iš dalies inicijuotas fs_info gedimų atveju ir pataisymas funkcijoje „btrfs send“, kad būtų išvengta rmdir operacijų dubliavimo su „extrefs“.
- EROFS: Kenkėjiškai užkoduotų plėtinių apdorojimo griežtinimas siekiant išvengti ciklų ir konsoliduoti peržiūrimas paieškas sugadintuose subpuslapiuose.
- Blokų sluoksnis: Naudojant apsaugos informaciją (PI), užtikrinti LBA lygiavimą, kad būtų išlaikytas žemo lygio vientisumas.
Taip pat yra veiklos scsi/ufs/phy (naujų suderinamų komponentų susiejimai), „storvsc“ teikia pirmenybę kanalams, turintiems afinitetą procesoriui, išduodančiam įvesties/išvesties duomenis, ir yra tvarkyklių, tokių kaip qla4xxx, pakeitimų. Tai yra dalys, kurios kartu sustiprinti įvesties / išvesties stabilumą ir našumą realiais atvejais.
Tinklai: mlx5/mlx5e, sujungimas, HSR ir kita
Internete vaizdas įvairus, daugiausia dėmesio skiriant vairuotojams, didelis našumas ir mažai lankomi kampeliai:
- mlx5/mlx5e: PPHCR registrų maskavimas PCAM, praleidžiant užklausas, jei įrenginys nepalaiko registro, ir RX pataisymai generuojant skbs iš netiesinių xdp_buffs tiek senesnėse, tiek stridingose eilėse. Taip pat, IPsec pataisymai MPV įrenginiuose ir „devcom“ klaidų atveju grąžina NULL.
- Susiejimas: Pavaldžių įrenginių masyvas atnaujinamas transliavimo režimu, o galimi tarpusavio pranešimų praradimai ar dubliavimai yra ištaisomi.
- HSR: Neleidžia kurti įrenginių su pavaldiniais iš kitų tinklų, uždarant nenuoseklų konfigūracijos kelią.
- „Gro“ ir „gro_cells“: „hwtstamps“ išvalomi skbs pakartotinio naudojimo keliuose ir ištaisytas užrakto disbalansas gro_cells_receive.
- Kita: „virtio-net“ nulizuoja nenaudojamus maišos laukus; „hibmcge“ pasirenka FIXED_PHY; „dlink“ naudoja „dev_kfree_skb_any“; „stmmac/rk“ ištaiso laikrodžio pasirinkimo funkciją; „enetc“ ištaiso MDIO užrakto aklavietes ir TRUESIZE reikšmę.
Apskritai tinklo stekas gauna tą pataisymų srautą, kuris apsaugo nuo netikėtumų esant apkrovai ir rūpinasi duomenų kelių detalėmis, kurios, jei jos neveikia, išversti į delsą, nuostolius ar blokus.
Grafika ir ekranas: DRM/AMD, DRM/Xe, „Rockchip“ ir QR Panic
DRM erdvė taip pat juda, saugumo ir stabilumo pokyčiai:
- DRM/AMD ekranas: Naudokite GFP_NOWAIT pertraukimų kontekste, padidinkite nuorodos maksimalų dydį ir venkite NULL prieigų nuorodoje→enc; taip pat, nulinio rodyklės pataisymas konkrečiuose keliuose.
- DRM/Xe: Išsaugoti VM žymes iš naujo kuriant ir skaidant VM su „madvise“, o automatinį „madvise“ atkūrimą paslėpti už VM_BIND žymos, pašalinant pavojingus kraštus.
- „Rockchip“: Teisinga SCLIN kaukė RK3228 dw_hdmi faile.
- drm/panika: keli „panikos režimo“ patobulinimai su logotipu ir QR kodu: išvengiama persidengimų su logotipu, užtikrinamos teigiamos vertikalios paraštės, išvengiama dalybos nuliu, kai ekrano plotis yra mažesnis už šrifto plotį, ir neperkelkite puslapių su 24 bitų pikseliais.
- „Intel i915“: užkertamas kelias panikos objekto nutekėjimui skirstant jo struktūrą.
Net „Panthor“ (GPU) buvo pakoreguotas, kad branduolio panikos metu iš dalies neištrintų VA regiono – tai erzinanti klaida, pasireiškusi fragmentuotos atminties scenarijuose. Tai pakeitimai, kurie, nors ir subtilūs, išvengti gedimų tikruose kompiuteriuose.
Rūdžių segtuvas ir klasikinis segtuvas
„Rust Binder“ toliau tobulėja, atlikus keletą pakeitimų: įspėjimas apie našlaičių atvaizdavimus buvo pašalintas, „freeze_notif_done“ pranešimas iš naujo siunčiamas netikėtų būsenų atveju, „FreezeListener“ neleidžiama ištrinti, jei yra laukiančių dublikatų, o pranešimai pateikiami tik tada, kai procesas iš tikrųjų yra sustabdytas. Tuo pačiu metu klasikinis „Binder“ pašalina „neteisingo silpno įsk.“ patikrinimą, kuris nebeprisideda. Įrankių grandinės pusėje, „objtool“ atpažįsta papildomą „Rust“ funkciją kaip „noreturn“ ir išvalytas iškraipytas įspėjimas „Rust Binder“.
io_uring, sqpoll ir zc rx
„io_uring“ funkcijoje atlikti keli chirurginiai pakeitimai: ištaisytas netinkamas „unlikely()“ naudojimas „io_waitid_prep()“ funkcijoje, pakoreguota __must_hold anotacija, ištaisytas automatinis buferių patvirtinimas „uring_cmd“ kelių veiksmų komandoms ir „sqpoll“ procesoriaus apskaita yra iš naujo įvertinta „getrusage()“ paliksime kitam kartui ir „stime“ atnaujinsime intelektualiau. Taip pat pridėtas įrašas „zcrx“ prie „TAITAINERS“.
Architektūros ir ACPI: RISC-V, arm64 ir x86
The architektūros Jie yra įvairūs ir konkretūs:
- RISC-V: pgprot_dmacoherent() yra apibrėžtas nekoherentiems įrenginiams, išjungtų procesorių informacija DT nespausdinama, IPI IRQ registruojami unikaliais pavadinimais, MAX_POSSIBLE_PHYSMEM_BITS yra apibrėžtas zsmalloc ir Nereikalingos senosios makrokomandos pašalinamosTaip pat ištaisyti neinicializuoti hwprobe naudojimo būdai ir vėlai inicializuotas raktas vDSO.
- arm64: MTE įspėjimas nerodomas, jei puslapis jau buvo pažymėtas žyme „copy_highpage()“.
- x86: Koreguotas „RETBLEED“ pranešimas „Intel“, ištaisytas „Entrysign“ revizijos patikrinimas „Zen1“ / „Naples“ ir Negyvas kodas išvalomas švelninimo priemonėse.
- ACPI/properties: Ištaisyta argumentų tvarka funkcijoje acpi_node_get_property_reference() ir pašalinti įspėjimai, kai RIMT išjungiama IOMMU_API.
Taip pat ištaisomos keistos klaidos, pvz., „pcibios_align_resource()“ MIPS Maltoje, skirtos užrakinti IO diapazonus, ir klaviatūros ištekliai, kurie neleido registruotis i8042. Tai nedideli pakeitimai, kurie... išvengti aklavietės scenarijų arba trapių inicializacijų.
Tvarkyklės ir magistralės: SPI, nuoseklusis, hwmon, GPIO, PCI/ASPM ir kt.
Šis RC duoda gerą krūva pataisymų vairuotojuose:
- SPI: „Airoha“ klaidingas dirmapas dabar grąžina klaidą, pridėtas dviejų/keturių įrenginių palaikymas exec_op, grįžtama į ne DMA režimą, jei kas nors nepavyksta, ir ištaisomos kelių plokštumų blykstės kiekvienam LUN; NXP FSPI prireikus nustato laikrodį iš naujo ir riboja dažnį pagal šaltinį, be to, kad pridėta uždelsimo po DLL užrakinimo; „Intel SPI“ prideda 128M tankio ir naujų platformų („Arrow Lake-H“, „Wildcat Lake“) palaikymą.
- Nuoseklusis ir TTY: 8250_dw apdoroja klaidas atstatant nustatymus; 8250_mtk įjungia baudos laikrodį ir perduoda jį vykdymo laiko PM; sc16is7xx išvalo nereikalingus įjungtus baudus; sh-sci ištaiso FIFO viršijimą.
- PCI/ASPM: „DeviceTree“ platformose įjungti tik L0 ir L1 – tai konservatyvus sprendimas, siekiant išvengti nepatvirtintų būsenų.
- GPIO: ACPI sumažina atmetimo klaidos sunkumą; gpio-regmap prideda fixed_direction_output parametrą; IDIO-16 moduliai apibrėžia
maksimalus galiojančių adresų skaičius ir fiksuotojo ryšio adresai. - „Hwmon“ ir „pmbus“: ištaisytos nuorodų nutekėjimo į antrinius mazgus klaidos ir atnaujinti „Max“ / „ISL“ modelio koeficientai, taip pat pateikta išsami informacija apie GPD ventiliatoriaus tvarkyklę.
Tuo pačiu metu prie „SPI Cadence“ („ZynqMP“ / „Versal-Net“), „Rockchip RK3506“ ir „UFS QMP for Kaanapali“ pridedami su DT suderinami moduliai, be naujų parinkčių ID („Telit FN920C04 ECM“, „Quectel RG255C“, „UNISOC UIS7720“). tiksliai derina palaikymą naujai atvykusiai aparatinei įrangai.
Atmintis, plokštė ir mm/damon
Taip pat atkreipiamas dėmesys į atminties sritį: slab režime vengiama lenktynių su obj_exts ir NULL painiavos sąlygomis; mm/mremap teisingai atsižvelgia į seną susiejimą po DONTUNMAP; THP apsaugo nuo nuodų kaupimosi skaidant didelius puslapius; DAMON išvalo ops_filter nuotėkius ir centralizuoja kvotų tikslinę logiką„hugetlbfs“ funkcijoje užrakinimo teiginiai perkeliami po ankstyvų „huge_pmd_unshare()“ grąžinimų.
Saugumas, sekimas ir „Kconfig“
Mažos, bet svarbios detalės:
- lib/crypto: Poly1305 atkuria priklausomybes su !KMSAN, vengdamas konfigūracijų konfliktų.
- include/trace: Ištaisyta paleidimo metu skaičiavimo pagalbinė funkcija nepavykus paleidimui; pridėti SMB3 sekimo taškai skaitymo / rašymo kreditams.
- Įvairūs Kconfig nustatymai: patobulinta CONFIG_XFS_RT pagalba, o testai / statistika susieti su DEBUG_FS. Priklausomybių pataisymai QCOMTEE ir kitose platformose.
Tai yra diskretiški pakeitimai, kurie padeda išvengti problemų konfigūruojant branduolį ir lengviau diagnozuoti, kada kažkas nepaleidžiama tinkamai. Šių gyvenimo kokybės patobulinimų suma sugaištama mažiau laiko.
Šioje 6.18-rc3 apžvalgoje pagrindinis dėmesys skiriamas patikimumui, o ne fejerverkams. Nuo SMB Direct bloko iki XFS patobulinimų, daugybės tvarkyklių ir pataisymų tinklo, grafikos ir atminties srityse – viskas rodo patikimesnį branduolį. Pridėjus versijų žemėlapį (6.17 yra naujausia stabili versija, o 6.12/6.6 – LTS versija), gauname nuoseklų dabartinės būklės vaizdą: Nuolatinė iteracija, ilgalaikė parama ten, kur tai svarbu ir migracijos kelią, kurį kiekviena komanda gali ramiai nubrėžti, žinodama, kurios šakos yra saugios, o kurios dar tik pradeda savo veiklą.
