Kernel Linux 5.14

Kernel Linux 5.14

Ina ua maeʻa le lua masina o le atinaʻe, Linus Torvalds faʻalauiloa fa'amalologa fatu Linux 5.14. Faatasi ai ma suiga sili ona iloga: fou quotactl_fd() ma memfd_secret() valaau faiga, aveesea o le ide ma avetaavale mata, fou I/O pule faamuamua mo le cgroup, SCHED_CORE faiga faatulagaina o galuega, atinae mo le fatuina o utaina polokalame BPF faamaonia.

O le lomiga fou e aofia ai le 15883 faʻaleleia mai le 2002 developers, o le patch tele o le 69 MB (o suiga na aʻafia ai 12580 faila, 861501 laina o code na faʻaopoopoina, 321654 laina na tapeina). E tusa ma le 47% o suiga uma na faʻaalia i le 5.14 e fesoʻotaʻi ma taʻavale masini, e tusa ma le 14% o suiga e fesoʻotaʻi ma le faʻafouina o tulafono faʻapitoa i fausaga faʻapitoa, 13% e fesoʻotaʻi ma le upega o fesoʻotaʻiga, 3% e fesoʻotaʻi ma faila faila, ma 3% e feso'ota'i i totonu ole kernel subsystems.

tele mea fou:

  • la'asaga o tisiki, fa'aoga/tuuina atu ma faiga faila:
    • mo le vaega faatino fou I/O fa'atonuga fa'amuamua - rq-qos, lea e mafai ona fa'atonutonuina le fa'agaioiga o le fa'amuamua o talosaga e poloka ai masini fa'atupuina e sui o vaega ta'itasi. Ua fa'aopoopoina le lagolago fou e pulea le fa'amuamua ile mq-taimi I/O fa'atulagaina;
    • i luga ole faiga faila ext4 faatinoina fou ioctl command EXT4_IOC_CHECKPOINT, lea e faʻamalosia ai fefaʻatauaiga uma o loʻo faʻatali mai le ogalaau ma faʻapipiʻi fesoʻotaʻi i le tisiki, ma faʻauluina foi le vaega o loʻo faʻaaogaina e le ogalaau i le teuina. O le suiga na saunia e avea o se vaega o se taumafaiga e puipuia ai faʻamatalaga liki mai faiga faila;
    • i Btrfs folasia Fa'atonuga o fa'atinoga: E ala i le fa'ate'aina o le fa'amauina le tatau o uiga fa'alautele i le taimi o le fsync fa'atinoina, o le fa'atinoga o fa'agaioiga malosi fa'atasi ai ma uiga fa'alautele na fa'atupula'ia i le 17%. E le gata i lea, pe a faʻatinoina galuega faʻapipiʻi e le afaina ai le lautele, e le atoatoa le faʻamaopoopoina, lea na faʻaitiitia ai le taimi o le taotoga e 12%. Ua faaopoopo se seti i sysfs e faatapulaa ai le bandwidth I/O pe a siaki le FS. Faʻaopoopo iioctl telefoni e faʻamalo le suia ma tapeina gaioiga o masini;
    • i le XFS toe galue faʻatinoina o se faʻamaufaʻailoga faʻapipiʻi, lea e tuʻuina atu i le tuʻufaʻatasia o itulau manatua i le faiga faʻaputuga. Faʻaleleia le faʻaogaina o le cache;
    • F2FS fa'aopoopoina se filifiliga e galue i le faitau-na'o le faiga ma fa'atino se faiga fa'apipi'i poloka poloka (compress_cache) e fa'aleleia ai le faitau fa'atino. Ua fa'atinoina le lagolago mo le fa'apipi'iina o faila fa'afanua i le manatua e fa'aaoga ai le fa'agaioia mmap(). Ina ia fa'amalo le fa'apipi'iina o faila e ala i ufimata, ua tu'uina mai ai se fa'aputuga fou o le nocompress;
    • ua faia galuega i le aveta'avale exFAT e fa'aleleia atili le fetaui ma le teuina o nisi mea pueata numera;
    • fa'aopoopo le system call quotactl_fd(), lea e mafai ai e oe ona faʻatautaia quota e le o se faila masini faʻapitoa, ae ala i le faʻamalamalamaina o se faila faila e fesoʻotaʻi ma le faila faila lea e faʻaogaina ai le quota;
    • O avetaavale tuai mo masini poloka ma le IDE interface ua aveese mai le fatu; ua leva ona suia e le libata subsystem. Lagolago mo masini tuai o loʻo faʻatumauina atoa, o suiga e naʻo le mafai ona faʻaaogaina avetaʻavale tuai, pe a faʻaaogaina ia taʻavale na taʻua / dev / hd *, ae le o / dev / sd *;
    • O le aveta'avale "mata" ua aveese mai le fatu, e maua ai le avanoa e le fa'asalaina e poloka ai masini e ala i le / dev / raw interface. O lenei faʻatinoga ua leva ona faʻatinoina i talosaga e faʻaaoga ai le fuʻa O_DIRECT;
  • manatua ma faiga auaunaga:
    • ua fa'atinoina se faiga fa'atulagaina fou i le fa'atulagaina o galuega SCHED_CORE, lea e mafai ai ona e pulea po o fea faiga e mafai ona faʻatasi i luga o le CPU tutusa. E mafai ona tu'uina atu i faiga ta'itasi se fa'amatalaga kuki e fa'amatala ai le lautele o le fa'atuatuaga i le va o faiga (mo se fa'ata'ita'iga, o le tagata lava e tasi po'o le koneteina). Pe a faʻatulagaina le faʻatinoina o tulafono, e mafai e le tagata faʻatulagaina ona faʻamautinoa e tasi le CPU autu e faʻasoa i na o faiga e fesoʻotaʻi ma le tagata e tasi, lea e mafai ona faʻaaogaina e poloka ai nisi osofaʻiga a Specter e ala i le puipuia o galuega faʻatuatuaina ma le le faʻatuatuaina mai le faʻaogaina i luga ole SMT (Hyper Threading) filo. ;
    • mo le cgroup mechanism, ua faʻatinoina le lagolago mo le fasioti tagata, lea e mafai ai ona e faʻaumatia uma faiga e fesoʻotaʻi ma le vaega i le taimi e tasi (auina atu SIGKILL) e ala i le tusiaina o le "1" i le faila faila cgroup.kill;
    • faʻalauteleina gafatia e fesoʻotaʻi ma le tali atu i le suʻesuʻeina o loka vaeluaga ("loka vaeluaga") e tupu pe a maua faʻamatalaga e le faʻaogaina i le mafaufau ona o le mea moni e faapea pe a faʻatinoina se faʻatonuga atomika, o faʻamaumauga e sopoia laina e lua o le CPU. O ia poloka e taʻitaʻia ai se pa'ū tele i le faʻatinoga, o lea na mafai ai ona faʻaumatia faʻamalosi le talosaga na mafua ai le poloka. O le faʻasalalauga fou e faʻaopoopoina ai le kernel command line parameter "split_lock_detect = ratelimit: N", lea e mafai ai ona e faʻamalamalamaina se tapulaa lautele i luga o le fua o le lokaina o gaioiga i le sekone, pe a uma ona sili atu soʻo se gaioiga e avea ma puna o se loka vaeluaga. fa'amalosi e taofi mo le 20 ms nai lo le fa'amutaina;
    • O le cgroup bandwidth controller CFS (CFS bandwidth controller), lea e fuafua ai le tele o le taimi o le faagasologa e mafai ona tuʻuina atu i vaega taʻitasi, o loʻo i ai le tomai e faʻamalamalamaina ai tapulaʻa faʻatapulaʻaina i se umi o le gaioiga, lea e mafai ai ona sili atu le faʻatonutonuina o uta maaleale latency. Mo se faʻataʻitaʻiga, seti cpu.cfs_quota_us i le 50000 ma cpu.cfs_period_us i le 100000 o le a faʻatagaina ai se vaega o faiga e faʻaumatia le 100ms o le CPU taimi i le 50ms;
    • faaopoopo ulua'i atina'e mo le fa'atūina o uta polokalame a le BPF, lea o le a fa'ataga atili ai le la'uina mai o na'o polokalame BPF ua sainia ma se ki fa'akomepiuta fa'atuatuaina;
    • faʻaopoopoina se futex faʻaogaina FUTEX_LOCK_PI2, lea e faʻaaogaina ai se taimi faʻapitoa e fuafua ai le taimi e faʻaalu ai, lea e amanaʻia ai le taimi e faʻaalu e le faiga ile moe;
    • mo le fausaga RISC-V, lagolago mo itulau manatua tetele (Transparent Huge-Pages) ma le mafai ona faʻaogaina le KFENCE ia iloa mea sese pe a galue ma manatua;
    • i totonu o le madvise () system call, lea e maua ai se auala e faʻamalieina ai le puleaina o mafaufauga, faaopoopo MADV_POPULATE_READ ma MADV_POPULATE_WRITE fuʻa e faʻatupu ai se "itulau sese" i luga o itulau manatua uma o loʻo faʻafanua mo le faitau pe tusitusi faʻagaioiga, e aunoa ma le faia o se faitau pe tusitusi (muamua). O le faʻaogaina o fuʻa e mafai ona aoga mo le faʻaitiitia o le tuai i le faʻatinoina o le polokalame, faʻafetai i le faʻatinoina o le faʻatinoina o le "itulau sese" faʻatautaia mo itulau uma e leʻi faʻaogaina i le taimi e tasi, e aunoa ma le faʻatali mo le avanoa moni ia i latou;
    • i totonu ole faiga ole su'ega kunit faaopoopo lagolago mo le fa'atinoina o su'ega i le si'osi'omaga QEMU;
    • fa'aopoopo mai tagata su'esu'e fou: "pisapisao" e siaki ai le tuai o talosaga e mafua mai i le fa'alavelave taulima, ma le " timerlat " e fa'aalia ai fa'amatalaga au'ili'ili e uiga i fa'atuai pe a ala i luga mai le fa'ailo o le taimi;
  • virtualization ma le saogalemu:
    • faʻaopoopo system telefoni memfd_secret(), lea e mafai ai ona e fatuina se nofoaga e manatua ai i totonu o se avanoa tuʻufaʻatasia tuʻufaʻatasia, e naʻo le pule e mafai ona iloa, e le o atagia i isi gaioiga ma e le mafai ona maua saʻo i le fatu;
    • i le seccomp system call filtering system, pe a fa'agaoioi loka loka i avanoa e fa'aoga ai, e mafai ona fa'aogaina se tasi o gaioiga atomic e fatu ai se fa'amatalaga faila mo se galuega tu'ufua ma toe fa'afo'i atu pe a fa'agaoioia se telefoni. O le galuega fuafuaina e foia faʻafitauli fa'atasi ai ma le fa'alavelave a le tagata e fa'aogaina i le avanoa fa'aoga pe a o'o mai se fa'ailo;
    • faʻaopoopo faiga fou e pulea le fa'atapula'aina o puna'oa i totonu ole igoa ole ID tagata fa'aoga, lea e fusifusia ai fa'amaufa'ailoga ta'ito'atasi i se tagata fa'aoga ile "igoa fa'aoga". O le suiga e foia ai le faʻafitauli i le faʻaogaina o faʻamaumauga o punaoa masani pe a faʻatautaia e se tasi tagata faʻaoga faiga i totonu o pusa eseese;
    • le KVM hypervisor mo ARM64 faiga ua faʻaopoopoina le mafai ona faʻaogaina le MTE (MemTag, Memory Tagging Extension) faʻaopoopoga i faiga faʻapitoa, lea e mafai ai e oe ona fusifusia pine i taʻitasi faʻasologa o manatuaga ma faʻatulaga le siakiina o le faʻaoga saʻo o faʻailoga e poloka ai le faʻaogaina o fa'aletonu e mafua mai i le fa'aogaina o poloka manatua ua uma ona fa'asa'olotoina, fa'amama pa'u, avanoa a'o le'i amataina ma fa'aoga i fafo atu o le tulaga o iai nei;
    • O le Fa'amaoniga Fa'asinotonu e saunia e le ARM64 platform e mafai nei ona fa'atulaga eseese mo le fatu ma le avanoa fa'aoga. O le tekinolosi e mafai ai ona e fa'aogaina fa'atonuga fa'apitoa a le ARM64 e fa'amaonia ai tuatusi toe fa'afo'i e fa'aaoga ai saini numera o lo'o teuina i vaega pito i luga e le'i fa'aaogaina o le fa'ailoga lava ia;
    • i le User-mode Linux faaopoopo lagolago mo le faʻaogaina o avetaavale mo masini PCI ma se pasi PCI faʻapitoa, faʻatinoina e le avetaavale PCI-over-virtio;
    • mo faiga x86, faaopoopo lagolago mo le virtio-iommu paravirtualized masini, lea e mafai ai ona e auina atu IOMMU talosaga, e pei o ATTACH, DETACH, MAP ma UNMAP, i luga o le virtio felauaiga e aunoa ma le faataitaiina o laulau itulau manatua;
    • Mo Intel CPUs, mai le Skylake aiga i Coffee Lake, o le faʻaogaina o le Intel TSX (Transactional Synchronization Extensions), lea e tuʻuina atu meafaigaluega mo le faʻaleleia o le faʻatinoina o le tele-threaded talosaga e ala i le faʻaaogaina o le faʻaogaina o le faʻaogaina o gaioiga, e le mafai ona faʻaogaina. O fa'aopoopoga e fa'agata ona o le avanoa o osofa'iga Zombieload, faʻaogaina le leakage o faʻamatalaga e ala i auala lona tolu o loʻo tupu i le taimi o le faʻaogaina o le masini mo le faʻalavelave faʻafuaseʻi o gaioiga (TAA, TSX Asynchronous Abort);
  • feso'ota'iga subsystem:
    • faʻaauau le tuʻufaʻatasia i totonu ole MPTCP (MultiPath TCP), o se faʻaopoopoga o le TCP protocol mo le faʻatulagaina o le faʻaogaina o se fesoʻotaʻiga TCP ma le tuʻuina atu o pusa i le taimi e tasi i luga o le tele o auala e ala i fesoʻotaʻiga fesoʻotaʻiga eseese e fesoʻotaʻi ma tuatusi IP eseese. I le lomiga fou faʻaopoopo se masini mo le setiina o au lava faiga faʻavae o fefaʻatauaʻiga mo IPv4 ma IPv6 (multipath hash policy), e mafai ai mai le avanoa faʻaoga e iloa ai poʻo fea fanua i totonu o paʻu, e aofia ai ma faʻapipiʻi, o le a faʻaaogaina pe a faʻatusatusa le hash e fuafua ai le filifiliga o le auala. mo le afifi;
    • ua faaopoopo lagolago lagolago i le virtio felauaiga virtual SOCK_SEQPACKET (fa'atonu ma fa'atuatuaina le tu'uina atu o fa'amaumauga);
    • O le gafatia o le SO_REUSEPORT socket mechanism ua faʻalauteleina, lea e mafai ai e le tele o faʻalogo faʻalogo ona faʻafesoʻotaʻi i le tasi uafu i le taimi e tasi e maua ai fesoʻotaʻiga ma le tufatufaina atu o talosaga o loʻo oʻo mai i le taimi e tasi i sockets uma e fesoʻotaʻi atu e ala i le SO_REUSEPORT, lea e faafaigofieina ai le fausiaina o le tele-threaded server applications. . I le lomiga fou faaopoopo o lona uiga mo le tuʻuina atu o le pule i se isi socket pe a faʻaletonu pe a faʻagasolo se talosaga e ala i le socket muamua filifilia (foia le faʻafitauli i le leiloa o soʻotaga taʻitoʻatasi pe a toe amataina auaunaga);
  • meafaigaluega:
    • i le avetaavale amdgpu faatinoina lagolago mo le AMD Radeon RX 6000 fou faasologa o GPU, codenamed "Beige Goby" (Navi 24) ma "Yellow Carp", faʻapea foʻi ma le faʻaleleia atili o le lagolago mo Aldebaran GPU (gfx90a) ma Van Gogh APU. Faʻaopoopo le tomai e galulue faʻatasi ai ma le tele o paneta eDP. Mo APU Renoir, ua fa'atinoina le lagolago mo le galulue fa'atasi ma fa'ailoga fa'ailoga i le manatua o ata vitio (TMZ, Trusted Memory Zone). Fa'aopoopoina le lagolago mo kata fa'ailoga vevela. Mo Radeon RX 6000 (Navi 2x) GPU ma AMD GPU matutua, lagolago mo le ASPM (Active State Power Management) masini faʻaolaina eletise e mafai ona faʻaogaina, lea na mafai muamua mo Navi 1x, Vega ma Polaris GPU;
    • mo AMD tupe meataalo, lagolago mo le manatu fa'asoa fa'akomepiuta (SVM, fefa'asoaa'i manatuaga virtual) ua fa'aopoopoina e fa'avae i luga o le HMM (Heterogeneous memory management) subsystem, lea e fa'atagaina ai le fa'aogaina o masini fa'atasi ma a latou lava iunite fa'amanino (MMU, iunite fa'atonuga manatua), lea e mafai ona maua manatua autu. E aofia ai 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 manatuaga autu o le faagasologa;
    • fa'aopoopoina le lagolago fa'atekonolosi muamua AMD Smart Shift, lea e matua suia ai le fa'aogaina o le eletise o le PPU ma le GPU i luga o le komepiuta ma se kaseti ma se kata fa'ata'ita'i AMD e fa'aleleia ai le fa'atinoga pe a ta'aloga, fa'ata'ita'iga vitio ma fa'aliliuga 3D;
    • i le avetaavale i915 mo kata vitio Intel aofia ai lagolago mo Intel Alderlake P chips;
    • fa'aopoopo le drm/hyperv aveta'avale mo le Hyper-V virtual graphics adapter;
    • faʻaopoopo simpledrm graphic driver e faʻaaogaina le EFI-GOP poʻo le VESA framebuffer saunia e le UEFI firmware poʻo le BIOS mo le gaosiga. O le fa'amoemoe autu o le aveta'avale o le tu'uina atu lea o gaioiga fa'akalafi i le taimi muamua o le ta'avale, a'o le'i mafai ona fa'aogaina se aveta'avale DRM atoa. E mafai foi ona faʻaaogaina le avetaʻavale e avea o se fofo le tumau mo meafaigaluega e leʻi iai ni avetaavale DRM;
    • faaopoopo lagolago komepiuta uma-i-le tasi Rasipeli Pi 400;
    • Fa'aopoopo le ta'avale dell-wmi-privacy e lagolago ai le mea pu'eata ma masini masini faaleotele leo o lo'o aofia i Dell laptops;
    • mo Lenovo komepiuta feaveai faʻaopoopo WMI feso'ota'iga mo le suia o fa'amaufa'ailoga BIOS e ala i sysfs /sys/class/firmware-attributes/;
    • fa'alautele lagolago mo masini e iai le USB4;
    • faaopoopo lagolago mo kata leo ma codecs AmLogic SM1 TOACODEC, Intel AlderLake-M, NXP i.MX8, NXP TFA1, TDF9897, Rockchip RK817, Qualcomm Quinary MI2 ma Texas Instruments TAS2505. Siitia le lagolago leo i HP ma ASUS komepiuta feaveai. Faaopoopo patch e faʻaitiitia ai le tuai aʻo leʻi amata ona taʻalo leo i masini e iai le USB interface.

Punavai – opennet.ru.

puna: linux.org.ru