Mwepụta kernel Linux 5.12

Mgbe ọnwa abụọ nke mmepe gasịrị, Linus Torvalds wepụtara ntọhapụ nke Linux kernel 5.12. N'ime mgbanwe ndị a ma ama: nkwado maka ngwaọrụ mgbochi zoned na Btrfs, ikike ịdepụta ID onye ọrụ maka sistemụ faịlụ, ihichapụ ihe owuwu ARM, ụdị “na-anụ ọkụ n'obi” na NFS, usoro LOOKUP_CACHED maka ikpebi ụzọ faịlụ site na cache. , Nkwado maka ntuziaka atọm na BPF, usoro nbibi KFENCE maka ịchọpụta njehie mgbe ị na-arụ ọrụ na ebe nchekwa, NAPI polling mode na-agba ọsọ na eriri kernel dị iche na nchịkọta netwọk, ACRN hypervisor, ikike ịgbanwe ihe nlereanya preempt na ofufe na ọrụ ahụ. onye nhazi na nkwado maka nkwalite LTO mgbe ị na-ewu na Clang.

Ụdị ọhụrụ ahụ gụnyere 14170 (na ntọhapụ gara aga 15480) ndozi sitere na 1946 (1991) ndị mmepe, nha patch bụ 38 MB (mgbanwe ndị metụtara faịlụ 12102 (12090), 538599 (868025) agbakwunyere ahịrị koodu, 333377 (261456) ahịrị ehichapụ). Ihe dị ka 43% nke mgbanwe niile ewepụtara na 5.12 metụtara ndị ọkwọ ụgbọala ngwaọrụ, ihe dịka 17% nke mgbanwe metụtara imelite koodu akọwapụtara maka nhazi ngwaike, 12% metụtara nchịkọta netwọkụ, 5% metụtara sistemụ faịlụ, yana 4% metụtara sistemu kernel nke ime.

