Sgaoileadh kernel Linux 5.8

Às deidh dà mhìos de leasachadh, Linus Torvalds toirt a-steach sgaoileadh kernel Linux 5.8. Am measg nan atharrachaidhean as ainmeil: lorgaire suidheachadh rèis KCSAN, inneal uile-choitcheann airson fiosan a lìbhrigeadh gu àite luchd-cleachdaidh, taic airson bathar-cruaidh crioptachaidh in-loidhne, dòighean tèarainteachd leasaichte airson ARM64, taic airson pròiseasar Baikal-T1 na Ruis, an comas suidheachaidhean procfs a chuir suas air leth. , buileachadh uidheamachdan tèarainteachd Shadow airson ARM64 Call Stack agus BTI.

Thàinig Kernel 5.8 gu bhith mar an àireamh as motha a thaobh an àireamh de dh’ atharrachaidhean anns a h-uile kernel rè beatha a ’phròiseict gu lèir. A bharrachd air an sin, chan eil na h-atharrachaidhean co-cheangailte ri aon fho-shiostam, ach tha iad a’ còmhdach diofar phàirtean den kernel agus tha iad gu ìre mhòr co-cheangailte ri ath-obair agus glanadh a-staigh. Tha na h-atharrachaidhean as motha rim faicinn ann an draibhearan. Bha an dreach ùr a’ toirt a-steach rèiteachaidhean 17606 bho luchd-leasachaidh 2081, a thug buaidh air timcheall air 20% de na faidhlichean uile ann an stòr còd kernel. Is e meud paiste 65 MB (thug na h-atharrachaidhean buaidh air faidhlichean 16180, chaidh loidhnichean còd 1043240 a chur ris, chaidh loidhnichean 489854 a dhubhadh às). An coimeas ri sin, bha 5.7 ceartachadh aig a’ mheur 15033 agus meud paiste de 39 MB. Tha timcheall air 37% de na h-atharrachaidhean uile a chaidh a thoirt a-steach ann an 5.8 co-cheangailte ri draibhearan inneal, tha timcheall air 16% de na h-atharrachaidhean co-cheangailte ri ùrachadh còd a tha sònraichte do ailtireachd bathar-cruaidh, tha 11% co-cheangailte ris a’ chruach lìonra, tha 3% co-cheangailte ri siostaman faidhle, agus 4% co-cheangailte ri fo-shiostaman kernel a-staigh.

