Linux Kernel lage 5.1

Apre de mwa nan devlopman, Linus Torvalds entwodwi lage nwayo Linux 5.1. Pami chanjman ki pi remakab yo: yon nouvo koòdone pou asynchrone I/O io_uring, kapasite pou itilize NVDIMM kòm RAM, sipò pou memwa vityèl pataje nan Nouveau, sipò pou siveyans évolutive nan sistèm fichye gwo anpil atravè fanotify, kapasite nan konfigirasyon konpresyon Zstd. nivo nan Btrfs, yon nouvo cpuidle TEO okipe, aplikasyon apèl sistèm yo rezoud pwoblèm nan 2038, kapasite nan bòt soti nan aparèy-mapper aparèy san yo pa initramfs, SafeSetID modil LSM, sipò pou patch viv konbine.

Prensipal la inovasyon:

  • Disk Subsystem, I/O ak File Systems
    • Aplike yon nouvo koòdone pou I/O asynchrone - io_uring, ki remakab pou sipò li pou sondaj I/O ak kapasite pou travay avèk oswa san tampon. Se pou nou sonje ke mekanis I/O asynchrone yo te pwopoze deja “aio” pa t sipòte I/O tampon, te kapab sèlman opere nan mòd O_DIRECT (san tanpon ak kontoune kachèt la), te gen pwoblèm ak bloke akòz ap tann pou disponiblite metadata, ak ekspoze gwo depans anlè akòz kopye done nan memwa.

      Nan API a
      io_uring devlopè yo te eseye elimine enpèfeksyon yo nan koòdone nan fin vye granmoun aio. Pa pwodiktivite io_uring trè pre SPDK epi li siyifikativman devan libaio lè w ap travay ak biwo vòt pèmèt. Yo te prepare yon bibliyotèk pou itilize io_uring nan aplikasyon final kap kouri nan espas itilizatè liburing, ki bay yon fondasyon wo nivo sou koòdone nwayo a;

    • Nan mekanis pou swiv evènman an nan FS fanotify () te ajoute sipò pou swiv sitiyasyon superblok ak chanjman estrikti dirent (evènman pou kreye, efase ak deplase anyè). Karakteristik yo prezante yo ede rezoud pwoblèm évolutivité ki parèt lè yo kreye swivi chanjman repetitif nan sistèm fichye gwo anpil lè l sèvi avèk mekanis inotify la (chanjman dirèk te kapab deja swiv sèlman atravè inotify, men
      pèfòmans nan kondisyon pou swiv rekursif nan gwo repèrtwar enbrike kite anpil yo dwe vle). Koulye a, siveyans sa yo ka efektivman fè atravè fanotify;

    • Sou sistèm nan dosye Btrfs te ajoute kapasite nan Customize nivo a konpresyon pou algorithm nan zstd, ki ka konsidere kòm yon konpwomi optimal ant lz4 la vit men efikas ak konpresyon ralanti men bon xz la. Pa analoji ak ki jan li te deja posib yo mete nivo konpresyon lè w ap itilize zlib, yo te ajoute sipò pou opsyon mòn "-o compress=zstd:level" pou zstd. Pandan tès la, minimòm premye nivo bay done konpresyon pa 2.658 fwa ak yon vitès konpresyon nan 438.47 MB ​​/ s, vitès dekonpresyon nan 910.51 MB / s ak konsomasyon memwa nan 780 MB, ak nivo maksimòm 15 bay 3.126 fwa, men ak yon konpresyon. vitès 37.30 MB / s. depale 878.84 MB / s ak konsomasyon memwa 2547 MB;
    • Te ajoute kapasite nan bòt soti nan yon sistèm fichye ki sitiye sou aparèy la aparèy-mapper, san yo pa itilize initramfs. Kòmanse ak lage Kernel aktyèl la, aparèy aparèy-map ka dirèkteman itilize pandan pwosesis bòt la, pou egzanp, kòm yon patisyon ak sistèm nan dosye rasin. Se patisyon an configuré lè l sèvi avèk paramèt bòt "dm-mod.create". Modil aparèy-map ki pèmèt pou chaje yo enkli: "kripto", "reta", "lineyè", "orijin snapshot" ak "verite";
    • Yo te ajoute drapo F2FS_NOCOW_FL a nan sistèm fichye F2FS ki oryante sou kondui Flash, ki pèmèt ou enfim mòd kopi-sou-ekri pou yon dosye bay yo;
    • Sistèm dosye yo retire nan nwayo Exofs, ki se yon variant de ext2, adapte pou travay ak OSD (Object-based Storage Device) depo objè. Sipò pou pwotokòl SCSI pou aparèy depo objè sa yo tou te retire;
  • Virtualization ak sekirite
    • Te ajoute opsyon PR_SPEC_DISABLE_NOEXEC pou prctl() pou kontwole ekzekisyon spéculatif enstriksyon pou pwosesis yo chwazi a. Yon nouvo opsyon pèmèt ou oaza enfim ekzekisyon spéculatif pou pwosesis ki ta ka potansyèlman atake pa yon atak Spectre. Lock la dire jiska premye apèl nan exec();
    • Aplike modil LSM SafeSetID, ki pèmèt sèvis sistèm yo jere itilizatè yo an sekirite san yo pa ogmante privilèj (CAP_SETUID) epi san yo pa jwenn privilèj rasin. Yo bay privilèj yo lè yo defini règ nan securityfs ki baze sou yon lis blan obligatwa valab (nan fòm "UID1:UID2");
    • Te ajoute chanjman ki ba nivo ki nesesè pou chaje modil sekirite (LSM) ki baze sou pil. Entwodwi opsyon bòt nwayo "lsm" pou kontwole ki modil yo chaje ak nan ki lòd;
    • Sipò pou espas non fichye yo te ajoute nan subsistèm kontwòl kontab la;
    • Elaji kapasite yo nan GCC plugin structleak la, ki pèmèt ou bloke potansyèl fwit nan kontni memwa.Inisyalizasyon nan nenpòt varyab ke yo te itilize nan kòd la atravè aksè referans sou chemine a bay;
  • Sou-sistèm rezo
    • Pou priz aplike nouvo opsyon "SO_BINDTOIFINDEX" menm jan ak
      "SO_BINDTODEVICE", men pran kòm yon agiman nimewo endèks la nan koòdone rezo a olye pou yo non an koòdone;

    • Pile mac80211 la te ajoute kapasite pou bay plizyè BSSID (adrès MAC) nan yon sèl aparèy. Kòm yon pati nan yon pwojè pou optimize pèfòmans WiFi, pile mac80211 la te ajoute kontablite lè ak kapasite pou distribye lè nan plizyè estasyon (lè w ap opere nan mòd pwen aksè, allocation mwens tan transmisyon pou ralanti estasyon san fil, olye pou yo distribye tan respire nan mitan tout moun). estasyon);
    • Te ajoute mekanis "devlink sante", ki bay notifikasyon lè pwoblèm rive ak koòdone rezo a;
  • Sèvis memwa ak sistèm
    • Aplike livrezon siyal an sekirite ki pèmèt PID réutilisation. Pou egzanp, lè yo rele touye deja, yon sitiyasyon ka rive kote, imedyatman apre voye yon siyal, PID sib la ka libere akòz revokasyon pwosesis ak okipe pa yon lòt pwosesis, ak siyal la ta fini pase yo te pase nan yon lòt pwosesis. Pou elimine sitiyasyon sa yo, yo te ajoute yon nouvo sistèm apèl pidfd_send_signal, ki sèvi ak deskriptè dosye ki soti nan /proc/pid pou asire pwosesis ki estab. Menm si PID la reitilize pandan pwosesis apèl sistèm lan, deskriptè dosye a pa pral chanje epi yo ka itilize san danje pou voye yon siyal nan pwosesis la;
    • Te ajoute kapasite nan sèvi ak aparèy memwa pèmanan (memwa pèsistan, pou egzanp NVDIMM) kòm RAM. Jiska kounye a, nwayo a sipòte aparèy tankou aparèy depo, men kounye a yo ka itilize tou kòm RAM adisyonèl. Karakteristik la aplike an repons a dezi itilizatè yo ki vle sipòte yon lag pèfòmans epi ki vle sèvi ak natif natal Linux kernel jesyon memwa API olye pou yo sèvi ak sistèm alokasyon memwa espas itilizatè ki egziste deja kouri sou mmap pou dax la. dosye;
    • Te ajoute yon nouvo CPU idle handler (cpuidle, deside ki lè CPU a ka mete nan gwo mòd ekonomize pouvwa; plis mòd nan fon, se pi gwo ekonomi yo, men tou, plis tan li pran pou sòti nan mòd) - TEO (Timer Events Oriented Governor) ). Jiska kounye a, yo te pwopoze de moun k ap okipe cpuidle - "meni" ak "nechèl", diferan nan eristik. Manadjè "meni" a te konnen pwoblèm ak pran desizyon euristik, pou elimine ki li te deside prepare yon nouvo moun kap okipe. TEO pozisyone kòm yon altènativ a "meni" okipe a, ki pèmèt pou pi wo pèfòmans pandan w ap kenbe menm nivo konsomasyon pouvwa a.
      Ou ka aktive nouvo moun kap okipe a lè l sèvi avèk paramèt bòt "cpuidle.governor=teo";

    • Kòm yon pati nan travay la elimine pwoblèm nan 2038, ki te koze pa yon debòde nan kalite 32-bit time_t, gen ladan apèl sistèm ki ofri kontè tan 32-bit pou achitekti 64-bit. Kòm yon rezilta, estrikti time_t 64-bit la kapab kounye a itilize sou tout achitekti. Chanjman ki sanble yo te aplike tou nan subsistèm rezo a pou opsyon timestamp priz rezo;
    • Nan sistèm nan patching cho pou nwayo a (patching ap viv) te ajoute Karakteristik "Ranplase atomik" pou aplike atomik yon seri chanjman nan yon sèl fonksyon. Karakteristik sa a pèmèt ou distribye patch rezime ki kouvri plizyè chanjman nan yon fwa, olye pou yo pwosesis aplikasyon etap-pa-etap nan plak ap viv nan yon lòd entèdi defini, ki se byen difisil yo kenbe. Lè nou konsidere ke anvan chak chanjman ki vin apre yo te dwe baze sou eta a nan fonksyon an apre dènye chanjman an, kounye a li posib difize plizyè chanjman ki mare nan yon sèl eta inisyal alafwa (sa vle di, mentenitè yo ka kenbe yon patch konsolide parapò ak nwayo baz la pito. nan yon chèn plak ki depann youn sou lòt);
    • Te anonse depreche sipò pou fòma dosye a.out ègzèkutabl ak
      efase kòd pou jenere dosye debaz nan fòma a.out, ki nan yon eta abandone. Fòma a.out pa te itilize sou sistèm Linux pou yon tan long, ak jenerasyon an nan fichye a.out te gen lontan yo pa sipòte pa zouti modèn nan konfigirasyon Linux default. Anplis de sa, loader a pou dosye a.out ka aplike antyèman nan espas itilizatè;

    • Kapasite pou idantifye ak retire kòd ki pa itilize yo te ajoute nan mekanis verifikasyon pwogram BPF la. Kernel la gen ladan tou plak ak sipò spinlock pou subsistèm BPF, ki bay kapasite adisyonèl pou jere ekzekisyon paralèl pwogram BPF yo;
  • Ekipman
    • Nan Nouveau chofè te ajoute sipò pou jesyon memwa etewojèn, ki pèmèt CPU a ak GPU jwenn aksè nan zòn memwa senkronize komen. Sistèm memwa vityèl pataje (SVM, memwa vityèl pataje) aplike sou baz HMM (Jesyon memwa eterojèn), ki pèmèt itilize aparèy ki gen pwòp inite jesyon memwa yo (MMU, inite jesyon memwa), ki ka jwenn aksè. memwa prensipal la. An patikilye, lè l sèvi avèk HMM, ou ka òganize yon espas adrès pataje ant GPU a ak CPU, nan ki GPU a ka jwenn aksè nan memwa prensipal la nan pwosesis la. Sipò SVM kounye a sèlman pèmèt pou GPU fanmi Pascal, byenke sipò yo bay pou GPU Volta ak Turing tou. Anplis, nan Nouveau te ajoute nouvo ioctl pou kontwole migrasyon zòn memwa pwosesis nan memwa GPU;
    • Nan chofè Intel DRM pou GPU Skylake ak pita (gen9+) enkli Pa default, mòd fastboot elimine chanjman mòd ki pa nesesè pandan bòt la. Te ajoute новые idantifyan aparèy ki baze sou microarchitectures Coffelake ak Ice Lake. Pou Chips Coffelake te ajoute sipò GVT (Virtualization GPU). Pou GPU vityèl aplike VFIO EDID sipò. Pou panno LCD MIPI/DSI te ajoute sipò pou eleman ACPI/PMIC. Aplike nouvo mòd televizyon 1080p30/50/60 televizyon;
    • Te ajoute sipò pou Vega10/20 BACO GPU nan chofè amdgpu a. Aplike Vega 10/20 jesyon pouvwa ak tab kontwòl pi fre Vega 10. Te ajoute nouvo idantifyan aparèy PCI pou GPU Picasso yo. Te ajoute koòdone pou jere depandans orè pou evite enpas;
    • Te ajoute DRM/KMS chofè pou akseleratè ekran yo ARM Komeda (Mali D71);
    • Te ajoute sipò pou Toppoly TPG110, Sitronix ST7701, PDA 91-00156-A0, LeMaker BL035-RGB-002 3.5 ak Kingdisplay kd097d04 panno ekran;
    • Te ajoute sipò pou Rockchip RK3328, Cirrus Logic CS4341 ak CS35L36, MediaTek MT6358, Qualcomm WCD9335 ak Ingenic JZ4725B kodèk odyo, osi byen ke Mediatek MT8183 odyo platfòm;
    • Te ajoute sipò pou contrôleur NAND Flash STMicroelectronics FMC2, Amlogic Meson;
    • Te ajoute sipò akseleratè pou sistèm pyès ki nan konpitè Habana AI;
    • Te ajoute sipò pou NXP ENETC gigabit Ethernet contrôleur ak MediaTek MT7603E (PCIe) ak entèfas san fil MT76x8.

An menm tan an, Fondasyon Lojisyèl Libète Amerik Latin nan fòme
opsyon konplètman gratis nwayo 5.1 - Linux-libre 5.1-gnu, otorize nan firmwèr ak eleman chofè ki gen eleman ki pa gratis oswa seksyon kòd, dimansyon ki limite pa manifakti a. Nan nouvo lage a, chaje blob enfim nan chofè mt7603 ak goya yo. Mete ajou kòd netwayaj blob nan chofè yo ak sistèm wilc1000, iwlwifi, soc-acpi-intel, brcmfmac, mwifiex, btmrvl, btmtk ak touchscreen_dmi. Netwayaj blob nan loader firmwèr lantiq xrx200 la sispann akòz retire li nan nwayo a.

Sous: opennet.ru

Add nouvo kòmantè