Sgaoileadh kernel Linux 5.1

Às deidh dà mhìos de leasachadh, Linus Torvalds toirt a-steach sgaoileadh kernel Linux 5.1. Am measg nan atharrachaidhean as ainmeil: eadar-aghaidh ùr airson I / O io_uring asyncronach, an comas NVDIMM a chleachdadh mar RAM, taic airson cuimhne brìgheil co-roinnte ann an Nouveau, taic airson sgrùdadh scalable air siostaman faidhle glè mhòr tro fanotify, an comas teannachadh Zstd a rèiteachadh ìrean ann am Btrfs, inneal-làimhseachaidh cpuidle TEO ùr, buileachadh fiosan siostaim gus fuasgladh fhaighinn air an duilgheadas 2038, an comas bròg bho innealan inneal-mapper gun initramfs, modal SafeSetID LSM, taic airson pìosan beò còmhla.

prìomh innleachdan:

  • Fo-shiostam diosc, I/O agus siostaman faidhle
    • Chuir sinn eadar-aghaidh ùr an gnìomh airson I/O asyncronach - io_uring, a tha sònraichte airson a thaic do bhòtadh I/O agus an comas a bhith ag obair le no às aonais buffering. Cuimhnichidh sinn nach tug an inneal I/O asyncronach a chaidh a mholadh roimhe “aio” taic do I/O bufair, cha b’ urrainn dha obrachadh ach ann am modh O_DIRECT (gun buffering agus a’ dol seachad air an tasgadan), bha duilgheadasan aige le glasadh air sgàth feitheamh ri meata-dàta ri fhaighinn, agus air cosgaisean mòra a thaisbeanadh mar thoradh air a bhith a’ dèanamh lethbhreac de dhàta mar chuimhneachan.

      Taobh a-staigh an API
      Dh’ fheuch luchd-leasachaidh io_uring ri cuir às do easbhaidhean an t-seann eadar-aghaidh aio. Le bhith coileanadh Tha io_uring gu math faisg air SPdk agus tha e gu math air thoiseach air libaio nuair a thathar ag obair le cunntasan-bheachd comasach. Chaidh leabharlann ullachadh airson io_uring a chleachdadh ann an tagraidhean deireannach a tha a’ ruith ann an àite luchd-cleachdaidh saoradh, a bheir seachad frèam àrd-ìre thairis air an eadar-aghaidh kernel;

    • Anns an uidheamachd tracadh tachartais anns an FS fanotify() air a chur ris taic airson sùil a chumail air superblock agus suidheachaidhean atharrachadh structair direach (tachartasan cruthachadh, cuir às agus gluasad chlàran). Bidh na feartan a tha air an taisbeanadh a’ cuideachadh le fuasgladh fhaighinn air na duilgheadasan scalability a thig am bàrr nuair a chruthaicheas tu lorg atharrachadh ath-chuairteach ann an siostaman faidhle glè mhòr a ’cleachdadh an uidheamachd inotify (cha b’ urrainnear sùil a chumail air atharrachaidhean dìreach roimhe seo tro inotify, ach
      dh’ fhàg coileanadh ann an suidheachaidhean ath-chuairteach air clàran neadachaidh mòra mòran ri bhith air a mhiannachadh). A-nis faodar sgrùdadh mar sin a dhèanamh gu h-èifeachdach tro fanotify;

    • Air siostam faidhle Btrfs air a chur ris an comas an ìre teannachaidh a ghnàthachadh airson an algairim zstd, a dh'fhaodar a mheas mar cho-rèiteachadh as fheàrr eadar an lz4 luath ach neo-èifeachdach agus an teannachadh slaodach ach math xz. A rèir mar a bha e comasach roimhe seo an ìre teannachaidh a shuidheachadh nuair a bha thu a’ cleachdadh zlib, chaidh taic airson an roghainn mount “-o compress = zstd: level” a chuir ris airson zstd. Rè deuchainn, thug a ’chiad ìre as ìsle teannachadh dàta 2.658 uair le astar teannachaidh de 438.47 MB ​​/ s, astar dì-dhùmhlachadh de 910.51 MB / s agus caitheamh cuimhne de 780 MB, agus thug an ìre as àirde 15 seachad 3.126 tursan, ach le teannachadh astar 37.30 MB / s, dì-phapadh 878.84 MB / s agus caitheamh cuimhne 2547 MB;
    • Air a chur ris an comas bròg bho shiostam faidhle a tha suidhichte air an inneal inneal-mapper, gun a bhith a 'cleachdadh initramfs. A’ tòiseachadh leis an sgaoileadh kernel gnàthach, faodar innealan inneal-mapper a chleachdadh gu dìreach tron ​​​​phròiseas tòiseachaidh, mar eisimpleir, mar sgaradh leis an t-siostam faidhle freumh. Tha an sgaradh air a rèiteachadh a’ cleachdadh am paramadair bròg “dm-mod.create”. Am measg nam modalan inneal-mapper a tha ceadaichte an luchdachadh tha: “crypt”, “dàil”, “sreathach”, “tùs snap” agus “fìrinn”;
    • Chaidh bratach F2FS_NOCOW_FL a chur ris an t-siostam faidhle F2FS a tha ag amas air draibhearan Flash, a leigeas leat modh lethbhreac-air-sgrìobhaidh airson faidhle sònraichte a chuir dheth;
    • Siostam faidhle air a thoirt air falbh bhon kernel Exofs, a tha na eadar-dhealachadh de ext2, air atharrachadh airson a bhith ag obair le OSD (Inneal Stòraidh stèidhichte air Rud) stòradh nithean. Chaidh taic don phròtacal SCSI airson innealan stòraidh stuthan mar sin a thoirt air falbh cuideachd;
  • Mas-fhìor agus tèarainteachd
    • Chaidh roghainn PR_SPEC_DISABLE_NOEXEC a chur ris prctl () gus smachd a chumail air coileanadh tuairmeasach stiùireadh airson a’ phròiseas taghte. Leigidh roghainn ùr leat cur an gnìomh tuairmeasach a dhì-cheadachadh gu roghnach airson pròiseasan a dh’ fhaodadh ionnsaigh a thoirt air le Specter. Mairidh a’ ghlas gus a’ chiad ghairm gu exec();
    • Modal LSM air a chuir an gnìomh SafeSetID, a leigeas le seirbheisean siostam luchd-cleachdaidh a riaghladh gu tèarainte gun a bhith ag àrdachadh sochairean (CAP_SETUID) agus gun a bhith a’ faighinn sochairean bunaiteach. Tha sochairean air an sònrachadh le bhith a’ mìneachadh riaghailtean ann an tèarainteachdfs stèidhichte air liosta gheal de cheangalaichean dligheach (anns an fhoirm “UID1: UID2”);
    • Atharrachaidhean ìre ìosal a bharrachd a tha riatanach airson luchdachadh mhodalan tèarainteachd stèidhichte air stac (LSMn). Thug sinn a-steach an roghainn bròg kernel “lsm” gus smachd a chumail air dè na modalan a tha air an luchdachadh agus dè an òrdugh;
    • Chaidh taic airson ainmean fhaidhlichean a chur ris an fho-shiostam sgrùdaidh;
    • Leudaichte comasan structleak plugan GCC, a leigeas leat casg a chuir air aodion susbaint cuimhne.
  • Fo-shiostam lìonra
    • Airson socaidean air a chur an gnìomh roghainn ùr "SO_BINDTOIFIINDEX" coltach ri
      "SO_BINDTODEVICE", ach a' gabhail mar argamaid àireamh clàr-amais an eadar-aghaidh lìonraidh an àite ainm an eadar-aghaidh;

    • Tha an stac mac80211 air comas a chuir air iomadh BSSID (seòlaidhean MAC) a shònrachadh gu aon inneal. Mar phàirt de phròiseact gus coileanadh WiFi a bharrachadh, tha an stac mac80211 air cunntasachd ùine craolaidh a chuir ris agus an comas ùine craolaidh a sgaoileadh am measg iomadh stèisean (nuair a bhios iad ag obair ann am modh puing ruigsinneachd, a’ riarachadh nas lugha de ùine tar-chuir gu stèiseanan gun uèir slaodach, an àite a bhith a’ cuairteachadh ùine gu cothromach am measg a h-uile duine. stèiseanan);
    • Uidheam air a chur ris"slàinte devlink", a bheir seachad fiosan nuair a thig duilgheadasan leis an eadar-aghaidh lìonra;
  • Seirbheisean cuimhne is siostam
    • Air a chur an gnìomh lìbhrigeadh comharran tèarainte a leigeas le ath-chleachdadh PID. Mar eisimpleir, nuair a dh’ ainmichear marbhadh roimhe seo, dh’ fhaodadh suidheachadh èirigh far am faodadh, dìreach às deidh comharra a chuir a-steach, an targaid PID a shaoradh air sgàth crìochnachadh pròiseas agus air a ghabhail thairis le pròiseas eile, agus gum biodh an comharra air a chuir gu pròiseas eile. Gus cuir às do leithid de shuidheachaidhean, chaidh gairm siostam ùr pidfd_send_signal a chuir ris, a bhios a’ cleachdadh tuairisgeulan faidhle bho / proc/pid gus dèanamh cinnteach gu bheil pròiseas seasmhach ceangailte. Fiù ma thèid am PID ath-chleachdadh aig àm giollachd gairm siostaim, chan atharraich tuairisgeul an fhaidhle agus faodar a chleachdadh gu sàbhailte gus comharra a chuir chun phròiseas;
    • Air a chur ris an comas innealan cuimhne maireannach a chleachdadh (cuimhne leantainneach, mar eisimpleir NVDIMMs) mar RAM. Gu ruige seo, bha an kernel a 'toirt taic do innealan leithid innealan stòraidh, ach a-nis faodar an cleachdadh mar RAM a bharrachd. Tha am feart air a chuir an gnìomh mar fhreagairt do mhiannan luchd-cleachdaidh a tha deònach dàil coileanaidh a chuir suas agus a tha airson an API riaghlaidh cuimhne kernel Linux dùthchasach a chleachdadh an àite a bhith a’ cleachdadh siostaman riarachadh cuimhne àite-cleachdaidh a tha ann mar-thà a ’ruith air mullach mmap airson an dax faidhle;
    • Chuir sinn inneal-làimhseachaidh CPU neo-ghnìomhach ùr ris (cpuidle, a’ co-dhùnadh cuin a ghabhas an CPU a chuir ann am modhan sàbhalaidh cumhachd domhainn; mar as doimhne am modh, is ann as motha a bhios na sàbhalaidhean, ach cuideachd mar as fhaide a bheir e gus am modh fhàgail) - TEO (Riaghladair Timer Events Oriented ). Gu ruige seo, chaidh dà làimhseachadh cpuidle a mholadh - “clàr-taice” agus “fàradh”, eadar-dhealaichte ann an heuristics. Tha fios aig an neach-làimhseachaidh “clàr-taice” le bhith a’ dèanamh cho-dhùnaidhean heuristic, gus cuir às don deach co-dhùnadh inneal-làimhseachaidh ùr ullachadh. Tha TEO air a shuidheachadh mar roghainn eile an àite an inneal-làimhseachaidh "clàr", a 'ceadachadh coileanadh nas àirde fhad' sa tha e a 'cumail suas an aon ìre de chaitheamh cumhachd.
      Faodaidh tu an inneal-làimhseachaidh ùr a chuir an gnìomh a’ cleachdadh am paramadair bròg “cpuidle.governor=teo”;

    • Mar phàirt den obair cur às duilgheadasan ann an 2038, air adhbhrachadh le tar-shruth den t-seòrsa time_t 32-bit, a’ toirt a-steach fiosan siostam a tha a’ tabhann cunntairean ùine 32-bit airson ailtireachd 64-bit. Mar thoradh air an sin, faodar an structar 64-bit time_t a chleachdadh a-nis air a h-uile ailtireachd. Chaidh atharrachaidhean coltach ris a chuir an gnìomh cuideachd ann am fo-shiostam an lìonraidh airson roghainnean timestamp socaidean lìonra;
    • A-steach don t-siostam glacaidh teth airson a’ chridhe (gleusadh beò) air a chur ris Feart “Atomic Replace” airson a bhith a’ cur an sàs sreath de dh’ atharrachaidhean gu aon ghnìomh gu atamach. Leigidh am feart seo leat pìosan geàrr-chunntas a sgaoileadh a’ còmhdach grunn atharrachaidhean aig an aon àm, an àite a bhith a’ cur an sàs ìre-air-ìre de phìosan beò ann an òrdugh teann, a tha gu math duilich a chumail suas. Ged a dh’ fheumadh gach atharrachadh às deidh sin a bhith stèidhichte roimhe seo air staid a ’ghnìomh às deidh an atharrachadh mu dheireadh, tha e comasach a-nis grunn atharrachaidhean ceangailte ri aon stàit tùsail a ghluasad aig an aon àm (ie faodaidh luchd-gleidhidh aon phloc daingnichte a chumail an coimeas ris an kernel bunaiteach an àite sin. sreath de phìosan a tha an urra ri chèile);
    • Air ainmeachadh taic gun mholadh airson fòrmat faidhle a.out so-ghnìomhaichte agus
      air a sguabadh às còd airson prìomh fhaidhlichean a ghineadh ann an cruth a.out, a tha ann an staid thrèigte. Cha deach an cruth a.out a chleachdadh airson ùine mhòr air siostaman Linux, agus tha gineadh faidhlichean a.out air a bhith gun taic o chionn fhada le innealan ùr-nodha ann an rèiteachaidhean Linux bunaiteach. A bharrachd air an sin, faodar an luchdan airson faidhlichean a.out a chuir an gnìomh gu tur ann an àite luchd-cleachdaidh;

    • Chaidh an comas còd nach deach a chleachdadh a chomharrachadh agus a thoirt air falbh a chur ri inneal dearbhaidh prògram BPF. Tha an kernel cuideachd a’ toirt a-steach pìosan le taic spinlock airson fo-shiostam BPF, a’ toirt seachad comasan a bharrachd airson a bhith a’ riaghladh coileanadh co-shìnte phrògraman BPF;
  • Uidheam
    • Ann an Nouveau driver air a chur ris taic airson riaghladh cuimhne ioma-ghnèitheach, a’ leigeil leis an CPU agus GPU faighinn gu raointean cuimhne sioncronaich cumanta. Tha an siostam cuimhne brìgheil co-roinnte (SVM, cuimhne brìgheil co-roinnte) air a chuir an gnìomh air bunait fo-shiostam HMM (riaghladh cuimhne heterogeneous), a leigeas le innealan a chleachdadh leis na h-aonadan riaghlaidh cuimhne aca fhèin (MMU, aonad riaghlaidh cuimhne), a gheibh cothrom air. prìomh chuimhne. Gu sònraichte, a 'cleachdadh HMM, faodaidh tu àite seòladh co-roinnte a chuir air dòigh eadar an GPU agus CPU, anns am faigh an GPU cothrom air prìomh chuimhne a' phròiseas. Chan eil taic SVM air a chomasachadh an-dràsta ach airson GPUs teaghlaich Pascal, ged a tha taic air a thoirt seachad airson Volta agus Turing GPUs cuideachd. A bharrachd air an sin, ann an Nouveau air a chur ris ioctl ùr gus smachd a chumail air imrich raointean cuimhne pròiseas gu cuimhne GPU;
    • Ann an draibhear Intel DRM airson GPU Skylake agus nas fhaide air adhart (gen9+) air a ghabhail a-steach Gu gnàthach, bidh modh fastboot a’ cuir às do atharrachaidhean modh neo-riatanach aig àm bròg. Air a chur ris новые aithnichearan innealan stèidhichte air microarchitectures Coffelake agus Ice Lake. Airson chips Coffelake air a chur ris taic GVT (Virtualization GPU). Airson virtual GPUs air a chur an gnìomh Taic VFIO EDID. Airson pannalan LCD MIPI/DSI air a chur ris taic airson eileamaidean ACPI/PMIC. Air a chur an gnìomh modhan Tbh ùra 1080p30/50/60 TV;
    • Taic a bharrachd airson Vega10/20 BACO GPU ris an draibhear amdgpu. Stiùirich cumhachd Vega 10/20 agus clàran smachd nas fhuaire Vega 10. Chaidh aithnichearan inneal PCI ùra a chur ris airson Picasso GPUs. Air a chur ris eadar-aghaidh airson a bhith a’ riaghladh eisimeileachd clàraichte gus stadan a sheachnadh;
    • Air a chur ris Dràibhear DRM/KMS airson luathaichean sgrion ARM Komeda (Mailí D71);
    • Taic a bharrachd airson pannalan sgrion Toppoly TPG110, Sitronix ST7701, PDA 91-00156-A0, LeMaker BL035-RGB-002 3.5 agus Kingdisplay kd097d04;
    • Taic a bharrachd airson Rockchip RK3328, Cirrus Logic CS4341 agus CS35L36, MediaTek MT6358, Qualcomm WCD9335 agus codecs claisneachd Ingenic JZ4725B, a bharrachd air àrd-ùrlar claisneachd Mediatek MT8183;
    • Taic a bharrachd airson luchd-riaghlaidh NAND Flash STMicroelectronics FMC2, Amlogic Meson;
    • Taic luathachaidh a bharrachd airson siostaman bathar-cruaidh Habana AI;
    • Taic a bharrachd airson luchd-riaghlaidh gigabit Ethernet NXP ENETC agus eadar-aghaidh gun uèir MediaTek MT7603E (PCIe) agus MT76x8.

Aig an aon àm, Bunait Bathar-bog Ameireagaidh Laideann air a chruthachadh
roghainn gu tur an-asgaidh kernel 5.1 - Linux-saor 5.1-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. Anns an fhoillseachadh ùr, tha luchdachadh blob ciorramach anns na draibhearan mt7603 agus goya. Còd glanadh blob ùraichte ann an draibhearan agus fo-shiostaman wilc1000, iwlwifi, soc-acpi-intel, brcmfmac, mwifiex, btmrvl, btmtk agus touchscreen_dmi. Chaidh stad a chuir air glanadh blob ann an luchdan firmware lantiq xrx200 air sgàth gun deach a thoirt air falbh bhon kernel.

Source: fosgailtenet.ru

Cuir beachd ann