Linux 5.1 kernel saki

Bayan watanni biyu na ci gaba, Linus Torvalds gabatar sakin kwaya Linux 5.1. Daga cikin mafi mashahuri canje-canje: sabon dubawa don asynchronous I / O io_uring, ikon yin amfani da NVDIMM azaman RAM, goyan baya don ƙwaƙwalwar ajiyar da aka raba a cikin Nouveau, tallafi don saka idanu mai girma na manyan fayilolin fayiloli ta hanyar fanotify, ikon saita matsawa Zstd. matakan a cikin Btrfs, sabon mai sarrafa cpuidle TEO, aiwatar da kiran tsarin don magance matsalar 2038, ikon yin taya daga na'urorin taswira ba tare da initramfs ba, SafeSetID LSM module, goyan bayan faci masu raye-raye.

Main sababbin abubuwa:

  • Tsarin Disk, I/O da Tsarin Fayil
    • An aiwatar da sabon dubawa don I/O asynchronous - io_ring, wanda ya shahara saboda goyon bayansa ga jefa kuri'a na I/O da ikon yin aiki tare da ko ba tare da buffering ba. Bari mu tuna cewa tsarin I/O mai asynchronous da aka gabatar a baya “aio” baya goyan bayan buffer I/O, yana iya aiki kawai a yanayin O_DIRECT (ba tare da buffering da ketare cache ba), yana da matsaloli tare da kullewa saboda jiran samuwan metadata, kuma ya nuna manyan kuɗaɗen wuce gona da iri saboda kwafin bayanai a ƙwaƙwalwar ajiya.

      A cikin API
      io_uring developers sun yi ƙoƙari su kawar da gazawar tsohuwar ƙirar aio. By yawan aiki io_uring yana kusa da Bayani na SPDK kuma yana gaban libaio sosai yayin aiki tare da kunna ƙuri'a. An shirya ɗakin karatu don amfani da io_uring a ƙarshen aikace-aikacen da ke gudana a cikin sarari mai amfani lissafta, wanda ke ba da babban tsari mai mahimmanci akan ƙirar kwaya;

    • A cikin tsarin bin diddigin lamarin a cikin FS fannotify() kara da cewa goyon baya don bin sawun superblock da tsarin canjin yanayi kai tsaye (al'amuran ƙirƙira, gogewa da motsi kundayen adireshi). Siffofin da aka gabatar suna taimakawa magance matsalolin haɓakawa waɗanda ke tasowa yayin ƙirƙirar sa ido na canji a cikin manyan fayilolin fayiloli ta amfani da injin inotify (canji canje-canje a baya ana iya sa ido kawai ta hanyar inotify, amma
      aiki a cikin yanayi na maimaita bibiyar manyan kundayen adireshi da aka bari da yawa don a so). Yanzu ana iya yin irin wannan sa ido yadda ya kamata ta hanyar fanotify;

    • Akan tsarin fayil ɗin Btrfs kara da cewa ikon tsara matakin matsawa don zstd algorithm, wanda za'a iya la'akari da shi azaman sulhu mai kyau tsakanin mai sauri amma mara amfani da lz4 da jinkirin amma mai kyau matsawa xz. Ta hanyar kwatankwacin yadda a baya zai yiwu a saita matakin matsawa yayin amfani da zlib, an ƙara tallafi don zaɓin dutsen "-o compress=zstd:level" don zstd. Yayin gwaji, mafi ƙarancin matakin farko ya ba da matsawar bayanai ta sau 2.658 tare da saurin matsawa na 438.47 MB/s, saurin ragewa na 910.51 MB/s da yawan ƙwaƙwalwar ajiya na 780 MB, kuma matsakaicin matakin 15 ya ba da sau 3.126, amma tare da matsawa. gudun 37.30 MB/s. zazzage 878.84 MB/s da yawan ƙwaƙwalwar ajiya 2547 MB;
    • Kara ikon yin taya daga tsarin fayil ɗin da ke kan na'urar-mapper, ba tare da amfani da initramfs ba. An fara da sakin kernel na yanzu, ana iya amfani da na'urori-mapper na'urorin kai tsaye yayin aikin taya, misali, a matsayin bangare tare da tsarin fayil ɗin tushen. An saita ɓangaren ta amfani da siginar taya "dm-mod.create". Na'urar-taswirar taswirar da aka yarda don lodawa sun haɗa da: “crypt”, “delay”, “linear”, “snapshot-origin” da “gaskiya”;
    • An ƙara Tutar F2FS_NOCOW_FL zuwa tsarin fayil ɗin F2FS wanda ke karkata zuwa ga fayafai, wanda ke ba ka damar kashe yanayin kwafi-kan-rubuta don fayil ɗin da aka bayar;
    • An cire tsarin fayil daga kwaya Exofs, wanda shine bambance-bambancen ext2, wanda aka daidaita don aiki tare da OSD (Na'urar Ma'ajiya ta tushen Abu) ma'ajiyar abubuwa. An kuma cire goyon bayan ka'idar SCSI don irin waɗannan na'urorin ajiyar abubuwa;
  • Hankali da Tsaro
    • An ƙara zaɓin PR_SPEC_DISABLE_NOEXEC zuwa prctl() don sarrafa hasashe aiwatar da umarni don tsarin da aka zaɓa. Wani sabon zaɓi yana ba ku damar zaɓin musaki hasashe don matakai waɗanda harin Specter zai iya kaiwa hari. Kulle yana ɗaukar har sai kiran farko zuwa exec();
    • Tsarin LSM da aka aiwatar SafeSetID, wanda ke ba da damar tsarin sabis don sarrafa masu amfani amintacce ba tare da haɓaka gata ba (CAP_SETUID) kuma ba tare da samun gata na tushen ba. Ana ba da gata ta hanyar ma'anar ƙa'idodi a cikin ma'aikatan tsaro bisa farar jerin abubuwan ɗaure masu inganci (a cikin sigar "UID1: UID2");
    • Ƙara ƙananan canje-canjen da ake buƙata don ɗaukar matakan tsaro na tushen tari (LSMs). Gabatar da zaɓin taya kernel na "lsm" don sarrafa nau'ikan nau'ikan da aka ɗora kuma a cikin wane tsari;
    • An ƙara goyan baya ga wuraren sunayen fayil zuwa tsarin tsarin dubawa;
    • Fadada iyawar GCC plugin structleak, wanda ke ba ka damar toshe yuwuwar yoyon abun ciki na ƙwaƙwalwar ajiya.
  • Tsarin hanyar sadarwa
    • Don kwasfa aiwatar sabon zaɓi "SO_BINDTOIFINDEX" kama da
      "SO_BINDTODEVICE", amma ɗaukar azaman mahawara lambar ƙididdiga ta hanyar sadarwar cibiyar sadarwa maimakon sunan dubawa;

    • Tarin mac80211 ya kara da ikon sanya BSSIDs da yawa (adiresoshin MAC) zuwa na'ura ɗaya. A matsayin wani ɓangare na aikin don haɓaka aikin WiFi, mac80211 tari ya ƙara lissafin lissafin lokacin iska da ikon rarraba lokacin iska tsakanin tashoshi da yawa (lokacin da ake aiki a cikin yanayin samun dama, keɓance ƙarancin lokacin watsawa don jinkirin tashoshi mara waya, maimakon a ko'ina rarraba lokaci tsakanin). duk tashoshi);
    • Ƙarfafa tsarin"devlink lafiya", wanda ke ba da sanarwar lokacin da matsaloli suka faru tare da hanyar sadarwa;
  • Ƙwaƙwalwar ajiya da sabis na tsarin
    • An aiwatar amintaccen isar da sigina wanda ke ba da damar sake amfani da PID. Misali, lokacin kiran kisa a baya, wani yanayi na iya tasowa inda, nan da nan bayan aika sigina, PID ɗin da aka yi niyya za'a iya 'yantar da shi saboda ƙarewar tsari kuma ya shagaltar da shi ta wani tsari, kuma siginar zai ƙare har zuwa wani tsari. Don kawar da irin waɗannan yanayi, an ƙara sabon tsarin da ake kira pidfd_send_signal, wanda ke amfani da bayanan fayil daga /proc/pid don tabbatar da daurin tsari. Ko da an sake yin amfani da PID yayin sarrafa kiran tsarin, mai siffanta fayil ɗin ba zai canza ba kuma ana iya amfani dashi cikin aminci don aika sigina zuwa tsarin;
    • Kara ikon yin amfani da na'urorin ƙwaƙwalwar ajiya na dindindin (ƙwaƙwalwar ƙwaƙwalwar ajiya, misali NVDIMM) kamar RAM. Har yanzu, kernel yana tallafawa irin waɗannan na'urori kamar na'urorin ajiya, amma yanzu ana iya amfani da su azaman ƙarin RAM. Ana aiwatar da fasalin don amsa buƙatun masu amfani waɗanda ke shirye su jure da ƙarancin aiki kuma suna son yin amfani da API ɗin sarrafa ƙwaƙwalwar kernel na asali maimakon amfani da tsarin rarraba ƙwaƙwalwar sararin samaniya mai amfani da ke gudana a saman mmap don dax. fayil;
    • Ƙara sabon mai sarrafa CPU (cpuidle, yana yanke shawarar lokacin da za a iya sanya CPU cikin yanayin ceton wutar lantarki mai zurfi; zurfin yanayin, mafi girman tanadi, amma kuma tsawon lokacin da ake ɗauka don fita daga yanayin) - TEO ). Har zuwa yanzu, an gabatar da masu amfani da cpuidle guda biyu - “menu” da “tsani”, waɗanda suka bambanta a fannin ilimin lissafi. Mai kula da "menu" ya san matsalolin da ke tattare da yanke shawara na heuristic, don kawar da abin da aka yanke shawarar shirya sabon mai kulawa. An sanya TEO a matsayin madadin mai kula da "menu", yana ba da damar yin aiki mafi girma yayin da yake riƙe daidai da matakin amfani da wutar lantarki.
      Kuna iya kunna sabon mai sarrafa ta amfani da siginar taya "cpuidle.govnor=teo";

    • A matsayin ɓangare na aikin kawar da shi matsalolin 2038, wanda ya haifar da ambaliya na nau'in 32-bit time_t, ya haɗa da kiran tsarin da ke ba da ƙidayar lokaci 32-bit don gine-gine 64-bit. Sakamakon haka, ana iya amfani da tsarin 64-bit time_t akan duk gine-gine. Hakanan an aiwatar da irin waɗannan canje-canje a cikin tsarin cibiyar sadarwa don zaɓuɓɓuka timestamp cibiyoyin sadarwa;
    • A cikin tsarin faci mai zafi don ainihin (live patching) kara da cewa “Atomic Replace” fasalin don aiwatar da jerin canje-canje ta atomatik zuwa aiki ɗaya. Wannan fasalin yana ba ku damar rarraba faci na taƙaitawa wanda ke rufe sauye-sauye da yawa a lokaci ɗaya, maimakon aiwatar da aikace-aikacen mataki-mataki-mataki na facin rayuwa cikin ƙayyadaddun tsari, wanda ke da wahalar kiyayewa. Ganin cewa a baya kowane canji na gaba dole ne ya dogara ne akan yanayin aikin bayan canji na ƙarshe, yanzu yana yiwuwa a yada canje-canje da yawa waɗanda ke daure zuwa yanayin farko ɗaya lokaci ɗaya (watau masu kiyayewa na iya kiyaye facin haɗin gwiwa ɗaya dangane da kernel na tushe maimakon kernel na tushe maimakon. sarkar faci da suka dogara da juna;
    • An sanar goyan bayan da aka soke don tsarin fayil mai aiwatarwa a.out da
      share lambar don samar da ainihin fayiloli a cikin tsarin a.out, wanda ke cikin yanayin da aka watsar. Ba a yi amfani da tsarin a.out akan tsarin Linux na dogon lokaci ba, kuma ƙirƙirar fayilolin a.out ya daɗe ba ya samun tallafi ta kayan aikin zamani a cikin saitunan Linux na asali. Bugu da ƙari, za a iya aiwatar da loda don fayilolin a.out gaba ɗaya a cikin sarari mai amfani;

    • An ƙara ikon ganowa da cire lambar da ba a yi amfani da ita ba zuwa tsarin tabbatar da shirin BPF. Kwaya kuma ya haɗa da faci tare da tallafin spinlock don tsarin ƙasa na BPF, yana ba da ƙarin ƙarfi don sarrafa aiwatar da shirye-shiryen BPF daidai gwargwado;
  • Kayan aiki
    • A cikin direban Nouveau kara da cewa goyan baya don sarrafa ƙwaƙwalwar ajiya iri-iri, ƙyale CPU da GPU su sami dama ga wuraren ƙwaƙƙwaran aiki tare. Ana aiwatar da tsarin ƙwaƙwalwar ajiyar da aka raba (SVM, ƙwaƙwalwar ajiyar ƙwaƙwalwar ajiya) akan tushen tsarin HMM (Herogeneous memory management), wanda ke ba da damar yin amfani da na'urori tare da na'urori masu sarrafa ƙwaƙwalwar ajiya (MMU, sashin sarrafa ƙwaƙwalwar ajiya), wanda zai iya samun dama ga. babban ƙwaƙwalwar ajiya. Musamman, ta amfani da HMM, zaku iya tsara sararin adireshi mai raba tsakanin GPU da CPU, wanda GPU zai iya samun damar babban ƙwaƙwalwar ajiyar tsarin. A halin yanzu ana ba da tallafin SVM don GPUs na dangin Pascal, kodayake ana ba da tallafi don Volta da Turing GPUs kuma. Har ila yau, a cikin Nouveau ya kara da cewa sabon ioctl don sarrafa ƙaura na wuraren ƙwaƙwalwar ajiyar tsari zuwa ƙwaƙwalwar GPU;
    • A cikin direban Intel DRM na GPU Skylake kuma daga baya (gen9+) hada Ta hanyar tsoho, yanayin fastboot yana kawar da canje-canjen yanayin da ba dole ba yayin taya. Kara новые masu gano na'urar dangane da ƙananan gine-ginen Coffelake da Ice Lake. Don kwakwalwan kwamfuta na Coffelake kara da cewa Goyan bayan GVT (GPU na zahiri). Don rumbun GPUs aiwatar Tallafin VFIO EDID. Don bangarorin LCD MIPI/DSI kara da cewa goyon baya ga abubuwan ACPI/PMIC. An aiwatar sababbin hanyoyin TV 1080p30/50/60 TV;
    • Ƙara tallafi don Vega10/20 BACO GPU zuwa direban amdgpu. An aiwatar da sarrafa wutar lantarki na Vega 10/20 da teburin kula da masu sanyaya Vega 10. An ƙara sabbin abubuwan gano na'urar PCI don Picasso GPUs. Kara dubawa don sarrafa abubuwan dogaro da aka tsara don gujewa ƙullawa;
    • Kara Direban DRM/KMS don masu saurin allo ARM Komeda (Mali D71);
    • Ƙara goyon baya ga Toppoly TPG110, Sitronix ST7701, PDA 91-00156-A0, LeMaker BL035-RGB-002 3.5 da Kingdisplay kd097d04 allon fuska;
    • Ƙara goyon baya ga Rockchip RK3328, Cirrus Logic CS4341 da CS35L36, MediaTek MT6358, Qualcomm WCD9335 da Ingenic JZ4725B audio codecs, kazalika da Mediatek MT8183 audio dandamali;
    • Ƙara goyon baya ga masu kula da NAND Flash STMicroelectronics FMC2, Amlogic Meson;
    • Ƙara goyon baya na gaggawa don tsarin kayan aikin Habana AI;
    • Ƙara goyon baya ga NXP eneTC gigabit Ethernet masu kula da MediaTek MT7603E (PCIe) da MT76x8 mara waya ta musaya.

A lokaci guda kuma, Cibiyar Software na Kyauta ta Latin Amurka kafa
zaɓi Kwayar cuta gaba daya kyauta 5.1 - Linux-libre 5.1-gnu, An share daga firmware da abubuwan direba masu ƙunshe da abubuwan da ba su da kyauta ko sassan lambobi, iyakar abin da masana'anta ke iyakancewa. A cikin sabon sakin, ba a kashe ɗorawa ba a cikin mt7603 da direbobin goya. Ƙaddamar da lambar tsabtace bulo a cikin direbobi da tsarin ƙasa wilc1000, iwlwifi, soc-acpi-intel, brcmfmac, mwifiex, btmrvl, btmtk da touchscreen_dmi. An dakatar da tsaftacewa a cikin lantiq xrx200 firmware loader saboda cire shi daga kwaya.

source: budenet.ru

Add a comment