Linux 5.2 faʻamalolo kernel

Ina ua maeʻa le lua masina o le atinaʻe, Linus Torvalds faʻalauiloa fa'amalologa fatu Linux 5.2. Faatasi ai ma suiga sili ona maitauina: O le faʻaogaina o le Ext4 o le faʻaogaina o mataupu, e ese le valaʻau mo le faʻapipiʻiina o le faila faila, avetaʻavale mo le GPU Mali 4xx / 6xx / 7xx, le mafai ona taulimaina suiga i sysctl tau i polokalame BPF, masini-mapper. module dm-pefu, puipuiga mai osofaiga MDS, lagolago mo Sound Open Firmware mo DSP, optimization o le faatinoga BFQ, aumaia le PSI (Pressure Stall Information) subsystem i le avanoa e faaaoga i le Android.

O le lomiga fou e aofia ai 15100 faʻaleleia mai le 1882 atinaʻe,
lapopoa patch - 62 MB (suiga na aafia 30889 faila, 625094 laina o code na faaopoopo, 531864 laina na tapeina). E tusa ma le 45% o mea uma na fa'aalia i le 5.2
suiga e fesoʻotaʻi ma avetaʻavale masini, e tusa ma le 21% o suiga ua iai
uiga aga'i i le fa'afouina o tulafono fa'apitoa i fausaga fa'apitoa, 12%
e fesoʻotaʻi ma le faaputuga fesoʻotaʻiga, 3% i faila faila ma 3% i totonu
kernel subsystems. 12.4% o suiga uma na saunia e Intel, 6.3% e Red Hat, 5.4% e Google, 4.0% e AMD, 3.1% e SUSE, 3% e IBM, 2.7% e Huawei, 2.7% e Linaro, 2.2% e ARM , 1.6 % - Oracle.

