Rhyddhau cnewyllyn Linux 6.7

Ar ôl dau fis o ddatblygiad, cyflwynodd Linus Torvalds ryddhad cnewyllyn Linux 6.7. Ymhlith y newidiadau mwyaf nodedig: integreiddio system ffeiliau Bcachefs, rhoi'r gorau i gefnogaeth i bensaernïaeth Itanium, gallu Nouvea i weithio gyda firmware GSP-R, cefnogaeth ar gyfer amgryptio TLS yn NVMe-TCP, y gallu i ddefnyddio eithriadau yn BPF, cefnogaeth ar gyfer futex yn io_uring, optimeiddio perfformiad amserlennydd fq (ciwio teg), cefnogaeth ar gyfer yr estyniad TCP-AO (Opsiwn Dilysu TCP) a'r gallu i gyfyngu ar gysylltiadau rhwydwaith ym mecanwaith diogelwch Landlock, rheolaeth mynediad ychwanegol i ofod enwau defnyddwyr ac io_uring trwy AppArmor.

Mae'r fersiwn newydd yn cynnwys 18405 o atgyweiriadau gan 2066 o ddatblygwyr, maint y clwt yw 72 MB (effeithiwyd ar y newidiadau ar 13467 o ffeiliau, ychwanegwyd 906147 o linellau cod, dilëwyd 341048 o linellau). Roedd gan y datganiad diwethaf 15291 o atebion gan 2058 o ddatblygwyr, maint y clwt oedd 39 MB. Mae tua 45% o'r holl newidiadau a gyflwynwyd yn 6.7 yn gysylltiedig â gyrwyr dyfais, mae tua 14% o'r newidiadau yn ymwneud â diweddaru cod sy'n benodol i bensaernïaeth caledwedd, mae 13% yn gysylltiedig â'r pentwr rhwydwaith, mae 5% yn gysylltiedig â systemau ffeiliau, a 3% yn gysylltiedig ag is-systemau cnewyllyn mewnol.

