Mwepụta kernel Linux 5.14

Mgbe ọnwa abụọ nke mmepe gasịrị, Linus Torvalds wepụtara ntọhapụ nke Linux kernel 5.14. N'ime mgbanwe ndị a ma ama: ọhụrụ quotactl_fd () na memfd_secret () oku sistemụ, mwepụ nke ide na ndị ọkwọ ụgbọ ala, onye njikwa mkpa ọhụrụ I/O maka cgroup, usoro nhazi ọrụ SCHED_CORE, akụrụngwa maka imepụta ndị na-ebu mmemme BPF ekwenyesiri ike.

Ụdị ọhụrụ ahụ gụnyere ndozi 15883 sitere na ndị mmepe 2002, nha patch bụ 69 MB (mgbanwe ndị ahụ metụtara faịlụ 12580, agbakwunyere ahịrị koodu 861501, ehichapụ 321654 ahịrị). Ihe dị ka 47% nke mgbanwe niile ewepụtara na 5.14 metụtara ndị ọkwọ ụgbọala ngwaọrụ, ihe dịka 14% nke mgbanwe metụtara imelite koodu akọwapụtara maka nhazi ngwaike, 13% metụtara nchịkọta netwọk, 3% metụtara sistemụ faịlụ, yana 3% metụtara sistemu kernel nke ime.

