Mwepụta kernel Linux 5.1

Mgbe ọnwa abụọ nke mmepe gasịrị, Linus Torvalds webatara ntọhapụ kernel Linux 5.1. Otu n'ime mgbanwe ndị a ma ama: interface ọhụrụ maka asynchronous I / O io_uring, ike iji NVDIMM dị ka RAM, nkwado maka ebe nchekwa ihe na-emekọrịta ihe na Nouveau, nkwado maka nlekota nlekota nke nnukwu faịlụ faịlụ site na fanotify, ikike ịhazi mkpakọ Zstd. ọkwa dị na Btrfs, onye na-ahụ maka cpuidle TEO ọhụrụ, mmejuputa oku usoro iji dozie nsogbu 2038, ikike ịbuba na ngwaọrụ-mapper na-enweghị initramfs, SafeSetID LSM modul, nkwado maka patches ndụ jikọtara ọnụ.

Main ihe ọhụrụ:

  • Sistemụ Disk, I/O na Sistemụ Faịlụ
    • Ejiri interface ọhụrụ maka I/O asynchronous - io_uring, nke a ma ama maka nkwado ya maka ntuli aka I/O na ike ịrụ ọrụ na ma ọ bụ na-enweghị ihe nchekwa. Ka anyị cheta na usoro asynchronous I/O nke akwadoro na mbụ “aio” akwadoghị I/O buffered, nwere ike rụọ ọrụ naanị na ọnọdụ O_DIRECT (na-enweghị nchekwa na gafere cache), nwere nsogbu na mkpọchi n'ihi ichere nnweta metadata, yana egosipụtara nnukwu ego n'ihi na iṅomi data na ebe nchekwa.

      N'ime API
      io_uring mmepe nwara ikpochapụ adịghị ike nke ochie aio interface. Site na arụpụtaghị ihe io_uring dị ezigbo nso SPDK na ọ dị n'ihu libaio nke ukwuu mgbe a na-arụ ọrụ na ntuli aka. Edobela ọba akwụkwọ maka iji io_uring na ngwụcha ngwa na-agba na oghere onye ọrụ ịṅụ mmanya, nke na-enye nhazi ọkwa dị elu n'elu kernel interface;

    • N'ime usoro nsochi ihe omume na FS fanotify() agbakwunyere nkwado maka nsuso superblock na nhazi ọnọdụ mgbanwe dient (ihe omume nke ịmepụta, ihichapụ na ịkwaga akwụkwọ ndekọ aha). Atụmatụ ndị a gosipụtara na-enyere aka dozie nsogbu scalability nke na-ebilite mgbe ị na-eke mgbanwe mgbanwe mgbanwe na sistemụ faịlụ buru ibu site na iji usoro inotify (mgbanwe dị iche iche nwere ike nyochaa naanị site na inotify, mana).
      arụmọrụ n'ọnọdụ nke nleba anya nke nnukwu akwụkwọ ndekọ aha akwụghị ụgwọ hapụrụ ọtụtụ ihe achọrọ). Ugbu a enwere ike ime nleba anya dị otú ahụ nke ọma site na fanotify;

    • Na sistemụ faịlụ Btrfs agbakwunyere ikike ịhazi ọkwa mkpakọ maka zstd algọridim, nke enwere ike iwere ya dị ka nkwekọrịta kacha mma n'etiti ngwa ngwa ma na-adịghị arụ ọrụ lz4 na ngwa ngwa ma dị mma mkpakọ xz. Site na ntụnyere otu o siri kwe omume ịtọ ọkwa mkpakọ mgbe ị na-eji zlib, agbakwunyela nkwado maka nhọrọ ugwu “-o compress=zstd:level” maka zstd. N'oge ule, opekempe nke mbụ na-enye mkpakọ data site na ugboro 2.658 na ọsọ mkpakọ nke 438.47 MB ​​/ s, ọsọ decompression nke 910.51 MB / s na oriri ebe nchekwa nke 780 MB, na ọkwa kachasị elu 15 nyere 3.126 ugboro, ma na mkpakọ. ọsọ nke 37.30 MB / s. iwepụ 878.84 MB / s na oriri ebe nchekwa 2547 MB;
    • agbakwunyere ike buut site na faịlụ nke dị na ngwaọrụ-mapper ngwaọrụ, na-ejighi intramps. Malite na ntọhapụ kernel dị ugbu a, ngwaọrụ-mapper nwere ike iji ya mee ihe ozugbo n'oge usoro buut, dịka ọmụmaatụ, dịka nkebi na sistemụ faịlụ mgbọrọgwụ. A na-ahazi nkebi ahụ site na iji paramita buut "dm-mod.create". Ngwa-mapper modul ekwenyere maka ibunye gụnyere: “crypt”, “delay”, “linear”, “snapshot-origin” na “eziokwu”;
    • Agbakwunyela ọkọlọtọ F2FS_NOCOW_FL na sistemụ faịlụ F2FS dabere na draịva Flash, nke na-enye gị ohere gbanyụọ ụdị nnomi-na-ede maka faịlụ enyere;
    • Ewepụrụ sistemu faịlụ na kernel Exofs, nke bụ ụdị dị iche iche nke ext2, emebere maka ịrụ ọrụ na OSD (Ngwaọrụ Nchekwa ihe dabere na ihe). E wepụrụkwa nkwado maka protocol SCSI maka ngwaọrụ nchekwa ihe;
  • Virtualization na Nchekwa
    • Agbakwunyere PR_SPEC_DISABLE_NOEXEC nhọrọ na prctl() iji chịkwaa mmezu nke ntuziaka maka usoro ahọpụtara. Nhọrọ ọhụrụ na-enye gị ohere iji họrọ gbanyụọ ntule maka usoro nke nwere ike ịwakpo ya site na Specter. Mkpọchi ahụ na-adịgide ruo mgbe oku mbụ ga-aga exec();
    • Modul LSM etinyere SafeSetID, nke na-enye ohere ọrụ sistemu iji jikwaa ndị ọrụ n'enweghị nsogbu na-abawanye (CAP_SETUID) yana enweghị ohere mgbọrọgwụ. A na-ekenye ikike site na ịkọwapụta iwu na nchekwa ndị dabere na ndepụta ọcha nke njide ziri ezi (n'ụdị “UID1: UID2”);
    • Mgbanwe dị ala agbakwunyere chọrọ maka nbudata modul nche (LSMs). Ewebatara nhọrọ buut kernel "lsm" iji jikwaa ụdị modul a na-eju na kedu usoro;
    • Agbakwunyela nkwado maka oghere aha faịlụ na sistemụ nyocha;
    • Gbasaa ike nke GCC ngwa mgbakwunye structleak, nke na-enye gị ohere igbochi mwepu nke ọdịnaya ebe nchekwa nwere ike ịmalite mmalite nke mgbanwe ọ bụla ejiri na koodu site na ntinye aka na nchịkọta;
  • Sistemụ netwọkụ
    • Maka oghere emejuputa atumatu nhọrọ ọhụrụ "SO_BINDTOIFINDEX" yiri
      "SO_BINDTODEVICE", ma na-ewere dị ka arụmụka nọmba index nke netwọk interface kama interface aha;

    • Ihe ngwugwu mac80211 agbakwunyela ikike ikenye ọtụtụ BSSID ( adreesị MAC) n'otu ngwaọrụ. Dị ka akụkụ nke a oru ngo na-ebuli WiFi arụmọrụ, na Mac80211 tojupụtara agbakwunyere airtime aza ajụjụ na ike nkesa airtime n'etiti ọtụtụ ọdụ (mgbe ị na-arụ ọrụ na ohere ohere mode, na-ekenye obere nnyefe oge iji nwayọọ ikuku ọdụ ụgbọ mmiri, kama ikesa oge evenly n'etiti ndị niile). ọdụ ụgbọ mmiri);
    • Usoro agbakwunyere"ahụ ike devlink", nke na-enye ọkwa mgbe nsogbu na-eme na netwọk netwọk;
  • Ebe nchekwa na ọrụ sistemụ
    • Emere ya nnyefe mgbama echekwabara nke na-enye ohere iji PID emegharị. Dịka ọmụmaatụ, mgbe ị na-akpọ igbu egbu n'oge gara aga, ọnọdụ nwere ike ibili ebe, ozugbo ezipụchara mgbaama, PID nwere ike ịtọhapụ ya n'ihi njedebe nhazi ma jiri usoro ọzọ were, mgbaàmà ahụ ga-ejedebe na usoro ọzọ. Iji kpochapụ ọnọdụ ndị dị otú ahụ, agbakwunyere usoro ọhụrụ a na-akpọ pidfd_send_signal, nke na-eji nkọwa faịlụ sitere na / proc/pid iji hụ na ejikọta usoro kwụsiri ike. Ọbụna ma ọ bụrụ na ejiri PID mee ihe n'oge nhazi oku usoro, onye na-akọwa faịlụ agaghị agbanwe ma nwee ike iji ya mee ihe n'enweghị nsogbu iji zipu mgbaàmà na usoro ahụ;
    • agbakwunyere ike iji ngwaọrụ ebe nchekwa na-adịgide adịgide (ncheta na-adịgide adịgide, dịka ọmụmaatụ NVDIMM) dị ka RAM. Ruo ugbu a, kernel na-akwado ngwaọrụ ndị dị ka ngwaọrụ nchekwa, mana ugbu a enwere ike iji ya dị ka RAM ọzọ. A na-emejuputa atụmatụ a na nzaghachi na ọchịchọ nke ndị ọrụ dị njikere ịnagide nkwụsị ọrụ ma chọọ iji Linux kernel ebe nchekwa API kama iji usoro ebe nchekwa ohere nke onye ọrụ na-agba ọsọ n'elu mmap maka dax. faịlụ;
    • Agbakwunyere onye na-ahụ maka ọrụ CPU ọhụrụ (cpuidle, na-ekpebi mgbe enwere ike itinye CPU n'ime ụdị nchekwa ike miri emi; ka ọnọdụ ahụ dị omimi, ego ahụ ka ukwuu, mana ogologo oge ọ na-ewe iji pụọ ​​na ọnọdụ ahụ) - TEO (Gọvanọ Ihe Omume Oge Oge. ). Ruo ugbu a, a na-atụpụta ndị na-eji cpuidle abụọ - "menu" na "ladder", dị iche na heuristics. Onye na-ahụ maka "menu" maara nsogbu na ịme mkpebi heuristic, iji kpochapụ nke e kpebiri ịkwadebe onye nlekọta ọhụrụ. A na-edobe TEO dị ka ihe ọzọ maka onye na-ahụ maka “menu”, na-enye ohere ịrụ ọrụ dị elu ka ọ na-edobe otu ọkwa oriri ike.
      Ị nwere ike ịgbalite onye njikwa ọhụrụ ahụ site na iji paramita buut "cpuidle.gvernor=teo";

    • Dị ka akụkụ nke ọrụ iji kpochapụ nsogbu nke 2038, kpatara njupụta nke ụdị 32-bit time_t, gụnyere oku sistemụ na-enye ọnụ ọgụgụ oge 32-bit maka ụlọ ọrụ 64-bit. N'ihi ya, a ga-eji usoro 64-bit time_t mee ihe na ụlọ ọrụ niile. Emebekwala mgbanwe ndị yiri ya na sistemụ netwọkụ maka nhọrọ timestamp oghere netwọk;
    • N'ime sistemu patching na-ekpo ọkụ maka isi (patching ndụ) agbakwunyere Njirimara “Atomic Replace” maka itinye usoro mgbanwe n'otu ọrụ. Njirimara a na-enye gị ohere ikesa nchịkọta nchịkọta na-ekpuchi ọtụtụ mgbanwe n'otu oge, kama usoro nke ngwa ngwa site na ọkwa nke patches dị ndụ n'usoro akọwapụtara nke ọma, nke siri ike ịnọgide na-enwe. Ọ bụ ezie na na mbụ mgbanwe ọ bụla na-esote kwesịrị ịdabere na ọnọdụ ọrụ mgbe mgbanwe ikpeazụ gasịrị, ọ ga-ekwe omume ugbu a ịgbasa mgbanwe dị iche iche jikọtara na otu steeti mbụ n'otu oge (ya bụ, ndị na-elekọta nwere ike idowe otu patch jikọtara ọnụ na kernel isi kama. nke agbụ nke patches na-adabere na ibe ya;
    • ekwuputala nkwado deprecated maka a.out executable faịlụ na
      ehichapụ koodu maka imepụta faịlụ isi na usoro a.out, nke dị na steeti agbahapụla. Ejibeghị usoro a.out na sistemụ Linux ogologo oge, yana ọgbọ nke faịlụ a.out akwadobeghị site na ngwaọrụ ọgbara ọhụrụ na nhazi Linux ndabara. Na mgbakwunye, enwere ike itinye loader maka faịlụ a.out kpamkpam na oghere onye ọrụ;

    • Agbakwunyela ikike ịchọpụta na wepu koodu ejighi ya na usoro nkwenye mmemme BPF. The kernel tinyekwara patches na spinlock nkwado maka BPF subsystem, na-enye ndị ọzọ ike maka ijikwa myiri ogbugbu nke mmemme BPF;
  • Ngwa
    • Na onye ọkwọ ụgbọ ala Nouveau agbakwunyere nkwado maka njikwa ebe nchekwa dị iche iche, na-enye ohere ka CPU na GPU nweta mpaghara ebe nchekwa mekọrịtara ọnụ. The òkè mebere ebe nchekwa usoro (SVM, òkè mebere ebe nchekwa) na-emejuputa atumatu na ndabere nke HMM (Heterogeneous ebe nchekwa management) subsystem, nke na-enye ohere ojiji nke ngwaọrụ na ha onwe ha ebe nchekwa management nkeji (MMU, ebe nchekwa unit), nke nwere ike ịnweta. isi ebe nchekwa. Karịsịa, iji HMM, ị nwere ike ịhazi oghere adreesị nkekọrịta n'etiti GPU na CPU, nke GPU nwere ike ịnweta isi ebe nchekwa nke usoro ahụ. A na-akwado nkwado SVM ugbu a maka Pascal ezinụlọ GPUs, ọ bụ ezie na enyere nkwado maka Volta na Turing GPUs. Ọzọkwa, na Nouveau gbakwunyere ioctl ọhụrụ iji chịkwaa ịkwaga ebe nchekwa usoro na ebe nchekwa GPU;
    • Na onye ọkwọ ụgbọ ala Intel DRM maka GPU Skylake na emesia (gen9+) gụnyere Site na ndabara, ọnọdụ fastboot na-ewepụ mgbanwe ọnọdụ na-adịghị mkpa n'oge buut. agbakwunyere новые njirimara ngwaọrụ dabere na Coffelake na Ice Lake microarchitectures. Maka mkpụrụ osisi Coffelake agbakwunyere nkwado GVT (GPU virtualization). Maka mebere GPUs emejuputa atumatu Nkwado VFIO EDID. Maka akụkụ LCD MIPI/DSI agbakwunyere nkwado maka ihe ACPI/PMIC. Emere ya ụdị TV ọhụrụ 1080p30/50/60 TV;
    • Nkwado agbakwunyere maka Vega10/20 BACO GPU na onye ọkwọ ụgbọ ala amdgpu. Ejiri njikwa ike Vega 10/20 arụ ọrụ yana tebụl njikwa ngwa nju oyi Vega 10. Agbakwunyere ihe nchọpụta ngwaọrụ PCI ọhụrụ maka Picasso GPUs. agbakwunyere interface maka ijikwa adabere na nhazi oge iji zere mkpọchi;
    • agbakwunyere Onye ọkwọ ụgbọ ala DRM/KMS maka ngwa ngwa ihuenyo ARM Komeda (Mali D71);
    • Nkwado agbakwunyere maka Topoly TPG110, Sitronix ST7701, PDA 91-00156-A0, LeMaker BL035-RGB-002 3.5 na Kingdisplay kd097d04 ihuenyo panel;
    • Nkwado agbakwunyere maka Rockchip RK3328, Cirrus Logic CS4341 na CS35L36, MediaTek MT6358, Qualcomm WCD9335 na Ingenic JZ4725B audio codecs, yana Mediatek MT8183 audio platform;
    • Nkwado agbakwunyere maka ndị na-ahụ maka NAND Flash STMicroelectronics FMC2, Amlogic Meson;
    • Nkwado ngwa ngwa agbakwunyere maka sistemụ ngwaike Habana AI;
    • Nkwado agbakwunyere maka NXP eneTC gigabit Ethernet njikwa na MediaTek MT7603E (PCIe) na MT76x8 ikuku ikuku.

N'otu oge ahụ, Latin American Free Software Foundation kpụrụ
nhọrọ kernel n'efu kpamkpam 5.1 - Linux-liber 5.1-gnu, kpochapuru nke ngwa ngwa na ihe ọkwọ ụgbọ ala nwere ihe ndị na-abụghị nke efu ma ọ bụ ngalaba koodu, nke onye nrụpụta na-ejedebe oke ya. Na ntọhapụ ọhụrụ a, agbanyụrụ ibunye blob na mt7603 na ndị ọkwọ ụgbọ ala goya. Koodu nhicha blob emelitere n'ime ndị ọkwọ ụgbọ ala na sistemụ wilc1000, iwlwifi, soc-acpi-intel, brcmfmac, mwifiex, btmrvl, btmtk na touchscreen_dmi. Akwụsịla nhicha blob na lantiq xrx200 firmware loader n'ihi mwepụ ya na kernel.

isi: opennet.ru

Tinye a comment