Mwepụta kernel Linux 5.8

Mgbe ọnwa abụọ nke mmepe gasịrị, Linus Torvalds webatara ntọhapụ kernel Linux 5.8. Otu n'ime mgbanwe ndị a ma ama: onye na-achọpụta ọnọdụ agbụrụ KCSAN, usoro zuru ụwa ọnụ maka ịnye ọkwa na ohere onye ọrụ, nkwado ngwaike maka izo ya ezo, usoro nchekwa nchekwa maka ARM64, nkwado maka onye nrụpụta Baikal-T1 nke Russia, ikike nke iche iche ugwu procfs. , Mmejuputa usoro nchekwa Shadow maka ARM64 Call Stack na BTI.

Kernel 5.8 ghọrọ nke kachasị ukwuu n'ihe gbasara ọnụọgụ mgbanwe nke mkpụrụ ndụ niile n'oge ịdị adị nke ọrụ ahụ niile. Ọzọkwa, mgbanwe ndị a na-adịghị metụtara nke ọ bụla subsystem, ma na-ekpuchi akụkụ dị iche iche nke kernel na-metụtara tumadi na esịtidem rework na ihicha. A na-ahụ mgbanwe ndị kachasị na ndị ọkwọ ụgbọala. Ụdị ọhụrụ ahụ gụnyere ndozi 17606 sitere na ndị nrụpụta 2081, nke metụtara ihe dịka 20% nke faịlụ niile dị na ebe nchekwa koodu kernel. The patch size bụ 65 MB (mgbanwe ndị ahụ metụtara faịlụ 16180, agbakwunyere ahịrị koodu 1043240, ahịrị 489854 ka ehichapụrụ). Site na ntụnyere, ngalaba 5.7 nwere ndozi 15033 yana nha patch nke 39 MB. Ihe dị ka 37% nke mgbanwe niile ewepụtara na 5.8 metụtara ndị ọkwọ ụgbọala ngwaọrụ, ihe dị ka 16% nke mgbanwe metụtara imelite koodu akọwapụtara maka nhazi ngwaike, 11% metụtara nchịkọta netwọkụ, 3% metụtara sistemụ faịlụ, yana 4% metụtara sistemu kernel nke ime.

