Linux 5.1 kjarnaútgáfa

Eftir tveggja mánaða þróun, Linus Torvalds kynnt kjarnaútgáfu Linux 5.1. Meðal athyglisverðustu breytinganna: nýtt viðmót fyrir ósamstillta I/O io_uring, hæfileikinn til að nota NVDIMM sem vinnsluminni, stuðningur við sameiginlegt sýndarminni í Nouveau, stuðningur við stigstærð eftirlit með mjög stórum skráarkerfum með fanotify, hæfni til að stilla Zstd þjöppun stigum í Btrfs, nýr cpuidle TEO meðhöndlari, útfærsla á kerfissímtölum til að leysa 2038 vandamálið, hæfileikinn til að ræsa úr tækjakortatækjum án initramfs, SafeSetID LSM eining, stuðningur við sameinaða lifandi plástra.

Helstu nýjungar:

  • Diska undirkerfi, I/O og skráarkerfi
    • Innleitt nýtt viðmót fyrir ósamstillt I/O - io_úring, sem er áberandi fyrir stuðning sinn við I/O könnun og getu til að vinna með eða án biðminni. Við skulum minnast þess að áður fyrirhugað ósamstilltur I/O vélbúnaður „aio“ styður ekki biðminni I/O, gat aðeins starfað í O_DIRECT ham (án biðminni og framhjá skyndiminni), átti í vandræðum með læsingu vegna bið eftir aðgengi að lýsigögnum og sýndi mikinn kostnað vegna afritunar gagna í minni.

      Innan API
      io_uring forritarar reyndu að útrýma göllum gamla aio viðmótsins. By frammistaða io_uring er mjög nálægt SPDK og er verulega á undan libaio þegar unnið er með könnun virkt. Bókasafn hefur verið útbúið til að nota io_uring í lokaforritum sem keyra í notendarými frelsandi, sem veitir ramma á háu stigi yfir kjarnaviðmótið;

    • Í atburðarrakningarkerfi í FS fanotify() bætt við stuðningur við að fylgjast með superblock og skipulagsbreytingum beint (atburðir við að búa til, eyða og færa möppur). Framsettir eiginleikar hjálpa til við að leysa stigstærðarvandamálin sem koma upp þegar búið er til endurkvæma breytingarakningu í mjög stórum skráarkerfum með því að nota inotify vélbúnaðinn (áður var aðeins hægt að rekja óþægilegar breytingar í gegnum inotify, en
      afköst við aðstæður endurkvæmrar rakningar á stórum hreiðurum möppum skildu eftir sig miklu. Nú er hægt að framkvæma slíkt eftirlit með fanotify;

    • Á Btrfs skráarkerfinu bætt við hæfileikinn til að sérsníða þjöppunarstigið fyrir zstd reikniritið, sem hægt er að líta á sem ákjósanlega málamiðlun milli hins hraða en árangurslausa lz4 og hægfara en góðrar þjöppunar xz. Á hliðstæðan hátt við hvernig það var áður hægt að stilla þjöppunarstigið þegar zlib var notað, hefur stuðningi við „-o compress=zstd:level“ festingarvalkostinn verið bætt við fyrir zstd. Meðan á prófun stóð gaf lágmarksstigið 2.658 sinnum gagnaþjöppun með 438.47 MB/s þjöppunarhraða, 910.51 MB/s og minnisnotkun 780 MB og hámarksstig 15 veitti 3.126 sinnum, en með þjöppun hraði 37.30 MB/s. upptaka 878.84 MB/s og minnisnotkun 2547 MB;
    • Bætt við hæfileikann til að ræsa úr skráarkerfi sem er staðsett á tæki-kortlagningartækinu, án þess að nota initramfs. Frá og með núverandi kjarnaútgáfu er hægt að nota tæki sem kortleggja tæki beint meðan á ræsiferlinu stendur, til dæmis sem skipting með rótarskráarkerfinu. Skiptingin er stillt með því að nota ræsibreytuna „dm-mod.create“. Tækjakortaeiningar sem leyfðar eru fyrir hleðslu eru: „dulmál“, „töf“, „línuleg“, „snapshot-uppruni“ og „verity“;
    • F2FS_NOCOW_FL fánanum hefur verið bætt við F2FS skráarkerfið sem miðar að Flash-drifum, sem gerir þér kleift að slökkva á afritunar-í-skrifa ham fyrir tiltekna skrá;
    • Skráarkerfi fjarlægt úr kjarna Exofs, sem er afbrigði af ext2, aðlagað til að vinna með OSD (Object-based Storage Device) hlutageymslum. Stuðningur við SCSI samskiptareglur fyrir slík geymslutæki hefur einnig verið fjarlægð;
  • Sýndarvæðing og öryggi
    • Bætti við PR_SPEC_DISABLE_NOEXEC valkostinum við prctl() til að stjórna íhugandi framkvæmd leiðbeininga fyrir valið ferli. Nýr valkostur gerir þér kleift að slökkva á íhugandi framkvæmd fyrir ferla sem gætu hugsanlega orðið fyrir árás með Specter árás. Læsingin endist þar til fyrsta kallið til exec();
    • Innleidd LSM eining SafeSetID, sem gerir kerfisþjónustum kleift að stjórna notendum á öruggan hátt án þess að auka réttindi (CAP_SETUID) og án þess að öðlast rótarréttindi. Forréttindi eru úthlutað með því að skilgreina reglur í securityfs byggðar á hvítum lista yfir gildar bindingar (í formi "UID1:UID2");
    • Bætt við lágmarksbreytingum sem krafist er fyrir hleðslu á öryggiseiningum (LSM). Kynnti "lsm" kjarna ræsivalkostinn til að stjórna hvaða einingar eru hlaðnar og í hvaða röð;
    • Stuðningur við skráarnafnarými hefur verið bætt við endurskoðunarundirkerfið;
    • Útvíkkað getu GCC viðbótarinnar structleak, sem gerir þér kleift að loka fyrir hugsanlegan leka á minnisinnihaldi. Frumstilling á breytum sem eru notaðar í kóðanum með tilvísunaraðgangi á stafla er veitt;
  • Net undirkerfi
    • Fyrir innstungur komið til framkvæmda nýr valmöguleiki "SO_BINDTOIFINDEX" svipað og
      "SO_BINDTODEVICE", en tek sem rök vísitölu netviðmótsins í stað viðmótsheitisins;

    • mac80211 staflan hefur bætt við getu til að úthluta mörgum BSSID (MAC vistföngum) í eitt tæki. Sem hluti af verkefni til að hámarka afköst WiFi hefur mac80211 staflan bætt útsendingartímabókhaldi og getu til að dreifa útsendingartíma milli margra stöðva (þegar unnið er í aðgangsstaðaham, úthlutað minni sendingartíma til hægra þráðlausra stöðva, í stað þess að dreifa tíma jafnt á milli allra stöðvar);
    • Bætt við vélbúnaði "devlink heilsa", sem veitir tilkynningar þegar vandamál koma upp við netviðmótið;
  • Minni og kerfisþjónusta
    • Framkvæmt örugg merkjasending sem gerir PID endurnotkun kleift. Til dæmis, þegar kallað er á drepa áður, gæti komið upp sú staða að strax eftir að merki hefur verið sent, gæti PID-markmiðið losnað vegna stöðvunar ferlis og upptekið af öðru ferli, og merkið myndi á endanum fara í annað ferli. Til að útrýma slíkum aðstæðum hefur nýju kerfiskalli pidfd_send_signal verið bætt við, sem notar skráarlýsingar frá /proc/pid til að tryggja stöðuga ferlibindingu. Jafnvel þó að PID sé endurnýtt við vinnslu kerfissímtala breytist skráarlýsingin ekki og hægt er að nota hann á öruggan hátt til að senda merki til ferlisins;
    • Bætt við getu til að nota varanleg minnistæki (viðvarandi minni, til dæmis NVDIMM) sem vinnsluminni. Hingað til hefur kjarninn stutt slík tæki sem geymslutæki, en nú er einnig hægt að nota þau sem viðbótarvinnsluminni. Eiginleikinn er útfærður til að bregðast við óskum notenda sem eru tilbúnir að þola frammistöðutöf og vilja nota innfædda Linux kjarnaminnisstjórnunarforritaskil í stað þess að nota núverandi minnisúthlutunarkerfi notendarýmis sem keyra ofan á mmap fyrir dax skrá;
    • Bætt við nýjum örgjörva aðgerðalausum stjórnanda (cpuidle, ákveður hvenær hægt er að setja örgjörvann í djúpa orkusparnaðarham; því dýpri sem stillingin er, því meiri er sparnaðurinn, en líka því lengri tíma sem það tekur að hætta stillingunni) - TEO (Timer Events Oriented Governor ). Hingað til hafa tveir cpuidle-meðhöndlarar verið lagðir til - „valmynd“ og „stigi“, með ólíkum hætti. "Valmyndar" stjórnandinn hefur þekkt vandamál með að taka heuristic ákvarðanir, til að koma í veg fyrir sem var ákveðið að undirbúa nýjan stjórnanda. TEO er staðsettur sem valkostur við „valmynd“ meðhöndlunina, sem gerir ráð fyrir meiri afköstum á sama tíma og sama orkunotkun er viðhaldið.
      Þú getur virkjað nýja meðhöndlunina með því að nota ræsibreytuna “cpuidle.governor=teo”;

    • Sem hluti af vinnu við að útrýma vandamál 2038, sem stafar af yfirfalli af 32-bita time_t gerðinni, inniheldur kerfiskall sem bjóða upp á 32-bita tímateljara fyrir 64-bita arkitektúr. Fyrir vikið er nú hægt að nota 64-bita time_t uppbyggingu á öllum arkitektúrum. Svipaðar breytingar hafa einnig verið innleiddar í netundirkerfinu fyrir valkosti timestamp netinnstungur;
    • Inn í heita plástrakerfið fyrir kjarnann (lifandi plástur) bætt við „Atomic Replace“ eiginleiki til að beita lotubundnum breytingum á einni aðgerð. Þessi eiginleiki gerir þér kleift að dreifa samantektarplástrum sem ná yfir nokkrar breytingar í einu, í stað þess að beita lifandi plástra stigi fyrir stigi í strangt skilgreindri röð, sem er frekar erfitt að viðhalda. Þar sem áður þurfti hver síðari breyting að byggjast á stöðu fallsins eftir síðustu breytingu, er nú hægt að dreifa nokkrum breytingum sem eru bundnar við eitt upphafsástand í einu (þ. af keðju plástra sem eru háðir hver öðrum );
    • Tilkynnt úreltur stuðningur við a.out keyranlega skráarsniðið og
      eytt kóða til að búa til kjarnaskrár á a.out sniði, sem er í yfirgefnu ástandi. A.out sniðið hefur ekki verið notað á Linux kerfum í langan tíma og kynslóð a.out skráa hefur lengi verið óstudd af nútíma verkfærum í sjálfgefnum Linux stillingum. Að auki er hægt að útfæra hleðslutæki fyrir a.out skrár algjörlega í notendarými;

    • Möguleikinn til að bera kennsl á og fjarlægja ónotaðan kóða hefur verið bætt við staðfestingarkerfi BPF forritsins. Kjarninn inniheldur einnig plástra með spinlock stuðningi fyrir BPF undirkerfið, sem veitir viðbótarmöguleika til að stjórna samhliða framkvæmd BPF forrita;
  • Оборудование
    • Í Nouveau bílstjóri bætt við stuðningur við ólíka minnisstjórnun, sem gerir CPU og GPU kleift að fá aðgang að sameiginlegum samstilltum minnissvæðum. Sameiginlega sýndarminniskerfið (SVM, sameiginlegt sýndarminni) er útfært á grundvelli HMM (Heterogeneous memory management) undirkerfisins, sem gerir kleift að nota tæki með eigin minnisstjórnunareiningum (MMU, minnisstjórnunareining), sem hafa aðgang að aðalminni. Sérstaklega, með því að nota HMM, geturðu skipulagt sameiginlegt vistfangarými milli GPU og CPU, þar sem GPU getur fengið aðgang að aðalminni ferlisins. SVM stuðningur er sem stendur aðeins virkur fyrir Pascal fjölskyldu GPU, þó stuðningur sé einnig veittur fyrir Volta og Turing GPU. Þar að auki, í Nouveau bætt við nýtt ioctl til að stjórna flutningi vinnsluminnisvæða yfir í GPU minni;
    • Í Intel DRM bílstjóri fyrir GPU Skylake og síðar (gen9+) innifalinn Sjálfgefið er, fastboot hamur útilokar óþarfa stillingarbreytingar við ræsingu. Bætt við новые tækjaauðkenni byggð á Coffelake og Ice Lake örarkitektúr. Fyrir Coffelake franskar bætt við GVT stuðningur (GPU sýndarvæðing). Fyrir sýndar GPU komið til framkvæmda VFIO EDID stuðningur. Fyrir LCD spjöld MIPI/DSI bætt við stuðningur við ACPI/PMIC þætti. Framkvæmt nýjar sjónvarpsstillingar 1080p30/50/60 sjónvarp;
    • Bætti stuðningi við Vega10/20 BACO GPU við amdgpu bílstjórann. Innleiddi Vega 10/20 orkustýringu og Vega 10 kælistjórnunartöflur. Bætt við nýjum PCI tækjaauðkennum fyrir Picasso GPU. Bætt við viðmót til að stjórna áætlunarbundnum ósjálfstæðum til að forðast deadlocks;
    • Bætt við DRM/KMS bílstjóri fyrir skjáhraðla ARM Komeda (Malí D71);
    • Bætt við stuðningi við Toppoly TPG110, Sitronix ST7701, PDA 91-00156-A0, LeMaker BL035-RGB-002 3.5 og Kingdisplay kd097d04 skjáborð;
    • Bætti við stuðningi fyrir Rockchip RK3328, Cirrus Logic CS4341 og CS35L36, MediaTek MT6358, Qualcomm WCD9335 og Ingenic JZ4725B hljóðmerkjamál, auk Mediatek MT8183 hljóðvettvangs;
    • Bætt við stuðningi fyrir NAND stýringar Flash STMicroelectronics FMC2, Amlogic Meson;
    • Bætt við hraðauppgjöf fyrir Habana AI vélbúnaðarkerfi;
    • Bætti við stuðningi fyrir NXP ENETC gigabit Ethernet stýringar og MediaTek MT7603E (PCIe) og MT76x8 þráðlaus tengi.

Á sama tíma, Latin American Free Software Foundation myndast
вариант alveg ókeypis kjarna 5.1 - Linux-frítt 5.1-gnu, hreinsaður af vélbúnaðar- og ökumannseiningum sem innihalda ófrjálsa íhluti eða kóðahluta, en umfang þeirra er takmarkað af framleiðanda. Í nýju útgáfunni er slökkt á blobhleðslu í mt7603 og goya rekla. Uppfærður blob-hreinsunarkóði í rekla og undirkerfum wilc1000, iwlwifi, soc-acpi-intel, brcmfmac, mwifiex, btmrvl, btmtk og touchscreen_dmi. Bubbahreinsun í lantiq xrx200 fastbúnaðarhleðslutæki hefur verið stöðvuð vegna þess að hún var fjarlægð úr kjarnanum.

Heimild: opennet.ru

Bæta við athugasemd