Kutulutsidwa kwa kernel ya Linux 5.12

Pambuyo pa miyezi iwiri yachitukuko, Linus Torvalds adapereka kutulutsidwa kwa Linux kernel 5.12. Zina mwa zosintha zodziwika bwino: kuthandizira zida za block block mu Btrfs, kuthekera kopanga ma ID amtundu wa mafayilo, kuyeretsa zomanga za ARM, njira yolembera "mwachidwi" mu NFS, makina a LOOKUP_CACHED owunikira njira zamafayilo kuchokera pakachete. , chithandizo cha malangizo a atomiki mu BPF, njira yowonongeka ya KFENCE pozindikira zolakwika mukamakumbukira, njira yovotera ya NAPI yomwe ikuyenda mumtundu wina wa kernel mu stack network, ACRN hypervisor, kuthekera kosintha chitsanzo cha preempt pa ntchentche mu ntchitoyo. scheduler ndikuthandizira kukhathamiritsa kwa LTO mukamanga ku Clang.

The latsopano Baibulo zikuphatikizapo 14170 (mu kumasulidwa yapita 15480) zokonza 1946 (1991) Madivelopa, chigamba kukula ndi 38 MB (zosintha anakhudzidwa 12102 (12090) owona, 538599 (868025) mizere code anawonjezedwa, 333377 (261456) mizere idachotsedwa). Pafupifupi 43% ya zosintha zonse zomwe zidayambitsidwa mu 5.12 zimagwirizana ndi madalaivala a zida, pafupifupi 17% ya zosintha zimagwirizana ndikusintha kachidindo kamangidwe ka ma hardware, 12% ikugwirizana ndi stack network, 5% ikugwirizana ndi mafayilo amafayilo, ndi 4% zimagwirizana ndi ma kernel subsystems amkati.

