Rhyddhau cnewyllyn Linux 6.3

Ar ôl dau fis o ddatblygiad, cyflwynodd Linus Torvalds ryddhad cnewyllyn Linux 6.3. Ymhlith y newidiadau mwyaf nodedig: glanhau llwyfannau ARM etifeddiaeth a gyrwyr graffeg, integreiddio parhaus cefnogaeth iaith Rust, cyfleustodau hwnoise, cefnogaeth ar gyfer strwythurau coed coch-du yn BPF, modd TCP MAWR ar gyfer IPv4, meincnod Dhrystone adeiledig, y gallu i analluogi gweithredu yn memfd, cefnogi creu gyrwyr HID gan ddefnyddio BPF, mae newidiadau wedi'u gwneud i Btrfs i leihau darnio grwpiau bloc.

Mae'r fersiwn newydd yn cynnwys 15637 o atebion gan 2055 o ddatblygwyr; maint clwt - 76 MB (effeithiwyd ar y newidiadau ar 14296 o ffeiliau, ychwanegwyd 1023183 o linellau cod, dilëwyd 883103 o linellau). Mewn cymhariaeth, cynigiodd y fersiwn flaenorol 16843 o atebion gan 2178 o ddatblygwyr; maint y clwt yw 62 MB. Mae tua 39% o'r holl newidiadau a gyflwynwyd yn y cnewyllyn 6.3 yn gysylltiedig â gyrwyr dyfais, mae tua 15% o'r newidiadau yn ymwneud â diweddaru cod sy'n benodol i bensaernïaeth caledwedd, mae 10% yn gysylltiedig â'r pentwr rhwydwaith, mae 5% yn gysylltiedig â systemau ffeiliau, a Mae 3% yn gysylltiedig ag is-systemau cnewyllyn mewnol.

