Itusilẹ ekuro Linux 5.1

Lẹhin osu meji ti idagbasoke, Linus Torvalds ṣafihan itusilẹ ekuro Linux 5.1. Lara awọn ayipada ti o ṣe akiyesi julọ: wiwo tuntun fun asynchronous I / O io_uring, agbara lati lo NVDIMM bi Ramu, atilẹyin fun iranti foju pinpin ni Nouveau, atilẹyin fun ibojuwo iwọn ti awọn ọna ṣiṣe faili ti o tobi pupọ nipasẹ fanotify, agbara lati tunto funmorawon Zstd. awọn ipele ni Btrfs, olutọju TEO cpuidle tuntun kan, imuse awọn ipe eto lati yanju iṣoro 2038, agbara lati bata lati awọn ẹrọ-mapper ẹrọ laisi initramfs, SafeSetID LSM module, atilẹyin fun awọn patches ifiwe laaye.

akọkọ awọn imotuntun:

  • Disk Subsystem, I/O ati File Systems
    • Ti ṣe imuse wiwo tuntun fun I/O asynchronous - io_uring, eyi ti o ṣe akiyesi fun atilẹyin rẹ fun idibo I / O ati agbara lati ṣiṣẹ pẹlu tabi laisi ifipamọ. Jẹ ki a ranti pe ẹrọ I/O asynchronous ti a dabaa tẹlẹ “aio” ko ṣe atilẹyin I/O buffered, o le ṣiṣẹ nikan ni ipo O_DIRECT (laisi buffering ati fori kaṣe), ni awọn iṣoro pẹlu titiipa nitori iduro fun wiwa metadata, ati ṣe afihan awọn idiyele ti o tobi ju nitori didakọ data ni iranti.

      Laarin API
      io_uring Difelopa gbiyanju lati se imukuro awọn shortcomings ti atijọ aio ni wiwo. Nipasẹ iṣelọpọ io_uring jẹ gidigidi sunmo si SPDK ati pe o wa niwaju libaio ni pataki nigbati o ba ṣiṣẹ pẹlu ṣiṣe idibo. A ti pese ile-ikawe kan fun lilo io_uring ni awọn ohun elo ipari ti nṣiṣẹ ni aaye olumulo liburing, eyiti o pese ilana ti o ga julọ lori wiwo ekuro;

    • Ninu ẹrọ ipasẹ iṣẹlẹ ni FS fanotify () kun atilẹyin fun ipasẹ superblock ati awọn ipo iyipada eto taara (awọn iṣẹlẹ ti ṣiṣẹda, piparẹ ati gbigbe awọn ilana). Awọn ẹya ara ẹrọ ti a gbekalẹ ṣe iranlọwọ lati yanju awọn iṣoro scalability ti o dide nigbati o ṣẹda ipasẹ iyipada atunṣe ni awọn ọna ṣiṣe faili ti o tobi pupọ nipa lilo ẹrọ inotify (awọn iyipada taara le ṣe tọpinpin tẹlẹ nipasẹ inotify, ṣugbọn
      išẹ ni awọn ipo ti ipasẹ loorekoore ti awọn ilana itosi nla ti o fi silẹ pupọ lati fẹ). Bayi iru ibojuwo le ṣee ṣe daradara nipasẹ fannotify;

    • Lori eto faili Btrfs kun agbara lati ṣe akanṣe ipele titẹkuro fun algoridimu zstd, eyiti o le ṣe akiyesi bi adehun ti o dara julọ laarin iyara ṣugbọn lz4 ti ko ni doko ati iyara ṣugbọn funmorawon xz to dara. Nipa afiwe pẹlu bii o ti ṣee ṣe tẹlẹ lati ṣeto ipele titẹkuro nigba lilo zlib, atilẹyin fun aṣayan oke “-o compress=zstd:level” ti ṣafikun fun zstd. Lakoko idanwo, ipele akọkọ ti o kere julọ pese funmorawon data nipasẹ awọn akoko 2.658 pẹlu iyara titẹkuro ti 438.47 MB/s, iyara idinku ti 910.51 MB/s ati agbara iranti ti 780 MB, ati ipele ti o pọju 15 pese awọn akoko 3.126, ṣugbọn pẹlu titẹkuro iyara ti 37.30 MB / s. ṣiṣi silẹ 878.84 MB / s ati agbara iranti 2547 MB;
    • Fi kun agbara lati bata lati eto faili ti o wa lori ẹrọ mapper ẹrọ, laisi lilo awọn initramfs. Bibẹrẹ pẹlu itusilẹ ekuro lọwọlọwọ, awọn ẹrọ mapper ẹrọ le ṣee lo taara lakoko ilana bata, fun apẹẹrẹ, bi ipin pẹlu eto faili gbongbo. Ti tunto ipin naa nipa lilo paramita bata “dm-mod.create”. Awọn modulu ẹrọ-mapper ti a gba laaye fun ikojọpọ pẹlu: “crypt”, “idaduro”, “ilana”, “ipilẹṣẹ aworan” ati “otitọ”;
    • F2FS_NOCOW_FL Flag ti ni afikun si eto faili F2FS ti o ni itọsọna si awọn awakọ Flash, eyiti o fun ọ laaye lati mu ipo daakọ-lori-kọ fun faili ti o fun;
    • Eto faili kuro lati ekuro Exofs, eyi ti o jẹ iyatọ ti ext2, ti a ṣe atunṣe fun ṣiṣẹ pẹlu OSD (Ẹrọ Ibi-ipamọ Ohun elo) Awọn ibi ipamọ ohun. Atilẹyin fun ilana SCSI fun iru awọn ẹrọ ipamọ ohun ti a ti yọ kuro;
  • Foju ati Aabo
    • Fi kun PR_SPEC_DISABLE_NOEXEC aṣayan to prctl () lati sakoso speculative ipaniyan ti ilana fun awọn ti o yan ilana. Aṣayan tuntun ngbanilaaye lati yiyan mu ipaniyan akiyesi kuro fun awọn ilana ti o le ni ikọlu nipasẹ ikọlu Specter kan. Titiipa naa wa titi di ipe akọkọ si exec ();
    • Mu LSM module SafeSetID, eyiti ngbanilaaye awọn iṣẹ eto lati ṣakoso awọn olumulo ni aabo laisi awọn anfani ti o pọ si (CAP_SETUID) ati laisi nini awọn anfani gbongbo. Awọn anfani ti wa ni sọtọ nipasẹ asọye awọn ofin ni awọn aabo ti o da lori atokọ funfun ti awọn ifunmọ to wulo (ni fọọmu “UID1: UID2”);
    • Awọn ayipada ipele kekere ti a ṣafikun ti o nilo fun ikojọpọ orisun-akojọpọ ti awọn modulu aabo (LSMs). Ṣafihan aṣayan bata ekuro “lsm” lati ṣakoso iru awọn modulu wo ni o kojọpọ ati ni aṣẹ wo;
    • Atilẹyin fun awọn aaye orukọ faili ti ni afikun si eto abẹwo ayẹwo;
    • Ti fẹ awọn agbara ti GCC itanna structleak, eyiti o fun ọ laaye lati dènà awọn n jo ti o pọju ti awọn akoonu iranti Bibẹrẹ ti eyikeyi awọn oniyipada ti o lo ninu koodu nipasẹ wiwọle itọkasi lori akopọ ti pese;
  • Nẹtiwọọki subsystem
    • Fun sockets imuse titun aṣayan "SO_BINDTOIFINDEX" iru si
      "SO_BINDTODEVICE", ṣugbọn mu bi ariyanjiyan nọmba atọka ti wiwo nẹtiwọki dipo orukọ wiwo;

    • Akopọ mac80211 ti ṣafikun agbara lati fi ọpọlọpọ awọn BSSIDs (awọn adirẹsi MAC) si ẹrọ kan. Gẹgẹbi apakan ti iṣẹ akanṣe kan lati mu iṣẹ ṣiṣe WiFi pọ si, akopọ mac80211 ti ṣafikun iṣiro akoko afẹfẹ ati agbara lati pin kaakiri akoko afẹfẹ laarin awọn ibudo pupọ (nigbati o ba ṣiṣẹ ni ipo aaye wiwọle, ipinfunni akoko gbigbe kere si lati fa fifalẹ awọn ibudo alailowaya, dipo pinpin akoko ni deede laarin gbogbo eniyan). awọn ibudo);
    • Ilana ti a fi kun "devlink ilera", eyiti o pese awọn iwifunni nigbati awọn iṣoro ba waye pẹlu wiwo nẹtiwọki;
  • Iranti ati awọn iṣẹ eto
    • Ti ṣe imuse Ifijiṣẹ ifihan agbara to ni aabo ti o fun laaye fun atunlo PID. Fun apẹẹrẹ, nigba pipe pipa ni iṣaaju, ipo kan le dide nibiti, lẹsẹkẹsẹ lẹhin fifiranṣẹ ifihan agbara kan, PID afojusun le ni ominira nitori ifopinsi ilana ati ti tẹdo nipasẹ ilana miiran, ati pe ifihan yoo pari ni gbigbe si ilana miiran. Lati yọkuro iru awọn ipo bẹẹ, eto tuntun kan ti pe pidfd_send_signal ti ṣafikun, eyiti o nlo awọn apejuwe faili lati / proc/pid lati rii daju isọdọkan ilana iduroṣinṣin. Paapaa ti PID ba tun lo lakoko ṣiṣe ipe eto, oluṣapejuwe faili kii yoo yipada ati pe o le ṣee lo lailewu lati fi ami kan ranṣẹ si ilana naa;
    • Fi kun agbara lati lo awọn ẹrọ iranti ayeraye (iranti-iduroṣinṣin, fun apẹẹrẹ NVDIMMs) bi Ramu. Titi di bayi, ekuro ṣe atilẹyin iru awọn ẹrọ bii awọn ẹrọ ibi ipamọ, ṣugbọn nisisiyi wọn tun le ṣee lo bi afikun Ramu. Ẹya naa jẹ imuse ni idahun si awọn ifẹ ti awọn olumulo ti o fẹ lati farada aisun iṣẹ kan ati pe o fẹ lati lo iṣakoso iranti ekuro Linux abinibi API dipo lilo awọn eto ipin iranti aaye olumulo ti o wa tẹlẹ ti n ṣiṣẹ lori oke mmap fun dax. faili;
    • Ṣafikun olutọju aisinisi Sipiyu tuntun (cpuidle, pinnu nigbati Sipiyu le fi sinu awọn ipo fifipamọ agbara jinlẹ; ipo ti o jinlẹ, awọn ifowopamọ nla, ṣugbọn tun pẹ to lati jade kuro ni ipo) - TEO (Gomina Iṣalaye Awọn iṣẹlẹ Aago) ). Titi di isisiyi, awọn olutọju cpuidle meji ni a ti dabaa - “akojọ-akojọ” ati “akaba”, ti o yatọ ni awọn iṣẹ-iṣere. Olutọju “akojọ” ti mọ awọn iṣoro pẹlu ṣiṣe awọn ipinnu heuristic, lati yọkuro eyiti o pinnu lati mura olutọju tuntun kan. TEO wa ni ipo bi yiyan si olutọju “akojọ”, gbigba fun iṣẹ ṣiṣe ti o ga julọ lakoko mimu ipele kanna ti agbara agbara.
      O le mu oluṣakoso tuntun ṣiṣẹ nipa lilo paramita bata “cpuidle.governor= teo”;

    • Gẹgẹbi apakan ti iṣẹ lati yọkuro Awọn iṣoro 2038, ṣẹlẹ nipasẹ àkúnwọsílẹ ti iru 32-bit time_t, pẹlu awọn ipe eto ti o funni ni awọn iṣiro akoko 32-bit fun awọn faaji 64-bit. Bi abajade, eto 64-bit time_t le ṣee lo bayi lori gbogbo awọn faaji. Awọn iyipada ti o jọra tun ti ni imuse ninu eto ihalẹ nẹtiwọki fun awọn aṣayan timestamp awọn iho nẹtiwọki;
    • Sinu eto patching gbona fun mojuto (patching laaye) kun “Atomic Rọpo” ẹya fun atomically kan lẹsẹsẹ ti awọn ayipada si iṣẹ kan. Ẹya yii ngbanilaaye lati kaakiri awọn abulẹ akojọpọ ti o bo ọpọlọpọ awọn ayipada ni ẹẹkan, dipo ilana ti ohun elo ipele-nipasẹ-ipele ti awọn abulẹ laaye ni ilana asọye ti o muna, eyiti o nira pupọ lati ṣetọju. Lakoko ti iṣaaju iyipada kọọkan ti o tẹle ni lati da lori ipo iṣẹ naa lẹhin iyipada ti o kẹhin, o ṣee ṣe lati tan kaakiri ọpọlọpọ awọn ayipada ti o so mọ ipo ibẹrẹ kan ni ẹẹkan (ie, awọn olutọju le ṣetọju alemo isọdọkan ibatan si ekuro ipilẹ dipo ekuro ipilẹ dipo. ti pq ti awọn abulẹ ti o dale lori ara wọn);
    • kede deprecated support fun a.out executable faili kika ati
      kuro koodu fun ti o npese mojuto awọn faili ni a.out kika, eyi ti o jẹ ni ohun abandoned ipinle. Ọna kika a.out ko ti lo lori awọn eto Linux fun igba pipẹ, ati iran ti awọn faili a.out ti pẹ ti ko ni atilẹyin nipasẹ awọn irinṣẹ ode oni ni awọn atunto Linux aiyipada. Ni afikun, agberu fun awọn faili a.out le ṣe imuse patapata ni aaye olumulo;

    • Agbara lati ṣe idanimọ ati yọkuro koodu ti ko lo ni a ti ṣafikun si ẹrọ ijẹrisi eto BPF. Ekuro naa tun pẹlu awọn abulẹ pẹlu atilẹyin spinlock fun eto abẹlẹ BPF, pese awọn agbara afikun fun ṣiṣakoso ipaniyan ti o jọra ti awọn eto BPF;
  • Awọn ohun elo
    • Ni Nouveau iwakọ kun atilẹyin fun iṣakoso iranti oriṣiriṣi, gbigba Sipiyu ati GPU laaye lati wọle si awọn agbegbe iranti amuṣiṣẹpọ. Eto iranti foju ti o pin (SVM, iranti foju pin) ti ṣe lori ipilẹ HMM (Iṣakoso iranti Heterogeneous), eyiti o fun laaye laaye lati lo awọn ẹrọ pẹlu awọn ẹya iṣakoso iranti tiwọn (MMU, apakan iṣakoso iranti), eyiti o le wọle si. akọkọ iranti. Ni pataki, lilo HMM, o le ṣeto aaye adirẹsi pinpin laarin GPU ati Sipiyu, ninu eyiti GPU le wọle si iranti akọkọ ti ilana naa. Atilẹyin SVM lọwọlọwọ ṣiṣẹ fun awọn GPU idile Pascal, botilẹjẹpe atilẹyin ti pese fun Volta ati Turing GPUs daradara. Ni afikun, ni Nouveau fi kun ioctl tuntun lati ṣakoso ijira ti awọn agbegbe iranti ilana si iranti GPU;
    • Ninu awakọ Intel DRM fun GPU Skylake ati nigbamii (gen9+) to wa Nipa aiyipada, ipo fastboot yọkuro awọn iyipada ipo ti ko wulo lakoko bata. Fi kun kò sí awọn idamo ẹrọ ti o da lori Coffelake ati Ice Lake microarchitectures. Fun awọn eerun Coffelake kun atilẹyin GVT (GPU agbara). Fun foju GPUs imuse VFIO EDID atilẹyin. Fun LCD paneli MIPI/DSI kun atilẹyin fun ACPI / PMIC eroja. Ti ṣe imuse awọn ipo TV titun 1080p30/50/60 TV;
    • Ṣe afikun atilẹyin fun Vega10/20 BACO GPU si awakọ amdgpu. Ti ṣe imuse iṣakoso agbara Vega 10/20 ati awọn tabili iṣakoso itutu Vega 10. Ṣafikun awọn idanimọ ohun elo PCI tuntun fun awọn Picasso GPUs. Fi kun wiwo fun iṣakoso awọn igbẹkẹle iṣeto lati yago fun awọn titiipa;
    • Fi kun Awakọ DRM/KMS fun awọn accelerators iboju ARM Komeda (Mali D71);
    • Atilẹyin ti a ṣafikun fun Toppoly TPG110, Sitronix ST7701, PDA 91-00156-A0, LeMaker BL035-RGB-002 3.5 ati Kingdisplay kd097d04 iboju paneli;
    • Atilẹyin ti a ṣafikun fun Rockchip RK3328, Cirrus Logic CS4341 ati CS35L36, MediaTek MT6358, Qualcomm WCD9335 ati Ingenic JZ4725B awọn kodẹki ohun afetigbọ, bakanna bi Syeed ohun afetigbọ Mediatek MT8183;
    • Atilẹyin ti a ṣafikun fun awọn olutona NAND Flash STMicroelectronics FMC2, Amlogic Meson;
    • Atilẹyin imuyara ti a ṣafikun fun awọn eto ohun elo Habana AI;
    • Atilẹyin ti a ṣafikun fun awọn olutona NXP eneTC gigabit Ethernet ati MediaTek MT7603E (PCIe) ati awọn atọkun alailowaya MT76x8.

Ni akoko kanna, Latin American Free Software Foundation akoso
aṣayan Ekuro ọfẹ patapata 5.1 - Linux-libre 5.1-gnu, nu kuro ninu famuwia ati awọn eroja awakọ ti o ni awọn paati ti kii ṣe ọfẹ tabi awọn apakan koodu, ipari eyiti o jẹ opin nipasẹ olupese. Ninu itusilẹ tuntun, ikojọpọ blob jẹ alaabo ninu mt7603 ati awakọ goya. Awọn koodu mimọ blob ti a ṣe imudojuiwọn ni awọn awakọ ati awọn ọna ṣiṣe wilc1000, iwlwifi, soc-acpi-intel, brcmfmac, mwifiex, btmrvl, btmtk ati touchscreen_dmi. Blob ninu ẹrọ agberu famuwia lantiq xrx200 ti duro nitori yiyọ kuro ninu ekuro.

orisun: opennet.ru

Fi ọrọìwòye kun