Prif ddatblygiadau arloesol yng nghnewyllyn 6.7:

  • Is-system ddisg, systemau I/O a ffeiliau
    • Mae'r cnewyllyn yn mabwysiadu cod system ffeiliau Bcachefs, sy'n ceisio cyflawni perfformiad, dibynadwyedd a scalability XFS, ynghyd ag elfennau o'r ymarferoldeb uwch a geir yn Btrfs a ZFS. Er enghraifft, mae Bcachefs yn cefnogi nodweddion fel cynnwys dyfeisiau lluosog mewn rhaniad, gosodiadau gyriant aml-haen (yr haen isaf gyda data a ddefnyddir yn aml yn seiliedig ar SSDs cyflym, a'r haen uchaf gyda data llai a ddefnyddir o yriannau caled), atgynhyrchu (RAID). 1/10), caching, cywasgu data tryloyw (modiau LZ4, gzip a ZSTD), tafelli cyflwr (cipluniau), gwirio cywirdeb gan ddefnyddio checksums, y gallu i storio codau cywiro gwallau Reed-Solomon (RAID 5/6), storio gwybodaeth yn ffurflen wedi'i hamgryptio (defnyddir ChaCha20 a Poly1305). O ran perfformiad, mae Bcachefs ar y blaen i Btrfs a systemau ffeiliau eraill yn seiliedig ar y mecanwaith Copïo-ar-Write, ac yn dangos cyflymder gweithredu yn agos at Ext4 a XFS.
    • Mae system ffeiliau Btrfs yn cyflwyno modd cwota symlach sy'n eich galluogi i gyflawni perfformiad uwch trwy olrhain meintiau yn unig yn yr israniad y cânt eu creu, sy'n symleiddio cyfrifiadau'n sylweddol ac yn gwella perfformiad, ond nid yw'n caniatáu ichi ystyried y graddau a rennir mewn sawl un. israniadau.
    • Mae Btrfs wedi ychwanegu strwythur data “coeden streipen” newydd, sy'n addas ar gyfer mapio graddau rhesymegol mewn sefyllfaoedd lle nad yw mapiau ffisegol yn cyfateb ar draws dyfeisiau. Mae'r strwythur yn cael ei ddefnyddio ar hyn o bryd wrth weithredu RAID0 a RAID1 ar gyfer dyfeisiau bloc parth. Yn y dyfodol, maent yn bwriadu defnyddio'r strwythur hwn mewn RAIDs lefel uwch, a fydd yn datrys nifer o broblemau sy'n bodoli yn y gweithrediad presennol.
    • Mae system ffeiliau Ceph yn gweithredu cefnogaeth ar gyfer mapio IDau defnyddwyr systemau ffeiliau wedi'u gosod, a ddefnyddir i baru ffeiliau defnyddiwr penodol ar raniad tramor wedi'i osod â defnyddiwr arall ar y system gyfredol.
    • Ychwanegwyd y gallu i nodi uid a gid ar mount i efivarfs i ganiatáu i brosesau di-wraidd newid newidynnau UEFI.
    • Ychwanegwyd galwadau ioctl at exFAT ar gyfer darllen a newid priodoleddau FS. Ychwanegwyd trin cyfeiriaduron maint sero.
    • Mae F2FS yn gweithredu'r gallu i ddefnyddio blociau 16K.
    • Mae'r mecanwaith automount autofs wedi'i newid i ddefnyddio'r API mowntio rhaniad newydd.
    • Mae OverlayFS yn cynnig opsiynau gosod "lowerdir+" a "datadir+". Cefnogaeth ychwanegol ar gyfer mowntio nythu OverlayFS gyda xattrs.
    • Mae XFS wedi optimeiddio'r llwyth CPU yn y cod dyrannu bloc amser real. Darperir y gallu i berfformio gweithrediadau darllen a FICLONE ar yr un pryd.
    • Mae'r cod EXT2 wedi'i drosi i ddefnyddio ffolios tudalennau.
  • Gwasanaethau cof a system
    • Mae cefnogaeth i'r bensaernïaeth ia64 a ddefnyddir ym mhroseswyr Intel Itanium, a ddaeth i ben yn llwyr yn 2021, wedi'i dirwyn i ben. Cyflwynwyd proseswyr Itanium gan Intel yn 2001, ond methodd pensaernïaeth ia64 â chystadlu ag AMD64, yn bennaf oherwydd perfformiad uwch AMD64 a'r trosglwyddiad llyfnach o broseswyr 32-bit x86. O ganlyniad, symudodd buddiannau Intel o blaid proseswyr x86-64, ac arhosodd lot Itanium yn weinyddion Uniondeb HP, y stopiwyd archebion ar eu cyfer dair blynedd yn ôl. Tynnwyd y cod ar gyfer cefnogaeth ia64 o'r cnewyllyn yn bennaf oherwydd y diffyg cefnogaeth hirdymor i'r platfform hwn, tra mynegodd Linus Torvalds ei barodrwydd i ddychwelyd cefnogaeth ia64 i'r cnewyllyn, ond dim ond os oes cynhaliwr a all ddangos ansawdd uchel cefnogaeth i'r platfform hwn y tu allan i'r prif gnewyllyn am o leiaf blwyddyn.
    • Ychwanegwyd y paramedr gorchymyn llinell cnewyllyn “ia32_emulation”, sy'n eich galluogi i alluogi neu analluogi cefnogaeth ar gyfer efelychu modd 32-bit mewn cnewyllyn a adeiladwyd ar gyfer pensaernïaeth x86-64 yn y cam cychwyn. Ar yr ochr ymarferol, mae'r opsiwn newydd yn caniatáu ichi adeiladu'r cnewyllyn gyda chefnogaeth ar gyfer cydnawsedd â chymwysiadau 32-did, ond analluoga'r modd hwn yn ddiofyn i leihau'r fector ymosodiad ar y cnewyllyn, gan fod yr API cydnawsedd wedi'i brofi'n llai na'r prif gnewyllyn rhyngwynebau.
    • Mudo parhaus o newidiadau o gangen Rust-for-Linux yn ymwneud â defnyddio'r iaith Rust fel ail iaith ar gyfer datblygu gyrwyr a modiwlau cnewyllyn (nid yw cefnogaeth Rust yn weithredol yn ddiofyn, ac nid yw'n arwain at gynnwys Rust ymhlith y dibyniaethau cynulliad gofynnol ar gyfer y cnewyllyn). Mae'r fersiwn newydd yn newid i ddefnyddio'r datganiad Rust 1.73 ac mae'n cynnig set o rwymiadau ar gyfer gweithio gyda chiwiau gwaith.
    • Mae'n bosibl defnyddio'r mecanwaith binfmt_misc i ychwanegu cefnogaeth ar gyfer fformatau ffeil gweithredadwy newydd (er enghraifft, i redeg cymwysiadau Java neu Python wedi'u crynhoi) o fewn gofodau enwau di-freintiedig ar wahân.
    • Mae'r cgroup control cpuset, sy'n eich galluogi i reoli'r defnydd o greiddiau CPU wrth gyflawni tasg, yn darparu rhaniad i raniad lleol ac o bell, sy'n wahanol ai'r rhiant cgroup yw'r adran wraidd gywir ai peidio. Mae gosodiadau newydd “cpuset.cpus.exclusive” a “cpuset.cpus.excluisve.effeithiol” hefyd wedi'u hychwanegu at cpuset ar gyfer rhwymo CPU unigryw.
    • Mae is-system BPF yn gweithredu cefnogaeth ar gyfer eithriadau, sy'n cael eu prosesu fel allanfa frys o raglen BPF gyda'r gallu i ddad-ddirwyn fframiau stacio yn ddiogel. Yn ogystal, mae rhaglenni BPF yn caniatáu defnyddio awgrymiadau kptr mewn cysylltiad â'r CPU.
    • Mae cefnogaeth ar gyfer gweithrediadau gyda futex wedi'i ychwanegu at yr is-system io_uring, ac mae gweithrediadau newydd wedi'u rhoi ar waith: IORING_OP_WAITID (fersiwn anghydamserol o waitid), SOCKET_URING_OP_GETSOCKOPT (opsiwn getsockoptand), SOCKET_URING_OP_SETSOCCOPT (opsiwn setsockopt) ac IORING_OPILT not stop (opsiwn setsockopt) ac IORING_OPiLT not stop mae data neu nid yw'n glustog lawn).
    • Ychwanegwyd gweithredu ciwiau FIFO un-gysylltiedig ysgafn sy'n gofyn am sbinlock yn unig ar gyfer diciwio yng nghyd-destun y broses a rhoi gwared ar sbinlock ar gyfer ychwanegiadau atomig i'r ciw mewn unrhyw gyd-destun.
    • Ychwanegwyd byffer cylch "objpool" gyda gweithrediad graddadwy o ciw perfformiad uchel ar gyfer dyrannu a dychwelyd gwrthrychau.
    • Mae rhan gychwynnol y newidiadau wedi'i hychwanegu i weithredu'r API futex2 newydd, sydd â pherfformiad gwell ar systemau NUMA, yn cefnogi meintiau heblaw 32 did, a gellir ei ddefnyddio yn lle'r alwad system futex () amlblecs.
    • Ar gyfer pensaernïaeth ARM32 a S390x, mae cefnogaeth ar gyfer y set gyfredol (cpuv4) o gyfarwyddiadau BPF wedi'i ychwanegu.
    • Ar gyfer pensaernïaeth RISC-V, mae'n bosibl defnyddio'r modd gwirio Shadow-Call Stack sydd ar gael yn Clang 17, wedi'i gynllunio i amddiffyn rhag trosysgrifo'r cyfeiriad dychwelyd o swyddogaeth os bydd gorlif byffer ar y pentwr. Hanfod yr amddiffyniad yw cadw'r cyfeiriad dychwelyd mewn pentwr “cysgod” ar wahân ar ôl trosglwyddo rheolaeth i swyddogaeth ac adalw'r cyfeiriad hwn cyn gadael y swyddogaeth.
    • Mae modd sganio tudalennau cof clyfar newydd wedi'i ychwanegu at y mecanwaith ar gyfer uno tudalennau cof union yr un fath (KSM: Kernel Samepage Merging), sy'n olrhain tudalennau sydd wedi'u sganio'n aflwyddiannus ac yn lleihau dwyster eu hailsganio. Er mwyn galluogi'r modd newydd, mae'r gosodiad /sys/kernel/mm/ksm/smart_scan wedi'i ychwanegu.
    • Ychwanegwyd gorchymyn ioctl newydd PAGEMAP_SCAN, sydd, o'i ddefnyddio gyda userfaultfd(), yn caniatáu ichi bennu ffeithiau ysgrifennu i ystod cof penodol. Gellir defnyddio'r nodwedd newydd, er enghraifft, yn y system i arbed ac adfer cyflwr prosesau CRIU neu mewn systemau gwrth-dwyllo gêm.
    • Yn y system gydosod, os yw'r casglwr Clang ar gael, mae'r cydosod enghreifftiau o ddefnyddio'r is-system perf, a ysgrifennwyd fel rhaglenni BPF, wedi'i alluogi yn ddiofyn.
    • Mae'r hen haen videobuf, a ddefnyddiwyd i reoli byfferau ffrâm yn yr is-system gyfryngau ac a ddisodlwyd gan weithrediad newydd o videobuf10 fwy na 2 mlynedd yn ôl, wedi'i ddileu.
  • Rhithwiroli a Diogelwch
    • Mae'r gallu i amgryptio data mewn blociau llai na maint y bloc yn y system ffeiliau wedi'i ychwanegu at yr is-system fscrypt. Efallai y bydd angen hyn i alluogi mecanweithiau amgryptio caledwedd sydd ond yn cefnogi blociau bach (er enghraifft, gellir defnyddio rheolwyr UFS sydd ond yn cefnogi maint bloc 4096 gyda system ffeiliau gyda maint bloc 16K).
    • Mae'r is-system “iommufd”, sy'n eich galluogi i reoli tablau tudalennau cof IOMMU (Uned Rheoli Cof I/O) trwy ddisgrifyddion ffeiliau o ofod defnyddwyr, wedi ychwanegu olrhain data nad yw eto wedi'i fflysio o'r storfa (budr) ar gyfer DMA gweithrediadau, sy'n angenrheidiol ar gyfer pennu cof gyda data heb ei fflysio yn ystod mudo proses.
    • Mae cefnogaeth ar gyfer diffinio rheolau rheoli mynediad ar gyfer socedi TCP wedi'i ychwanegu at fecanwaith Landlock, sy'n eich galluogi i gyfyngu ar ryngweithio grŵp o brosesau â'r amgylchedd allanol. Er enghraifft, gallwch greu rheol sydd ond yn caniatáu mynediad i borth rhwydwaith 443 i sefydlu cysylltiadau HTTPS.
    • Mae is-system AppArmor wedi ychwanegu'r gallu i reoli mynediad i'r mecanwaith io_uring a chreu gofodau enwau defnyddwyr, sy'n caniatáu ichi ganiatáu mynediad i'r galluoedd hyn yn ddetholus i rai prosesau yn unig.
    • Ychwanegwyd API ardystio peiriant rhithwir i wirio cywirdeb y broses cychwyn peiriant rhithwir.
    • Mae systemau LoongArch yn cefnogi rhithwiroli gan ddefnyddio'r hypervisor KVM.
    • Wrth ddefnyddio'r hypervisor KVM ar systemau RISC-V, mae cefnogaeth ar gyfer yr estyniad Smstateen wedi ymddangos, sy'n rhwystro'r peiriant rhithwir rhag cyrchu cofrestrau CPU nad ydynt yn cael eu cefnogi'n benodol gan yr hypervisor. Hefyd cefnogaeth ychwanegol ar gyfer defnyddio estyniad Zicond mewn systemau gwesteion, sy'n caniatáu defnyddio rhai gweithrediadau cyfanrif amodol.
    • Mewn systemau gwestai sy'n seiliedig ar x86 sy'n rhedeg o dan KVM, caniateir hyd at 4096 o CPUs rhithwir.
  • Is-system rhwydwaith
    • Mae'r gyrrwr NVMe-TCP (NVMe over TCP), sy'n eich galluogi i gael mynediad i yriannau NVMe dros y rhwydwaith (NVM Express over Fabrics) gan ddefnyddio'r protocol TCP, wedi ychwanegu cefnogaeth ar gyfer amgryptio'r sianel trosglwyddo data gan ddefnyddio TLS (gan ddefnyddio KTLS a phroses gefndir yn y gofod defnyddiwr tlshd ar gyfer trafod cysylltiad).
    • Optimeiddiwyd perfformiad yr amserlen pecynnau fq (ciwio teg), a oedd yn ei gwneud hi'n bosibl cynyddu trwygyrch 5% o dan lwythi trwm yn y prawf tcp_rr (TCP Request/Ymateb) a 13% gyda llif diderfyn o becynnau CDU.
    • Mae TCP yn ychwanegu gallu dewisol stamp amser microsecond-gywirdeb (TCP TS) (RFC 7323), sy'n caniatáu ar gyfer amcangyfrif hwyrni mwy cywir a modiwlau rheoli tagfeydd mwy datblygedig. Er mwyn ei alluogi, gallwch ddefnyddio'r gorchymyn "ip route add 10/8 ... features tcp_usec_ts".
    • Mae'r stac TCP wedi ychwanegu cefnogaeth i'r estyniad TCP-AO (Opsiwn Dilysu TCP, RFC 5925), sy'n ei gwneud hi'n bosibl gwirio penawdau TCP gan ddefnyddio codau MAC (Cod Dilysu Neges), gan ddefnyddio algorithmau mwy modern HMAC-SHA1 a CMAC-AES- 128 yn lle hynny opsiwn TCP-MD5 a oedd ar gael yn flaenorol yn seiliedig ar yr algorithm MD5 etifeddiaeth.
    • Ychwanegwyd math newydd o ddyfeisiau rhwydwaith rhithwir “netkit”, y mae'r rhesymeg trosglwyddo data ynddi wedi'i gosod gan ddefnyddio rhaglen BPF.
    • Mae KSMBD, gweithrediad lefel cnewyllyn o weinydd SMB, wedi ychwanegu cefnogaeth ar gyfer datrys enwau ffeiliau sy'n cynnwys parau dirprwyol o nodau cyfansawdd.
    • Mae NFS wedi gwella gweithrediad edafedd gyda gwasanaethau RPC. Ychwanegwyd cefnogaeth ar gyfer dirprwyo ysgrifennu (ar gyfer NFSv4.1+). Mae NFSD wedi ychwanegu cefnogaeth ar gyfer y triniwr netlink rpc_status. Gwell cefnogaeth i gleientiaid NFSv4.x wrth ail-allforio i knfsd.
  • Offer
    • Mae cefnogaeth gychwynnol ar gyfer firmware GSP-RM wedi'i ychwanegu at fodiwl cnewyllyn Nouveau, a ddefnyddir yn y NVIDIA RTX 20+ GPU i symud gweithrediadau cychwynnol a rheoli GPU i ochr microreolydd GSP ar wahân (Prosesydd System GPU). Mae cefnogaeth GSP-RM yn caniatáu i'r gyrrwr Nouveau weithio trwy alwadau firmware, yn hytrach na rhaglennu rhyngweithiadau caledwedd yn uniongyrchol, gan ei gwneud hi'n llawer haws ychwanegu cefnogaeth ar gyfer GPUs NVIDIA newydd trwy ddefnyddio galwadau a adeiladwyd ymlaen llaw ar gyfer cychwyn a rheoli pŵer.
    • Mae'r gyrrwr AMDGPU yn cefnogi GC 11.5, NBIO 7.11, SMU 14, SMU 13.0 OD, DCN 3.5, VPE 6.1 a DML2. Gwell cefnogaeth ar gyfer llwytho di-dor (dim fflachio wrth newid modd fideo).
    • Mae'r gyrrwr i915 yn ychwanegu cefnogaeth ar gyfer sglodion Intel Meteor Lake ac yn ychwanegu gweithrediad cychwynnol Intel LunarLake (Xe 2).
    • Cefnogaeth ychwanegol ar gyfer sianeli trawsyrru anghymesur wedi'i ychwanegu at fanyleb USB4 v2 (120/40G).
    • Cefnogaeth ychwanegol ar gyfer ARM SoC: Qualcomm Snapdragon 720G (a ddefnyddir mewn ffonau smart Xiaomi), AMD Pensando Elba, Renesas, R8A779F4 (R-Car S4-8), USRobotics USR8200 (a ddefnyddir mewn llwybryddion a NAS).
    • Cefnogaeth ychwanegol ar gyfer y ffôn clyfar Fairphone 5 a byrddau ARM Orange Pi 5, QuartzPro64, Turing RK1, Variscite MX6, BigTreeTech CB1, Freescale LX2162, Google Spherion, Google Hayato, Genio 1200 EVK, RK3566 Powkiddy RGB30.
    • Cefnogaeth ychwanegol i fyrddau RISC-V Milk-V Pioneer a Milk-V Duo.
    • Cefnogaeth ychwanegol ar gyfer rhyngwynebau sain gliniaduron HUAWEI a gyflenwir â CPUs AMD. Cefnogaeth ychwanegol ar gyfer siaradwyr ychwanegol sydd wedi'u gosod ar liniaduron Dell Oasis 13/14/16. Cefnogaeth ychwanegol ar gyfer siaradwyr adeiledig ASUS K6500ZC. Cefnogaeth ychwanegol i'r dangosydd mud ar liniaduron HP 255 G8 a G10. Cefnogaeth ychwanegol ar gyfer gyrwyr sain acp6.3. Cefnogaeth ychwanegol ar gyfer rhyngwynebau recordio proffesiynol Focusrite Clarett+ 2Pre a 4Pre.

Ar yr un pryd, ffurfiodd Sefydliad Meddalwedd Rydd America Ladin fersiwn o'r cnewyllyn hollol rhad ac am ddim 6.7 - Linux-libre 6.7-gnu, wedi'i glirio o elfennau o firmware a gyrwyr sy'n cynnwys cydrannau nad ydynt yn rhydd neu adrannau cod, y mae eu cwmpas yn gyfyngedig gan y gwneuthurwr. Yn natganiad 6.7, mae'r cod glanhau blob wedi'i ddiweddaru mewn amrywiol yrwyr ac is-systemau, er enghraifft, yn yr amdgpu, nouveau, adreno, mwifiex, mt7988, ath11k, avs a gyrwyr btqca. Mae'r cod ar gyfer glanhau'r gyrwyr localtalk a rtl8192u wedi'i ddileu oherwydd eu bod wedi'u gwahardd o'r cnewyllyn. Wedi tynnu cydrannau diangen ar gyfer glanhau'r gyrwyr xhci-pci, rtl8xxxu a rtw8822b, a ychwanegwyd yn flaenorol trwy gamgymeriad. Glanhau enwau blob mewn ffeiliau dts ar gyfer pensaernïaeth Aarch64. Wedi tynnu smotiau yn y gyrwyr newydd mt7925, tps6598x, aw87390 ac aw88399.

Ffynhonnell: opennet.ru

Ychwanegu sylw