tele mea fou:

  • Disk subsystem, I/O ma faila faiga
    • Fa'aopoopo mo Ext4 lagolago galue e aunoa ma le fa'avasegaina o mata'itusi i igoa faila, lea e fa'agaoioia e fa'atatau i fa'atonuga gaogao ta'itasi e fa'aaoga ai le uiga fou "+ F" (EXT4_CASEFOLD_FL). Pe a seti lenei uiga i luga o se lisi, o gaioiga uma ma faila ma subdirectories i totonu o le a faia e aunoa ma le amanaia o le tulaga o mataitusi, e aofia ai le mataupu o le a le amanaiaina pe a suʻe ma tatalaina faila (mo se faʻataʻitaʻiga, faila Test.txt, test.txt ma test.TXT i ia lisi o le a manatu tutusa). Ona o le faaletonu, o le faila faila o loʻo faʻaauau pea ona mataʻituina mataʻitusi, sei vagana ai faʻamaumauga o loʻo iai le uiga "chattr + F";
    • Galuega mo le faʻaogaina o UTF-8 mataitusi i igoa faila, lea e faʻaaogaina pe a faia le faʻatusatusaga o manoa ma faʻasologa masani, ua tuʻufaʻatasia;
    • Ua fa'aopoopoina e le XFS mea tetele mo le mataituina o le soifua maloloina o faila ma se ioctl fou mo le fesiligia o le tulaga o le soifua maloloina. Ua fa'atinoina se fa'ata'ita'iga fa'ata'ita'iga e siaki ai fa'ailoga superblock i luga ole laiga.
    • Fa'aopoopoina masini masini fa'afanua fou "dm-pefu", lea e mafai ai ona e faʻataʻitaʻiina foliga o poloka leaga i luga o le aufaasālalau poʻo mea sese pe a faitau mai le disk. O le module e mafai ai e oe ona faʻafaigofie le faʻapipiʻiina ma le suʻega o talosaga ma faiga faʻapipiʻi eseese i le feagai ai ma ni faaletonu e ono tupu;
    • Faiafi ai pea Fa'atonuga fa'atinoga taua mo le BFQ I/O fa'atulagaina. I tulaga o le maualuga o le I/O uta, fa'alelei faia faʻataga Faʻaitiitia le taimi o gaioiga e pei o le faʻalauiloaina o talosaga e oʻo atu i le 80%.
    • Faʻaopoopoina se faʻasologa o valaʻau mo le faʻapipiʻiina o faila faila: fsopen(), tatala_laau(), fspick(), fsmount(), fsconfig() и move_mount(). O nei telefoni feaveaʻi e mafai ai e oe ona faʻapipiʻi eseʻese laʻasaga eseese o le faʻapipiʻiina (faʻagasolo le superblock, maua faʻamatalaga e uiga i le faila faila, mauga, faʻapipiʻi i le pito o le mauga), lea na faia muamua i le faʻaogaina o le telefoni masani () system call. O vala'au eseese e maua ai le tomai e fa'atino ai fa'ata'ita'iga fa'atupu mauga lavelave ma fa'atino galuega eseese e pei o le toe fa'atulagaina o le superblock, fa'ataga filifiliga, suia le pito mauga, ma le si'i atu i se isi igoa avanoa. E le gata i lea, o le tuʻufaʻatasia o gaioiga e mafai ai e oe ona faʻamaonia saʻo mafuaʻaga o le gaosiga o faʻailoga sese ma seti le tele o punaoa mo faila faila faila, e pei o overlayfs;
    • O se gaioiga fou IORING_OP_SYNC_FILE_RANGE ua fa'aopoopoina i le fa'aoga mo le I/O io_uring asynchronous, lea e fa'atino ai gaioiga e tutusa ma se telefoni feavea'i. sync_file_range(), ma fa'atino ai fo'i le agava'a e lesitala ai le eventfd ma io_uring ma maua fa'amatalaga e uiga i le mae'a o galuega;
    • Mo le faila faila a le CIFS, ua fa'aopoopoina le FIEMAP ioctl, e tu'uina atu ai le fa'asologa lelei o fa'afanua, fa'apea fo'i ma le lagolago mo ala SEEK_DATA ma SEEK_HOLE;
    • I le FUSE subsystem fautuaina API mo le puleaina o faʻamaumauga faʻamaumauga;
    • Btrfs ua sili ona lelei le faʻatinoga o qgroups ma faʻaleleia le saoasaoa o le fsync mo faila e tele soʻotaga faigata. Ua faʻaleleia le faʻamaumauga o le siakiina o faʻamaumauga, lea ua amanaʻia ai le faʻaleagaina o faʻamatalaga i le RAM aʻo leʻi faʻafefeina faʻamatalaga i le disk;
    • Ua faaopoopo e le CEPH le lagolago mo le auina atu i fafo o ata e ala i le NFS;
    • O le faʻatinoga o le faʻapipiʻiina o le NFSv4 i le "soft" mode ua faʻaleleia (pe a tupu se mea sese i le faʻaogaina o le server i le "soft" mode, o se valaau e toe faʻafoʻi vave mai se faʻailoga sese, ma i le "faigata" faʻatonuga e le tuʻuina atu seia oʻo i le FS avanoa po'o le taimi ua toe fa'aleleia). O le faʻasalalauga fou e maua ai le saʻo lelei o le faʻaogaina o le taimi, faʻavave le toe faʻaleleia o faʻalavelave, ma se filifiliga fou "softerr" mount e mafai ai ona e suia le faʻailoga sese (ETIMEDOUT) toe foʻi mai pe a tupu se taimi;
    • O le nfsdcld API, ua fuafuaina e siaki le setete o tagata NFS, faʻatagaina le NFS server e siaki saʻo le tulaga o le kalani pe a toe faʻafouina. O lea la, o le nfsdcld daemon e mafai nei ona galue o se nfsdcltrack handler;
    • Mo AFS faaopoopo faʻataʻitaʻiga o loka laina paita i faila (Lokaina Va'aiga Byte);
  • Virtualization ma le Puipuiga
    • Na faia galuega e faʻaumatia ai nofoaga i totonu o le fatu e faʻatagaina ai le faʻatinoina o code mai vaega e manatua ai le tusitusi, lea e mafai ai ona poloka ni pu e mafai ona faʻaaogaina i le taimi o se osofaʻiga;
    • Ua fa'aopoopoina se fa'ailoga fou o le kernel command line "mitigations=", e tu'uina atu ai se auala fa'afaigofie e pulea ai le fa'aogaina o nisi o auala e puipuia ai mai fa'afitauli e feso'ota'i ma fa'atonuga o fa'atonuga ile CPU. O le pasia o le "mitigations=off" e fa'agata uma ai metotia o lo'o i ai, ma o le fa'aogaina o le "mitigations=auto" e mafai ai ona puipuia ae le afaina ai le fa'aogaina o le Hyper Threading. O le "mitigations=auto,nosmt" mode e faʻagata ai le Hyper Threading pe a manaʻomia e le auala puipuia.
    • Faaopoopo lagolago mo saini numera faaeletonika e tusa ai ma GOST R 34.10-2012 (RFC 7091, ISO/IEC 14888-3), atiina ae Vitaly Chikunov mai Basalt SPO. Fa'aopoopo le lagolago mo le AES128-CCM ile fa'atinoga ole TLS. Faʻaopoopo le lagolago mo AEAD algorithms i le crypto_simd module;
    • I Kconfig faaopoopo se vaega 'ese'ese "fa'ama'a'a fatu" ma filifiliga e fa'aleleia ai le puipuiga o fatu. I le taimi nei, o le vaega fou o loʻo i ai naʻo faʻatulagaga mo le faʻatagaina o le GCC siaki-faʻaleleia plugins;
    • O le kernel code e toetoe lava auina atu mai fa'amatalaga mata'upu e le motusia ile ki (e aunoa ma le toe fa'afo'i pe motusia pe a uma poloka mata'upu ta'itasi). E tumau pea le faʻaleleia o le 32 mai le 2311 mataupu o le faʻaogaina o le ki, pe a maeʻa ona mafai lea ona faʻaogaina le "-Wimplicit-fallthrough" mode pe a fausia le fatu;
    • Mo le fausaga o le PowerPC, ua fa'atinoina le lagolago mo masini masini mo le fa'atapula'aina o ala e le mana'omia e maua ai le fatu i fa'amaumauga i avanoa fa'aoga;
    • Fa'aopoopo le fa'ailoga poloka osofa'iga MDS (Microarchitectural Data Sampling) vasega i Intel processors. E mafai ona e siaki pe o se faiga e vaivai i faʻafitauli e ala i le fesuiaiga o le SysFS "/sys/devices/system/cpu/vulnerabilities/mds". Maua lua auala puipuia: tumu, lea e manaʻomia le faʻafouina microcode, ma le pasi, lea e le faʻamaonia atoatoa ai le kiliaina o paʻu o le PPU pe a tuʻuina atu le pule ile avanoa faʻaoga poʻo le polokalama faʻapitoa. Ina ia pulea auala puipuia, ua faaopoopo le "mds =" parameter i le fatu, lea e mafai ona ave ai le tau "tumu", "tumu, nosmt" (+ faʻagata Hyper-Threads) ma le "off";
    • I luga o le x86-64 faiga, ua faʻaopoopoina le puipuiga o le "stack guard-page" mo le IRQ, faʻaogaina o masini ma tagata faʻapitoa, o lona uiga o le suitulaga lea o itulau manatua i le tuaoi ma le faaputuga, faʻaogaina lea e tau atu i le fausiaina o se tuusaunoaga (itulau-fault);
    • Fa'aopoopoina le seti o le sysctl vm.unprivileged_userfaultfd, lea e pulea ai le gafatia o faiga le lelei e fa'aoga ai le userfaultfd() system call;
  • Su'ega feso'ota'iga
    • Faaopoopo IPv6 gateway lagolago mo IPv4 auala. Mo se faʻataʻitaʻiga, e mafai nei ona e faʻamaonia tulafono faʻatonutonu e pei o le "ip ro add 172.16.1.0/24 via inet6 2001:db8::1 dev eth0";
    • Mo ICMPv6, ioctl valaau icmp_echo_ignore_anycast ma icmp_echo_ignore_multicast ua faʻatinoina e le amanaʻia le ICMP ECHO mo soʻo se lafo ma
      tuatusi faasalalau tele. Faaopoopo le mafai ona faʻatapulaʻaina le malosi ole ICMPv6 packet processing;

    • Mo le BATMAN (Better Approach To Mobile Adhoc Networking) mesh protocol, lea e mafai ai ona fausia ni fesoʻotaʻiga faʻapitoa lea e fesoʻotaʻi ai node taʻitasi e ala i nodes tuaoi, faaopoopo lagolago mo faʻasalalauga mai le telecast i le unicast, faʻapea foʻi ma le mafai ona pulea e ala i sysfs;
    • I le ethtool faʻaopoopo se parakalafa fou Fast Link Down, lea e mafai ai ona e faʻaitiitia le taimi e manaʻomia e maua ai faʻamatalaga e uiga i se fesoʻotaʻiga i lalo mo le 1000BaseT (i lalo o tulaga masani o le tuai e oʻo atu i le 750ms);
    • Na aliali mai avanoa fusifusia alalaupapa Foo-Over-UDP i se tuatusi fa'apitoa, feso'ota'iga feso'otaiga po'o socket (o le fusi muamua na faia na'o se matapulepule masani);
    • I le faaputuga uaea saunia avanoa e fa'atino ai fa'atonu
      OWE (Opportunistic Wireless Encryption) i avanoa fa'aoga;

    • I totonu o le Netfilter, ua fa'aopoopoina le lagolago mo le aiga tuatusi inet i filifili nat (mo se fa'ata'ita'iga, e mafai nei ona e fa'aogaina le tulafono fa'aliliu e tasi e fa'agasolo ai le ipv4 ma le ipv6, e aunoa ma le tu'ueseeseina o tulafono mo ipv4 ma ipv6);
    • I le netlink faʻaopoopo faiga faʻamaoni mo le faʻamaoniaina o le saʻo o feʻau uma ma uiga, lea e le faʻatagaina le sili atu o le tele o uiga faʻamoemoeina ma faʻasaina le faʻaopoopoga o faʻamatalaga faaopoopo i le faaiuga o feʻau;
  • Auaunaga manatua ma faiga
    • O le fu'a CLONE_PIDFD ua fa'aopoopo i le clone() system call, pe a fa'ailoa mai, o le faila fa'amatala "pidfd" ua fa'ailoaina ma le fa'atulagaina o tamaiti e toe fa'afo'i atu i le fa'agasologa o matua. O lenei faila faila, mo se faʻataʻitaʻiga, e mafai ona faʻaaogaina e lafo ai faʻailoga e aunoa ma le fefe e tamoe i se tulaga tuuga (i le taimi lava e maeʻa ai le tuʻuina atu o le faailo, o le PID taulaʻi e mafai ona faʻasaʻoloto ona o le faʻamutaina o le faagasologa ma nofoia e se isi gaioiga);
    • Mo le vaega lona lua o cgroups, ua faʻaopoopoina le faʻaogaina o le pusaaisa, lea e mafai ai ona e taofia le galue i totonu o le cgroup ma faʻasaʻoloto le tumau nisi o punaoa (CPU, I / O, ma atonu e manatua) e faʻatino ai isi galuega. E faia le pulega e ala i le cgroup.freeze ma le cgroup.events e pulea faila i le laau cgroup. Ulufale 1 i le cgroup.freeze fa'a'aisa fa'agasologa i le vaega o lo'o iai nei ma tamaiti uma vaega. Talu ai e umi se taimi o le fa'aisa aisa, ua tu'uina atu se faila cgroup.events fa'aopoopo e mafai ona e iloa ai le mae'a o le ta'aloga;
    • malupuipuia auina atu i fafo o uiga manatua o loʻo faʻapipiʻi i node taʻitasi i sysfs, lea e mafai ai ona e faʻamaonia mai le avanoa e faʻaoga ai le natura o le faʻaogaina o faletupe manatua i faiga e iai mafaufauga eseese;
    • Le PSI (Pressure Stall Information) subsystem ua faʻaleleia, lea e mafai ai ona e suʻeina faʻamatalaga e uiga i le taimi faʻatali mo le mauaina o punaoa eseese (CPU, manatua, I / O) mo nisi galuega poʻo seti o faʻagasologa i totonu o se vaega. I le faʻaaogaina o le PSI, e mafai e tagata faʻaoga avanoa avanoa ona sili atu ona saʻo le faʻatusatusaina o le maualuga o le faʻaogaina o le faʻaogaina ma le faʻagesegese o mamanu faʻatusatusa i le Load Average. O le lomiga fou e maua ai le lagolago mo le setiina o tulaga maaleale ma le mafai ona faʻaogaina le poll() valaau e maua ai faʻamatalaga e faʻapea na faʻaosoina tulaga faʻatulagaina mo se vaitaimi patino. O lenei vaega e mafai ai e le Android ona mataʻituina le le lava o mafaufauga i le amataga, faʻailoa le mafuaʻaga o faʻafitauli ma faʻamutaina talosaga le taua e aunoa ma le faʻalavelaveina o faʻafitauli e iloa e le tagata faʻaoga. Pe a faʻataʻitaʻiina le faʻalavelave, o meafaigaluega e mataʻituina ai le faʻaogaina o le mafaufau e faʻavae i le PSI na faʻaalia ai le 10 taimi faʻaitiitia ai mea sese faʻatusatusa i fuainumera vmpressure;
    • O le tulafono mo le siakiina o polokalame BPF ua sili ona lelei, lea e mafai ai ona siaki i le 20 taimi vave mo polokalame tetele. O le fa'aleleia atili na mafai ai ona fa'atupuina le tapula'a i le tele o polokalame BPF mai le 4096 i le miliona fa'atonuga;
    • Mo polokalame BPF saunia le mafai ona maua faʻamatalaga o le lalolagi, lea e mafai ai ona e faʻamalamalamaina suiga o le lalolagi ma faʻaauau i polokalame;
    • Faʻaliliuga API, lea e mafai ai ona e pulea suiga i sysctl parakalafa mai polokalame BPF;
    • Mo le fausaga MIPS32, ua faʻatinoina se JIT compiler mo le masini komepiuta eBPF;
    • Mo le 32-bit PowerPC architecture, ua faʻaopoopoina le lagolago mo le KASan (Kernel address sanitizer) faʻapipiʻi meafaigaluega, lea e fesoasoani e iloa ai mea sese pe a galue ma le manatua;
    • I luga o faiga x86-64, o le faʻatapulaʻaina o le tuʻuina atu o otaota a le setete i le taimi o se faʻalavelave fatu (crash-dump) i nofoaga manatua i luga aʻe o le 896MB ua aveese;
    • Mo le fausaga s390, lagolago mo le kernel address space randomization (KASLR) ma le mafai ona faʻamaonia saini numera pe a utaina le fatu e ala i le kexec_file_load() o loʻo faʻatinoina;
    • Mo le fausaga PA-RISC, faʻaopoopo le lagolago mo le fatu debugger (KGDB), faʻailoga oso ma kprobes;
  • Meafaigaluega
    • Na aofia ai le aveta'avale Lima mo le Mali 400/450 GPU, faʻaaogaina i le tele o tupe meataalo e faʻavae i luga o le fausaga o le ARM. Mo Mali GPU fou, ua faaopoopo le avetaavale Panfrost, lagolago tupe meataalo e faavae i luga o Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx) ma Bifrost (Mali G3x, G5x, G7x) microarchitectures;
    • Fa'aopoopo le lagolago mo masini fa'alogo e fa'aaoga ai le firmware tatala Sound Open Firmware (SOF). E ui i le avanoa o avetaʻavale tatala, o le firmware code mo leo meataalo o loʻo tumau tapunia ma sa tuʻuina atu i le binary form. O le Sound Open Firmware project na atiaʻe e Intel e fausia ai le firmware tatala mo tupe meataalo DSP e fesoʻotaʻi ma le gaosiga o leo (Google mulimuli ane na auai i le atinaʻe). I le taimi nei, ua uma ona saunia e le poloketi le mauaina o firmware mo meataalo leo o le Intel Baytrail, CherryTrail, Broadwell, ApolloLake, GeminiLake, CannonLake ma IceLake platforms;
    • Intel DRM aveta'avale (i915) fa'aopoopo le lagolago mo tupe meataalo
      Elkhartlake (Kene11). Fa'aopoopoina PCI ID mo tupe meataalo Comet Lake (Gen9). Lagolago mo tupe meataalo Icelake ua faʻamautuina, lea na faʻaopoopoina ai faʻamatalaga masini PCI faaopoopo.
      E aofia ai
      auala o le asynchronous fesuiaʻi i le va o pa puipui e lua i le manatua vitio (async flip) pe a faia galuega tusitusi e ala i mmio, lea na matua faateleina ai le faatinoga o nisi o talosaga 3D (mo se faataitaiga, faatinoga i le 3DMark Ice Storm suega faateleina e 300-400%). Fa'aopoopo lagolago fa'atekonolosi HDCP2.2 (High-bandwidth Digital Content Protection) mo le fa'ailogaina o fa'ailo vitiō fa'asalalauina ile HDMI;

    • Le aveta'avale amdgpu mo Vega20 GPU faaopoopo lagolago mo le RAS (Reliability, Availability, Serviceability) ma le faʻataʻitaʻiga lagolago mo le SMU 11 subsystem, lea na suia ai le tekonolosi Powerplay. Mo le GPU Vega12 faaopoopo lagolago mo le BACO mode (Bus Active, Chip Off). Faʻaopoopo le lagolago muamua mo XGMI, o se pasi televave (PCIe 4.0) mo fesoʻotaʻiga GPU. Faʻaopoopo faʻamatalaga misi mo kata faʻavae ile Polaris10 GPU ile avetaʻavale amdkfd;
    • Ua faaopoopo e le avetaavale Nouveau le lagolago mo laupapa e faavae ile NVIDIA Turing 117 chipset (TU117, faʻaaogaina i le GeForce GTX 1650). IN
      kconfig faaopoopo fa'atulagaina e fa'amalo ai galuega tuai e le o toe fa'aogaina i fa'asalalauga o le libdrm;

    • Lagolago mo mea faʻapipiʻi "timeline" ua faʻaopoopoina i le DRM API ma le avetaʻavale amdgpu, faʻatagaina oe e faia e aunoa ma le poloka masani.
    • O le avetaavale vboxvideo mo le VirtualBox virtual GPU ua siitia mai le lala faʻatulagaina i le fausaga autu;
    • Faʻaopoopo le avetaʻavale saoasaoa mo le GFX SoC ASPEED pu;
    • Faʻaopoopo le lagolago mo ARM SoC ma Intel Agilex (SoCFPGA), NXP i.MX8MM, Allwinner (RerVision H3-DVK (H3), Oceanic 5205 5inMFD, , Beelink GS2 (H6), Orange Pi 3 (H6)), Rockchip (Orange Pi ) laupapa RK3399, Nanopi NEO4, Veyron-Mighty Chromebook), Amlogic: SEI Robotics SEI510,
      ST Micro (stm32mp157a, stm32mp157c), NXP (
      Eckelmann ci4x10 (i.MX6DL),

      i.MX8MM EVK (i.MX8MM),

      ZII i.MX7 RPU2 (i.MX7),

      ZII SPB4 (VF610),

      Zii Ultra (i.MX8M),

      TQ TQMa7S (i.MX7Solo),

      TQ TQMa7D (i.MX7Dual),

      Kobo Aura (i.MX50),

      Menlosystems M53 (i.MX53)), NVIDIA Jetson Nano (Tegra T210).

I le taimi lava e tasi, o le Latin American Free Software Foundation faia
filifiliga fua atoa fatu 5.2 - Linux-saoloto 5.2-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. Fa'amatalaga fou e aofia ai le fa'auluina o faila
Sound Open Firmware. O le utaina o poloka i aveta'avale ua le atoatoa
mt7615, rtw88, rtw8822b, rtw8822c, btmtksdio, iqs5xx, ishtp ma ucsi_ccg. O le tulafono faʻamamāina o le paʻu i le ixp4xx, imx-sdma, amdgpu, nouveau ma goya avetaavale ma subsystems, faʻapea foʻi ma le microcode documentation, ua faʻafouina. Taofi le fa'amamāina o pa'u i le aveta'avale r8822be ona o lona aveeseina.

puna: opennet.ru

Faaopoopo i ai se faamatalaga