Isi ihe ọhụrụ:

  • Sistemụ Disk, I/O na Sistemụ Faịlụ
    • E mejuputala onye na-ahụ maka ibu ụzọ I/O ọhụrụ maka otu, rq-qos, nke nwere ike ijikwa mkpa nhazi nke arịrịọ iji gbochie ngwaọrụ ndị otu otu ọ bụla mepụtara. Agbakwunyela nkwado njikwa mkpa ọhụrụ na nhazi oge I/O mq.
    • Usoro faịlụ ext4 na-emejuputa iwu ioctl ọhụrụ, EXT4_IOC_CHECKPOINT, nke na-amanye azụmahịa niile na-echere site na akwụkwọ akụkọ na ihe nchekwa ha jikọtara ya na diski, ma degharịakwa ebe akwụkwọ akụkọ na-eji na nchekwa. Emebere mgbanwe a dịka akụkụ nke atụmatụ iji gbochie ntapu ozi sitere na sistemụ faịlụ.
    • Emeela nkwalite arụmọrụ na Btrfs: site n'iwepụ ndekọ ndekọ na-enweghị isi n'oge a na-eme fsync, arụmọrụ nke arụmọrụ kpụ ọkụ n'ọnụ nwere njiri agbatị abawanyela ruo 17%. Na mgbakwunye, mgbe ị na-arụ ọrụ mkpụbelata nke na-adịghị emetụta oke, mmekọrịta zuru oke na-enwe nkwarụ, nke belatara oge ọrụ site na 12%. Agbakwunyela ntọala na sysfs iji kpachie bandwit I/O mgbe ị na-elele FS. Oku ioctl agbakwunyere iji kagbuo nha na ihichapụ arụmọrụ ngwaọrụ.
    • Na XFS, emezigharịrị mmejuputa cache nchekwa, nke agbanwere ka ekenye ibe ebe nchekwa na ọnọdụ batch. Ịrụ ọrụ cache emelitere.
    • F2FS na-agbakwunye nhọrọ iji rụọ ọrụ na ọnọdụ ọgụgụ naanị ma mejuputa ọnọdụ cache mgbochi abịakọrọ (compress_cache) iji kwalite arụmọrụ ọgụgụ enweghị usoro. Emejuputala nkwado maka ịpịkọta faịlụ ndị etinyere na ebe nchekwa site na iji ọrụ mmap(). Iji gbanyụọ mkpakọ faịlụ nke dabere na nkpuchi, atụpụtala nhọrọ nocompress ọhụrụ.
    • Emeela ọrụ na onye ọkwọ ụgbọ ala exFAT iji melite ndakọrịta na ụfọdụ nchekwa igwefoto dijitalụ.
    • Agbakwunyere oku sistemu quotactl_fd (), nke na-enye gị ohere ijikwa oke ọ bụghị site na faịlụ ngwaọrụ pụrụ iche, kama site na ịkọwapụta nkọwa faịlụ metụtara sistemụ faịlụ nke etinyere oke.
    • Ewepụla ndị ọkwọ ụgbọ ala ochie maka ngọngọ ngwaọrụ nwere interface IDE na kernel; ọ dịla anya ejirila sistemụ libata dochie ha.
    • Ewepụla ọkwọ ụgbọ ala "raw" na kernel, na-enye ohere enweghị ohere igbochi ngwaọrụ site na interface / dev/raw. A na-arụ ọrụ a ogologo oge na ngwa na-eji ọkọlọtọ O_DIRECT.
  • Ebe nchekwa na ọrụ sistemụ
    • Onye nhazi ọrụ na-emejuputa usoro nhazi ọhụrụ, SCHED_CORE, nke na-enye gị ohere ijikwa usoro ndị a ga-eme ọnụ n'otu isi CPU. Enwere ike ịnye usoro ọ bụla ihe nchọpụta kuki nke na-akọwa oke ntụkwasị obi n'etiti usoro (dịka ọmụmaatụ, nke otu onye ọrụ ma ọ bụ akpa). Mgbe ị na-ahazi ogbugbu koodu, onye nhazi ahụ nwere ike hụ na a na-ekerịta otu isi CPU naanị n'etiti usoro metụtara otu onye nwe ya, nke enwere ike iji gbochie ụfọdụ ọgụ Specter site na igbochi ọrụ ntụkwasị obi na ntụkwasị obi na-agba ọsọ na otu SMT (Hyper Threading) eri. .
    • Maka otu, nkwado maka ọrụ igbu mmadụ ka etinyere ya, nke na-enye gị ohere igbu usoro niile metụtara otu n'otu oge (zipụ SIGKILL) site na ide "1" na faịlụ mebere cgroup.kill.
    • Ike agbasawanye nke metụtara ịzaghachi nchọpụta nke mkpọchi gbawara agbawa ("mkpọchi gbawara agbawa") nke na-eme mgbe ị na-enweta data na-akwadoghị na ebe nchekwa n'ihi eziokwu ahụ bụ na mgbe ị na-eme ntụziaka atọm, data ahụ na-agafe ahịrị cache CPU abụọ. Mgbochi dị otú ahụ na-eduga na ọdịda dị ịrịba ama na arụmọrụ, ya mere na mbụ ọ ga-ekwe omume iji ike kwụsị ngwa nke kpatara nkwụsị ahụ. Ntọhapụ ọhụrụ ahụ na-agbakwụnye paramita ahịrị iwu kernel “split_lock_detect=ratelimit: N”, nke na-enye gị ohere ịkọwapụta oke sistemụ na ọnụego mkpọchi ọrụ kwa sekọnd, mgbe nke ahụ gafechara usoro ọ bụla ghọrọ isi mmalite nke mkpọchi gbawara agbawa. a ga-amanye ịkwụsị maka 20 ms kama ịkwụsị.
    • Onye na-ahụ maka bandwit cgroup CFS (CFS bandwit controller), nke na-ekpebi oge nhazi oge a ga-ekenye ya na cgroup ọ bụla, na-emejuputa ikike ịkọwa njedebe oge, nke na-enye ohere maka nhazi ka mma nke arụ ọrụ na-enwe mmetụta. Dịka ọmụmaatụ, ịtọ cpu.cfs_quota_us na 50000 yana cpu.cfs_period_us na 100000 ga-ekwe ka otu usoro mebie 100ms nke CPU oge kwa 50ms.
    • Akụrụngwa mbụ agbakwunyere maka ịmepụta ndị na-ebu mmemme BPF, nke ga-enye ohere ka ibu naanị mmemme BPF jiri igodo dijitalụ tụkwasịrị obi bịanyere aka na ya.
    • Agbakwunyere ọrụ futex ọhụrụ FUTEX_LOCK_PI2, nke na-eji ngụ oge monotonic gbakọọ oge nkwụsị nke na-eburu n'uche oge ejiri sistemụ na ọnọdụ ụra.
    • Maka RISC-V architecture, nkwado maka nnukwu ibe ebe nchekwa (Transparent Huge-Pages) na ike iji usoro KFENCE chọpụta njehie mgbe arụ ọrụ na ebe nchekwa na-emejuputa.
    • Oku sistemu madvise() nke na-enye ụzọ iji kwalite njikwa ebe nchekwa usoro, agbakwunyela ọkọlọtọ MADV_POPULATE_READ na MADV_POPULATE_WRITE iji mepụta “mmejọ ibe” na ibe ebe nchekwa niile edebere iji gụọ ma ọ bụ dee arụmọrụ, na-enweghị ime ihe ọgụgụ ma ọ bụ dee n'ezie. (nke bu ụzọ). Ojiji nke ọkọlọtọ nwere ike ịba uru maka ibelata igbu oge na mmezu nke mmemme ahụ, n'ihi na-arụ ọrụ nke ọma nke onye na-ahụ maka "mmebi akwụkwọ ibe" maka ibe niile na-akwadoghị otu oge, na-echeghị ohere ịnweta ha n'ezie.
    • Usoro ule kunit agbakwunyela nkwado maka ule na-agba ọsọ na gburugburu QEMU.
    • Agbakwunyela ndị na-achọpụta ihe ọhụrụ: "osnoise" iji soro igbu oge ngwa kpatara site na njikwa nkwụsịtụ, yana "timerlat" iji gosipụta ozi zuru ezu gbasara igbu oge mgbe ị na-eteta na mgbama ngụ oge.
  • Virtualization na Nchekwa
    • Agbakwunyela oku sistemu memfd_secret() iji mepụta ebe nchekwa nkeonwe n'ime oghere adreesị dịpụrụ adịpụ, nke a na-ahụ anya naanị na usoro ịnwe, anaghị egosipụta na usoro ndị ọzọ, yana enweghị ike ịnweta kernel ozugbo.
    • Na sistemụ nzacha oku nke seccomp, mgbe ị na-ebugharị ndị na-egbochi njikwa n'ime oghere onye ọrụ, enwere ike iji otu ọrụ atọm mepụta nkọwa faịlụ maka ọrụ dịpụrụ adịpụ wee weghachi ya mgbe ị na-ahazi oku sistemụ. Ọrụ a tụrụ aro na-edozi nsogbu nke ịkwụsịtụ onye njikwa na oghere onye ọrụ mgbe mgbama bịarutere.
    • Agbakwunyere usoro ọhụrụ maka ijikwa oke akụrụngwa n'ime oghere aha njirimara onye ọrụ, nke na-ejikọ ọnụ ọgụgụ rlimit n'otu n'otu na onye ọrụ nọ na "spacenamespace". Mgbanwe ahụ na-edozi nsogbu ahụ site na iji ọnụ ọgụgụ akụrụngwa nkịtị mgbe otu onye ọrụ na-agba ọsọ na nhazi dị iche iche.
    • KVM hypervisor maka sistemụ ARM64 agbakwunyela ikike iji MTE (MemTag, ebe nchekwa Tagging Extension) ndọtị na sistemụ ndị ọbịa, nke na-enye gị ohere ijikọ mkpado na ọrụ nkesa ebe nchekwa ọ bụla wee hazie ịlele iji ntuziaka ziri ezi iji gbochie nrigbu nke ndị ọbịa. adịghị ike na-ebute site na ịnweta ngọngọ ebe nchekwa agbahapụlarị, ihe nchekwa na-ejubiga ókè, nweta tupu mmalite ma jiri na-abụghị ọnọdụ dị ugbu a.
    • Enwere ike ịhazi ụlọ nyocha Pointer nke ARM64 iche maka kernel na ohere onye ọrụ. Teknụzụ na-enye gị ohere iji ntuziaka ARM64 pụrụ iche iji nyochaa adreesị nloghachi site na iji mbinye aka dijitalụ echekwara na ibe elu nke na-ejighị ya n'onwe ya.
    • Ụdị onye ọrụ Linux agbakwunyela nkwado maka iji ndị ọkwọ ụgbọala maka ngwaọrụ PCI nwere ụgbọ ala PCI mebere, nke onye ọkwọ ụgbọ ala PCI-over-virtio mebere.
    • Maka sistemụ x86, nkwado agbakwunyere maka ngwaọrụ virtio-iommu paravirtualized, na-enye ohere ka eziga arịrịọ IOMMU dị ka ATTACH, DETACH, MAP na UNMAP n'ofe njem vintio na-enweghị iṅomi tebụl ibe ebe nchekwa.
    • Maka Intel CPUs, site na ezinụlọ Skylake ruo kọfị kọfị, iji Intel TSX (Mgbakwunye Mmekọrịta Mmekọrịta), nke na-enye ngwaọrụ maka imeziwanye arụmọrụ nke ngwa multi-threaded site na ikpochapụ arụ ọrụ mmekọrịta na-adịghị mkpa, na ndabara. Agbanyụrụ ndọtị n'ihi enwere ike ịwakpo Zombieload nke na-emegharị nzipu ozi site na ọwa ndị ọzọ na-eme n'oge arụ ọrụ TAA (TSX Asynchronous Abort).
  • Sistemụ netwọkụ
    • Ntinye n'ime isi nke MPTCP (MultiPath TCP), ndọtị nke usoro TCP maka ịhazi ọrụ nke njikọ TCP na nnyefe nke ngwugwu n'otu oge n'ọtụtụ ụzọ site na ntanetị netwọk dị iche iche jikọtara ya na adreesị IP dị iche iche. Ntọhapụ ọhụrụ ahụ na-agbakwụnye usoro maka ịtọbe iwu hashing okporo ụzọ nke gị maka IPv4 na IPv6 (multipath hash policy), na-eme ka o kwe omume ikpebi site na ohere onye ọrụ nke ubi na ngwugwu, gụnyere ndị kpuchiri ekpuchi, ga-eji mgbe ị na-agbakọ hash nke na-ekpebi . nhọrọ nke ụzọ maka ngwugwu .
    • agbakwunyere nkwado maka sọket SOCK_SEQPACKET (nfefe datagram nke enyere iwu na nke a pụrụ ịdabere na ya) na ụgbọ njem virtio mebere.
    • A gbasaala ike nke usoro oghere SO_REUSEPORT, nke na-enye ohere ka ọtụtụ oghere na-ege ntị jikọọ n'otu ọdụ ụgbọ mmiri n'otu oge iji nweta njikọ na nkesa arịrịọ na-abata n'otu oge n'ofe niile socket ejikọrọ site na SO_REUSEPORT, nke na-eme ka ịmepụta ngwa nkesa multi-threaded dị mfe. . Ụdị ọhụrụ ahụ na-agbakwụnye ngwá ọrụ maka ịnyefe njikwa na oghere ọzọ ma ọ bụrụ na ọdịda dara mgbe ị na-edozi arịrịọ site na oghere ahọpụtara na mbụ (na-edozi nsogbu ahụ na nkwụsị nke njikọ nke onye ọ bụla mgbe ịmalitegharịa ọrụ).
  • Ngwa
    • Onye ọkwọ ụgbọala amdgpu na-enye nkwado maka usoro AMD Radeon RX 6000 ọhụrụ nke GPU, nke akpọrọ "Beige Goby" (Navi 24) na "Yellow Carp", yana nkwado dị mma maka Aldebaran GPU (gfx90a) na Van Gogh APU. Agbakwunyere ikike iji ọtụtụ eDP rụọ ọrụ n'otu oge. Maka APU Renoir, nkwado maka ịrụ ọrụ na nchekwa ezoro ezo na ebe nchekwa vidiyo (TMZ, Mpaghara Nchekwa ntụkwasị obi) etinyerela ya. Nkwado agbakwunyere maka kaadị eserese na-ekpo ọkụ. Maka Radeon RX 6000 (Navi 2x) GPUs na AMD GPU ndị okenye, nkwado ASPM (Active State Power Management) na ndabara na-enyere ya aka na mbụ, nke enyere naanị maka Navi 1x, Vega na Polaris GPUs.
    • Maka ibe AMD, agbakwunyere nkwado maka ebe nchekwa mebere nkekọrịta (SVM, ebe nchekwa nchekwa nkekọrịta) dabere na HMM (Heterogeneous memory management) subsystem, nke na-enye ohere iji ngwaọrụ nwere ngalaba njikwa ebe nchekwa ha (MMU, ngalaba njikwa ebe nchekwa), nke nwere ike ịnweta isi ebe nchekwa. Karịsịa, iji HMM, ị nwere ike ịhazi oghere adreesị nkekọrịta n'etiti GPU na CPU, nke GPU nwere ike ịnweta isi ebe nchekwa nke usoro ahụ.
    • Nkwado mbụ agbakwunyere maka teknụzụ AMD Smart Shift, nke na-agbanwe ike CPU na ntọala ike GPU na laptọọpụ nwere chipset AMD na kaadị eserese iji kwalite arụmọrụ maka egwuregwu, ndezi vidiyo, na ntụgharị 3D.
    • Onye ọkwọ ụgbọ ala i915 maka kaadị eserese Intel gụnyere nkwado maka ibe Intel Alderlake P.
    • agbakwunyere drm/hyperv maka ihe nkwụnye eserese mebere Hyper-V.
    • Nkwado agbakwunyere maka kọmputa Raspberry Pi 400 niile na otu.
    • agbakwunyere dell-wmi-privacy ọkwọ ụgbọ ala iji kwado igwefoto ngwaike na igwe igwe mgba ọkụ gụnyere na laptọọpụ Dell.
    • Maka laptọọpụ Lenovo, agbakwunyere interface WMI maka ịgbanwe ntọala BIOS site na sysfs /sys/class/firmware-attributes/.
    • Nkwado agbasawanye maka ngwaọrụ nwere interface USB4.
    • Nkwado agbakwunyere maka AmLogic SM1 TOACODEC, Intel AlderLake-M, NXP i.MX8, NXP TFA1, TDF9897, Rockchip RK817, Qualcomm Quinary MI2 na Texas Instruments TAS2505 kaadị ụda na codecs. Nkwado ọdịyo emelitere na laptọọpụ HP na ASUS. agbakwunyere patches iji belata igbu oge tupu ọdịyo amalite ịkpọ na ngwaọrụ USB.

isi: opennet.ru

Tinye a comment