prìomh innleachdan:

  • Mas-fhìor agus tèarainteachd
    • Tha luchdachadh mhodalan kernel aig a bheil earrannan le còd anns a bheil na pìosan a leigeas le coileanadh agus sgrìobhadh air an suidheachadh aig an aon àm. Chaidh an t-atharrachadh a chuir an gnìomh mar phàirt de phròiseact nas motha gus cuir às don kernel bho bhith a’ cleachdadh duilleagan cuimhne a leigeas le coileanadh agus sgrìobhadh aig an aon àm.
    • Tha e comasach a-nis suidheachaidhean procfs fa leth a chruthachadh, a’ ceadachadh grunn phuingean sreap procfs a chleachdadh, air an cur suas le diofar roghainnean, ach a’ nochdadh an aon ainm-àite aithnichear pròiseas (pid namespace). Roimhe sin, cha robh a h-uile puing sreap procfs ach mar sgàthan air aon riochdachadh a-staigh, agus thug atharrachadh sam bith air na paramadairean sreap buaidh air a h-uile puing sreap eile co-cheangailte ris an aon àite ainm ID pròiseas. Am measg nan raointean anns am faodadh iarrtas a bhith ann an cur suas le diofar roghainnean tha buileachadh aonaranachd aotrom airson siostaman freumhaichte leis a’ chomas a bhith a’ falach seòrsaichean sònraichte de phròiseasan agus nodan fiosrachaidh ann am procfs.
    • Chaidh taic airson an uidheamachd a chuir an gnìomh airson àrd-ùrlar ARM64
      Stac Shadow-Call, air a sholarachadh leis an neach-cruinneachaidh Clang gus dìon an aghaidh a bhith ag ath-sgrìobhadh seòladh tilleadh gnìomh ma thachras tar-shruth bufair stac. Is e brìgh an dìon an seòladh tilleadh a shàbhaladh ann an stac “sgàil” air leth às deidh dhut smachd a ghluasad gu gnìomh agus an seòladh seo fhaighinn air ais mus fhàg thu an gnìomh.

    • Chaidh taic stiùiridh a chuir ris airson àrd-ùrlar ARM64 ARMv8.5-BTI (Comharra Targaid Meur) gus cur an gnìomh seataichean stiùiridh a dhìon nach bu chòir a bhith air an leudachadh gu. Thathas a’ cur bacadh air eadar-ghluasadan gu earrannan neo-riaghailteach de chòd gus casg a chuir air innealan a chruthachadh ann an cleasan a bhios a’ cleachdadh dòighean prògramadh a tha ag amas air tilleadh (ROP - Prògramadh le Tilleadh; cha bhith an neach-ionnsaigh a’ feuchainn ris a’ chòd aige a chuir mar chuimhneachan, ach bidh e ag obair air pìosan a th’ ann mar-thà de stiùiridhean inneal a thig gu crìch le stiùireadh smachd tilleadh, às an tèid sreath de ghlaodhan a thogail gus an gnìomh a tha thu ag iarraidh fhaighinn).
    • Taic bathar-cruaidh a bharrachd airson crioptachadh in-loidhne de dh’ innealan bloca (Inline crioptachadh). Mar as trice bidh innealan crioptachaidh Inlinep air an toirt a-steach don draibhear, ach tha iad suidhichte gu loidsigeach eadar cuimhne an t-siostaim agus diosc, a’ crioptachadh gu follaiseach agus a’ dì-chrioptachadh I / O stèidhichte air iuchraichean sònraichte le kernel agus algorithm crioptachaidh.
    • Chuir sinn ris an roghainn loidhne-àithne kernel “initrdmem” gus leigeil leat seòladh cuimhne corporra an initrd a shònrachadh nuair a chuireas tu a ’chiad ìomhaigh tòiseachaidh ann an RAM.
    • Comas ùr air a chur ris: CAP_PERFMON gus faighinn chun fho-shiostam perf agus sgrùdadh coileanaidh a dhèanamh. CAP_BPF, a leigeas le cuid de ghnìomhachdan BPF (leithid a bhith a’ luchdachadh phrògraman BPF) a dh’ fheumadh còraichean CAP_SYS_ADMIN roimhe seo (tha còraichean CAP_SYS_ADMIN a-nis air an roinn ann am measgachadh de CAP_BPF, CAP_PERFMON, agus CAP_NET_ADMIN).
    • Air a chur ris le inneal virtio-mem ùr a leigeas leat cuimhne teth-plug agus teth-plug a-steach do shiostaman aoighean.
    • Ath-ghairm air gnìomhachd mapaidh ann an / dev/mem ma chleachdas draibhear an uidheim raointean cuimhne a tha a’ dol thairis air.
    • Dìon so-leòntachd a bharrachd CROSStalk/SRBDS, a leigeas leat toraidhean cuid de stiùiridhean a chaidh a chuir gu bàs air cridhe CPU eile a thoirt air ais.
  • Seirbheisean cuimhne is siostam
    • Anns an sgrìobhainn a tha a 'mìneachadh nan riaghailtean airson cruth a' chòd, gabhail ris molaidhean airson briathrachas in-ghabhalach a chleachdadh. Chan eilear a’ moladh do luchd-leasachaidh na cothlamadh ‘maighstir / tràill’ agus ‘liosta dhubh / liosta geal’ a chleachdadh, a bharrachd air am facal ‘tràill’ air leth. Chan eil na molaidhean a' buntainn ach ri cleachdaidhean ùra de na teirmean sin. Bidh iomraidhean air na faclan ainmichte mar-thà sa chridhe fhathast gun suathadh. Ann an còd ùr, tha cleachdadh nan teirmean comharraichte ceadaichte ma tha feum air gus taic a thoirt don API agus ABI a tha fosgailte ann an àite luchd-cleachdaidh, a bharrachd air nuair a bhios iad ag ùrachadh a’ chòd gus taic a thoirt do bhathar-cruaidh no protocalan a tha ann mar-thà aig a bheil feum air teirmean sònraichte a chleachdadh.
    • Inneal dì-bhugachaidh air a thoirt a-steach KCSAN (Kernel Concurrency Sanitizer), air a dhealbhadh airson lorg fiùghantach suidheachaidhean rèis taobh a-staigh a 'chridhe. Thathas a’ toirt taic do chleachdadh KCSAN nuair a thathar a’ togail ann an GCC agus Clang, agus tha feum air atharrachaidhean sònraichte aig àm cruinneachaidh gus sùil a chumail air ruigsinneachd cuimhne (bidh puingean-briseadh air an cleachdadh nuair a bhios cuimhne air a leughadh no air atharrachadh). Bha fòcas leasachadh KCSAN air casg meallta meallta, scalability, agus furasta a chleachdadh.
    • Air a chur ris uidheamachd uile-choitcheann lìbhrigeadh fiosan bhon kernel gu àite luchd-cleachdaidh. Tha an uidheamachd stèidhichte air an draibhear pìob àbhaisteach agus leigidh e leat fiosan bhon kernel a sgaoileadh gu h-èifeachdach thairis air seanalan a tha fosgailte ann an àite luchd-cleachdaidh. Is e pìoban a th’ ann am puingean faighinn fios a thèid fhosgladh ann am modh sònraichte agus a leigeas le teachdaireachdan a gheibhear bhon kernel a bhith air an cruinneachadh ann am bufair fàinne. Tha leughadh air a choileanadh leis a’ ghnìomh leughaidh () àbhaisteach. Bidh sealbhadair an t-seanail a’ dearbhadh dè na stòran san kernel a dh’ fheumar a sgrùdadh agus is urrainn dhaibh criathrag a mhìneachadh gus dearmad a dhèanamh air seòrsachan sònraichte de theachdaireachdan is thachartasan. De na tachartasan, chan eil ach gnìomhachd le iuchraichean a’ faighinn taic an-dràsta, leithid cur-ris/toirt air falbh iuchraichean agus atharrachadh am feartan. Thathas an dùil na tachartasan sin a chleachdadh ann an GNOME.
    • Leasachadh leantainneach air comas-gnìomh ‘pidfd’ gus cuideachadh le bhith a’ làimhseachadh shuidheachaidhean ath-chleachdadh PID (tha pidfd co-cheangailte ri pròiseas sònraichte agus chan eil e ag atharrachadh, fhad ‘s a dh’ fhaodas PID a bhith co-cheangailte ri pròiseas eile às deidh don phròiseas gnàthach co-cheangailte ris an PID sin tighinn gu crìch). Tha an dreach ùr a’ cur taic ri bhith a’ cleachdadh pidfd gus pròiseas a cheangal ri ainmean-àite (a’ ceadachadh pidfd a shònrachadh nuair a thathar a’ cur an gnìomh gairm siostam setns). Le bhith a’ cleachdadh pidfd leigidh sin leat smachd a chumail air ceangal pròiseas ri grunn sheòrsaichean de dh’àiteachan ainm le aon ghairm, a’ lughdachadh gu mòr an àireamh de fhiosan siostam riatanach agus a’ cur an gnìomh ceangal ann am modh atamach (ma dh’ fhailicheas ceangal ri aon de na h-ainmean, cha cheangail an fheadhainn eile ceangal) .
    • Chaidh gairm siostam ùr a chur ris faccessat2(), eadar-dhealaichte bho
      faccessat() argamaid a bharrachd le brataichean a tha a’ gèilleadh ri molaidhean POSIX (roimhe seo chaidh na brataichean sin aithris ann an leabharlann C, agus tha am faccessat2 ùr a’ leigeil leotha a bhith air an cur an gnìomh anns an kernel).

    • Ann an Cgroup air a chur ris suidheachadh cuimhne.swap.high a dh'fhaodar a chleachdadh gus gnìomhan a tha a' gabhail cus àite suaip a dhèanamh nas slaodaiche.
    • Chun an eadar-aghaidh I/O asyncronach io_uring taic a bharrachd airson gairm siostam tee ().
    • Uidheam air a chur ris"Ath-aithris BPF, air a dhealbhadh gus susbaint structaran kernel a chuir a-mach gu àite luchd-cleachdaidh.
    • Air a thoirt seachad an comas bufair fàinne a chleachdadh airson iomlaid dàta eadar prògraman BPF.
    • A-steach don inneal padata, air a dhealbhadh gus coileanadh gnìomhan co-shìnte a chuir air dòigh anns an kernel, taic a bharrachd airson gnìomhan ioma-snàthainn le cothromachadh luchdan.
    • Anns an inneal pstore, a leigeas leat fiosrachadh deasbaid a shàbhaladh mu adhbhar an tubaist ann an raointean cuimhne nach eil air chall eadar ath-thòiseachadh, air a chur ris backend airson fiosrachadh a shàbhaladh gus innealan a bhacadh.
    • Bhon mheur kernel PREEMPT_RT ghluais buileachadh glasan ionadail.
    • Air a chur ris API riarachadh bufair ùr (AF_XDP), ag amas air sgrìobhadh dhràibhearan lìonra a dhèanamh nas sìmplidhe le taic XDP (eXpress Data Path).
    • Airson ailtireachd RISC-V, chaidh taic airson co-phàirtean kernel debugging a’ cleachdadh KGDB a chuir an gnìomh.
    • Mus deach 4.8 a leigeil ma sgaoil, chaidh na riatanasan airson an dreach de GCC a chleachdadh gus an kernel a thogail àrdachadh. Ann an aon de na h-ath fiosan thathar an dùil am bàr àrdachadh gu GCC 4.9.
  • Fo-shiostam diosc, I/O agus siostaman faidhle
    • Ann an inneal Mapper air a chur ris inneal-làimhseachaidh dm-ebs ùr (aithris meud bloc), a dh'fhaodar a chleachdadh gus atharrais air meud bloca loidsigeach nas lugha (mar eisimpleir, gus atharrais a dhèanamh air roinnean 512-byte air diosgan meud roinne 4K).
    • Tha siostam faidhle F2FS a-nis a’ toirt taic do dhlùthadh a’ cleachdadh an algairim LZO-RLE.
    • Ann an dm-crypt air a chur ris taic airson iuchraichean crioptaichte.
    • Tha Btrfs air làimhseachadh nas fheàrr air gnìomhachd leughaidh ann am modh dìreach I/O. Nuair a stàladh luathaich a’ sgrùdadh fo-roinnean agus clàran a chaidh fhàgail às aonais phàrant.
    • Chaidh paramadair “nodelete” a chuir ri CIFS, a’ ceadachadh sgrùdaidhean cead àbhaisteach air an fhrithealaiche, ach a’ toirmeasg don neach-dèiligidh faidhlichean no clàran a dhubhadh às.
    • Tha Ext4 air làimhseachadh mhearachdan a leasachadh ENOSPC nuair a bhios tu a’ cleachdadh multithreading. Tha xattr air taic a chuir ris an gnu.* namespace a chleachdar ann an GNU Hurd.
    • Airson Ext4 agus XFS, tha taic airson gnìomhachd DAX air a chomasachadh (ruigsinneachd dìreach air an t-siostam faidhle, a ’dol seachad air tasgadan na duilleige gun a bhith a’ cleachdadh ìre inneal bloca) a thaobh faidhlichean agus clàran fa leth.
    • Ann an call an t-siostam statx() bratach air a chur ris STATX_ATTR_DAX, a bhios nuair a thèid a shònrachadh, a’ faighinn fiosrachadh air ais a’ cleachdadh an einnsean DAX.
    • EXFAT air a chur ris taic airson dearbhadh sgìre boot.
    • Ann an FAT leasaichte luchdachadh for-ghnìomhach de eileamaidean FS. Sheall deuchainn air draibhear USB 2TB slaodach lùghdachadh ann an ùine crìochnachaidh deuchainn bho 383 gu 51 diogan.
  • Fo-shiostam lìonra
    • Anns a 'chòd airson smachd a chumail air obrachadh drochaidean lìonra air a chur ris taic protocol MRP (Pròtacal Iomallach Meadhanan), a leigeas le fulangas sgàinidhean le bhith a’ lùbadh ioma suidse Ethernet.
    • Gu siostam smachd trafaic (Tc) air a chur ris gnìomh “geata” ùr, a tha ga dhèanamh comasach amannan a mhìneachadh airson a bhith a’ giullachd agus a’ cuir air falbh pacaidean sònraichte.
    • Chaidh taic airson a bhith a’ dèanamh deuchainn air a’ chàball lìonra ceangailte agus fèin-dhearbhadh innealan lìonraidh a chur ris an kernel agus an goireas ethtool.
    • Chaidh taic don algairim MPLS (Multiprotocol Label Switching) a chur ris a’ chruach IPv6 airson pacaidean slighe a’ cleachdadh atharrachadh leubail multiprotocol (bha taic MPLS roimhe seo airson IPv4).
    • Taic a bharrachd airson pacaidean IKE (Internet Key Exchange) agus IPSec a chuir thairis air TCP (RFC 8229) gus faighinn seachad air bacadh UDP a dh’ fhaodadh a bhith ann.
    • Air a chur ris le inneal bloc lìonra rnbd, a leigeas leat ruigsinneachd iomallach gu inneal bloca a chuir air dòigh a’ cleachdadh còmhdhail RDMA (InfiniBand, RoCE, iWARP) agus protocol RTRS.
    • Ann an stac TCP air a chur ris taic airson teannachadh raon ann am freagairtean aithneachaidh roghnach (SACK).
    • Airson IPv6 air a chur an gnìomh taic TCP-LD (RFC 6069, Briseadh ceangail fhada).
  • Uidheam
    • Tha an draibhear i915 DRM airson cairtean bhidio Intel a ’toirt a-steach taic airson sgoltagan Intel Tiger Lake (GEN12) gu bunaiteach, airson sin air a chur an gnìomh an comas an siostam SAGV (System Agent Geyserville) a chleachdadh gus tricead agus bholtachd atharrachadh gu dinamach a rèir caitheamh cumhachd no riatanasan coileanaidh.
    • Tha an draibhear amdgpu air taic a chuir ris airson cruth piogsail FP16 agus an comas a bhith ag obair le bufairean crioptaichte ann an cuimhne bhidio (TMZ, Trusted Memory Zone).
    • Taic a bharrachd airson mothachairean cumhachd airson pròiseasairean AMD Zen agus Zen2, a bharrachd air mothachairean teothachd airson AMD Ryzen 4000 Renoir. Tha taic airson fiosrachadh mu chaitheamh cumhachd fhaighinn air ais tron ​​eadar-aghaidh air a thoirt seachad airson AMD Zen agus Zen2 RAPL (A 'ruith Crìoch Cumhachd Cuibheasach).
    • Taic a bharrachd airson cruth mion-atharrachaidh NVIDIA don draibhear Nouveau. Airson gv100, chaidh an comas modhan sganaidh eadar-fhighte a chleachdadh a chur an gnìomh. Chaidh mìneachadh vGPU a chur ris.
    • Taic a bharrachd airson Adreno A405, A640 agus A650 GPUs don draibhear MSM (Qualcomm).
    • Air a chur ris frèam a-staigh airson a bhith a’ stiùireadh ghoireasan DRM (Manaidsear Rendering Direct).
    • Taic a bharrachd airson fònaichean sgairteil Xiaomi Redmi Note 7 agus Samsung Galaxy S2, a bharrachd air coimpiutairean-glùine Elm / Hana Chromebook.
    • Dràibhearan a bharrachd airson pannalan LCD: ASUS TM5P5 NT35596, Starry KR070PE2T, Leadtek LTK050H3146W, Visionox rm69299, Boe tv105wum-nw0.
    • Taic a bharrachd airson bùird agus àrd-ùrlaran ARM Renesas “RZ / G1H”, Realtek RTD1195, Realtek RTD1395 / RTD1619, Rockchips RK3326, AMLogic S905D, S905X3, S922XH, Olimex A20-OLinuXino-LIME-Check Pointe
      , Beacon i.MX8m-Mini, Qualcomm SDM660/SDM630, Xnano X5 TV Box, Stinger96, Beaglebone-AI.

    • Taic a bharrachd airson pròiseasar MIPS Loongson-2K (giorrachadh Loongson64). Airson CPU Loongson 3, chaidh taic airson virtualization a’ cleachdadh an hypervisor KVM a chur ris.
    • Air a chur ris
      taic airson pròiseasar Baikal-T1 na Ruis agus an siostam-air-chip stèidhichte air BE-T1000. Anns a ’phròiseasar Baikal-T1 tha dà chores superscalar P5600 MIPS 32 r5 ag obair aig 1.2 GHz. Anns a’ chip tha tasgadan L2 (1 MB), rianadair cuimhne DDR3-1600 ECC, port Ethernet 1 10Gb, puirt 2 1Gb Ethernet, rianadair PCIe Gen.3 x4, 2 phuirt SATA 3.0, USB 2.0, GPIO, UART, SPI, I2C. Bidh am pròiseasar a’ toirt seachad taic bathar-cruaidh airson virtualization, stiùireadh SIMD agus luathadair criptografach bathar-cruaidh aonaichte a bheir taic do GOST 28147-89. Tha a’ chip air a leasachadh a’ cleachdadh aonad bunaiteach pròiseasar MIPS32 P5600 Warrior le cead bho Imagination Technologies.

Aig an aon àm, Bunait Bathar-bog Ameireagaidh Laideann air a chruthachadh
roghainn gu tur an-asgaidh kernel 5.8 - Linux-saor 5.8-gnu, air a ghlanadh de firmware agus eileamaidean draibhear anns a bheil co-phàirtean neo-asgaidh no earrannan còd, agus tha an raon cuingealaichte leis an neach-dèanamh. Tha an sgaoileadh ùr a’ cuir casg air luchdachadh blob ann an draibhearan airson Atom ISP Video, MediaTek 7663 USB / 7915 PCIe, Realtek 8723DE WiFi, Renesas PCI xHCI, HabanaLabs Gaudi, Tionndadh Ìre Sampall Asincronach Meudaichte, Maxim Integrated MAX98390 Speaker Aimplifier, Microsemi Audio Processed 38060 agus I2C EEPROM Tràill. Còd glanadh blob ùraichte ann an Adreno GPU, HabanaLabs Goya, x86 touchscreen, vt6656 agus draibhearan agus fo-shiostaman btbcm.

Source: fosgailtenet.ru

Cuir beachd ann