Linux kernel 5.14

Linux kernel 5.14

Mgbe ọnwa abụọ nke mmepe gasịrị, Linus Torvalds webatara ntọhapụ kernel Linux 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.

Main ihe ọhụrụ:

  • sistemụ diski, ntinye / mmepụta na sistemụ faịlụ:
    • maka otu emejuputa atumatu Onye njikwa mkpa I/O ọhụrụ - rq-qos, nke nwere ike ijikwa mkpa nhazi nke arịrịọ igbochi ngwaọrụ ndị otu otu ọ bụla mepụtara. agbakwunyere nkwado njikwa mkpa ọhụrụ na nhazi oge I/O mq;
    • na usoro faịlụ ext4 emejuputa atumatu iwu ioctl ọhụrụ EXT4_IOC_CHECKPOINT, nke na-amanye azụmahịa niile na-echere site na log na ihe nchekwa metụtara na diski, ma degharịa mpaghara ebe nchekwa ahụ na-eji. Emebere mgbanwe ahụ dịka akụkụ nke atụmatụ iji gbochie ntapu ozi sitere na sistemụ faịlụ;
    • na Btrfs ewebata Nkwalite arụmọrụ: Site na iwepu ndekọ na-enweghị isi nke njirimara agbatịkwuru n'oge mmebe fsync, arụmọrụ nke arụmọrụ kpụ ọkụ n'ọnụ yana njiri agbatị gbagoro ruru 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 ka ịkagbu ngbanwe nha na ihichapụ ọrụ ngwaọrụ;
    • na XFS arụgharịrị ọrụ mmejuputa cache nchekwa, nke a na-ebufe na oke ibe ebe nchekwa na ọnọdụ ogbe. Ịrụ ọrụ cache emelitere;
    • F2FS gbakwunyere nhọrọ iji rụọ ọrụ naanị n'ụdị ọgụgụ ma mejuputa ọnọdụ caching mgbochi mkpakọ (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ụ site na nkpuchi, atụpụtala nhọrọ nocompress ọhụrụ;
    • Emeela ọrụ na onye ọkwọ ụgbọ ala exFAT iji melite ndakọrịta na nchekwa nke ụfọdụ igwefoto dijitalụ;
    • oku usoro agbakwunyere quotactl_fd (), nke na-enye gị ohere ijikwa oke ọ bụghị site na faịlụ ngwaọrụ pụrụ iche, kama site n'ịkọpụta nkọwa faịlụ jikọtara na usoro faịlụ nke etinyere oke;
    • Ewepụla ndị ọkwọ ụgbọ ala ochie maka ngwaọrụ ngọngọ nwere interface IDE na kernel; ọ dịla anya ejirila sistemụ libata dochie ha. A na-edobe nkwado maka ngwaọrụ ochie n'ụzọ zuru ezu, mgbanwe ndị ahụ na-emetụta naanị ikike iji ndị ọkwọ ụgbọala ochie, mgbe a na-eji nke a na-akpọ draịva / dev / hd *, ọ bụghị / dev / sd *;
    • 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;
  • ọrụ ebe nchekwa na sistemụ:
    • emejuputala usoro nhazi ọhụrụ na nhazi ọrụ SCHED_CORE, nke na-enye gị ohere ijikwa usoro ndị nwere ike ịgbakọ ọnụ na 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ọ n'otu eriri SMT (Hyper Threading). ;
    • maka usoro otu, nkwado maka ọrụ igbu mmadụ ka etinyere ya, nke na-enye gị ohere igbu usoro niile metụtara otu ozugbo (zipụ SIGKILL) site na ide "1" na faịlụ mebere cgroup.kill;
    • ike gbasaara 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 na mgbe ị na-eme ntụziaka atọm, data 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ọwa 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ị;
    • The cgroup bandwit controller CFS (CFS bandwit controller), nke na-ekpebi ole processor oge ga-ekenye onye ọ bụla cgroup, nwere ike kọwaa ókè ejedebeghị site a nyere oge nke edinam, nke na-enye ohere mma ụkpụrụ nke latency-sensitive ibu. Dịka ọmụmaatụ, ịtọ cpu.cfs_quota_us na 50000 na cpu.cfs_period_us na 100000 ga-ekwe ka otu usoro mebie 100ms nke CPU oge ọ bụla 50ms;
    • agbakwunyere akụrụngwa izizi maka imepụta ihe nrụnye mmemme BPF, nke ga-eme ka nbudata naanị mmemme BPF jiri igodo dijitalụ nwere ntụkwasị obi bịanyere aka na ya;
    • gbakwunyere ọrụ futex ọhụrụ FUTEX_LOCK_PI2, nke na-eji oge monotonic iji gbakọọ oge nkwụsị, nke na-eburu n'uche oge ejiri usoro ahụ na ọnọdụ ụra;
    • maka RISC-V architecture, nkwado maka ibe ebe nchekwa buru ibu (Transparent Huge-Pages) na ikike iji KFENCE iji chọpụta njehie mgbe ị na-arụ ọrụ na ebe nchekwa;
    • n'ime oku usoro madvise (), nke na-enye ụzọ iji bulie njikwa ebe nchekwa usoro, agbakwunyere MADV_POPULATE_READ na MADV_POPULATE_WRITE ọkọlọtọ iji mepụta "mmejọ ibe" na ibe ebe nchekwa niile edebere maka ịgụ ma ọ bụ dee arụmọrụ, na-emeghị ihe ọgụgụ ma ọ bụ dee (nke mbụ). Ojiji nke ọkọlọtọ nwere ike ịba uru maka mbenata 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ị n'otu oge, na-echeghị maka ịnweta ha n'ezie;
    • na a unit ule usoro kunit agbakwunyere nkwado maka ule na-agba ọsọ na gburugburu QEMU;
    • ọhụrụ tracers kwukwara: "osnoise"iji soro oge igbu oge nke ngwa kpatara site na nkwụsịtụ njikwa, yana "timerlat" iji gosipụta ozi zuru ezu gbasara igbu oge mgbe ị na-eteta na mgbama ngụ oge;
  • virtualization na nche:
    • gbakwunyere oku usoro memfd_nzuzo(), nke na-enye gị ohere ịmepụta ebe nchekwa nke onwe na oghere adreesị dịpụrụ adịpụ, nke a na-ahụ anya naanị na usoro onye nwe ya, na-egosipụtaghị na usoro ndị ọzọ na ọ bụghị ozugbo ịnweta kernel;
    • na usoro ihe nzacha oku nke seccomp, mgbe ị na-ebugharị ndị na-ahụ maka mkpọchi n'ime oghere onye ọrụ, ọ ga-ekwe omume iji otu ọrụ atomic mepụta nkọwa faịlụ maka ọrụ dịpụrụ adịpụ wee weghachite ya mgbe ị na-ahazi oku usoro. Ọrụ a tụrụ aro na-edozi nsogbu ahụ na nkwụsị nke onye njikwa na oghere onye ọrụ mgbe mgbama bịarutere;
    • gbakwunyere usoro ọhụrụ iji jikwaa mmachi akụrụngwa n'ime oghere aha njirimara onye ọrụ, nke na-ejikọ ọnụ ọgụgụ rlimit n'otu n'otu na onye ọrụ na "aha njirimara". Mgbanwe ahụ na-edozi nsogbu ahụ site na iji ọnụ ọgụgụ ihe onwunwe nkịtị mgbe otu onye ọrụ na-agba ọsọ na nhazi dị iche iche;
    • hypervisor KVM maka sistemụ ARM64 agbakwunyela ikike iji ndọtị MTE (MemTag, ebe nchekwa Tagging Extension) 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. adịghị ike na-akpata site na ịnweta ngọngọ ebe nchekwa ahapụlarị, na-ebufe ihe nchekwa, ịnweta tupu mmalite na iji na mpụga ọnọdụ dị ugbu a;
    • Nyochaa nrịbama nke igwe ARM64 nyere nwere ike ịhazi ya 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ụ nke echekwara na ibe elu na-ejighị ya nke pointer n'onwe ya;
    • na User-mode Linux agbakwunyere 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 usoro x86, agbakwunyere nkwado maka ngwaọrụ paravirtio-iommu paravirtualized, nke na-enye gị ohere izipu arịrịọ IOMMU, dị ka ATTACH, DETACH, MAP na UNMAP, n'elu ụgbọ njem virtio 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 Ibu ibu nke Zombie, na-achịkwa ntanye nke ozi site na ọwa ndị ọzọ nke na-eme n'oge ọrụ nke usoro maka nkwụsịtụ arụ ọrụ (TAA, TSX Asynchronous Abort);
  • sistemụ netwọkụ:
    • nọgidere na ntinye n'ime isi nke MPTCP (MultiPath TCP), ndọtị nke TCP protocol maka ịhazi ọrụ nke njikọ TCP na nnyefe nke ngwugwu n'otu oge n'ọtụtụ ụzọ site na netwọk netwọk dị iche iche jikọtara ya na adreesị IP dị iche iche. Na mbipụta ọhụrụ gbakwunyere Usoro maka ịtọ usoro iwu hashing okporo ụzọ gị maka IPv4 na IPv6 (multipath hash policy), na-eme ka o kwe omume site na ohere onye ọrụ iji chọpụta mpaghara ndị dị na ngwugwu, gụnyere ndị ekpuchiri, ga-eji mgbe ị na-agbakọ hash nke na-ekpebi nhọrọ nke ụzọ. maka ngwugwu;
    • agbakwunyere nkwado socket na mebere njem virtio SOCK_SEQPACKET (Nfefe datagram n'usoro na ntụkwasị obi);
    • A gbasaala ike nke usoro oghere SO_REUSEPORT, nke na-enye ohere ka ọtụtụ oghere ndị na-ege ntị jikọọ na ọ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. . Na ụdị ọhụrụ agbakwunyere pụtara maka ịnyefe njikwa na oghere ọzọ ma ọ bụrụ na ọ 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ị ọrụ);
  • akụrụngwa:
    • na amdgpu ọkwọ ụgbọ ala emejuputa atumatu 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 maka ASPM (Active State Power Management) na-akwado usoro nchekwa ike site na ndabara, nke enyere na mbụ naanị maka Navi 1x, Vega na Polaris GPUs;
    • n'ihi na AMD ibe, nkwado maka òkè mebere ebe nchekwa (SVM, òkè mebere ebe nchekwa) ka agbakwunyere dabere na HMM (Heterogeneous ebe nchekwa management) subsystem, nke na-enye ohere ojiji nke ngwaọrụ na ha onwe ha ebe nchekwa ngalaba (MMU, ebe nchekwa unit), nke nwere ike ịnweta isi ebe nchekwa. Gụnyere 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 teknụzụ mbụ agbakwunyere AMD Smart Shift, nke na-agbanwe ngwa ngwa ike oriri nke CPU na GPU na laptọọpụ nwere chipset na kaadị eserese AMD iji kwalite arụmọrụ mgbe egwuregwu, ndezi vidiyo na nsụgharị 3D;
    • na i915 ọkwọ ụgbọ ala maka kaadị vidiyo Intel gụnyere nkwado maka ibe Intel Alderlake P;
    • agbakwunyere drm/hyperv ọkwọ ụgbọ ala maka ihe nkwụnye eserese mebere Hyper-V;
    • gbakwunyere Onye ọkwọ ụgbọ ala simpledrm na-eji EFI-GOP ma ọ bụ VESA framebuffer nke UEFI firmware ma ọ bụ BIOS nyere maka mmepụta. Ebumnuche bụ isi nke onye ọkwọ ụgbọ ala bụ ịnye ikike mmepụta eserese n'oge mmalite nke buut, tupu enwee ike iji ọkwọ ụgbọ ala DRM zuru oke. Enwere ike iji onye ọkwọ ụgbọ ala dịka ihe ngwọta nwa oge maka akụrụngwa na-enwebeghị ndị ọkwọ ụgbọ ala DRM;
    • agbakwunyere nkwado kọmputa niile n'otu Utu Pi 400;
    • agbakwunyere dell-wmi-privacy ọkwọ ụgbọ ala iji kwado igwefoto na igwe igwe mgba ọkụ ngwaike gụnyere na laptọọpụ Dell;
    • maka laptọọpụ Lenovo gbakwunyere WMI interface maka ịgbanwe paramita BIOS site na sysfs /sys/class/firmware-attributes/;
    • gbasaa nkwado maka ngwaọrụ nwere interface USB4;
    • agbakwunyere nkwado maka kaadị ụda na codecs AmLogic SM1 TOACODEC, Intel AlderLake-M, NXP i.MX8, NXP TFA1, TDF9897, Rockchip RK817, Qualcomm Quinary MI2 na Texas Instruments TAS2505. Nkwado ọdịyo emelitere na laptọọpụ HP na ASUS. agbakwunyere patches iji belata igbu oge tupu ọdịyo amalite ịkpọ na ngwaọrụ nwere interface USB.

Isi mmalite - opennet.ru.

isi: linux.org.ru