Linux 5.3 faʻamalolo kernel

Ina ua maeʻa le lua masina o le atinaʻe, Linus Torvalds faʻalauiloa fa'amalologa fatu Linux 5.3. Faatasi ai ma suiga sili ona iloga: lagolago mo AMD Navi GPUs, Zhaoxi processors ma Intel Speed ​​​​Select power management technology, le mafai ona faʻaoga umwait faatonuga e faʻatali e aunoa ma le faʻaaogaina o taamilosaga,
'utilization clamping' mode e fa'atuputeleina ai feso'ota'iga mo PPU asymmetric, le pidfd_open system call, le mafai ona fa'aoga tuatusi IPv4 mai le 0.0.0.0/8 subnet, le avanoa o le fa'avaveina o meafaigaluega nftables, lagolago HDR i le DRM subsystem, tu'ufa'atasiga o le ACRN. hypervisor.

В fa'aaliga fa'afou fou, na fa'amanatu e Linus i le au atina'e uma le tulafono autu o le atina'eina o fatu - fa'atumauina le amio tutusa mo vaega fa'aoga-avanoa. Suiga i le fatu e le tatau i so'o se auala e motusia ai talosaga ua uma ona fa'aogaina pe ta'ita'i atu i fa'aletonu ile tulaga o tagata fa'aoga. I lenei tulaga, o le soliga o amioga e mafai ona mafua ai e le gata o se suiga i le ABI, le aveesea o le tulafono tuai, poʻo le faʻaalia o mea sese, ae faʻapea foʻi ma le le tuusaʻo aʻafiaga o faʻaleleia aoga e galue saʻo. O se faʻataʻitaʻiga faʻataʻitaʻiga sa i ai lafoai aoga faʻaleleia lelei i le Ext4 code, lea e faʻaitiitia ai le numera o le avetaʻavale e ala i le faʻagataina o le muai faitau o le laulau inode mo talosaga laiti I/O.

O le faʻataʻitaʻiga na mafua ai le mea moni, ona o le faʻaitiitia o le gaioiga o le tisiki, na amata ona faʻaputu malie le entropy mo le generator numera () ma i nisi o faʻasalalauga, i lalo o nisi tulaga, e mafai ona matauina le faʻamalo i le taimi o le utaina seia oʻo i le vaitaele entropy. faatumuina. Talu ai e aoga tele le suʻesuʻega, na tulaʻi mai ai se talanoaga i le au atinaʻe lea na faʻatulagaina e foia ai le faʻafitauli e ala i le faʻaogaina o le faʻaogaina o le poloka poloka o le getrandom() valaau ma faʻaopopo se fuʻa e faʻatali mo le entropy, ae o sea suiga o le a aʻafia ai le lelei ole numera fa'afuase'i ile la'asaga muamua ole utaina.

O le lomiga fou e aofia ai 15794 faʻaleleia mai le 1974 atinaʻe,
tele patch - 92 MB (suiga na aafia ai 13986 faila, 258419 laina o code na faʻaopoopoina,
599137 laina aveese). E tusa ma le 39% o mea uma na faʻaalia ile 5.3
suiga e fesoʻotaʻi ma avetaʻavale masini, e tusa ma le 12% o suiga ua iai
uiga aga'i i le fa'afouina o tulafono fa'apitoa i fausaga fa'apitoa, 11%
e fesoʻotaʻi ma le faaputuga fesoʻotaʻiga, 3% i faila faila ma 3% i totonu
kernel subsystems.