Zatsopano zazikulu:

  • Disk Subsystem, I/O ndi File Systems
    • Kutha kuyika ma ID a ogwiritsa ntchito pamafayilo okhazikitsidwa kwakhazikitsidwa (mutha kupanga mapu a wogwiritsa ntchito m'modzi pagawo lakunja lokhazikitsidwa ndi wina wogwiritsa ntchito pakali pano). Mapu amathandizidwa ndi mafayilo a FAT, ext4 ndi XFS. Ntchito yomwe ikufunsidwayo imapangitsa kuti zitheke kugawana mafayilo pakati pa ogwiritsa ntchito osiyanasiyana komanso pamakompyuta osiyanasiyana, kuphatikiza kupanga mapu kudzagwiritsidwa ntchito mu systemd-homed portable home directory, kulola ogwiritsa ntchito kusamutsa zolemba zawo zakunyumba kupita ku media zakunja ndikuzigwiritsa ntchito pazosiyana. makompyuta, kupanga ma ID omwe sakufanana. Ntchito ina yothandiza ndikukonza makonzedwe a mwayi wogawana mafayilo kuchokera kwa wolandila wakunja, osasintha zenizeni za eni mafayilo mu fayilo.
    • Zolemba za LOOKUP_CACHED zalandilidwa mu kernel, zomwe zimapangitsa kuti ntchito zizindikire njira ya fayilo kuchokera kumalo ogwiritsira ntchito popanda kutsekereza, potengera zomwe zilipo mu cache. Njira ya LOOKUP_CACHED imatsegulidwa mu foni ya openat2 () podutsa mbendera ya RESOLVE_CACHED, momwe deta imatumizidwa kuchokera ku cache, ndipo ngati kutsimikiza kwa njira kumafuna kupeza galimoto, cholakwika cha EAGAIN chimabwezedwa.
    • Dongosolo la fayilo la Btrfs lawonjezera chithandizo choyambirira cha zida zotchinga (zida pa hard magnetic disks kapena NVMe SSDs, malo osungiramo omwe amagawidwa m'magawo omwe amapanga magulu a midadada kapena magawo, komwe kumaloledwa kuwonjezeranso motsatizana kwa data, kukonzanso gulu lonse la midadada). Powerenga-pokha, kuthandizira kwa midadada yokhala ndi metadata ndi data yaying'ono kuposa tsamba (tsamba laling'ono) limakhazikitsidwa.
    • Mu fayilo ya F2FS, kuthekera kosankha ma aligorivimu ndi mulingo wa compression wawonjezedwa. Thandizo lowonjezera la kupsinjika kwapamwamba kwa LZ4 algorithm. Anakhazikitsa checkpoint_merge mounting njira.
    • Lamulo latsopano la ioctl FS_IOC_READ_VERITY_METADATA lakhazikitsidwa kuti muwerenge metadata kuchokera kumafayilo otetezedwa ndi fs-verity.
    • Makasitomala a NFS amagwiritsa ntchito njira yolembera "yofunitsitsa" (amalemba = kufunitsitsa), ikayatsidwa, zolembera mufayilo zimasamutsidwa nthawi yomweyo ku seva, ndikudutsa posungira tsamba. Njirayi imakupatsani mwayi wochepetsera kukumbukira, imapereka chiphaso chaposachedwa chokhudza kutha kwa malo aulere pamafayilo, ndipo nthawi zina zimapangitsa kuti zitheke kukwaniritsa ntchito yowonjezereka.
    • Zosankha zatsopano zokwera zawonjezeredwa ku CIFS (SMB): acregmax kuwongolera kusungitsa mafayilo ndi acdirmax kuti muwongolere caching metadata.
    • Mu XFS, njira yowunika ma quota yokhala ndi ulusi wambiri yayatsidwa, fsync execution yafulumizitsidwa, ndipo makulidwe a growfs adakonzedwa kuti akwaniritse ntchito yochepetsa kukula kwa fayilo.
  • Memory ndi ntchito zadongosolo
    • Dongosolo laling'ono la DTMP (Dynamic Thermal Power Management) lawonjezedwa, kukulolani kuti muzitha kuyang'anira momwe magetsi amagwiritsidwira ntchito pazida zosiyanasiyana kutengera malire a kutentha.
    • Kutha kumanga kernel pogwiritsa ntchito chojambulira cha Clang ndikuphatikiza kukhathamiritsa pagawo lolumikizira (LTO, Link Time Optimization) kwakhazikitsidwa. Kukhathamiritsa kwa LTO kumasiyana poganizira momwe mafayilo onse amagwirira ntchito pomanga, pomwe mitundu yokhathamiritsa yachikhalidwe imakongoletsa fayilo iliyonse padera ndipo samaganizira momwe kuyimbira foni kumafotokozedwera m'mafayilo ena. Mwachitsanzo, ndi LTO, kutumizidwa kwapaintaneti ndikotheka kwa magwiridwe antchito kuchokera kumafayilo ena, kachidindo kosagwiritsidwa ntchito sikuphatikizidwa mufayilo yomwe ingathe kuchitika, kuyang'ana kwamtundu ndi kukhathamiritsa kwakukulu kumachitika pamlingo wa polojekiti yonse. Thandizo la LTO pano lili ndi zomanga za x86 ndi ARM64.
    • N'zotheka kusankha njira zodzitetezera (PREEMPT) mu ndondomeko ya ntchito pa boot siteji (preempt = palibe / voluntary / full) kapena pamene mukugwira ntchito kupyolera mu debugfs (/ debug / sched_debug), ngati PREEMPT_DYNAMIC kukhazikitsidwa kunatchulidwa pomanga kernel. M'mbuyomu, mawonekedwe a extrusion amatha kukhazikitsidwa pamlingo wa magawo a msonkhano. Kusinthaku kumalola magawo kuti atumize ma kernels okhala ndi PREEMPT mode, yomwe imapereka latency yocheperako pama desktops pamtengo wachilango chaching'ono, ndipo ngati kuli koyenera kubwereranso ku PREEMPT_VOLUNTARY (njira yapakatikati yama desktops) kapena PREEMPT_NONE (imapereka kuchuluka kwa ma seva) .
    • Thandizo la ma atomiki a BPF_ADD, BPF_AND, BPF_OR, BPF_XOR, BPF_XCHG ndi BPF_CMPXCHG awonjezedwa ku gawo laling'ono la BPF.
    • Mapulogalamu a BPF amapatsidwa mwayi wopeza deta pamtengowo pogwiritsa ntchito zolozera zosinthika. Mwachitsanzo, ngati m'mbuyomu mumangogwiritsa ntchito index yokhazikika kuti mupeze mndandanda wapampando, tsopano mutha kugwiritsa ntchito yosintha. Kuwongolera kofikira kokha m'malire omwe alipo kumachitidwa ndi wotsimikizira BPF. Izi zimangopezeka pamapulogalamu apadera chifukwa cha nkhawa zokhudzana ndi kugwiritsa ntchito ziwopsezo zongopeka.
    • Adawonjezera kuthekera kophatikiza mapulogalamu a BPF kuzinthu zopanda kanthu zomwe sizimalumikizidwa ndi zochitika zowoneka m'malo ogwiritsa ntchito (kusungidwa kwa ABI sikutsimikizika pazotsatira zotere).
    • Thandizo la basi ya CXL 2.0 (Compute Express Link) yakhazikitsidwa, yomwe imagwiritsidwa ntchito pokonzekera kuyanjana kothamanga kwambiri pakati pa CPU ndi zida zokumbukira (zimakupatsani mwayi wogwiritsa ntchito zida zamakumbukiro zakunja monga gawo la RAM kapena kukumbukira kosatha, ngati kukumbukira uku. adalumikizidwa kudzera pa chowongolera chokumbukira mu CPU).
    • Dalaivala wowonjezera wa nvmem kuti atengenso deta kuchokera kumalo okumbukira osungidwa ndi firmware omwe sapezeka mwachindunji ku Linux (mwachitsanzo, kukumbukira kwa EEPROM komwe kumapezeka mwakuthupi kokha ku firmware, kapena deta yomwe imapezeka panthawi yoyambira).
    • Thandizo la ndondomeko ya mbiri ya "oprofile" yachotsedwa, yomwe sinagwiritsidwe ntchito kwambiri ndipo yasinthidwa ndi makina amakono a perf.
    • Maonekedwe a io_uring asynchronous I/O amapereka kuphatikiza ndi magulu omwe amawongolera kugwiritsa ntchito kukumbukira.
    • Zomangamanga za RISC-V zimathandizira machitidwe a NUMA, komanso ma kprobes ndi ma uprobes.
    • Anawonjezera kuthekera kogwiritsa ntchito kuyimba kwa kcmp() mosasamala kanthu za magwiridwe antchito azithunzithunzi za boma (checkpoint/restore).
    • Ma EXPORT_UNUSED_SYMBOL() ndi EXPORT_SYMBOL_GPL_FUTURE() macros, omwe sanagwiritsidwe ntchito kwa zaka zambiri, achotsedwa.
  • Virtualization ndi Chitetezo
    • Njira yotetezera ya KFence (Kernel Electric Fence), yomwe imagwira zolakwika pogwira ntchito ndi kukumbukira, monga kupitirira kwa buffer ndi mwayi pambuyo pomasula kukumbukira. Mosiyana ndi KASAN debugging limagwirira, gawo laling'ono la KFence limadziwika ndi kuthamanga kwambiri komanso kutsika kwamutu, zomwe zimakulolani kuti mugwire zolakwika zokumbukira zomwe zimangowoneka pamakina ogwirira ntchito kapena pakanthawi yayitali.
    • Thandizo lowonjezera la hypervisor ya ACRN, yolembedwa ndi diso lokonzekera ntchito zenizeni zenizeni komanso kuyenerera kugwiritsa ntchito machitidwe ovuta kwambiri. ACRN imapereka chiwongolero chochepa, imatsimikizira kuchedwa kochepa komanso kuyankha kokwanira polumikizana ndi zida. Imathandizira kusinthika kwazinthu za CPU, I/O, ma network subsystem, zithunzi ndi machitidwe amawu. ACRN itha kugwiritsidwa ntchito kuyendetsa makina angapo akutali m'magawo owongolera amagetsi, mapanelo a zida, makina azidziwitso zamagalimoto, zida za ogula za IoT ndiukadaulo wina wophatikizidwa. ACRN imathandizira mitundu iwiri ya machitidwe a alendo - ma VM amwayi, omwe amagwiritsidwa ntchito poyang'anira zida zamakina (CPU, memory, I/O, etc.), ndi ma VM Ogwiritsa ntchito, omwe amatha kuyendetsa magawo a Linux, Android ndi Windows.
    • Mu subsystem ya IMA (Integrity Measurement Architecture), yomwe imakhala ndi database ya hash kuti iwonetse kukhulupirika kwa mafayilo ndi metadata yogwirizana, tsopano zimakhala zotheka kuyang'ana kukhulupirika kwa deta ya kernel yokha, mwachitsanzo, kufufuza kusintha kwa malamulo a SELinux. .
    • Kutha kuthana ndi ma hypercalls a Xen ndikuwatumiza kwa emulator yomwe ikuyenda mu malo ogwiritsa ntchito yawonjezedwa ku hypervisor ya KVM.
    • Adawonjezera kuthekera kogwiritsa ntchito Linux ngati maziko a Hyper-V hypervisor. Mizu imakhala ndi mwayi wopita ku hardware ndipo imagwiritsidwa ntchito kuyendetsa machitidwe a alendo (ofanana ndi Dom0 mu Xen). Mpaka pano, Hyper-V (Microsoft Hypervisor) idathandizira Linux m'malo ochezera alendo, koma hypervisor yokhayo inkayendetsedwa kuchokera ku Windows.
    • Thandizo lowonjezera la kubisa kwa inline kwa makhadi a eMMC, kukulolani kuti mugwiritse ntchito njira zolembera zomwe zimapangidwira muchowongolera chomwe chimabisa ndikuchotsa I/O.
    • Thandizo la RIPE-MD 128/256/320 ndi Tiger 128/160/192 hashes, zomwe sizikugwiritsidwa ntchito pachimake, komanso Salsa20 stream cipher, yomwe idasinthidwa ndi ChaCha20 algorithm, yachotsedwa ku crypto subsystem. blake2 algorithm yasinthidwa kuti igwiritse ntchito blake2s.
  • Network subsystem
    • Adawonjezera kuthekera kosuntha chowongolera mavoti a NAPI pazida zama netiweki kupita ku ulusi wina wa kernel, womwe umalola kuti magwiridwe antchito amitundu ina alemedwe. M'mbuyomu, kuvotera kunkachitika pamtundu wa softirq ndipo sikunaphimbidwe ndi wokonza ntchito, zomwe zidapangitsa kuti zikhale zovuta kuchita bwino bwino kuti akwaniritse ntchito yayikulu. Kuphatikizira mu ulusi wina wa kernel kumapangitsa woyendetsa kuvota kuti awonedwe kuchokera pamalo ogwiritsira ntchito, olumikizidwa ndi ma CPU cores, ndikuganiziridwa pokonza kusinthana kwa ntchito. Kuti mutsegule mawonekedwe atsopano mu sysfs, /sys/class/net//threaded parameter ikuperekedwa.
    • Kuphatikizika pakati pa MPTCP (MultiPath TCP), kukulitsa kwa protocol ya TCP yokonzekera kugwiritsa ntchito kulumikizana kwa TCP ndi kutumiza mapaketi nthawi imodzi m'njira zingapo kudzera pamaneti osiyanasiyana olumikizidwa ndi ma adilesi osiyanasiyana a IP. Kutulutsidwa kwatsopano kumawonjezera kuthekera koyika patsogolo ulusi wina, womwe umalola, mwachitsanzo, kukonza ntchito ya ulusi wosunga zobwezeretsera womwe umayatsidwa pokhapokha ngati pali zovuta ndi ulusi woyamba.
    • IGMPv3 imawonjezera chithandizo cha makina a EHT (Explicit Host Tracking).
    • Injini yosefera paketi ya Netfilter imapereka kuthekera kokhala ndi matebulo ena kuti muzitha kuyang'anira mwapadera (mwachitsanzo, njira yakumbuyo yamoto imatha kutenga umwini wa matebulo ena, kulepheretsa wina aliyense kuwasokoneza).
  • Zida
    • Tidatsuka nsanja za ARM zomwe zidatha komanso zosasamalidwa. Khodi ya nsanja za efm32, picoxcell, prima2, tango, u300, zx ndi c6x, komanso madalaivala ogwirizana nawo, achotsedwa.
    • Dalaivala wa amdgpu amapereka mwayi wowonjezera makadi (OverDrive) kutengera Sienna Cichlid GPU (Navi 22, Radeon RX 6xxx). Thandizo lowonjezera la mawonekedwe a pixel a FP16 a DCE (injini yowongolera) kuyambira pa 8 mpaka 11. Kwa GPU Navy Flounder (Navi 21) ndi APU Van Gogh, kuthekera kokonzanso GPU kwakhazikitsidwa.
    • Dalaivala wa i915 wa makadi ojambula a Intel amagwiritsa ntchito i915.mitigations parameter kuletsa njira zodzipatula ndi zodzitetezera pofuna kupititsa patsogolo ntchito. Kwa tchipisi kuyambira ku Tiger Lake, chithandizo cha makina a VRR (Variable Rate Refresh) chikuphatikizidwa, chomwe chimakulolani kuti musinthe mosinthika kuchuluka kwa zotsitsimutsa zowunikira kuti muwonetsetse kuti palibe mipata pamasewera. Thandizo laukadaulo wa Intel Clear Colour likuphatikizidwa kuti liwone bwino mtundu. Thandizo lowonjezera la DP-HDMI 2.1. Kutha kuwongolera kuwunikira kwa mapanelo a eDP kwakhazikitsidwa. Kwa ma Gen9 GPU omwe ali ndi chithandizo cha LSPCON (Level Shifter ndi Protocol Converter), chithandizo cha HDR chimayatsidwa.
    • Dalaivala wa nouveau amawonjezera chithandizo choyambirira cha NVIDIA GPUs kutengera kamangidwe ka GA100 (Ampere).
    • Dalaivala wa msm amawonjezera chithandizo cha Adreno 508, 509 ndi 512 GPUs omwe amagwiritsidwa ntchito mu SDM (Snapdragon) 630, 636 ndi 660 chips.
    • Thandizo lowonjezera la makadi omveka a Sound BlasterX AE-5 Plus, Lexicon I-ONIX FW810s ndi Pioneer DJM-750. Thandizo lowonjezera la Intel Alder Lake PCH-P audio subsystem. Thandizo la kayeseleledwe ka mapulogalamu polumikiza ndi kuletsa cholumikizira chomvera kwakhazikitsidwa pakuwongolera zowongolera pamalo ogwiritsira ntchito.
    • Thandizo lowonjezera la masewera a masewera a Nintendo 64 opangidwa kuchokera ku 1996 mpaka 2003 (zoyesayesa zam'mbuyo zonyamula Linux kupita ku Nintendo 64 sizinamalizidwe ndipo zidatchulidwa kuti Vaporware). Cholinga chopanga doko latsopano la nsanja yachikale, yomwe siinatulutsidwe kwa zaka pafupifupi makumi awiri, ndi chikhumbo chofuna kulimbikitsa chitukuko cha emulators ndi kuphweka kuwonetsa masewera.
    • Wowonjezera woyendetsa masewera a Sony PlayStation 5 DualSense.
    • Zowonjezera zothandizira ma board a ARM, zida ndi nsanja: PineTab, Snapdragon 888 / SM8350, Snapdragon MTP, Two Beacon EmbeddedWorks, Intel eASIC N5X, Netgear R8000P, Plymovent M2M, Beacon i.MX8M Nano, NanoPi M4B.
    • Zowonjezera zothandizira Purism Librem5 Evergreen, Xperia Z3+/Z4/Z5, ASUS Zenfone 2 Laser, BQ Aquaris X5, OnePlus6, OnePlus6T, Samsung GT-I9070 mafoni a m'manja.
    • Dalaivala wa bcm-vk wowonjezera wa Broadcom VK accelerator board (mwachitsanzo, ma board a Valkyrie ndi Viper PCIe), omwe angagwiritsidwe ntchito kutsitsa ma audio, makanema ndi zithunzi, komanso magwiridwe antchito okhudzana ndi encryption, ku chipangizo china.
    • Thandizo lowonjezera la nsanja ya Lenovo IdeaPad yokhala ndi kuthekera kowongolera kuyitanitsa kosalekeza ndikuwunikiranso kiyibodi. Zomwe zaperekedwa ndikuthandizira mbiri ya ACPI ya nsanja ya ThinkPad yokhala ndi kuthekera kowongolera njira zogwiritsira ntchito mphamvu. Wowonjezera woyendetsa wa Lenovo ThinkPad X1 Tablet Gen 2 HID subsystem.
    • Wowonjezera ov5647 woyendetsa ndi chithandizo cha module ya kamera ya Raspberry Pi.
    • Thandizo lowonjezera la RISC-V SoC FU740 ndi HiFive Unleashed board. Dalaivala watsopano wa chip Kendryte K210 wawonjezedwanso.

Source: opennet.ru

Kuwonjezera ndemanga