Linux 5.1 faʻamalolo kernel

Ina ua maeʻa le lua masina o le atinaʻe, Linus Torvalds faʻalauiloa fa'amalologa fatu Linux 5.1. Faatasi ai ma suiga sili ona iloga: o se atinaʻe fou mo le asynchronous I / O io_uring, le mafai ona faʻaogaina le NVDIMM e pei o le RAM, lagolago mo le faʻasoa faʻamatalaga faʻapitoa i Nouveau, lagolago mo le mataʻituina o le tele o faila faila e ala i fanotify, le mafai ona faʻapipiʻi Zstd compression tulaga i Btrfs, a fou cpuidle TEO handler, faatinoga o le faiga valaau e foia ai le faafitauli 2038, le mafai ona boot mai masini-mapper masini e aunoa ma initramfs, SafeSetID LSM module, lagolago mo patches ola tuufaatasi.

tele mea fou:

  • Disk subsystem, I/O ma faila faiga
    • Fa'atino se atina'e fou mo le I/O asynchronous - io_uring, lea e ta'uta'ua mo lona lagolago mo I/O palota ma le mafai ona galue fa'atasi ma pe leai fo'i le pa'u. Sei o tatou manatua o le asynchronous I / O mechanism "aio" na le lagolagoina buffered I / O, e naʻo le O_DIRECT mode (e aunoa ma le faʻafefe ma le pasia o le cache), sa i ai faʻafitauli i le lokaina ona o le faʻatali mo metadata avanoa, ma fa'aalia le tele o tau fa'asili ona o le kopiina o fa'amaumauga i le manatua.

      I totonu ole API
      io_uring developers taumafai e faʻaumatia faʻaletonu o le tuai aio interface. E galueaina io_uring e latalata tele i SPDK ma e matua'i mamao atu nai lo le libaio pe a galue ma fa'ataga palota. Ua saunia se faletusi mo le fa'aogaina o le io_uring i talosaga fa'ai'u o lo'o fa'agasolo i avanoa fa'aoga aso malolo, lea e tuʻuina atu ai se faʻavae maualuga i luga o le kernel interface;

    • I le mea na tupu e siaki ai masini i le FS fanotify() faaopoopo lagolago mo le tulituliloaina o superblock ma suiga fausaga tulaga sa'o (mea na tutupu o le fatuina, tapeina ma le fesiitaiga o tusi tusi). O vaega o loʻo tuʻuina atu e fesoasoani e foia faʻafitauli scalability e tulaʻi mai pe a faia le suʻeina o suiga i le tele o faila faila e faʻaaoga ai le faʻaogaina o le masini (o suiga eseese e mafai ona siaki muamua e ala i le logo, ae
      fa'atinoga i tulaga o le su'esu'eina fa'asolosolo o fa'atonuga fa'amoega tetele na totoe e mana'omia). O lea la e mafai ona fa'atino lelei le mata'ituina e ala i le fanotify;

    • I luga ole faiga faila Btrfs faaopoopo le mafai ona faʻavasegaina le maualuga o le faʻamalosi mo le zstd algorithm, lea e mafai ona manatu o se faʻalelei sili ona lelei i le va o le vave ae le aoga lz4 ma le faʻagesegese ae lelei faʻamalosi xz. E ala i le faʻatusa ma le auala na mafai ai ona setiina le maualuga o le faʻamalosi pe a faʻaaoga le zlib, lagolago mo le "-o compress = zstd: tulaga" mount option ua faʻaopoopoina mo zstd. I le taimi o suʻega, o le laʻititi laʻititi muamua na tuʻuina atu ai le faʻapipiʻiina o faʻamaumauga e 2.658 taimi faʻatasi ai ma le saoasaoa faʻamalosi o le 438.47 MB ​​/ s, le saoasaoa o le decompression o le 910.51 MB / s ma le manatuaina o le 780 MB, ma le maualuga maualuga 15 na tuʻuina atu 3.126 taimi, ae faʻatasi ai ma le faʻamalosi. saoasaoa o le 37.30 MB / s. tatala le 878.84 MB / s ma le manatuaina o le 2547 MB;
    • Faaopoopo le mafai ona taʻavale mai se faila faila o loʻo i luga o le masini-mapper device, e aunoa ma le faʻaaogaina o initramfs. Amata i le tuʻuina atu o le kernel o loʻo i ai nei, e mafai ona faʻaoga saʻo masini-mapper i le taimi o le faʻagasologa o le taʻavale, mo se faʻataʻitaʻiga, o se vaeluaga ma le root file system. O le vaeluaga o loʻo faʻapipiʻiina e faʻaaoga ai le faʻailoga taʻavale "dm-mod.create". Fa'atonu-mapper modules fa'atagaina mo le utaina e aofia ai: "crypt", "fa'atuai", "linear", "snapshot-origin" ma le "verity";
    • O le F2FS_NOCOW_FL fu'a ua fa'aopoopo i le F2FS faila faiga fa'atatau ile Flash drive, lea e fa'atagaina ai oe e fa'agata le kopi-i-tusitusi mo se faila tu'uina atu;
    • Aveese le faiga faila mai le fatu Exofs, o se fesuiaiga o le ext2, fetuutuunai mo le galulue faatasi ma OSD (Object-based Storage Device) mea e teu ai mea. Lagolago mo le SCSI protocol mo ia mea e teu ai masini ua aveesea foi;
  • Virtualization ma le Puipuiga
    • Fa'aopoopo le PR_SPEC_DISABLE_NOEXEC filifiliga ile prctl() e fa'atonu ai le fa'atinoina o fa'atonuga mo le faiga ua filifilia. O se filifiliga fou e mafai ai e oe ona faʻamalo faʻamalo le faʻataunuʻuina o faʻataʻitaʻiga mo faiga e ono mafai ona osofaʻia e se osofaʻiga a Specter. O le loka e tumau seia oʻo i le valaau muamua i le exec();
    • Fa'atinoina le LSM module SafeSetID, lea e fa'atagaina ai le fa'aogaina o le fa'aogaina o tagata fa'aoga e aunoa ma le fa'ateleina o fa'amanuiaga (CAP_SETUID) ma e aunoa ma le mauaina o fa'amanuiaga a'a. O fa'amanuiaga e tu'uina atu e ala i le fa'amalamalamaina o tulafono i totonu o puipuiga fa'avae i luga o se lisi pa'epa'e o fa'amauga fa'amaonia (i le fomu "UID1:UID2");
    • Fa'aopoopo suiga maualalo e mana'omia mo le fa'aputuina o le fa'aputuina o fa'aputuga malu (LSMs). Fa'ailoa le "lsm" kernel boot filifiliga e pulea po o fea modules e utaina ma o le a le faasologa;
    • Lagolago mo faila igoa avanoa ua faaopoopo i le subsystem suetusi;
    • Fa'alautele le gafatia o le GCC plugin structleak, lea e mafai ai e oe ona poloka le faʻaogaina o mea e manatua ai le faʻaogaina o soʻo se fesuiaiga o loʻo faʻaaogaina i le code e ala i faʻamatalaga i luga o le faaputuga ua saunia;
  • Su'ega feso'ota'iga
    • Mo sockets faatinoina filifiliga fou "SO_BINDTOIFINDEX" tutusa ma
      "SO_BINDTODEVICE", ae avea o se finauga le numera faasino upu o le fesoʻotaʻiga fesoʻotaʻiga nai lo le igoa faʻaoga;

    • O le mac80211 stack ua faʻaopoopoina le gafatia e tuʻuina atu le tele o BSSIDs (tuatusi MAC) i le masini e tasi. I le avea ai o se vaega o se poloketi e faʻamalieina ai le faʻatinoga o le WiFi, ua faʻaopoopoina e le mac80211 stack le faʻamaumauga o le ea ma le mafai ona tufatufa atu le taimi o le ea i le tele o nofoaga (pe a faʻaogaina i le auala avanoa, faʻaitiitia le taimi faʻasalalau e faʻagesegese ai laina eletise, nai lo le tufatufaina tutusa o taimi i tagata uma. nofoaga);
    • Fa'aopoopo masini"devlink soifua maloloina", lea e maua ai faʻamatalaga pe a tupu faʻafitauli i le fesoʻotaʻiga fesoʻotaʻiga;
  • Auaunaga manatua ma faiga
    • Fa'atinoina fa'amautu le tu'uina atu o fa'ailoga e mafai ai ona toe fa'aoga le PID. Mo se faʻataʻitaʻiga, pe a valaʻau le fasioti muamua, e mafai ona tulaʻi mai se tulaga pe a maeʻa ona tuʻuina atu se faʻailoga, e mafai ona faʻasaʻoloto le PID sini ona o le faʻamutaina o le faagasologa ma nofoia e se isi gaioiga, ma o le a faʻauʻu le faʻailoga i se isi gaioiga. Ina ia faʻaumatia ia tulaga, ua faʻaopoopoina se telefoni fou pidfd_send_signal, lea e faʻaogaina ai faila faila mai /proc/pid e faʻamautinoa ai le faʻamautu o le faagasologa. E tusa lava pe toe faʻaaogaina le PID i le taimi o le faʻaogaina o le telefoni, o le faila faila o le a le suia ma e mafai ona faʻaoga saogalemu e lafo ai se faailo i le faagasologa;
    • Faaopoopo le mafai ona faʻaogaina masini manatua tumau (faʻaauau-manatua, mo se faʻataʻitaʻiga NVDIMMs) e pei o le RAM. Seia oʻo mai i le taimi nei, o le fatu na lagolagoina ia masini e pei o le teuina o masini, ae o lea e mafai foi ona faʻaaogaina e avea ma RAM faaopoopo. O loʻo faʻatinoina le faʻaaliga e tali atu ai i manaʻoga o tagata faʻaoga o loʻo naunau e tuʻuina atu se faʻataʻitaʻiga faʻataʻitaʻiga ma manaʻo e faʻaoga le Linux kernel memory management API nai lo le faʻaogaina o loʻo i ai nei tagata faʻaoga-space memory allocation system o loʻo taʻavale i luga o mmap mo le dax faila;
    • Faʻaopoopoina se PPU fou e faʻaaogaina (cpuidle, filifili pe a mafai ona tuʻuina le PPU i totonu o auala faʻasao malosi; o le loloto o le faiga, o le sili atu lea o le teuina, ae o le umi foi e alu ese ai le faiga) - TEO (Timer Events Oriented Governor ). Se'ia o'o mai i le taimi nei, e lua tagata e fa'aaogaina cpuidle ua tu'uina mai - "menu" ma le "apefa'i", e eseese i le heuristics. Ua iloa e le "menu" faʻafitauli i le faia o filifiliga heuristic, e faʻaumatia ai na filifili e saunia se tagata fou. TEO o loʻo faʻatulagaina e fai ma sui i le "menu" handler, faʻatagaina mo le maualuga o le faʻatinoga aʻo tumau pea le tulaga tutusa o le faʻaaogaina o le eletise.
      E mafai ona e fa'agaoioia le tagata fou e fa'aaoga ai le fa'ailoga ta'avale "cpuidle.governor=teo";

    • O se vaega o le galuega e faʻaumatia faafitauli o le 2038, e mafua mai i le tele o le 32-bit time_t type, e aofia ai telefoni feaveaʻi e ofoina atu 32-bit taimi faʻatau mo 64-bit architectures. O le iʻuga, o le 64-bit time_t structure e mafai nei ona faʻaogaina i luga o fausaga uma. O suiga fa'apena fo'i ua fa'atinoina i totonu o le 'upega tafa'ilagi mo filifiliga timestamp so'o feso'ota'iga;
    • I totonu o le faiga patching vevela mo le autu (patching ola) faaopoopo "Atomic Sui" vaega mo le fa'aogaina o le fa'atomeki se faasologa o suiga i se galuega e tasi. O lenei vaega e mafai ai e oe ona tufatufaina atu faʻasalalauga faʻapipiʻi e aofia ai le tele o suiga i le taimi e tasi, nai lo le faʻagasologa o le faʻaogaina o le faʻaogaina o patches ola i se faʻatonuga faʻamaonia, lea e faigata tele ona tausia. E ui o suiga taʻitasi muamua e tatau ona faʻavae i luga o le tulaga o le galuega pe a maeʻa le suiga mulimuli, ua mafai nei ona faʻasalalau ni suiga e fesoʻotaʻi i le tasi tulaga muamua i le taimi e tasi (o lona uiga, e mafai e le au tausia ona tausia se tasi faʻapipiʻi tuʻufaʻatasia e faʻatatau i le fatu fatu nai lo. o se filifili o patch e faalagolago le tasi i le isi );
    • Faailoa atu fa'agata le lagolago mo le fa'atulagaina o faila faila ma
      tapeina code mo le fausiaina o faila autu i le a.out format, lea o loʻo i se tulaga tuulafoaia. O le a.out format e leʻi faʻaaogaina i luga o Linux mo se taimi umi, ma o le faʻatupuina o faila a.out ua leva ona le lagolagoina e meafaigaluega faʻaonaponei i le faʻaogaina o Linux. E le gata i lea, o le loader mo faila a.out e mafai ona faʻatinoina atoa i avanoa faʻaoga;

    • Le mafai ona iloa ma aveese code le'o fa'aaogaina ua fa'aopoopoina ile faiga ole fa'amaoniga ole polokalame BPF. O le fatu e aofia ai foʻi faʻapipiʻi faʻatasi ai ma le spinlock lagolago mo le BPF subsystem, tuʻuina atu gafatia faʻaopoopo mo le puleaina o le faʻatinoina tutusa o polokalame BPF;
  • Meafaigaluega
    • I Nouveau avetaavale faaopoopo lagolago mo le faʻaogaina o mafaufauga faʻapitoa, faʻatagaina le PPU ma le GPU e faʻaogaina nofoaga masani e manatua ai. O le faʻaogaina o le mafaufau faʻapitoa (SVM, fefaʻasoaaʻi faʻamaumauga faʻapitoa) o loʻo faʻatinoina i luga o le faʻavae o le HMM (Heterogenous memory management) subsystem, lea e mafai ai ona faʻaogaina masini ma a latou lava iunite faʻamanatuga (MMU, memory management unit), lea e mafai ona maua. manatua autu. Aemaise lava, i le faʻaaogaina o le HMM, e mafai ona e faʻatulagaina se avanoa faʻasoa avanoa i le va o le GPU ma le PPU, lea e mafai ai e le GPU ona maua le manatua autu o le faagasologa. O le lagolago a le SVM o loʻo faʻatagaina nei mo Pascal aiga GPU, e ui lava o loʻo tuʻuina atu le lagolago mo Volta ma Turing GPU foi. E le gata i lea, i Nouveau faʻaopoopo ioctl fou e pulea le femalagaiga o vaega e manatua ai le faagasologa i le mafaufau GPU;
    • I le avetaavale Intel DRM mo GPU Skylake ma mulimuli ane (gen9+) aofia ai Ona o le faaletonu, o le fastboot mode e aveese suiga le talafeagai i le taimi o le taʻavale. Faaopoopo новые fa'ailoga masini e fa'avae i luga ole fa'ata'ita'iga a Coffelake ma Ice Lake. Mo Coffelake chips faaopoopo lagolago GVT (GPU fa'amasani). Mo GPU faʻapitoa faatinoina VFIO EDID lagolago. Mo LCD panels MIPI/DSI faaopoopo lagolago mo elemene ACPI/PMIC. Fa'atinoina ala TV fou 1080p30/50/60 TV;
    • Faʻaopoopo le lagolago mo Vega10/20 BACO GPU i le avetaʻavale amdgpu. Fa'atino Vega 10/20 pulega mana ma Vega 10 cooler laulau fa'atonu. Fa'aopoopo fa'amatalaga fou masini PCI mo Picasso GPU. Faʻaliliuga feso'ota'iga mo le fa'afoeina o fa'atonuga fa'atulagaina e 'alofia ai fa'alavelave;
    • Faʻaliliuga DRM/KMS aveta'avale mo lau fa'avavevave ARM Komeda (Mali D71);
    • Faʻaopoopoina le lagolago mo Toppoly TPG110, Sitronix ST7701, PDA 91-00156-A0, LeMaker BL035-RGB-002 3.5 ma Kingdisplay kd097d04 mata tioata;
    • Faʻaopoopo le lagolago mo Rockchip RK3328, Cirrus Logic CS4341 ma CS35L36, MediaTek MT6358, Qualcomm WCD9335 ma Ingenic JZ4725B codec leo, faʻapea foʻi ma Mediatek MT8183 faʻalogo leo;
    • Fa'aopoopo le lagolago mo NAND controllers Flash STMicroelectronics FMC2, Amlogic Meson;
    • Faʻaopoopo le lagolago faʻavavevave mo faiga faʻapitoa a le Habana AI;
    • Fa'aopoopo le lagolago mo NXP ENETC gigabit Ethernet controllers ma MediaTek MT7603E (PCIe) ma MT76x8 feso'ota'iga uaealesi.

I le taimi lava e tasi, o le Latin American Free Software Foundation faia
filifiliga fua atoa fatu 5.1 - Linux-saoloto 5.1-gnu, fa'amama mai mea fa'amautu ma aveta'avale o lo'o i ai vaega e le sa'oloto po'o vaega fa'ailoga, o le lautele e fa'atapula'aina e le gaosiga. I le faʻasalalauga fou, ua le atoatoa le faʻapipiʻiina o le paʻu i le mt7603 ma le taʻavale goya. Fa'afou le tulafono fa'amama pa'u i ta'avale ma subsystems wilc1000, iwlwifi, soc-acpi-intel, brcmfmac, mwifix, btmrvl, btmtk ma touchscreen_dmi. O le faʻamamaina o paʻu i totonu o le lantiq xrx200 firmware loader ua taofia ona o lona aveeseina mai le fatu.

puna: opennet.ru

Faaopoopo i ai se faamatalaga