tele mea fou:

  • Auaunaga manatua ma faiga
    • Faʻaauau le atinaʻeina o galuega 'pidfd' e fesoasoani i le faʻaogaina o le PID toe faʻaogaina tulaga (pidfd e fesoʻotaʻi ma se faiga faʻapitoa ma e le suia, ae o le PID e mafai ona fesoʻotaʻi ma se isi faʻagasologa pe a maeʻa le faagasologa o loʻo i ai nei e faʻamuta le PID). Sa faaopoopo muamua i le fatu
      le pidfd_send_signal() system call ma le CLONE_PIDFD fu'a i le clone() valaau e maua ai se pidfd mo le fa'aoga ile idfd_send_signal(). O le fa'aogaina o le clone() fa'atasi ai ma le fu'a CLONE_PIDFD e ono tupu ai fa'afitauli i pule o auaunaga po'o le fa'amutaina o le malosi o le Android platform. I lenei tulaga, o le valaau i le tui() po'o le clone() e aunoa ma le CLONE_PIDFD e fa'aaoga e amata ai.

      O le Kernel 5.3 na faʻalauiloaina le telefoni faʻapitoa pidfd_open(), lea e mafai ai ona e mauaina se pidfd siaki mo se faiga faʻapitoa e leʻi faia e ala i le valaʻau clone() ma le CLONE_PIDFD fuʻa. Faʻaopoopo foʻi le lagolago mo le palota pidfd e faʻaaoga ai le palota () ma le epoll (), lea e mafai ai e pule faʻagasologa ona siaki le faʻamutaina o faiga faʻapitoa e aunoa ma le fefe i se tuʻuga tuuga pe a tofia se PID i se faiga fou. O le faiga mo le logoina pe a fa'amutaina se fa'agasologa e feso'ota'i ma le pidfd e tutusa ma le logoina pe a fa'amutaina lana faiga fa'atamaiti;

    • O le lagolago mo le faʻapipiʻiina o uta ua faʻaopoopoina i le faʻatulagaina o galuega (Fa'aoga pipii), fa'atagaina oe e tausisi i le la'ititi po'o le maualuga o laina ole taimi, fa'atatau i galuega o lo'o galue ile PPU. O le masini faʻaalia e faʻavavevave ai galuega e aʻafia ai le tulaga lelei o le tagata faʻaoga e ala i le faʻatinoina o nei galuega ia le itiiti ifo i le pito i lalo ole "talosagaina". O galuega e maualalo le fa'amuamua e le afaina ai le galuega a le tagata fa'aoga o lo'o fa'alauiloaina e fa'aaoga ai le tapula'a pito i luga o le taimi "fa'atagaina". E fa'atulagaina tapula'a e ala ile sched_uclamp_util_min ma sched_uclamp_util_max uiga ile sched_setattr() system call.
    • Fa'aopoopoina le lagolago mo tekonolosi fa'afoega o le malosi Intel Speed ​​Select, avanoa i luga o servers filifilia ma Intel Xeon processors. O lenei tekinolosi e mafai ai ona e setiina le faʻatinoga ma le vaeluaga o faʻasologa o faʻasologa mo 'eseʻese CPU cores, lea e mafai ai e oe ona faʻamuamua le faʻatinoga mo galuega faʻatino i luga o nisi 'au, ositaulagaina faʻatinoga i luga o isi 'au;
    • Fa'agasologa i avanoa fa'aoga saunia le mafai ona faʻatali mo sina taimi puupuu e aunoa ma le faʻaogaina o matasele e faʻaaoga ai le umwait faatonuga. O lenei faʻatonuga, faʻatasi ai ma le umonitor ma le tpause faʻatonuga, o le a ofoina atu i le Intel o loʻo oʻo mai "Tremont" chips, ma o le a faʻatagaina mo le faʻatinoina o le faʻatuai e lelei le malosi ma e le afaina ai le faʻatinoga o isi filo pe a faʻaaogaina le Hyper Threading;
    • Mo le fausaga RISC-V, lagolago mo itulau manatua tetele ua faaopoopo;
    • O le kprobes tracing mechanism ua fa'aopoopoina le tomai e fa'amanino ai fa'ailoga fatu i le avanoa e fa'aoga ai, lea e mafai ona fa'aoga, mo se fa'ata'ita'iga, e iloilo ai mea o lo'o tu'uina atu i le telefoni feavea'i. O le mafai ona faʻapipiʻi siaki ile tulaga faʻa-faʻaulu ua faʻaopoopoina foi.
    • Fa'aopoopoina le filifiliga PREEMPT_RT i le faila fa'atulagaina mo le fa'agaioia taimi moni. O le code lava ia e lagolago ai le taimi moni e leʻi faʻaopoopoina i le fatu, ae o foliga vaaia o le filifiliga o se faʻailoga lelei lea o le faʻalavelave umi. tu'ufa'atasiga Fa'ato'a mae'a patches-Preempt;
    • Fa'aopoopo le clone3() system call fa'atasi ai ma le fa'atinoina o se fa'alautelega fa'alautele o le fa'aoga clone(), lea e mafai ai ona fa'ama'oti se numera tele o fu'a;
    • Fa'aopoopo le bpf_send_signal() handler, fa'ataga polokalame a le BPF e lafo fa'ailoga i faiga fa'aletonu;
    • Mo mea faʻapitoa i le KVM hypervisor environment, ua faʻaopoopoina se mea fou e faʻapipiʻi ai masini, e mafai ai e le pule ona fuafua ituaiga o mea e faʻatagaina pe le faʻatagaina mo le mataʻituina i le itu o le malo;
    • Le mafai ona fa'agasolo polokalame fa'atasi ai ma matasele ua fa'aopoopoina i le eBPF fa'amaoniga o talosaga pe a fai e fa'atapula'aina le fa'atinoina o le matasele ma e le mafai ona o'o atu i le sili atu i le tapula'a i le numera maualuga o fa'atonuga;
  • Disk subsystem, I/O ma faila faiga
    • O lo'o lagolagoina nei e le faila faila a le XFS le fa'aogaina o le inode e tele filo (mo se fa'ata'ita'iga, pe a siaki quota). O ioctls fou BULKSTAT ma INUMBERS ua faʻaopoopoina, tuʻuina atu avanoa i foliga na faʻaalia i le lima o lomiga o le FS format, e pei o le taimi fanau inode ma le mafai ona setiina le BULKSTAT ma INUMBERS parakalafa mo vaega taʻitasi AG (Vaega Allocation);
    • I le Ext4 lagolago faaopoopo gaogao i totonu o fa'amaumauga (poloka e le feso'ota'i).
      Tuuina atu le faagasologa fu'a "i" (e le mafai ona suia) mo faila tatala (fa'asa le tusitusi i se tulaga pe afai na seti le fu'a i le taimi na tatala ai le faila);

    • Btrfs o loʻo tuʻuina mai se faʻamatalaga o le faʻatinoina vave o le crc32c i luga o fausaga uma;
    • I totonu o le CIFS, ua aveese le code mo le lagolago smbdirect e avea ma atinaʻe faʻataʻitaʻi. SMB3 faʻaopoopo le tomai e faʻaoga ai faʻataʻitaʻiga algorithms i le GCM mode. Fa'aopoopoina se fa'aputuga fou e fa'apipi'i fa'amaufa'ailoga mai fa'amaumauga a le ACE (Access Control Entry). Fa'amalieina le fa'atinoga o le vala'au tatala();
    • Faʻaopoopo se filifiliga i le F2FS e faʻatapulaʻa ai le aoina o lapisi pe a tamoʻe i le siaki = faʻagata mode. Fa'aopoopo ioctl e aveese poloka poloka mai le F2FS, fa'ataga mo fetuutuuna'iga vaeluaga i luga ole lele. Faʻaopoopo le mafai e tuʻu se faila swap i F2FS e tuʻuina saʻo le I/O. Faʻaopoopoina le lagolago mo le faʻapipiʻiina o se faila ma le tuʻufaʻatasia o poloka mo faila tutusa mo tagata faʻaoga uma;
    • Fa'aopoopoina le lagolago mo fa'agaioiga asynchronous sendmsg() ma recvmsg() i le atina'e mo le fa'aogaina/output asynchronous io_uring;
    • Lagolago mo le faʻamalosi e faʻaaoga ai le zstd algorithm ma le mafai ona faʻamaonia ata FS sainia ua faʻaopoopoina i le faila faila UBIFS;
    • O loʻo lagolagoina nei e Ceph FS faʻailoga saogalemu SELinux mo faila;
    • Mo NFSv4, ua faʻatinoina se filifiliga fou "nconnect =", lea e fuafua ai le numera o fesoʻotaʻiga faʻavaeina ma le server. Fefa'ataua'iga i le va o nei feso'ota'iga o le a tufatufa atu e fa'aaoga ai le paleni o uta. E le gata i lea, o le NFSv4 server ua fausia nei se lisi / proc / fs / nfsd / clients ma faʻamatalaga e uiga i tagata o loʻo iai nei, e aofia ai faʻamatalaga e uiga i faila na latou tatalaina;
  • Virtualization ma le Puipuiga
    • O le fatu e aofia ai se hypervisor mo masini faʻapipiʻi ACRN, lea e tusia ma le mata i le sauniuni mo galuega faʻapitoa ma talafeagai mo le faʻaogaina i faiga faʻa-misiona. O le ACRN e maua ai le la'ititi la'ititi, fa'amautinoa le maualalo o le leo ma le tali lelei pe a fegalegaleai ma meafaigaluega. Lagolagoina virtualization o punaoa CPU, I / O, subsystem network, ata ma leo faagaoioiga. E mafai ona fa'aogaina le ACRN e fa'atautaia ai le tele o masini va'aia fa'apitoa i iunite fa'aeletoroni, dashboards, fa'amatalaga fa'amatalaga ta'avale, masini IoT fa'atau ma isi tekonolosi fa'apipi'i;
    • I le User-mode Linux faʻaopoopo Time travel mode, lea e mafai ai e oe ona faʻagesegese pe faʻavave le taimi i totonu o se siosiomaga UML virtual e faʻafaigofie ai le faʻaogaina o le code taimi. E le gata i lea, ua faʻaopoopoina se parakalafa
      taimi-malaga-amata, lea e mafai ai ona amata le uati faiga mai se taimi faʻapitoa i le faatulagaga o le taimi;

    • O filifiliga fou o le kernel command line "init_on_alloc" ma le "init_on_free" ua faʻaopoopoina, pe a faʻamaonia, e mafai ona faʻaogaina le zeroing o vaega faʻavasega ma faʻasaʻoloto (faʻatumu i zeros mo malloc ma saoloto), lea e mafai ai ona faʻateleina le saogalemu ona o le faʻaopoopoina o le amataga;
    • Fa'aopoopo le aveta'avale fou virtio-iommu faʻatasi ai ma le faʻatinoina o se masini faʻapitoa e mafai ai ona e lafoina talosaga IOMMU e pei ole ATTACH, DETACH, MAP ma UNMAP i luga o le virtio felauaiga e aunoa ma le faʻataʻitaʻiina o laulau itulau manatua;
    • Fa'aopoopo le aveta'avale fou virtio-pmem, e fai ma sui o le avanoa i masini teu oloa faʻafanua i le tuatusi faʻapitoa, e pei o NVDIMMs;
    • Faʻatinoina le mafai ona faʻapipiʻi ki cryptographic i se tagata faʻaoga poʻo se upega tafaʻilagi (o ki e le mafai ona maua i fafo atu o le igoa filifilia), faʻapea foʻi ma le puipuia o ki e faʻaaoga ai ACL;
    • I le crypto subsystem faaopoopo lagolago mo se algorithm hashing e le-cryptographic vave tele xxhash, o le saoasaoa e faalagolago i le faatinoga o le manatua;
  • Su'ega feso'ota'iga
    • Fa'aagaaga fa'agaioiga o tuatusi IPv4 i le va'aiga 0.0.0.0/8, lea sa le'i avanoa muamua mo le fa'aoga. Folasaga o lenei subnet o le a faatagaina tufatufa isi 16 miliona IPv4 tuatusi;
    • I le Netfilter mo nftables faaopoopo lagolago mo masini fa'avavevave faiga mo le fa'amama pepa e ala i le fa'aogaina o aveta'avale fa'aopoopo Poloka tafe API. O laulau uma o tulafono ma filifili uma e mafai ona tuʻu i le itu o fesoʻotaʻiga fesoʻotaʻiga. O le fa'aagaaga e faia e ala i le nonoa o le fu'a NFT_TABLE_F_HW i le laulau. Lagolagoina faigofie Layer 3 ma Layer 4 protocol metadata, talia / teena gaioiga, faʻafanua e le IP ma le auina atu / talia laina fesoʻotaʻiga ma ituaiga faʻasalalauga;
    • Faaopoopo feso'ota'iga feso'ota'iga lagolago lagolago mo alalaupapa feso'ota'iga, lea e le mana'omia ai le fa'aogaina o le br_netfilter emulating layer;
    • I le nf_tables faaopoopo lagolago mo le SYNPROXY module, lea e toe faʻatusalia galuega tutusa mai iptables, ma le mafai ona siaki tulafono mo filifiliga taʻitasi i le ulutala IPv4 o loʻo faʻatinoina foi;
    • Faʻaopoopo le mafai e faʻapipiʻi polokalame BPF i le setsockopt() ma getsockopt() telefoni feaveaʻi, lea, mo se faʻataʻitaʻiga, faʻatagaina oe e faʻapipiʻi au lava faʻaoga avanoa i nei telefoni. E le gata i lea, ua faʻaopoopoina se faʻailoga fou (matau), lea e mafai ai ona e faʻatulagaina se valaau i le polokalame BPF tasi mo taimi taʻitasi RTT (taimi-malaga-taimi, taimi ping);
    • Mo IPv4 ma IPv6 faʻaopoopo fou nexthop auala e teu ai fa'amaumauga e fa'atatau i le fa'ateleina o le fa'alauteleina o laulau fa'ata'ita'i. O suʻega na faʻaalia ai pe a faʻaaogaina le faiga fou, o se seti o 743 afe auala na utaina i totonu o le fatu i le na o le 4.3 sekone;
    • Mo le Bluetooth faatinoina galuega e mana'omia e lagolago ai le ping LE;
  • Meafaigaluega
    • Faaopoopo lagolago mo x86-compatible processors a le kamupani Zhaoxin, atiina ae o se taunuuga o se galuega soofaatasi i le va o VIA Technologies ma le Shanghai Municipality. O le ZX CPU aiga o loʻo fausia i luga o le x86-64 Isaia fausaga, faʻaauauina le atinaʻeina o tekinolosi VIA Centaur;
    • O le DRM (Direct Rendering Manager) subsystem, faʻapea foʻi ma le amdgpu ma le i915 faʻataʻitaʻiga faʻataʻitaʻiga, ua faʻaopoopoina le lagolago mo le faʻavasegaina, gaioiga ma le auina atu o le HDR (maualuga maualuga) metadata e ala i le HDMI port, faʻatagaina le faʻaogaina o panels HDR ma mata e mafai ona faʻaogaina. fa'aali atu fa'aopoopo laina malamalama;
    • O le aveta'avale amdgpu ua fa'aopoopoina le lagolago muamua mo le AMD NAVI GPU (RX5700), lea e aofia ai le aveta'avale faavae, fa'ailoga feso'ota'iga mata (DCN2), GFX ma le lagolago fa'atatau (GFX10),
      SDMA 5 (System DMA0), pulega eletise ma multimedia encoders/decoders (VCN2). faʻaleleia foʻi e le amdgpu le lagolago mo kata e faʻavae i luga o Vega12 ma Vega20 GPUs, lea na faʻaopoopoina ai le mafaufau ma le malosi o le pule;

    • Fa'aopoopo le lagolago mo kata fa'avae i VegaM GPU i le aveta'avale amdkfd (mo GPU tu'ufa'atasi, e pei o Fiti, Toga, Polaris);
    • I le avetaavale DRM mo kata vitio Intel mo meataalo Icelake faatino faiga fa'asa'o gamma tele-vaega fou. Fa'aopoopo le malosi e fa'atino ai e ala i le DisplayPort ile YCbCr4:2:0 fa'asologa. Fa'aopoopoina le firmware fou GuC mo SKL, BXT, KBL, GLK ma ICL. Ua fa'atinoina le malosi e tape ai le malosi o le mata i le asynchronous mode. Faaopoopo lagolago mo le faʻasaoina ma le toe faʻafoʻiina o le faʻasalalauga mo Ironlake (gen5) ma gen4 (Broadwater - Cantiga) meataalo, lea e mafai ai ona e toe faʻafoʻisia le tulaga o le GPU mai le avanoa faʻaoga pe a siitia mai le tasi faʻagaioiga i le isi;
    • O le avetaavale Nouveau e maua ai le suʻesuʻeina o le NVIDIA Turing TU116 chipset;
    • O le gafatia o le DRM / KMS avetaʻavale mo ARM Komeda screen accelerators (Mali D71) ua faʻalauteleina, lagolago mo le faʻavasegaina, vaelua / tuʻufaʻatasia laulau, fesuiaʻi, tusi tolopoina, AFBC, SMMU ma faʻailoga lanu lanu Y0L2, P010, YUV420_8 / 10BIT ua ua faaopoopo;
    • O le avetaʻavale MSM e faʻaopoopoina le lagolago mo le A540 GPU Adreno faʻaogaina i Qualcomm processors, faʻapea foʻi ma le lagolago mo le MSM8998 DSI controller mo Snapdragon 835;
    • Faʻaopoopo avetaʻavale mo LCD panels Samsung S6E63M0, Armadeus ST0700, EDT ETM0430G0DH6, OSD101T2045-53TS,
      Evervision VGG804821, FriendlyELEC HD702E, KOE tx14d24vm1bpa, TFC S9700RTWV43TR-01B, EDT ET035012DM6 ma VXT VL050-8048NT-C01;

    • Faʻaliliuga aveta'avale mo le fa'aogaina o meafaigaluega fa'avavevave
      o loo maua vitio i le Amlogic Meson SoC;

    • I le avetaavale v3d (mo le Broadcom Video Core V GPU faʻaaogaina i le Raspberry Pi) na faʻaalia lagolago auina atu o paolo tau komepiuta;
    • Faʻaliliuga aveta'avale mo SPI keyboards ma trackpads o lo'o fa'aogaina i fa'ata'ita'iga fa'aonaponei o Apple MacBook ma MacBookPro komepiuta feavea'i;
    • Faaopoopo puipuiga faaopoopo mo valaau ioctl e fesootai ma le avetaavale floppy, ma o le avetaavale lava ia ua faailogaina e le tausia
      (“matuaoti”), o lona uiga o le faamutaina o ana suesuega. O loʻo teuina pea le avetaʻavale i totonu o le fatu, ae o lona faʻaogaina saʻo e le faʻamaonia. O le avetaavale ua manatu ua tuai, talu ai e faigata ona maua meafaigaluega faigaluega mo le suʻeina - o taʻavale uma o loʻo i ai nei, e pei o se tulafono, faʻaaoga le USB interface.

    • Faʻaliliuga cpufreq avetaʻavale mo laupapa Raspberry Pi, lea e mafai ai ona e faʻatonutonuina suiga i le faʻaogaina o taimi;
    • Faʻaopoopo le lagolago mo ARM SoC Mediatek mt8183 fou (4x Cortex-A73 + 4x Cortex-A53), TI J721E (2x Cortex-A72 + 3x Cortex-R5F + 3 DSPs + MMA) ma Amlogic G12B (4x Cortex-A73 + 2x Cortex- A53), faʻapea foʻi laupapa:
      • Purism Librem5,
      • BMC vave,
      • Microsoft Olympus BMC,
      • Kontron SMARC,
      • Novtech Meerkat96 (i.MX7),
      • ST Micro Avenger96,
      • Google Cheza (Qualcomm SDM845),
      • Qualcomm Dragonboard 845c (Qualcomm SDM845),
      • Hugsun X99 TV Pusa (Rockchip RK3399),
      • Khadas Edge/Edge-V/Kapeteni (Rockchip RK3399),
      • Talofa RZ/G2M,
      • NXP LS1021A-TSN.

I le taimi lava e tasi, o le Latin American Free Software Foundation faia
filifiliga fua atoa fatu 5.3 - Linux-saoloto 5.3-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, o loʻo faʻaletonu le utaina o paʻu i le qcom, hdcp drm, allegro-dvt ma meson-vdec avetaavale.
Fa'afou le fa'amamāina o le code i aveta'avale ma subsystems amdgpu, i915, netx, r8169, brcmfmac, rtl8188eu, adreno, si2157, pvrusb2, touchscreen_dmi, aveta'avale leo mo skylake, fa'apea fo'i ma fa'amaumauga microcode.

puna: opennet.ru

Faaopoopo i ai se faamatalaga