Prif ddatblygiadau arloesol yng nghnewyllyn 6.3:

  • Gwasanaethau cof a system
    • Cyflawnwyd glanhau cod sylweddol sy'n gysylltiedig â byrddau ARM hen a heb eu defnyddio, a oedd yn ei gwneud hi'n bosibl lleihau maint y cod ffynhonnell cnewyllyn 150 mil o linellau. Mae mwy na 40 o hen lwyfannau ARM wedi'u dileu.
    • Mae'r gallu i greu gyrwyr ar gyfer dyfeisiau mewnbwn gyda rhyngwyneb HID (Dyfais Rhyngwyneb Dynol), a weithredir ar ffurf rhaglenni BPF, wedi'i roi ar waith.
    • Mae trosglwyddiad ymarferoldeb ychwanegol yn ymwneud â defnyddio'r iaith Rust fel ail iaith ar gyfer datblygu modiwlau gyrwyr a chnewyllyn o'r gangen Rust-for-Linux wedi parhau. Nid yw cefnogaeth rust yn cael ei alluogi yn ddiofyn, ac nid yw'n arwain at gynnwys Rust fel dibyniaeth adeiladu cnewyllyn gofynnol. Mae'r ymarferoldeb a gynigiwyd mewn datganiadau blaenorol wedi'i ehangu i gefnogi'r mathau o Arc (gweithredu awgrymiadau gyda chyfrif cyfeirnod), ScopeGuard (glanhau wrth fynd allan o'r cwmpas) a ForeignOwnable (yn darparu symudiad awgrymiadau rhwng C a chod Rust). Mae'r modiwl 'benthyg' (math 'Cow' a'r nodwedd 'ToOwned') wedi'u tynnu o'r pecyn 'alloc'. Nodir bod cyflwr cefnogaeth Rust yn y cnewyllyn eisoes yn agos at ddechrau derbyn y modiwlau cyntaf a ysgrifennwyd yn Rust i'r cnewyllyn.
    • Mae Linux modd defnyddiwr (yn rhedeg y cnewyllyn fel proses defnyddiwr) ar systemau x86-64 yn gweithredu cefnogaeth ar gyfer cod a ysgrifennwyd yn yr iaith Rust. Cefnogaeth ychwanegol ar gyfer adeiladu Linux modd Defnyddiwr gan ddefnyddio clang gydag optimeiddio amser cyswllt (LTO) wedi'i alluogi.
    • Ychwanegwyd cyfleustodau hwnoise i olrhain oedi a achosir gan galedwedd. Penderfynir ar wyriadau yn amser gweithredu gweithrediadau (jitter) pan fydd prosesu ymyrraeth yn anabl, sy'n fwy nag un microsecond fesul 10 munud o gyfrifiadau.
    • Ychwanegwyd modiwl cnewyllyn sy'n gweithredu meincnod Dhrystone, y gellir ei ddefnyddio i werthuso perfformiad CPU mewn ffurfweddiadau heb gydrannau gofod defnyddiwr (er enghraifft, yn y cam cludo ar gyfer SoCs newydd sydd ond yn gweithredu llwytho cnewyllyn).
    • Ychwanegwyd paramedr llinell orchymyn cnewyllyn “cgroup.memory=nobpf”, sy'n analluogi cyfrif defnydd cof ar gyfer rhaglenni BPF, a all fod yn ddefnyddiol ar gyfer systemau â chynwysyddion ynysig.
    • Ar gyfer rhaglenni BPF, cynigir gweithredu'r strwythur data coed coch-du, ​​sy'n defnyddio kfunc + kptr (bpf_rbtree_add, bpf_rbtree_remove, bpf_rbtree_first) yn lle ychwanegu math mapio newydd.
    • Mae mecanwaith dilyniannau ailgychwynadwy (rseq, dilyniannau ailgychwynadwy) wedi ychwanegu'r gallu i drosglwyddo dynodwyr gweithredu cyfochrog (ID concurrency map cof) i brosesau, a nodwyd gyda'r rhif CPU. Mae Rseq yn darparu modd o gyflawni gweithrediadau yn gyflym yn atomig, sydd, os bydd edefyn arall yn torri ar eu traws, yn cael eu glanhau a rhoi cynnig arall arnynt.
    • Mae proseswyr ARM yn cefnogi cyfarwyddiadau BBaCh 2 (Estyniad Matrics Scalable).
    • Ar gyfer pensaernïaeth s390x a RISC-V RV64, mae cefnogaeth ar gyfer y mecanwaith “trampolîn BPF” wedi'i roi ar waith, sy'n caniatáu lleihau gorbenion wrth drosglwyddo galwadau rhwng y rhaglenni cnewyllyn a BPF.
    • Ar systemau gyda phroseswyr yn seiliedig ar bensaernïaeth RISC-V, gweithredir y defnydd o gyfarwyddiadau “ZBB” i gyflymu gweithrediadau llinynnol.
    • Ar gyfer systemau sy'n seiliedig ar bensaernïaeth set gyfarwyddiadau LoongArch (a ddefnyddir ym mhroseswyr Loongson 3 5000 ac yn gweithredu'r ISA RISC newydd, tebyg i MIPS a RISC-V), cefnogaeth ar gyfer hapleoli gofod cyfeiriad cnewyllyn (KASLR), newidiadau mewn lleoliad cof cnewyllyn (adleoli ), pwyntiau caledwedd yn cael ei weithredu stop a mecanwaith kprobe.
    • Mae mecanwaith DAMOS (Cynlluniau Gweithredu Monitro Mynediad Data), sy'n eich galluogi i ryddhau cof yn seiliedig ar amlder mynediad cof, yn cefnogi hidlwyr i eithrio rhai ardaloedd cof rhag prosesu yn DAMOS.
    • Mae llyfrgell safonol leiaf Nolibc C yn darparu cefnogaeth ar gyfer pensaernïaeth s390 a set gyfarwyddiadau Arm Thumb1 (yn ogystal â chefnogaeth ar gyfer ARM, AArch64, i386, x86_64, RISC-V a MIPS).
    • Mae Objtool wedi'i optimeiddio i gyflymu cydosod cnewyllyn a lleihau'r defnydd o gof brig yn ystod y cynulliad (wrth adeiladu'r cnewyllyn yn y modd “allyesconfig”, nid oes unrhyw broblemau bellach gyda therfynu prosesau gorfodol ar systemau gyda 32 GB o RAM).
    • Mae cefnogaeth ar gyfer cydosod cnewyllyn gan y casglwr Intel ICC wedi'i derfynu, sydd wedi bod yn anweithredol ers amser maith ac nid oes unrhyw un wedi mynegi awydd i'w drwsio.
  • Is-system ddisg, systemau I/O a ffeiliau
    • Mae tmpfs 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.
    • Mewn Btrfs, er mwyn lleihau darnio grwpiau o flociau, rhennir meintiau yn ôl maint wrth ddyrannu blociau, h.y. mae unrhyw grŵp o flociau bellach yn gyfyngedig i fach (hyd at 128KB), canolig (hyd at 8 MB) a meintiau mawr. Mae gweithrediad cyrch56 wedi'i ailffactorio. Mae'r cod ar gyfer gwirio symiau gwirio wedi'i ail-weithio. Mae optimeiddio perfformiad wedi'i wneud i gyflymu'r broses anfon hyd at 10 gwaith trwy gadw utime ar gyfer cyfeiriaduron a gweithredu gorchmynion dim ond pan fo angen. Mae gweithrediadau Fiemap bellach deirgwaith yn gyflymach trwy hepgor gwiriadau backlink ar gyfer data a rennir (cipluniau). Mae gweithrediadau gyda metadata wedi'u cyflymu 10% trwy optimeiddio'r chwiliad am allweddi mewn strwythurau b-tree.
    • Mae perfformiad y system ffeiliau ext4 wedi'i wella trwy ganiatáu i brosesau lluosog gyflawni gweithrediadau I/O uniongyrchol ar yr un pryd ar flociau a neilltuwyd ymlaen llaw gan ddefnyddio cloeon inod a rennir yn lle cloeon unigryw.
    • Yn f2fs, mae gwaith wedi'i wneud i wella darllenadwyedd cod. Wedi datrys materion pwysig yn ymwneud ag ysgrifen atomig a'r storfa maint newydd.
    • Mae system ffeiliau EROFS (System Ffeiliau Darllen yn Unig Gwell), a ddyluniwyd i'w defnyddio mewn rhaniadau darllen yn unig, yn gweithredu'r gallu i glymu gweithrediadau datgywasgu cynnwys ffeiliau cywasgedig i'r CPU i leihau hwyrni wrth gyrchu data.
    • Mae'r amserlennydd BFQ I/O wedi ychwanegu cefnogaeth ar gyfer gyriannau disg troelli uwch, fel y rhai sy'n defnyddio sawl gyriant pen a reolir ar wahân (Multi Actuators).
    • Mae cefnogaeth ar gyfer amgryptio data gan ddefnyddio'r algorithm AES-SHA2 wedi'i ychwanegu at weithrediad cleient a gweinydd NFS.
    • Mae cefnogaeth i'r mecanwaith ehangu ymholiad wedi'i ychwanegu at is-system FUSE (Filesystems In User Space), gan ganiatáu i wybodaeth ychwanegol gael ei gosod yn yr ymholiad. Yn seiliedig ar y nodwedd hon, mae'n bosibl ychwanegu dynodwyr grŵp at y cais FS, sy'n angenrheidiol i ystyried hawliau mynediad wrth greu gwrthrychau yn yr FS (creu, mkdir, symlink, mknod).
  • Rhithwiroli a Diogelwch
    • Mae'r hypervisor KVM ar gyfer systemau x86 wedi ychwanegu cefnogaeth ar gyfer hyperalwadau estynedig Hyper-V ac wedi darparu eu hanfon ymlaen at driniwr sy'n rhedeg yn yr amgylchedd gwesteiwr yn y gofod defnyddiwr. Roedd y newid yn ei gwneud hi'n bosibl gweithredu cefnogaeth ar gyfer lansiad nythu'r hypervisor Hyper-V.
    • Mae KVM yn ei gwneud hi'n haws cyfyngu mynediad gwesteion i ddigwyddiadau PMU (Uned Monitro Perfformiad) sy'n ymwneud â mesur perfformiad.
    • Mae'r mecanwaith memfd, sy'n eich galluogi i nodi ardal cof trwy ddisgrifydd ffeil a drosglwyddir rhwng prosesau, wedi ychwanegu'r gallu i greu meysydd lle mae gweithredu cod wedi'i wahardd (memfd anweithredol) ac mae'n amhosibl gosod hawliau gweithredu yn y dyfodol .
    • Mae gweithrediad prctl newydd PR_SET_MDWE wedi'i ychwanegu sy'n blocio ymdrechion i alluogi hawliau mynediad cof sydd ar yr un pryd yn caniatáu ysgrifennu a gweithredu.
    • Mae amddiffyniad yn erbyn ymosodiadau dosbarth Specter wedi'i ychwanegu a'i alluogi yn ddiofyn, yn seiliedig ar y modd awtomatig IBRS (Rhangyfrifiad Cyfyngedig Cangen Anuniongyrchol Gwell) a gynigir ym mhroseswyr AMD Zen 4, sy'n caniatáu caniatáu ac analluogi gweithredu cyfarwyddiadau ar hap yn ystod prosesu ymyrraeth, galwadau system a switshis cyd-destun. Mae'r amddiffyniad arfaethedig yn arwain at orbenion is o gymharu ag amddiffyniad Retpoline.
    • Wedi trwsio bregusrwydd sy'n caniatáu osgoi amddiffyniad yn erbyn ymosodiadau Specter v2 wrth ddefnyddio technoleg aml-edafu ar yr un pryd (SMT neu Hyper-Threading) ac a achosir gan analluogi mecanwaith STIBP (Rhagfynegwyr Cangen Anuniongyrchol Edau Sengl) wrth ddewis modd amddiffyn IBRS.
    • Ar gyfer systemau sy'n seiliedig ar bensaernïaeth ARM64, mae targed cynulliad newydd “virtconfig” wedi'i ychwanegu, pan gaiff ei ddewis, dim ond y set leiaf o gydrannau cnewyllyn sy'n ofynnol i gychwyn mewn systemau rhithwiroli sy'n cael ei actifadu.
    • Ar gyfer y bensaernïaeth m68k, mae cefnogaeth ar gyfer hidlo galwadau system gan ddefnyddio'r mecanwaith seccomp wedi'i ychwanegu.
    • Cefnogaeth ychwanegol ar gyfer dyfeisiau CRB TPM2 (Command Response Buffer) sydd wedi'u hymgorffori i broseswyr AMD Ryzen, yn seiliedig ar dechnoleg Microsoft Pluton.
  • Is-system rhwydwaith
    • Mae rhyngwyneb netlink wedi'i ychwanegu i ffurfweddu is-haenwr PLCA (Osgoi Gwrthdrawiadau Haen Corfforol), a ddiffinnir ym manyleb IEEE 802.3cg-2019 ac a ddefnyddir mewn rhwydweithiau Ethernet 802.3cg (10Base-T1S) sydd wedi'u optimeiddio ar gyfer cysylltu dyfeisiau Rhyngrwyd Pethau a systemau diwydiannol. Mae'r defnydd o PLCA yn gwella perfformiad mewn rhwydweithiau Ethernet gyda chyfryngau a rennir.
    • Mae cefnogaeth i'r API “estyniadau diwifr” ar gyfer rheoli rhyngwynebau diwifr WiFi 7 (802.11be) wedi'i derfynu gan nad yw'r API hwn yn cwmpasu'r holl osodiadau angenrheidiol. Wrth geisio defnyddio'r API "estyniadau di-wifr", sy'n parhau i gael ei gefnogi fel haen wedi'i efelychu, bydd rhybudd nawr yn cael ei arddangos ar gyfer y rhan fwyaf o ddyfeisiau cyfredol.
    • Mae dogfennaeth fanwl ar yr API netlink wedi'i pharatoi (ar gyfer datblygwyr craidd ac ar gyfer datblygwyr cymwysiadau gofod defnyddiwr). Mae'r cyfleustodau ynl-gen-c wedi'i weithredu i gynhyrchu cod C yn seiliedig ar fanylebau YAML protocol Netlink.
    • Mae cefnogaeth i'r opsiwn IP_LOCAL_PORT_RANGE wedi'i ychwanegu at socedi rhwydwaith i symleiddio ffurfweddiad cysylltiadau sy'n mynd allan trwy gyfieithwyr cyfeiriadau heb ddefnyddio SNAT. Wrth ddefnyddio un cyfeiriad IP ar sawl gwesteiwr, mae IP_LOCAL_PORT_RANGE yn ei gwneud hi'n bosibl defnyddio ystod wahanol o borthladdoedd rhwydwaith sy'n mynd allan ar bob gwesteiwr, ac anfon pecynnau ymlaen yn seiliedig ar rifau porthladd ar y porth.
    • Ar gyfer MPTCP (MultiPath TCP), mae'r gallu i brosesu ffrydiau cymysg gan ddefnyddio'r protocolau IPv4 ac IPv6 wedi'i weithredu. Mae MPTCP yn estyniad o'r protocol TCP ar gyfer trefnu gweithrediad cysylltiad TCP gyda danfon pecynnau ar yr un pryd ar hyd sawl llwybr trwy ryngwynebau rhwydwaith gwahanol sy'n gysylltiedig â gwahanol gyfeiriadau IP.
    • Ar gyfer IPv4, mae'n bosibl defnyddio'r estyniad TCP MAWR, sy'n eich galluogi i gynyddu maint pecyn TCP uchaf i 4GB i wneud y gorau o weithrediad rhwydweithiau canolfannau data mewnol cyflym. Cyflawnir cynnydd tebyg ym maint pecyn gyda maint maes pennawd 16-did trwy weithredu pecynnau “jumbo”, y mae maint y pennawd IP wedi'i osod i 0, ac mae'r maint gwirioneddol yn cael ei drosglwyddo mewn 32-did ar wahân. maes mewn pennawd ar wahân ynghlwm.
    • Mae paramedr sysctl newydd default_rps_mask wedi'i ychwanegu, lle gallwch chi osod y cyfluniad rhagosodedig RPS (Derbyn Packet Steering), sy'n gyfrifol am ddosbarthu prosesu traffig sy'n dod i mewn ar draws creiddiau CPU ar lefel y triniwr ymyrraeth.
    • Mae cefnogaeth i ddisgyblaethau prosesu ciw ar gyfer cyfyngu traffig CBQ (ciwio yn y dosbarth), ATM (cylchedau rhithwir ATM), dsmark (marciwr gwasanaeth gwahaniaethol), tcindex (mynegai rheoli traffig) ac RSVP (protocol cadw adnoddau) wedi'i derfynu. Rhoddwyd y gorau i'r disgyblaethau hyn ers amser maith ac nid oedd neb yn fodlon parhau â'u cefnogaeth.
  • Offer
    • Wedi cael gwared ar yr holl yrwyr graffeg seiliedig ar DRI1: i810 (cardiau graffeg Intel 8xx integredig hŷn), mga (Matrox GPU), r128 (ATI Rage 128 GPU, gan gynnwys cardiau Rage Fury, XPERT 99 a XPERT 128), milain (S3 Savage GPU), sis (Crusty SiS GPU), tdfx (3dfx Voodoo) a via (VIA IGP), a anghymeradwywyd yn 2016 ac nad ydynt wedi'u cefnogi yn Mesa ers 2012.
    • Wedi dileu gyrwyr byffer ffrâm etifeddiaeth (fbdev) omap1, s3c2410, tmiofb a w100fb.
    • Mae gyrrwr DRM wedi'i ychwanegu ar gyfer yr unedau VPU (Uned Brosesu Amlbwrpas) sydd wedi'u hintegreiddio i CPU Llyn Meteor Intel (cenhedlaeth 14eg), a gynlluniwyd i gyflymu gweithrediadau sy'n ymwneud â gweledigaeth gyfrifiadurol a dysgu peiriannau. Mae'r gyrrwr yn cael ei weithredu gan ddefnyddio'r is-system “accel”, gyda'r nod o ddarparu cefnogaeth i gyflymwyr cyfrifiannol, y gellir eu cyflenwi naill ai ar ffurf ASICs unigol neu fel blociau IP y tu mewn i'r SoC a GPU.
    • Mae'r gyrrwr i915 (Intel) yn ehangu cefnogaeth ar gyfer cardiau graffeg Intel Arc (DG2 / Alchemist) arwahanol, yn darparu cefnogaeth ragarweiniol i GPUs Meteor Lake, ac yn cynnwys cefnogaeth ar gyfer GPUs 4tile Intel Xe HP.
    • Mae'r gyrrwr amdgpu yn ychwanegu cefnogaeth ar gyfer technoleg AdaptiveSync a'r gallu i ddefnyddio modd Arddangos Diogel gydag arddangosfeydd lluosog. Cefnogaeth wedi'i diweddaru ar gyfer DCN 3.2 (Arddangos Craidd Nesaf), SR-IOV RAS, VCN RAS, SMU 13.x a DP 2.1.
    • Mae'r gyrrwr msm (Qualcomm Adreno GPU) wedi ychwanegu cefnogaeth ar gyfer y llwyfannau SM8350, SM8450 SM8550, SDM845 a SC8280XP.
    • Nid yw gyrrwr Nouveau bellach yn cefnogi hen alwadau ioctl.
    • Mae cefnogaeth arbrofol ar gyfer NPU VerSilicon (Prosesydd Rhwydwaith Niwral VerSilicon) wedi'i ychwanegu at yrrwr etnaviv.
    • Mae'r gyrrwr pata_parport wedi'i weithredu ar gyfer gyriannau IDE sydd wedi'u cysylltu trwy borth cyfochrog. Roedd y gyrrwr ychwanegol yn ein galluogi i dynnu'r hen yrrwr PARIDE o'r cnewyllyn a moderneiddio'r is-system ATA. Cyfyngiad ar y gyrrwr newydd yw'r anallu i gysylltu argraffydd a disg ar yr un pryd trwy'r porthladd cyfochrog.
    • Ychwanegwyd gyrrwr ath12k ar gyfer cardiau di-wifr ar sglodion Qualcomm sy'n cefnogi Wi-Fi 7. Cefnogaeth ychwanegol ar gyfer cardiau di-wifr ar sglodion RealTek RTL8188EU.
    • Cefnogaeth ychwanegol i 46 o fyrddau gyda phroseswyr yn seiliedig ar bensaernïaeth ARM64, gan gynnwys Samsung Galaxy tab A (2015), Samsung Galaxy S5, BananaPi R3, Debix Model A, EmbedFire LubanCat 1/2, Facebook Greatlakes, Orange Pi R1 Plus, Tesla FSD, a hefyd dyfeisiau sy'n seiliedig ar SoC Qualcomm MSM8953 (Snapdragon 610), SM8550 (Snapdragon 8 Gen 2), SDM450 a SDM632, blwch teledu Rockchips RK3128, RV1126 Vision, RK3588, RK3568, RK3566, RK3588, RK3328, a RK3, AM642 654/ AM68 /AM69).

Ar yr un pryd, ffurfiodd Sefydliad Meddalwedd Rydd America Ladin fersiwn o'r cnewyllyn hollol rhad ac am ddim 6.3 - Linux-libre 6.3-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.3, glanhawyd smotiau yn y gyrwyr ath12k, aw88395 a peb2466 newydd, yn ogystal ag yn y ffeiliau devicetree newydd ar gyfer dyfeisiau qcom yn seiliedig ar bensaernïaeth AArch64. Cod glanhau blob wedi'i ddiweddaru mewn gyrwyr ac is-systemau amdgpu, xhci-rcar, qcom-q6v5-pas, sp8870, av7110, yn ogystal ag mewn gyrwyr ar gyfer cardiau DVB gyda datgodio meddalwedd ac mewn ffeiliau BPF wedi'u llunio ymlaen llaw. Mae glanhau gyrwyr mga, r128, tm6000, cpia2 a r8188eu wedi'i atal ers iddynt gael eu tynnu o'r cnewyllyn. Gwell glanhau blob gyrrwr i915.

Ffynhonnell: opennet.ru

Ychwanegu sylw