Ukukhishwa kwe-kernel ye-Linux 5.1

Ngemuva kwezinyanga ezimbili zokuthuthuka, uLinus Torvalds kwethulwa ukukhishwa kwe-kernel Linux 5.1. Phakathi kwezinguquko eziphawuleka kakhulu: isixhumi esibonakalayo esisha se-asynchronous I/O io_uring, ikhono lokusebenzisa i-NVDIMM njenge-RAM, ukusekelwa kwenkumbulo ebonakalayo eyabiwe e-Nouveau, ukusekelwa kokuqapha okunokwethenjelwa kwezinhlelo zefayela ezinkulu kakhulu nge-fanontify, ikhono lokumisa ukucindezelwa kwe-Zstd amazinga ku-Btrfs, isibambi esisha se-cpuidle TEO, ukuqaliswa kwezingcingo zesistimu ukuxazulula inkinga ye-2038, ikhono lokuqalisa kusukela kumadivayisi we-device-mapper ngaphandle kwe-initramfs, imojuli ye-SafeSetID LSM, ukusekelwa kwama-patches abukhoma ahlanganisiwe.

main emisha:

  • I-Disk Subsystem, I/O kanye ne-File Systems
    • Kusetshenziswe isixhumi esibonakalayo esisha se-asynchronous I/O - io_ring, ephawuleka ngokusekela kwayo ukuvota kwe-I/O kanye nekhono lokusebenza noma ngaphandle kokugcinwa kumthamo. Masikhumbule ukuthi indlela ye-asynchronous ye-I/O ehlongozwe ngaphambili ethi “aio” ayizange isekele i-I/O egcinwe kubhafa, ingasebenza kuphela ngemodi ye-O_DIRECT (ngaphandle kokuphazamisa nokudlula inqolobane), ibe nezinkinga ngokukhiya ngenxa yokulinda ukutholakala kwemethadatha, futhi ibonise izindleko ezinkulu ngenxa yokukopisha idatha kumemori.

      Ngaphakathi kwe-API
      abathuthukisi be-io_uring bazame ukuqeda ukushiyeka kwesixhumi esibonakalayo esidala se-aio. Ngu umkhiqizo io_uring iseduze kakhulu I-SPDK futhi iphambili kakhulu kune-libaio lapho isebenza ngokuvota kunikwe amandla. Umtapo wolwazi ulungiselelwe ukusetshenziswa io_uring ekugcineni izinhlelo zokusebenza ezisebenza endaweni yomsebenzisi ukukhulula, enikeza uhlaka lwezinga eliphezulu phezu kwesixhumi esibonakalayo se-kernel;

    • Endleleni yokulandelela umcimbi ku-FS fanotify() kwengezwe ukwesekwa kokulandela umkhondo we-superblock kanye nezimo zoshintsho lwesakhiwo i-dirent (imicimbi yokudala, yokususa kanye nokuhambisa izinkomba). Izici ezethulwe zisiza ukuxazulula izinkinga zokuqina eziphakama lapho kwakhiwa ukulandelwa koshintsho oluphindaphindayo ezinhlelweni ezinkulu zamafayela kusetshenziswa i- inotify mechanism (izinguquko eziqondile ngaphambilini bezingalandelelwa kuphela nge- inotify, kodwa
      ukusebenza ngaphansi kwezimo zokulandela ngomkhondo okuphindaphindekayo kohlu lwemibhalo olukhulu olufakwe esidlekeni kushiye okuningi kufiseleka). Manje ukuqapha okunjalo kungenziwa ngempumelelo nge- fanotify;

    • Kusistimu yefayela ye-Btrfs kwengezwe ikhono lokwenza ngendlela oyifisayo izinga lokuminyanisa le-algorithm ye-zstd, engathathwa njengokuthophana okuhle phakathi kwe-lz4 esheshayo kodwa engasebenzi kanye nokuminyanisa okunensa kodwa okuhle okungu-xz. Ngokufanisa nendlela okwakungenzeka ngayo ngaphambilini ukusetha izinga lokucindezela lapho usebenzisa i-zlib, usekelo lwenketho yokukhweza ethi “-o compress=zstd:level” yengezwe ku-zstd. Ngesikhathi sokuhlolwa, izinga elincane lokuqala linikeze ukucindezelwa kwedatha izikhathi ezingu-2.658 ngesivinini sokucindezela esingu-438.47 MB/s, isivinini sokuwohloka esingu-910.51 MB/s nokusetshenziswa kwenkumbulo okungu-780 MB, kanti izinga eliphezulu elingu-15 linikeze izikhathi ezingu-3.126, kodwa ngokucindezelwa. isivinini esingu-37.30 MB/s.ukuvula 878.84 MB/s kanye nokusetshenziswa kwenkumbulo 2547 MB;
    • Kwengeziwe ikhono lokuqalisa kusuka kusistimu yefayela etholakala kudivayisi yemephu yedivayisi, ngaphandle kokusebenzisa i-initramfs. Ukuqala ngokukhululwa kwe-kernel yamanje, amadivaysi e-device-mapper angasetshenziswa ngokuqondile phakathi nenqubo yokuqalisa, isibonelo, njengengxenye yohlelo lwefayela lezimpande. I-partition ilungiswa kusetshenziswa ipharamitha yokuqalisa "dm-mod.create". Amamojula wemephu yedivayisi avunyelwe ukulayishwa ahlanganisa: “crypt”, “delay”, “linear”, “snapshot-origin” kanye “nokuqina”;
    • Ifulegi le-F2FS_NOCOW_FL lengezwe ohlelweni lwefayela le-F2FS eliqondiswe kumadrayivu e-Flash, okuvumela ukuthi ukhubaze imodi yokukopisha-nokubhala kufayela elinikeziwe;
    • Isistimu yefayela ikhishiwe ku-kernel Ama-Exofs, okuhlukile kwe-ext2, eguqulelwe ukusebenza nge-OSD (Idivayisi Yesitoreji Esekelwe Entweni) yokugcina izinto. Ukusekelwa kwephrothokholi ye-SCSI yamathuluzi anjalo okugcina izinto nakho kususiwe;
  • I-Virtualization kanye Nokuphepha
    • Kwengezwe inketho ye-PR_SPEC_DISABLE_NOEXEC ku-prctl() ukuze kulawulwe ukwenziwa kokuqagela kwemiyalelo yenqubo ekhethiwe. Inketho entsha ikuvumela ukuthi ukhubaze ngokukhetha ukuqagela kwezinqubo ezingase zihlaselwe ukuhlasela kweSpecter. Ilokhi ihlala kuze kube ucingo lokuqala lokukhipha();
    • Imojuli ye-LSM esetshenzisiwe SafeSetID, okuvumela amasevisi esistimu ukuthi aphathe ngokuphephile abasebenzisi ngaphandle kwamalungelo akhulayo (CAP_SETUID) futhi ngaphandle kokuthola amalungelo ezimpande. Amalungelo anikezwa ngokuchaza imithetho kuma-securityfs asekelwe ohlwini olumhlophe lwezibopho ezivumelekile (ngefomu elithi “UID1:UID2”);
    • Kungezwe izinguquko zeleveli ephansi ezidingekayo ekulayisheni okususelwe kusitaki kwamamojula okuphepha (ama-LSM). Sethule "lsm" inketho ye-kernel boot yokulawula ukuthi yimaphi amamojula alayishwayo futhi ngaluphi uhlelo;
    • Ukusekelwa kwezikhala zamagama zefayela kwengezwe ohlelweni oluncane locwaningo;
    • Kunwetshiwe amandla e-GCC plugin structleak, ekuvumela ukuthi uvimbe ukuvuza okungenzeka kokuqukethwe kwememori Ukuqaliswa kwanoma yiziphi izinto eziguquguqukayo ezisetshenziswa kukhodi ngokufinyelela kwereferensi kusitaki kunikezwa;
  • Isistimu engaphansi yenethiwekhi
    • Okwezisekelo kwenziwe inketho entsha "SO_BINDTOIFINDEX" efana ne
      "SO_BINDTODEVICE", kodwa ukuthatha njengengxabano inombolo yenkomba yesixhumi esibonakalayo senethiwekhi esikhundleni segama lesixhumi esibonakalayo;

    • Isitaki se-mac80211 sengeze amandla okunikeza ama-BSSID amaningi (amakheli e-MAC) kudivayisi eyodwa. Njengengxenye yephrojekthi yokuthuthukisa ukusebenza kwe-WiFi, isitaki se-mac80211 sengeze ukubalwa kwe-airtime kanye nekhono lokusabalalisa isikhathi somoya eziteshini eziningi (uma sisebenza kumodi yephoyinti lokufinyelela, sabele isikhathi esincane sokudlulisela ukunensa eziteshini ezingenazintambo, esikhundleni sokusabalalisa isikhathi ngokulinganayo phakathi kwazo zonke izinto. iziteshi);
    • Kwengezwe indlela "impilo ye-devlink", ehlinzeka ngezaziso lapho izinkinga zenzeka ngesixhumi esibonakalayo senethiwekhi;
  • Imemori kanye nezinsizakalo zesistimu
    • Kwenziwa ukulethwa kwesignali okuvikelekile okuvumela ukusetshenziswa kabusha kwe-PID. Isibonelo, lapho ubiza ukubulala ngaphambilini, kungase kuvele isimo lapho, ngokushesha ngemva kokuthumela isignali, i-PID eqondiwe ingakhululwa ngenxa yokunqanyulwa kwenqubo futhi ihlaliswe enye inqubo, futhi isignali izogcina idluliselwe kwenye inqubo. Ukuze kuqedwe izimo ezinjalo, kungezwe ikholi entsha yesistimu ethi pidfd_send_signal, esebenzisa izichazi zefayela kusuka ku-/proc/pid ukuze kuqinisekiswe ukubophezela kwenqubo ezinzile. Ngisho noma i-PID iphinda isetshenziswa ngesikhathi sokucubungula ikholi yesistimu, isichazi sefayela ngeke sishintshe futhi singasetshenziswa ngokuphepha ukuthumela isignali kunqubo;
    • Kwengeziwe ikhono lokusebenzisa amadivaysi enkumbulo angapheli (inkumbulo eqhubekayo, isibonelo I-NVDIMM) njenge-RAM. Kuze kube manje, i-kernel isekela amadivayisi anjalo njengamadivayisi wokugcina, kodwa manje angasetshenziswa njenge-RAM eyengeziwe. Lesi sici sisetshenziswa ngokuphendula izifiso zabasebenzisi abazimisele ukubekezelela ukuntenga kokusebenza futhi abafuna ukusebenzisa i-API yokulawula inkumbulo ye-Linux kernel esikhundleni sokusebenzisa izinhlelo ezikhona zokwabiwa kwenkumbulo yendawo yomsebenzisi ezisebenza phezu kwe-mmap ye-dax. ifayela;
    • Kwengezwe isibambi esisha se-CPU esingenzi lutho (i-cpuidle, inquma ukuthi i-CPU ingafakwa nini ezindleleni zokonga amandla ajulile; lapho imodi ijula, iyonga kakhulu, kodwa futhi kuthatha isikhathi eside ukuphuma kumodi) - I-TEO (I-Timer Events Oriented Governor ). Kuze kube manje, kuphakanyiswe izibambi ezimbili ze-cpuidle - “imenyu” kanye “nesitebhisi”, ezihlukene nge-heuristics. Umphathi "wemenyu" unezinkinga ezaziwayo ngokwenza izinqumo ze-heuristic, ukuqeda okwanqunywa ukuthi kulungiswe isibambi esisha. I-TEO ibekwe njengenye indlela yesibambi "semenyu", evumela ukusebenza okuphezulu kuyilapho igcina izinga elifanayo lokusetshenziswa kwamandla.
      Ungakwazi ukwenza isibambi esisha sisebenze usebenzisa ipharamitha yokuqalisa “cpuidle.governor=teo”;

    • Njengengxenye yomsebenzi wokuqeda izinkinga zika-2038, okubangelwa ukuchichima kohlobo lwe-32-bit time_t, kuhlanganisa amakholi esistimu anikezela ngezinto zokubala zesikhathi ezingu-32-bit zezakhiwo ezingamabhithi angu-64. Njengomphumela, isakhiwo se-64-bit time_t manje singasetshenziswa kuzo zonke izakhiwo. Izinguquko ezifanayo ziphinde zasetshenziswa kusistimu engaphansi yenethiwekhi ukuze uthole izinketho isitembu sesikhathi amasokhethi enethiwekhi;
    • Kuhlelo olushisayo lokuchibiyela umgogodla (ukuphesha okubukhoma) kwengezwe Isici esithi "Atomic Replace" sokusebenzisa i-athomu uchungechunge lwezinguquko kumsebenzi owodwa. Lesi sici sikuvumela ukuthi usabalalise amapheshana afingqiwe ahlanganisa izinguquko ezimbalwa ngesikhathi esisodwa, esikhundleni senqubo yokusetshenziswa kwesiteji nesigaba samapeshi abukhoma ngokulandelana okuchazwe ngokuqinile, okunzima kakhulu ukukugcina. Nakuba ngaphambilini ushintsho ngalunye olulandelayo bekufanele lusekelwe esimweni somsebenzi ngemva koshintsho lokugcina, manje sekungenzeka ukusabalalisa izinguquko ezimbalwa eziboshelwe esimweni esisodwa sokuqala ngesikhathi esisodwa (okungukuthi, abalondolozi bangakwazi ukugcina ipheshi elilodwa elihlanganisiwe elihlobene ne-base kernel esikhundleni salokho. uchungechunge lwama-patches ancike komunye nomunye);
    • Kumenyezelwe ukwesekwa okwehlisiwe kwefomethi yefayela elisebenzisekayo elithi a.out kanye
      kususiwe ikhodi yokukhiqiza amafayela ayisisekelo ngefomethi ye-a.out, esesimweni sokushiywa. Ifomethi ye-a.out ibingakaze isetshenziswe ezinhlelweni ze-Linux isikhathi eside, futhi ukukhiqizwa kwamafayela a.out sekuyisikhathi eside kungasekelwa amathuluzi esimanje ekucushweni okuzenzakalelayo kwe-Linux. Ukwengeza, isilayishi samafayela a.out singasetshenziswa ngokuphelele esikhaleni somsebenzisi;

    • Ikhono lokuhlonza nokukhipha ikhodi engasetshenziswanga lengeziwe endleleni yokuqinisekisa uhlelo lwe-BPF. I-kernel iphinde ifake ama-patches anokwesekwa kwe-spinlock ye-subsystem ye-BPF, ehlinzeka ngamakhono engeziwe okuphatha ukukhishwa okufanayo kwezinhlelo ze-BPF;
  • Izinsiza
    • Kumshayeli we-Nouveau kwengezwe ukwesekwa kokuphathwa kwenkumbulo okuhlukile, okuvumela i-CPU ne-GPU ukuthi ifinyelele izindawo zememori ezivumelanisiwe ezivamile. Uhlelo lwememori okwabelwana ngalo (i-SVM, inkumbulo ebonakalayo eyabiwe) lusetshenziswa ngesisekelo sohlelo olungaphansi lwe-HMM (Heterogeneous memory management), oluvumela ukusetshenziswa kwamadivayisi anamayunithi awo okuphatha inkumbulo (MMU, iyunithi yokuphatha inkumbulo), engafinyelela inkumbulo eyinhloko. Ikakhulukazi, usebenzisa i-HMM, ungahlela isikhala sekheli esabiwe phakathi kwe-GPU ne-CPU, lapho i-GPU ikwazi ukufinyelela inkumbulo eyinhloko yenqubo. Ukusekelwa kwe-SVM okwamanje kunikwe amandla kuphela kuma-GPU omndeni wakwa-Pascal, nakuba usekelo luhlinzekwa kuma-Volta kanye nama-Turing GPU nawo. Ngaphezu kwalokho, e-Nouveau kungezwe ioctl entsha yokulawula ukufuduka kwezindawo zememori yenqubo kumemori ye-GPU;
    • Kumshayeli we-Intel DRM we-GPU Skylake futhi kamuva (gen9+) kuhlanganisiwe Ngokuzenzakalelayo, imodi ye-fastboot isusa izinguquko zemodi ezingadingekile ngesikhathi sokuqalisa. Kwengeziwe новые izihlonzi zedivayisi ezisuselwe kuzakhiwo ezincane ze-Coffelake ne-Ice Lake. Okwe-Coffelake chips kwengezwe Usekelo lwe-GVT (Ukusebenza kwe-GPU). Okwama-GPU abonakalayo kwenziwe Ukusekelwa kwe-VFIO EDID. Okwamaphaneli e-LCD i-MIPI/DSI kwengezwe usekelo lwezici ze-ACPI/PMIC. Kwenziwa izindlela ezintsha ze-TV 1080p30/50/60 TV;
    • Kwengezwe usekelo lwe-Vega10/20 BACO GPU kumshayeli we-amdgpu. Kusetshenziswe ukuphathwa kwamandla we-Vega 10/20 kanye namathebula okulawula apholile e-Vega 10. Kwengezwe izihlonzi zedivayisi ye-PCI entsha ye-Picasso GPUs. Kwengezwe isikhombimsebenzisi sokuphatha ukuncika okuhleleka ukuze kugwenywe ukuthintana;
    • Kwengezwe Umshayeli we-DRM/KMS wezisheshisi zesikrini I-ARM Komeda (I-Mali D71);
    • Ukwesekwa okwengeziwe kwe-Toppoly TPG110, Sitronix ST7701, PDA 91-00156-A0, LeMaker BL035-RGB-002 3.5 kanye namaphaneli esikrini e-Kingdisplay kd097d04;
    • Ukwesekwa okwengeziwe kwe-Rockchip RK3328, Cirrus Logic CS4341 kanye ne-CS35L36, MediaTek MT6358, Qualcomm WCD9335 kanye ne-Ingenic JZ4725B codec yomsindo, kanye ne-Mediatek MT8183 yesikhulumi somsindo;
    • Ukwesekwa okwengeziwe kwezilawuli ze-NAND Flash STMicroelectronics FMC2, Amlogic Meson;
    • Ukwesekwa kwe-accelerator kwe-Habana AI hardware systems;
    • Ukwesekwa okwengeziwe kwezilawuli ze-NXP ENETC gigabit Ethernet kanye ne-MediaTek MT7603E (PCIe) ne-MT76x8 wireless interface.

Ngesikhathi esifanayo, i-Latin American Free Software Foundation kwakheka
inketho i-kernel yamahhala ngokuphelele 5.1 - I-Linux-free 5.1-gnu, kusulwe ku-firmware nezinto zomshayeli eziqukethe izingxenye ezingezona zamahhala noma izigaba zekhodi, ububanzi bazo obunqunyelwe umkhiqizi. Ekukhishweni okusha, ukulayishwa kwe-blob kukhutshaziwe kubashayeli be-mt7603 kanye ne-goya. Ikhodi yokuhlanza i-blob ebuyekeziwe kubashayeli nakuzinhlelo ezingaphansi i-wilc1000, iwlwifi, soc-acpi-intel, bcmfmac, mwifiex, btmrvl, btmtk ne-touchscreen_dmi. Ukuhlanzwa kwe-Blob kusilayishi se-firmware se-lantiq xrx200 kumisiwe ngenxa yokususwa kwayo ku-kernel.

Source: opennet.ru

Engeza amazwana