Isi ihe ọhụrụ:

  • Sistemụ Disk, I/O na Sistemụ Faịlụ
    • Emejuputala ikike ịse ID onye ọrụ maka sistemụ faịlụ etinyere (ị nwere ike ịdepụta faịlụ nke otu onye ọrụ na nkebi mba ofesi etinyere na onye ọrụ ọzọ na sistemụ ugbu a). A na-akwado nkewa maka sistemụ faịlụ FAT, ext4 na XFS. Ọrụ a tụrụ aro na-eme ka ọ dị mfe ịkekọrịta faịlụ n'etiti ndị ọrụ dị iche iche yana na kọmpụta dị iche iche, gụnyere nkewa ka a ga-eji na sistemụ ndekọ ụlọ nwere obere ụlọ, na-enye ndị ọrụ ohere ịkwaga akwụkwọ ndekọ aha ụlọ ha na mgbasa ozi mpụga wee jiri ya na kọmpụta dị iche iche, eserese. NJ onye ọrụ nke na-adakọghị. Ngwa ọzọ bara uru bụ ịhazi ndokwa nke ịkekọrịta ohere ịnweta faịlụ site na onye ọbịa mpụga, na-agbanweghị n'ezie data gbasara ndị nwe faịlụ na sistemụ faịlụ.
    • A nabatala patches LOOKUP_CACHED n'ime kernel, na-enye ohere ọrụ iji chọpụta ụzọ faịlụ sitere na oghere onye ọrụ na-enweghị igbochi, dabere na data dị na cache. A na-eme ka ọnọdụ LOOKUP_CACHED rụọ ọrụ na oku openat2 () site na ịgafe ọkọlọtọ RESOLVE_CACHED, nke a na-enye data naanị site na cache, ma ọ bụrụ na mkpebi ụzọ ahụ chọrọ ịnweta ụgbọala, njehie EAGAIN ga-alaghachi.
    • Sistemụ faịlụ Btrfs agbakwunyela nkwado mbụ maka ngwaọrụ mgbochi zoned (ngwaọrụ dị na diski magnetik siri ike ma ọ bụ NVMe SSDs, ebe nchekwa ebe a na-ekewa n'ime mpaghara nke mejupụtara otu ngọngọ ma ọ bụ ngalaba, nke a na-ahapụ naanị usoro ntinye data. emelite dum otu blocks). N'ụdị ọgụgụ naanị, a na-emejuputa nkwado maka ngọngọ nwere metadata yana data pere mpe karịa ibe (n'okpuru ibe).
    • Na sistemụ faịlụ F2FS, agbakwunyela ikike ịhọrọ algọridim na ọkwa mkpakọ. Nkwado agbakwunyere maka mkpakọ ọkwa dị elu maka LZ4 algọridim. Tinyere nhọrọ nrịgo checkpoint_merge.
    • E mejuputa iwu ioctl ọhụrụ FS_IOC_READ_VERITY_METADATA iji gụọ metadata sitere na faịlụ ndị ejiri fs-verity chedo.
    • Onye ahịa NFS na-arụ ọrụ ederede "na-anụ ọkụ n'obi" (na-ede = agụụ), mgbe enyere ya aka, dee ọrụ na faịlụ na-ebufe ozugbo na ihe nkesa, na-agafe cache ibe. Ọnọdụ a na-enye gị ohere ibelata oriri ebe nchekwa, na-enye nnata ozi ozugbo gbasara njedebe nke ohere efu na sistemụ faịlụ, na n'ọnọdụ ụfọdụ na-eme ka o kwe omume ịrụ ọrụ dị ukwuu.
    • Agbakwunyela nhọrọ ugwu ọhụrụ na CIFS (SMB): acregmax iji jikwaa caching faịlụ yana acdirmax iji jikwaa caching metadata ndekọ aha.
    • Na XFS, agbanyerela ụdị nlele ọnụọgụ ọtụtụ eriri, emela ngwa ngwa fsync, yana akwadoro koodu growfs iji mejuputa ọrụ nke ibelata nha sistemụ faịlụ.
  • Ebe nchekwa na ọrụ sistemụ
    • Agbakwunyela sistemu DTMP (Dynamic Thermal Power Management), na-enye gị ohere ịhazi ike ike nke ngwaọrụ dị iche iche dabere na oke okpomoku izugbe edobere.
    • Emejuputala ikike iji wuo kernel site na iji Clang compiler yana nsonye njikarịcha na ọkwa njikọ (LTO, Njikọ Time Optimization). Nkwalite LTO dị iche site na iburu n'uche ọnọdụ faịlụ niile na-etinye aka na usoro iwu ụlọ, ebe usoro njikarịcha omenala na-ebuli faịlụ ọ bụla iche iche ma ghara iburu n'uche ọnọdụ maka ọrụ ịkpọ oku akọwapụtara na faịlụ ndị ọzọ. Dịka ọmụmaatụ, na LTO, ntinye ntanetị ga-ekwe omume maka ọrụ sitere na faịlụ ndị ọzọ, koodu ejighi ya adịghị etinye n'ime faịlụ a na-arụ ọrụ, ụdị nlele na njikarịcha n'ozuzu na-eme na ọkwa ọrụ n'ozuzu ya. Nkwado LTO dị ugbu a naanị na ụlọ x86 na ARM64.
    • Ọ ga-ekwe omume ịhọrọ ụdịdị preemption (PREEMPT) na nhazi ọrụ na ọkwa buut (preempt = ọ nweghị / afọ ofufo / zuru) ma ọ bụ mgbe ị na-arụ ọrụ site na debugfs (/ debug/sched_debug), ma ọ bụrụ na akọwapụtara PREEMPT_DYNAMIC ntọala mgbe ị na-ewu kernel. Na mbụ, ụdị extrusion nwere ike ịtọ naanị na ọkwa mgbakọ. Mgbanwe ahụ na-enye ohere ikesa kernels na ọnọdụ PREEMPT enyere aka, nke na-enye obere latency maka desktọpụ na ọnụ ahịa ntaram nta nke ntanye, ma ọ bụrụ na ọ dị mkpa daa azụ na PREEMPT_VOLUNTARY (ụdị etiti maka kọmpụta) ma ọ bụ PREEMPT_NONE (na-enye oke mmepụta maka sava) .
    • agbakwunyere nkwado maka ọrụ atọmịk BPF_ADD, BPF_AND, BPF_OR, BPF_XOR, BPF_XCHG na BPF_CMPXCHG na sistemụ BPF.
    • A na-enye mmemme BPF ike ịnweta data n'elu ngwungwu site na iji nrịbama nwere mgbaghara agbanwe. Dịka ọmụmaatụ, ọ bụrụ na ị nwere ike iji naanị ndetu mmewere mgbe niile iji nweta nhazi n'elu ngwugwu, ugbu a ị nwere ike iji nke na-agbanwe agbanwe. A na-eme njikwa ịnweta naanị n'ime oke dị ugbu a site na nyocha BPF. Njirimara a dị naanị maka mmemme nwere oke n'ihi nchegbu gbasara nrigbu adịghị ike mkpochapụ koodu.
    • Agbakwunyere ike ijikọ mmemme BPF ka ọ bụrụ akara nchọta nke anaghị ejikọta ya na mmemme nchọta a na-ahụ anya na oghere onye ọrụ (nchekwa ABI anaghị ekwe nkwa maka ebe ndị dị otú ahụ).
    • Emebela nkwado maka ụgbọ ala CXL 2.0 (Compute Express Link), nke a na-eji hazie mmekọrịta dị elu n'etiti CPU na ngwaọrụ ebe nchekwa (na-enye gị ohere iji ngwaọrụ ebe nchekwa mpụga dịka akụkụ nke RAM ma ọ bụ ebe nchekwa na-adịgide adịgide, dị ka a ga - asị na ebe nchekwa a. ejikọrọ site na ọkọlọtọ ebe nchekwa njikwa na CPU).
    • agbakwunyere nvmem ọkwọ ụgbọ ala iji weghachite data sitere na ebe nchekwa nchekwa femụwe nke na-adịghị enweta Linux ozugbo (dịka ọmụmaatụ, ebe nchekwa EEPROM nke a na-enweta naanị na firmware, ma ọ bụ data a na-enweta naanị n'oge mbido buut).
    • E wepụrụ nkwado maka usoro profaịlụ "oprofile", bụ nke a na-ejighị n'ọtụtụ ebe ma jiri usoro perf ọgbara ọhụrụ dochie ya.
    • Io_uring asynchronous I/O interface na-enye njikọta na otu ndị na-achịkwa ojiji ebe nchekwa.
    • Ihe owuwu RISC-V na-akwado usoro NUMA, yana usoro kprobes na uprobes.
    • Agbakwunyere ike iji kcmp () usoro oku n'agbanyeghị ọrụ nke usoro snapshots steeti (nleba anya / weghachi).
    • E wepụrụ macro EXPORT_UNUSED_SYMBOL() na EXPORT_SYMBOL_GPL_FUTURE() ndị a na-ejibeghị eme ihe kemgbe ọtụtụ afọ.
  • Virtualization na Nchekwa
    • Usoro nchebe KFence (Kernel Electric Fence) agbakwunyere, nke na-ejide mperi mgbe ị na-arụ ọrụ na ebe nchekwa, dị ka ihe nkpuchi na-ebufe na ịnweta mgbe ị nwetasịrị ebe nchekwa. N'adịghị ka usoro nbibi nke KASAN, usoro nke KFence na-eji nnukwu ọsọ na-arụ ọrụ na elu dị ala, nke na-enye gị ohere ijide njehie ebe nchekwa nke na-apụta naanị na sistemụ arụmọrụ ma ọ bụ n'oge ọrụ ogologo oge.
    • Nkwado agbakwunyere maka hypervisor ACRN, nke ejiri anya na-adị njikere maka ọrụ ndị dị adị na mma maka iji na sistemụ ozi dị mkpa. ACRN na-enye obere ego n'elu, na-ekwe nkwa nkwụsịtụ dị ala yana nzaghachi zuru oke mgbe gị na akụrụngwa na-emekọrịta ihe. Na-akwado virtualization nke CPU akụrụngwa, I/O, netwọk subsystem, ndịna-emeputa na ụda arụmọrụ. Enwere ike iji ACRN rụọ ọtụtụ igwe mebere dịpụrụ adịpụ na ngalaba njikwa eletrọnịkị, ogwe akụrụngwa, sistemụ ozi ụgbọ ala, ngwaọrụ IoT ndị ahịa na teknụzụ ndị ọzọ agbakwunyere. ACRN na-akwado ụdị sistemụ ndị ọbịa abụọ - VM ọrụ nwere ohere, nke a na-eji jikwaa akụrụngwa sistemụ (CPU, ebe nchekwa, I/O, wdg), yana VM onye ọrụ omenala, nke nwere ike ịgbasa Linux, Android na Windows.
    • Na IMA (Integrity Measurement Architecture) subsystem, nke na-edobe nchekwa data hash maka ịlele iguzosi ike n'ezi ihe nke faịlụ na metadata metụtara, ugbu a ọ ga-ekwe omume ịlele iguzosi ike n'ezi ihe nke data nke kernel n'onwe ya, dịka ọmụmaatụ, soro mgbanwe na iwu SELinux. .
    • Ikike igbochi hypercalls Xen na ibuga ha na emulator na-agba ọsọ na ohere onye ọrụ agbakwunyere na hypervisor KVM.
    • Agbakwunyere ike iji Linux dị ka mgbọrọgwụ gburugburu maka Hyper-V hypervisor. Mgbọrọgwụ gburugburu ebe obibi nwere ohere ozugbo na ngwaike ma jiri ya na-agba ọsọ usoro ndị ọbịa (ihe yiri Dom0 na Xen). Ruo ugbu a, Hyper-V (Microsoft Hypervisor) na-akwado Linux naanị na gburugburu ndị ọbịa, mana hypervisor n'onwe ya na-achịkwa site na gburugburu Windows.
    • Nkwado agbakwunyere maka izo ya ezo maka kaadị eMMC, na-enye gị ohere iji usoro ezoro ezo arụnyere n'ime ihe njikwa draịva nke na-ezoro ezo na decrypt I/O.
    • E wepụrụ nkwado maka RIPE-MD 128/256/320 na Tiger 128/160/192 hashes, bụ ndị na-adịghị eji na isi, yana Salsa20 iyi cipher, nke ChaCha20 algọridim dochie anya. crypto subsystem. Emelitela algọridim blake2 iji mejuputa blake2s.
  • Sistemụ netwọkụ
    • Agbakwunyere ikike ịkwaga onye na-ahụ maka ntuli aka NAPI maka ngwaọrụ netwọkụ gaa na eriri kernel dị iche, nke na-enye ohere maka arụmọrụ ka mma maka ụfọdụ ụdị ọrụ. Na mbụ, a na-eme ntuli aka na ọnọdụ softirq na onye na-ahazi ọrụ anaghị ekpuchi ya, nke mere ka o sie ike ịrụ ọrụ kachasị mma iji nweta ọrụ kachasị. Egbugbu na eriri kernel dị iche na-enye ohere ka a hụ onye na-ahụ maka ntuli aka site na oghere onye ọrụ, tinye ya na cores CPU nke ọ bụla, wee buru n'uche mgbe ị na-ahazi mgbanwe ọrụ. Iji mee ka ọnọdụ ọhụrụ dị na sysfs, a na-atụpụta ihe /sys/class/net//threaded parameter.
    • 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 ikike ịnye ụzọ na ụfọdụ eri, nke na-enye ohere, dịka ọmụmaatụ, ịhazi ọrụ nke eriri ndabere nke na-agbanye naanị ma ọ bụrụ na enwere nsogbu na eriri mbụ.
    • IGMPv3 na-agbakwụnye nkwado maka usoro EHT (Nleba anya Ọbịa).
    • Igwe nzacha ngwugwu Netfilter na-enye ikike ịnwe ụfọdụ tebụl iji nweta njikwa pụrụ iche (dịka ọmụmaatụ, usoro mgbanaka ndabere nwere ike ịnwe ụfọdụ tebụl, na-egbochi onye ọ bụla ọzọ itinye aka na ha).
  • Ngwa
    • Anyị hichara nyiwe ARM ochie na nke anaghị echekwa ya. E wepụrụ koodu maka efm32, picoxcell, prima2, tango, u300, zx na c6x, yana ndị ọkwọ ụgbọ ala ha jikọtara.
    • Onye ọkwọ ụgbọ ala amdgpu na-enye ike ịgbafe kaadị (OverDrive) dabere na Sienna Cichlid GPU (Navi 22, Radeon RX 6xxx). Nkwado agbakwunyere maka usoro pikselụ FP16 maka DCE (njin njikwa ihe ngosi) site na ọgbọ 8 ruo 11. Maka GPU Navy Flounder (Navi 21) na APU Van Gogh, emejuputala ikike ịtọgharịa GPU.
    • Onye ọkwọ ụgbọ ala i915 maka kaadị eserese Intel na-emejuputa paramita i915.mitigations iji gbanyụọ ikewapụ iche na usoro nchebe iji kwado arụmọrụ ka mma. Maka ibe ndị na-amalite site na Tiger Lake, nkwado maka usoro VRR (Variable Rate Refresh) gụnyere, nke na-enye gị ohere ịgbanwe n'ụzọ ziri ezi na-agbanwe ọnụego ume ọhụrụ nyochaa iji hụ na ịdị nro na enweghị oghere n'oge egwuregwu. Agụnyere nkwado maka teknụzụ Intel Clear Color maka nkwalite agba agba. Nkwado agbakwunyere maka DP-HDMI 2.1. Ejirila ikike ịchịkwa ọkụ azụ nke eDP panels. Maka Gen9 GPU nwere nkwado LSPCON (Level Shifter and Protocol Converter), akwadoro nkwado HDR.
    • Onye ọkwọ ụgbọ ala nouveau na-agbakwunye nkwado mbụ maka NVIDIA GPU dabere na ụkpụrụ ụlọ GA100 (Ampere).
    • Onye ọkwọ ụgbọ ala msm na-agbakwunye nkwado maka Adreno 508, 509 na 512 GPU ejiri na SDM (Snapdragon) 630, 636 na 660 ibe.
    • Nkwado agbakwunyere maka Sound BlasterX AE-5 Plus, Lexicon I-ONIX FW810s na Pioneer DJM-750 ụda kaadị. Nkwado agbakwunyere maka sistemụ ọdịyo Intel Alder Lake PCH-P. E tinyela nkwado maka ịme anwansị ngwanrọ nke ijikọ na ịpụpụ njikọ ọdịyo maka ndị na-ahụ maka nbipu na oghere onye ọrụ.
    • Nkwado agbakwunyere maka Nintendo 64 consoles egwuregwu arụpụtara site na 1996 ruo 2003 (mgbalị ndị gara aga ịbubata Linux na Nintendo 64 emechabeghị wee kewaa ya dị ka Vaporware). Ihe mkpali maka ịmepụta ọdụ ụgbọ mmiri ọhụrụ maka ikpo okwu oge ochie, nke a na-ahapụbeghị ihe fọrọ nke nta ka ọ bụrụ afọ iri abụọ, bụ ọchịchọ ịkwalite mmepe nke emulators na ime ka ntinye egwuregwu dị mfe.
    • Onye ọkwọ ụgbọ ala agbakwunyere maka onye njikwa egwuregwu Sony PlayStation 5 DualSense.
    • Nkwado agbakwunyere maka bọọdụ ARM, ngwaọrụ na nyiwe: PineTab, Snapdragon 888 / SM8350, Snapdragon MTP, Beacon EmbeddedWorks, Intel eASIC N5X, Netgear R8000P, Plymovent M2M, Beacon i.MX8M Nano, NanoPi M4B.
    • Nkwado agbakwunyere maka Purism Librem5 Evergreen, Xperia Z3 +/Z4/Z5, ASUS Zenfone 2 Laser, BQ Aquaris X5, OnePlus6, OnePlus6T, Samsung GT-I9070 smartphones.
    • Onye ọkwọ ụgbọ ala bcm-vk agbakwunyere maka bọọdụ osooso Broadcom VK (dịka ọmụmaatụ, Valkyrie na Viper PCIe mbadamba), nke enwere ike iji budata arụmọrụ ọdịyo, vidiyo na onyonyo yana arụmọrụ metụtara ezoro ezo, na ngwaọrụ dị iche.
    • Nkwado agbakwunyere maka ikpo okwu Lenovo IdeaPad nwere ikike ijikwa chaja mgbe niile yana ọkụ azụ kiiboodu. Enwekwara nkwado maka profaịlụ ACPI nke ikpo okwu ThinkPad nwere ikike ijikwa ụdị oriri ike. Onye ọkwọ ụgbọ ala agbakwunyere maka Lenovo ThinkPad X1 Tablet Gen 2 HID subsystem.
    • agbakwunyere ọkwọ ụgbọ ala ov5647 nwere nkwado maka modul igwefoto maka Raspberry Pi.
    • Nkwado agbakwunyere maka bọọdụ RISC-V SoC FU740 na HiFive Unleashed. Agbakwunyekwara onye ọkwọ ụgbọ ala ọhụrụ maka mgbawa Kendryte K210.

isi: opennet.ru

Tinye a comment