Main ihe ọhụrụ:

  • Virtualization na Nchekwa
    • Ibunye modul kernel nwere ngalaba nwere koodu nke etinyere ibe n'ibe na-enye ohere igbu na ide ihe n'otu oge. Emebere mgbanwe a dị ka akụkụ nke nnukwu ọrụ iji kpochapụ kernel iji ibe ebe nchekwa na-enye ohere igbu na ide ihe n'otu oge.
    • Ọ ga-ekwe omume ugbu a ịmepụta ụdị procfs dị iche iche, na-enye ohere iji otutu procfs mountpoints, tinye ya na nhọrọ dị iche iche, mana na-egosipụta otu usoro nchọpụta aha aha (pid namespace). Na mbụ, ihe niile procfs mountpoints na-egosipụta naanị otu nnochite anya dị n'ime, na mgbanwe ọ bụla na mpaghara ugwu metụtakwara isi ihe ugwu ndị ọzọ metụtara otu aha ID aha usoro. N'ime mpaghara ebe ịrị elu nwere nhọrọ dị iche iche nwere ike ịdị na-achọ bụ mmejuputa ikewapụ dị fechaa maka sistemu agbakwunyere na ikike iji zoo ụfọdụ ụdị usoro na ọnụ ozi na procfs.
    • Emebela nkwado maka usoro ahụ maka ikpo okwu ARM64
      Okpokoro Oku-Oku, nke Clang na-achịkọta wetara iji chebe megide idegharị adreesị nloghachi nke ọrụ ma ọ bụrụ na ihe nchekwa nchekwa tojubigara ókè. Ihe dị mkpa nke nchebe bụ ịchekwa adreesị nloghachi na nchịkọta "onyinyo" dị iche iche mgbe ị na-ebufe njikwa na ọrụ ma weghachite adreesị a tupu ịpụ na ọrụ ahụ.

    • Agbakwunyela nkwado ntuziaka maka ikpo okwu ARM64 ARMv8.5-BTI (Ihe ngosi Ala Target) iji kpuchido mmezu nke usoro ntuziaka na-ekwesịghị ịbụ alaka. A na-emejuputa mgbanwe mgbanwe na ngalaba koodu aka ike iji gbochie imepụta ngwa n'erigbu ndị na-eji usoro mmemme na-alaghachi azụ (ROP - Mmemme Nlaghachi; onye na-awakpo ahụ anaghị anwa itinye koodu ya na ebe nchekwa, mana ọ na-arụ ọrụ na mpempe akwụkwọ dị adị. nke ntuziaka igwe nke na-ejedebe na ntụziaka nchịkwa nlọghachi, nke sitere na nke a na-ewu usoro oku iji nweta ọrụ achọrọ).
    • Nkwado ngwaike agbakwunyere maka izo ya ezo nke ngwaọrụ ngọngọ (Izo ya ezo). A na-ewukarị ngwaọrụ nzuzo inlinep n'ime draịva, mana ọ dị n'etiti ebe nchekwa sistemu na diski, na-ezobe nke ọma na decrypting I/O dabere na igodo akọwapụtara kernel yana algọridim nzuzo.
    • Agbakwunyere nhọrọ ahịrị iwu kernel "initrdmem" iji nye gị ohere ịkọwa adreesị ebe nchekwa anụ ahụ nke initrd mgbe ị na-etinye ihe oyiyi buut mbụ na RAM.
    • Ike ọhụrụ agbakwunyere: CAP_PERFMON iji nweta sistemu mkpọda perf wee rụọ ọrụ nlekota oru. CAP_BPF, nke na-enye ohere ụfọdụ ọrụ BPF (dị ka nbudata mmemme BPF) nke achọrọ ikike CAP_SYS_ADMIN na mbụ (ikike CAP_SYS_ADMIN na-ekewa ugbu a na ngwakọta nke CAP_BPF, CAP_PERFMON, na CAP_NET_ADMIN).
    • Agbakwunyere ngwaọrụ ọhụrụ virtio-mem nke na-enye gị ohere ikpo ọkụ na ebe nchekwa na-ekpo ọkụ n'ime usoro ndị ọbịa.
    • Ncheta arụ ọrụ nke eserese eserese na / dev/mem ma ọ bụrụ na ọkwọ ụgbọ ala na-eji mpaghara ebe nchekwa kpuchiri.
    • Nchekwa adịghị ike agbakwunyere CROSTalk/SRBDS, nke na-enye gị ohere iweghachi nsonaazụ nke ntụziaka ụfọdụ e gburu na isi CPU ọzọ.
  • Ebe nchekwa na ọrụ sistemụ
    • N'ime akwụkwọ na-akọwa iwu maka ịhazi koodu, nabatara ndụmọdụ maka ojiji nke okwu ọnụ. A naghị atụ aro ndị nrụpụta ka ha jiri nchikota 'nna ukwu / ohu' na 'blacklist / whitelist' yana okwu 'ohu' iche iche. Atụmatụ ndị a metụtara naanị ojiji ọhụrụ nke usoro ndị a. Ekwupụta okwu ndị akọwapụtara nke dị na isi agaghị emetụ ya aka. Na koodu ọhụrụ, a na-anabata iji usoro akara ma ọ bụrụ na achọrọ ịkwado API na ABI ekpughere na oghere onye ọrụ, yana mgbe ị na-emelite koodu ahụ iji kwado ngwaike ma ọ bụ ụkpụrụ dị adị nke nkọwa ya chọrọ iji ụfọdụ usoro.
    • Agụnyere ngwaọrụ nbizi ihe KCSAN (Kernel Concurrency Sanitizer), emebere maka nchọpụta ike ọnọdụ agbụrụ n'ime isi. A na-akwado iji KCSAN mgbe a na-ewu ụlọ na GCC na Clang, ma na-achọ mgbanwe pụrụ iche n'oge a na-achịkọta iji soro ohere ebe nchekwa (a na-eji ebe nkwụsịtụ na-akpali mgbe a na-agụ ma ọ bụ gbanwee). Ebumnuche nke mmepe KCSAN bụ na mgbochi dị mma nke ụgha, scalability, na mfe iji.
    • agbakwunyere eluigwe na ala usoro na-ebuga ọkwa sitere na kernel gaa na oghere onye ọrụ. Usoro ahụ dabere na onye ọkwọ ụgbọ ala ọkọlọtọ ma na-enye gị ohere ikesa ozi ọma sitere na kernel n'elu ọwa mepere emepe na oghere onye ọrụ. Ebe anata ọkwa ọkwa bụ ọkpọkọ emepere n'ụdị pụrụ iche ma na-ekwe ka a na-akpakọba ozi enwetara site na kernel na mgbanaka mgbanaka. A na-arụ agụ site na ọrụ ọgụgụ () na-emebu. Onye nwe ọwa na-ekpebi isi mmalite dị na kernel kwesịrị inyocha ma nwee ike kọwaa nzacha iji leghara ụdị ozi na mmemme ụfọdụ anya. N'ime mmemme ahụ, ọ bụ naanị arụmọrụ nwere igodo ka a na-akwado ugbu a, dị ka ịgbakwunye/iwepụ igodo na ịgbanwe àgwà ha. Emebere mmemme ndị a na GNOME.
    • Ịga n'ihu na mmepe nke ọrụ 'pidfd' iji nyere aka ijikwa ọnọdụ PID ọzọ ( pidfd na-ejikọta ya na otu usoro na ọ dịghị agbanwe, ebe PID nwere ike ijikọ na usoro ọzọ mgbe usoro dị ugbu a jikọtara na PID ahụ kwụsịrị). Ụdị ọhụrụ ahụ na-agbakwụnye nkwado maka iji pidfd iji tinye usoro na oghere aha (na-ekwe ka pidfd kọwaa mgbe ị na-eme oku usoro setn). Iji pidfd na-enye gị ohere ijikwa mgbakwunye nke usoro na ọtụtụ ụdị aha oghere na otu oku, na-ebelata ọnụ ọgụgụ nke oku sistemụ dị mkpa yana itinye mgbakwunye na ọnọdụ atọm (ọ bụrụ na mgbakwunye na otu n'ime oghere aha ada ada, ndị ọzọ agaghị ejikọta) .
    • Agbakwunyere oku usoro ọhụrụ facecessat2(), dị iche na
      ihu ihu () arụmụka agbakwunyere na ọkọlọtọ nke na-agbaso ndụmọdụ POSIX (na mbụ ọkọlọtọ ndị a na-eṅomi n'ọbá akwụkwọ C, na facecessat2 ọhụrụ na-enye ohere ka ha tinye ya na kernel).

    • N'ime otu agbakwunyere ebe nchekwa.swap.dị elu nke enwere ike iji belata ọrụ ndị na-ewe oke ohere mgbanwe.
    • Gaa na interface I/O asynchronous io_uring nkwado agbakwunyere maka oku sistemụ tee ()
    • Usoro agbakwunyere"BPF onye nrụpụta, emebere iji wepụta ọdịnaya nke sistemu kernel na oghere onye ọrụ.
    • Enyere ya ike iji mgbanaka mgbanaka maka mgbanwe data n'etiti mmemme BPF.
    • N'ime usoro padata, emebere iji hazie mmezu nke ọrụ na kernel, agbakwunyere nkwado maka ọrụ nwere ọtụtụ eriri nwere nguzozi ibu.
    • N'ime usoro pstore, nke na-enye gị ohere ịchekwa ozi debugging banyere ihe kpatara mbibi ahụ na ebe nchekwa na-adịghị efu n'etiti reboots, gbakwunyere backend maka ịchekwa ozi iji gbochie ngwaọrụ.
    • Site na ngalaba kernel PREEMPT_RT kpaliri mmejuputa mkpọchi mpaghara.
    • agbakwunyere API oke nchekwa ọhụrụ (AF_XDP), nke ezubere iji mee ka idetu ndị ọkwọ ụgbọ ala netwọkụ dị mfe site na nkwado XDP (eXpress Data Path).
    • Maka ihe owuwu RISC-V, nkwado maka nrụpụta kernel components site na iji KGDB emejuputala ya.
    • Tupu ahapụ 4.8, ihe achọrọ maka ụdị GCC nke enwere ike iji wuo kernel abawanyela. N'ime otu ntọhapụ na-esote, a na-eme atụmatụ ibuli mmanya ahụ gaa na GCC 4.9.
  • Sistemụ Disk, I/O na Sistemụ Faịlụ
    • Na Ngwaọrụ Mapper gbakwunyere dm-ebs ọhụrụ (emulate block size) onye njikwa, nke enwere ike iji ṅomie obere ngọngọ ezi uche dị na ya (dịka ọmụmaatụ, iji ṅomie ngalaba 512-byte na diski akụkụ 4K).
    • Sistemụ faịlụ F2FS na-akwado mkpakọ ugbu a site na iji LZO-RLE algọridim.
    • Na dm-crypt agbakwunyere nkwado maka igodo ezoro ezo.
    • Btrfs emelitela njikwa ọrụ ọgụgụ na ọnọdụ I/O ozugbo. Mgbe ịrị elu mee ngwa ngwa ịlele ngalaba ehichapụ na akwụkwọ ndekọ aha hapụrụ na-enweghị nne na nna.
    • Agbakwunyela oke “nodelete” na CIFS, na-enye ohere ịlele ikike nkịtị na sava ahụ, mana machibido onye ahịa ka ihichapụ faịlụ ma ọ bụ akwụkwọ ndekọ aha.
    • Ext4 emeziwanyela njikwa njehie ENOSPC mgbe ị na-eji multithreading. xattr agbakwunyela nkwado maka gnu.* aha oghere ejiri na GNU Hurd.
    • Maka Ext4 na XFS, enyere nkwado maka arụmọrụ DAX (nweta ozugbo na sistemụ faịlụ, na-agafe cache ibe na-ejighi ọkwa ngwaọrụ ngọngọ) n'ihe metụtara faịlụ na akwụkwọ ndekọ aha ọ bụla.
    • Na oku sistemụ statx() ọkọlọtọ agbakwunyere STATX_ATTR_DAX, nke mgbe akọwapụtara ya, na-eweghachi ozi site na iji injin DAX.
    • EXFAT agbakwunyere nkwado maka nkwenye mpaghara buut.
    • Na abụba emeziwanye proactive loading nke FS ọcha. Nnwale draịvụ USB 2TB dị nwayọ gosipụtara mbelata na oge mmecha ule site na 383 ruo 51 sekọnd.
  • Sistemụ netwọkụ
    • Na koodu maka ịchịkwa ọrụ nke àkwà mmiri netwọk agbakwunyere nkwado protocol MRP (Media Redundancy Protocol), nke na-enye ohere maka mmejọ ntachi obi site na ịmegharị ọtụtụ ihe ọkụ Ethernet.
    • Maka sistemụ njikwa okporo ụzọ (Tc) agbakwunyere ọhụrụ "ọnụ ụzọ" omume, nke na-eme ka o kwe omume ịkọwa oge oge maka nhazi na ịtụfu ụfọdụ ngwugwu.
    • Nkwado maka ịnwale eriri netwọk ejikọrọ na nyocha onwe onye nke ngwaọrụ netwọk agbakwunyere na kernel na ethtool bara uru.
    • Nkwado maka MPLS (Multiprotocol Label Switching) algọridim agbakwunyere na nchịkọta IPv6 maka ngwugwu ntụgharị site na iji mgbanwe akara multiprotocol (MPLS bụbu akwadoro maka IPv4).
    • Nkwado agbakwunyere maka ịnyefe IKE (Internet Key Exchange) na ngwugwu IPSec n'elu TCP (RFC 8229) iji gafere mgbochi UDP enwere ike.
    • Agbakwunyere ngwaọrụ ngọngọ netwọk rnbd, nke na-enye gị ohere ịhazi ohere dịpụrụ adịpụ na ngwaọrụ ngọngọ site na iji njem RDMA (InfiniBand, RoCE, iWARP) na ụkpụrụ RTRS.
    • Na ngwugwu TCP agbakwunyere nkwado maka mkpakọ oke na nzaghachi nnabata nhọrọ (SACK).
    • Maka IPv6 emejuputa atumatu Nkwado TCP-LD (RFC 6069, Ogologo Njikọ Ọdịnaya).
  • Ngwa
    • Onye ọkwọ ụgbọ ala i915 DRM maka kaadị vidiyo Intel gụnyere nkwado maka ibe Intel Tiger Lake (GEN12) na ndabara, nke emejuputa atumatu ike iji usoro SAGV (System Agent Geyserville) na-emegharị ugboro ugboro na voltaji dabere na ike oriri ma ọ bụ arụmọrụ chọrọ.
    • Onye ọkwọ ụgbọ ala amdgpu agbakwunyela nkwado maka usoro FP16 pikselụ yana ikike iji ihe nchekwa ezoro ezo rụọ ọrụ na ebe nchekwa vidiyo (TMZ, Mpaghara ebe nchekwa ntụkwasị obi).
    • Nkwado agbakwunyere maka ihe mmetụta ike maka ndị nrụpụta AMD Zen na Zen2, yana ihe mmetụta okpomọkụ maka AMD Ryzen 4000 Renoir. A na-enye nkwado maka iweghachite ozi oriri ike site na interface maka AMD Zen na Zen2 RAPL (Na-agba ọsọ Nkezi Ike Oke).
    • Nkwado agbakwunyere maka usoro mgbanwe NVIDIA na onye ọkwọ ụgbọ ala Nouveau. Maka gv100, emejuputala ikike iji ụdị nyocha agbakwunyere. Nchọpụta vGPU agbakwunyere.
    • Nkwado agbakwunyere maka Adreno A405, A640 na A650 GPU na onye ọkwọ ụgbọ ala MSM (Qualcomm).
    • agbakwunyere usoro ime maka ijikwa akụrụngwa DRM (Direct Rendering Manager).
    • Nkwado agbakwunyere maka Xiaomi Redmi Note 7 na Samsung Galaxy S2 smartphones, yana Elm/Hana Chromebook laptops.
    • Ndị ọkwọ ụgbọala agbakwunyere maka akụkụ LCD: ASUS TM5P5 NT35596, Starry KR070PE2T, Leadtek LTK050H3146W, Visionox rm69299, Boe tv105wum-nw0.
    • Nkwado agbakwunyere maka bọọdụ ARM na nyiwe Renesas "RZ/G1H", Realtek RTD1195, Realtek RTD1395/RTD1619, Rockchips RK3326, AMLogic S905D, S905X3, S922XH, Olimex A20-OLinuXino-LIME-50e-eMcXNUMX
      , Beacon i.MX8m-Obere, Qualcomm SDM660/SDM630, Xnano X5 TV Igbe, Stinger96, Beaglebone-AI.

    • Nkwado agbakwunyere maka MIPS processor Loongson-2K (nke akpọrọ Loongson64). Maka CPU Loongson 3, agbakwunyela nkwado maka ime ihe n'iji hypervisor KVM.
    • agbakwunyere
      nkwado maka Russian Baikal-T1 processor na sistemụ-na mgbawa dabere na ya BE-T1000. The Baikal-T1 processor nwere abụọ P5600 MIPS 32 r5 superscalar cores na-arụ ọrụ na 1.2 GHz. Ihe mgbawa ahụ nwere cache L2 (1 MB), DDR3-1600 ECC njikwa ebe nchekwa, ọdụ ụgbọ mmiri 1 10Gb Ethernet, ọdụ ụgbọ mmiri 2 1Gb Ethernet, PCIe Gen.3 x4 njikwa, ọdụ ụgbọ mmiri 2 SATA 3.0, USB 2.0, GPIO, UART, SPI, I2C. Ihe nhazi ahụ na-enye nkwado ngwaike maka ịmegharị anya, ntuziaka SIMD yana ngwa ngwa ngwa ngwa cryptographic nke na-akwado GOST 28147-89. Emepụtara mgbawa ahụ site na iji MIPS32 P5600 Warrior processor core unit nyere ikike site na teknụzụ Imagination.

N'otu oge ahụ, Latin American Free Software Foundation kpụrụ
nhọrọ kernel n'efu kpamkpam 5.8 - Linux-liber 5.8-gnu, kpochapụrụ nke ngwa ngwa na ihe ọkwọ ụgbọ ala nwere ihe ndị na-abụghị nke efu ma ọ bụ ngalaba koodu, nke ndị nrụpụta na-ejedebere oke ya. Ntọhapụ ọhụrụ ahụ na-egbochi ịbuba blob na ndị ọkwọ ụgbọala maka Atom ISP Video, MediaTek 7663 USB/7915 PCIe, Realtek 8723DE WiFi, Renesas PCI xHCI, HabanaLabs Gaudi, Enhanced Asynchronous Sample Rate Converter, Maxim Integrated MAX98390 Aimplifier MAX38060 Audio Connected, Microse na I2C EEPROM Ohu. Koodu nhicha blob emelitere na Adreno GPU, HabanaLabs Goya, x86 touchscreen, vt6656 na btbcm ọkwọ ụgbọ ala na sistemu subsystem.

isi: opennet.ru

Tinye a comment