Kutulutsidwa kwa kernel ya Linux 5.19

Pambuyo pa miyezi iwiri yachitukuko, Linus Torvalds adapereka kutulutsidwa kwa Linux kernel 5.19. Zina mwa zosintha zodziwika bwino: kuthandizira kamangidwe ka purosesa ya LoongArch, kuphatikiza kwa zigamba za "BIG TCP", mawonekedwe ofunidwa mu fscache, kuchotsa ma code kuti athandizire mawonekedwe a a. kuyang'anira kuthamangitsidwa kwa kukumbukira pamalo ogwiritsira ntchito, kuonjezera kudalirika ndi ntchito ya jenereta ya pseudo-random manambala, chithandizo cha Intel IFS (In-Field Scan), AMD SEV-SNP (Secure Nested Paging), Intel TDX (Trusted Domain Extensions) ndi ARM SME (Scalable Matrix Extension) zowonjezera.

M'chilengezochi, Linus adanena kuti mwinamwake kutulutsidwa kwa kernel kudzakhala nambala 6.0, popeza nthambi ya 5.x yasonkhanitsa zotulutsa zokwanira kuti zisinthe nambala yoyamba mu chiwerengero cha Baibulo. Kusintha kwa manambala kumachitika pazifukwa zokometsera ndipo ndi sitepe yovomerezeka yomwe imachepetsa kusapeza bwino chifukwa cha kuchuluka kwa nkhani zambiri pamndandanda.

Linus adanenanso kuti adagwiritsa ntchito laputopu ya Apple yotengera kapangidwe ka ARM64 (Apple Silicon) yokhala ndi malo a Linux kutengera kugawa kwa Asahi Linux kuti apange kumasulidwa. Simalo ogwirira ntchito a Linus, koma adagwiritsa ntchito nsanjayi kuyesa kukwanira kwake pantchito ya kernel ndikuwonetsetsa kuti atha kutulutsa kernel poyenda ndi laputopu yopepuka pafupi. M'mbuyomu, zaka zambiri zapitazo, Linus anali ndi chidziwitso chogwiritsa ntchito zida za Apple pachitukuko - adagwiritsapo ntchito PC yotengera ppc970 CPU ndi laputopu ya Macbook Air.

Mtundu watsopanowu ukuphatikizanso zosintha 16401 kuchokera kwa opanga 2190 (potulutsa komaliza panali zosintha 16206 kuchokera kwa opanga 2127), kukula kwa chigamba ndi 90 MB (zosintha zomwe zidakhudza mafayilo 13847, mizere 1149456 yamakhodi idawonjezedwa, mizere 349177 idachotsedwa). Pafupifupi 39% ya zosintha zonse zomwe zidayambitsidwa mu 5.19 zimagwirizana ndi madalaivala azipangizo, pafupifupi 21% ya zosintha zimakhudzana ndi kukonzanso kachidindo kamangidwe ka ma hardware, 11% ikugwirizana ndi stack networking, 4% ikugwirizana ndi mafayilo amafayilo, ndi 3% zimagwirizana ndi ma kernel subsystems amkati.

Zatsopano zazikulu mu kernel 5.19:

  • Disk Subsystem, I/O ndi File Systems
    • Dongosolo la fayilo la EROFS (Enhanced Read-Only File System), lomwe cholinga chake chinali kugwiritsidwa ntchito pamagawo owerengera okha, asinthidwa kuti agwiritse ntchito fscache subsystem, yomwe imapereka caching data. Kusinthaku kunasintha kwambiri magwiridwe antchito momwe zida zambiri zimayambira kuchokera ku chithunzi chochokera ku EROFS.
    • Mawonekedwe owerengera omwe akufuna awonjezedwa ku fscache subsystem, yomwe imagwiritsidwa ntchito kukhathamiritsa EROFS. Njira yatsopanoyi imakupatsani mwayi wokonza zowerengera zowerengera kuchokera pazithunzi za FS zomwe zili mumayendedwe akomweko. Mosiyana ndi momwe zimagwirira ntchito poyambira, zomwe zimayang'ana pa caching m'mafayilo am'deralo a data yomwe imasamutsidwa kudzera pamafayilo amtundu wa netiweki, mawonekedwe a "on-demand" amapereka ntchito zochotsa deta ndikuzilembera ku cache kumalo ena. ndondomeko yakumbuyo ikuyenda mu malo ogwiritsira ntchito.
    • XFS imapereka mwayi wosunga mabiliyoni azinthu zowonjezera mu i-node. Kuchuluka kwa kuchuluka kwa fayilo imodzi kwawonjezeka kuchoka pa 4 biliyoni kufika ku 247. Njira yakhazikitsidwa kuti isinthe ma atomu ma fayilo ambiri nthawi imodzi.
    • Dongosolo lamafayilo a Btrfs lakhathamiritsa ntchito ndi maloko, zomwe zimalola kuti chiwonjezeko cha 7% cha magwiridwe antchito polemba mwachindunji munjira yanowait. Kuchita kwa ntchito mu NOCOW mode (popanda kukopera-kulemba) kumawonjezeka ndi pafupifupi 3%. Katundu pa cache ya tsamba poyendetsa lamulo la "tumizani" wachepetsedwa. Kukula kochepa kwa masamba ang'onoang'ono kwachepetsedwa kuchokera ku 64K kupita ku 4K (matsamba ang'onoang'ono kuposa masamba a kernel angagwiritsidwe ntchito). Kusintha kwapangidwa kuchokera ku mtengo wa radix kupita ku XArrays algorithm.
    • Mawonekedwe awonjezedwa ku seva ya NFS kuti awonjezere kusungidwa kwa malo otsekera omwe akhazikitsidwa ndi kasitomala yemwe wasiya kuyankha zopempha. Njira yatsopanoyi imakulolani kuti muchedwetse kutseka kwa loko kwa tsiku limodzi pokhapokha ngati kasitomala wina atapempha loko yopikisana. Mumayendedwe abwinobwino, kutsekereza kumachotsedwa masekondi 90 kasitomala atasiya kuyankha.
    • Kachitidwe kakang'ono kakutsata zochitika mu fanotify FS imagwiritsa ntchito mbendera ya FAN_MARK_EVICTABLE, momwe mungathetsere kusindikiza ma i-node mu cache, mwachitsanzo, kunyalanyaza nthambi zing'onozing'ono popanda kusindikiza zigawo zake mu posungira.
    • Dalaivala wamafayilo a FAT32 adawonjezera chithandizo chothandizira kudziwa zambiri za nthawi yopangira mafayilo kudzera pa statx system call ndikukhazikitsa njira yabwino komanso yogwira ntchito ya stat(), yomwe imabweretsanso zambiri za fayilo.
    • Kukhathamiritsa kwakukulu kwapangidwa kwa dalaivala wa exFAT kuti alole kuchotsedwa nthawi imodzi kwa gulu la magawo pomwe njira ya 'dirsync' ikugwira ntchito, m'malo motsata magawo osiyanasiyana. Pochepetsa kuchuluka kwa zopempha za block pambuyo pa kukhathamiritsa, magwiridwe antchito opanga maupangiri ambiri pa SD khadi adakula ndi 73-85%, kutengera kukula kwa masango.
    • Kernel imaphatikizapo zosintha zoyamba zowongolera kwa ntfs3 driver. Popeza ntfs3 inaphatikizidwa mu 5.15 kernel ya October watha, dalaivala sanasinthidwe ndipo kuyankhulana ndi omangawo kwatayika, koma opanga tsopano ayambiranso kusindikiza kusintha. Zolemba zomwe zaperekedwazo zidachotsa zolakwika zomwe zimatsogolera kuchulukira kwa kukumbukira ndi kuwonongeka, kuthetsa mavuto ndi kuphedwa kwa xfstest, kuyeretsa ma code osagwiritsidwa ntchito, ndi ma typos okhazikika.
    • Kwa OverlayFS, kuthekera kopanga ma ID a ogwiritsa ntchito pamafayilo okwera kwakhazikitsidwa, komwe kumagwiritsidwa ntchito kufananiza mafayilo a wogwiritsa ntchito wina pagawo lakunja lokhazikitsidwa ndi wogwiritsa ntchito wina pamakina apano.
  • Memory ndi ntchito zadongosolo
    • Thandizo loyambira loyambira la zomangamanga za LoongArch zomwe zimagwiritsidwa ntchito mu purosesa za Loongson 3 5000, zomwe zimagwiritsa ntchito RISC ISA yatsopano, yofanana ndi MIPS ndi RISC-V. Zomangamanga za LoongArch zimapezeka m'mitundu itatu: zovula 32-bit (LA32R), 32-bit (LA32S) nthawi zonse, ndi 64-bit (LA64).
    • Khodi yochotsedwa kuti ithandizire fayilo ya a.out yotheka, yomwe idatsitsidwa pakutulutsidwa kwa 5.1. Mtundu wa a.out wasiya kugwira ntchito kwa nthawi yayitali pamakina a Linux, ndipo kupanga mafayilo a.out sikumathandizidwa ndi zida zamakono pazosintha za Linux. Chojambulira cha mafayilo a.out chikhoza kukhazikitsidwa kwathunthu pamalo ogwiritsira ntchito.
    • Thandizo pazosankha zamtundu wa x86-zayimitsidwa: nosp, nosmap, nosmep, noexec ndi noclflush).
    • Thandizo la zomangamanga za CPU h8300 (Renesas H8/300), zomwe zasiyidwa kwanthawi yayitali popanda thandizo, zathetsedwa.
    • Kuthekera kokulirapo kokhudzana ndi kuyankha pakuzindikirika kwa maloko ogawanika ("split Locks") omwe amapezeka mukamapeza deta yosasinthika m'makumbukidwe chifukwa chakuti popereka malangizo a atomiki, deta imadutsa mizere iwiri ya cache ya CPU. Kutsekeka kotereku kumabweretsa kutsika kwakukulu kwa magwiridwe antchito. Ngati kale, mwachisawawa, kernel ikanapereka chenjezo ndi chidziwitso chokhudza ndondomeko yomwe idayambitsa kutsekeka, tsopano zovutazo zidzachepetsedwa kwambiri kuti zisunge machitidwe ena onse.
    • Thandizo lowonjezera la makina a IFS (In-Field Scan) omwe akugwiritsidwa ntchito mu Intel processors, yomwe imakupatsani mwayi woyesa mayeso otsika a CPU omwe amatha kuzindikira zovuta zomwe sizizindikirika ndi zida zokhazikika potengera zolakwika zowongolera (ECC) kapena ma bits. . Mayesero omwe amachitidwa ali mu mawonekedwe a firmware yotsitsa, yopangidwa mofanana ndi zosintha za microcode. Zotsatira zoyeserera zimapezeka kudzera pa sysfs.
    • Anawonjezera kuthekera kophatikizira fayilo ya bootconfig mu kernel, yomwe imalola, kuwonjezera pa zosankha za mzere wamalamulo, kudziwa magawo a kernel kudzera pa fayilo yosintha. Kuyika kumachitika pogwiritsa ntchito kusankha 'CONFIG_BOOT_CONFIG_EMBED_FILE=Β»/PATH/TO/BOOTCONFIG/FILEΒ»'. M'mbuyomu, bootconfig idatsimikiziridwa ndikuyika chithunzi cha initrd. Kuphatikizika mu kernel kumalola bootconfig kuti igwiritsidwe ntchito pazosintha popanda initrd.
    • Kutha kutsitsa firmware yoponderezedwa pogwiritsa ntchito Zstandard algorithm yakhazikitsidwa. Mafayilo owongolera /sys/class/firmware/* awonjezedwa ku sysfs, kukulolani kuti muyambe kutsitsa firmware kuchokera pamalo ogwiritsa ntchito.
    • Maonekedwe a io_uring asynchronous I/O amapereka mbendera yatsopano, IORING_RECVSEND_POLL_FIRST, yomwe, ikakhazikitsidwa, idzatumiza kaye ntchito ya netiweki kuti ikonzedwe pogwiritsa ntchito mavoti, omwe angapulumutse zinthu zomwe zingasungidwe pakanthawi kovomerezeka. io_uring adawonjezeranso chithandizo cha foni ya socket() system, adakonza mbendera zatsopano kuti achepetse kasamalidwe ka mafayilo ofotokozera, adawonjezera njira ya "multi-shot" povomera maulumikizidwe angapo nthawi imodzi pakulandila () kuyimba, ndikuwonjezera ntchito zotumizira NVMe. amalamula mwachindunji chipangizo.
    • Для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Xtensa обСспСчСна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠ³ΠΎ инструмСнта KCSAN (Kernel Concurrency Sanitizer), ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ для динамичСского выявлСния состояний Π³ΠΎΠ½ΠΊΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ ядра. Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° спящСго Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΈ сопроцСссоров.
    • Pazomangamanga za m68k (Motorola 68000), makina owonera (platform simulator) yozikidwa pa emulator ya Android Goldfish yakhazikitsidwa.
    • Pazomangamanga za AArch64, chithandizo cha Armv9-A SME (Scalable Matrix Extension) chakhazikitsidwa.
    • Ma subsystem a eBPF amalola kusunga zolozera zojambulidwa pamapu, komanso kumawonjezera kuthandizira pazolozera zamphamvu.
    • Njira yatsopano yobwezeretsanso kukumbukira ikuperekedwa yomwe imathandizira kuwongolera malo pogwiritsa ntchito fayilo ya memory.reclaim. Kulemba nambala ku fayilo yotchulidwa kudzayesa kuchotsa nambala yofananira ya ma byte pagulu lomwe likugwirizana ndi gululo.
    • Kuwongolera kolondola kwa kagwiritsidwe ntchito ka kukumbukira pamene mukukankhira deta mu magawo osinthika pogwiritsa ntchito makina a zswap.
    • Pamamangidwe a RISC-V, chithandizo chogwiritsira ntchito 32-bit pa machitidwe a 64-bit chimaperekedwa, njira imawonjezedwa kuti imangirire zoletsa pamasamba amakumbukiro (mwachitsanzo, kuletsa caching), ndipo kexec_file_load () ntchito ikugwiritsidwa ntchito. .
    • Kukhazikitsa kwa chithandizo cha machitidwe a 32-bit Armv4T ndi Armv5 amasinthidwa kuti agwiritsidwe ntchito pama kernel amtundu wapadziko lonse lapansi oyenera machitidwe osiyanasiyana a ARM.
  • Virtualization ndi Chitetezo
    • Dongosolo laling'ono la EFI limagwiritsa ntchito kuthekera kotumiza zinsinsi zachinsinsi kwa kachitidwe ka alendo popanda kuziulula kwa okonzera. Zambiri zimaperekedwa kudzera mu bukhu lachitetezo/coco mu securityfs.
    • Njira yoteteza Lockdown, yomwe imaletsa ogwiritsa ntchito mizu kulowa mu kernel ndikutchinga njira za UEFI Secure Boot bypass, yachotsa njira yomwe idalola kuti chitetezo chizidulidwe poyendetsa kernel debugger.
    • Kuphatikizidwa ndi zigamba zomwe cholinga chake ndi kukonza kudalirika ndi magwiridwe antchito a jenereta ya manambala achinyengo.
    • Mukamanga pogwiritsa ntchito Clang 15, chithandizo chamakina opangira ma kernel osasinthika chimakhazikitsidwa.
    • Njira ya Landlock, yomwe imakupatsani mwayi wochepetsera kuyanjana kwa gulu lazinthu ndi chilengedwe chakunja, imapereka chithandizo pamalamulo omwe amakulolani kuwongolera magwiridwe antchito akusinthanso mafayilo.
    • Dongosolo laling'ono la IMA (Integrity Measurement Architecture), lopangidwa kuti litsimikizire kukhulupirika kwa magawo ogwiritsira ntchito pogwiritsira ntchito siginecha ya digito ndi ma hashes, yasinthidwa kugwiritsa ntchito fs-verity module yotsimikizira mafayilo.
    • Lingaliro lazochita poletsa mwayi wopezeka pagawo la eBPF lasinthidwa - m'mbuyomu malamulo onse okhudzana ndi foni ya bpf () adayimitsidwa, ndipo kuyambira pa mtundu wa 5.19, mwayi wopeza malamulo omwe satsogolera kupanga zinthu watsala. . Khalidweli limafuna njira yabwino yotsegulira pulogalamu ya BPF, koma njira zopanda mwayi zitha kuyanjana ndi pulogalamuyi.
    • Thandizo lowonjezera pakuwonjezedwa kwa AMD SEV-SNP (Secure Nested Paging), yomwe imapereka ntchito yotetezeka yokhala ndi matebulo amasamba okumbukira ndikuteteza ku "undeSERVed" ndi "SEVerity" kuukira kwa ma processor a AMD EPYC, omwe amalola kudutsa AMD SEV (Secure Encrypted Virtualization ) njira zodzitetezera.
    • Thandizo lowonjezera la makina a Intel TDX (Trusted Domain Extensions), omwe amakulolani kuti mutseke zoyesayesa za gulu lachitatu kuti mupeze makumbukidwe obisika a makina enieni.
    • Dalaivala wa virtio-blk, yemwe amagwiritsidwa ntchito kutsanzira zida za block, wawonjezera thandizo la I / O pogwiritsa ntchito kuvota, zomwe, malinga ndi mayeso, zachepetsa latency pafupifupi 10%.
  • Network subsystem
    • Phukusili limaphatikizapo zigawo zingapo za BIG TCP zomwe zimakulolani kuti muwonjezere kukula kwake kwa paketi ya TCP ku 4GB kuti mukwaniritse ntchito yothamanga kwambiri mkati mwa data center network. Kuwonjezeka kofanana kwa paketi ndi kukula kwa mutu wa 16-bit kumatheka kupyolera mu kukhazikitsa mapaketi a "jumbo", kukula kwa mutu wa IP womwe umayikidwa ku 0, ndipo kukula kwake kwenikweni kumafalitsidwa mosiyana 32-bit. munda mu mutu wophatikizidwa wosiyana. Poyesa ntchito, kuyika kukula kwa paketi ku 185 KB kumawonjezera kutulutsa ndi 50% ndikuchepetsa kwambiri kusamutsa kwa data.
    • Ntchito inapitilira pakuphatikiza zida mumagulu a netiweki kuti azitsatira zifukwa zogwetsera mapaketi (zizindikiro). Chifukwa chake chimatumizidwa pamene chikumbukiro chokhudzana ndi paketi chimamasulidwa ndipo chimalola zinthu monga kutayika kwa paketi chifukwa cha zolakwika zamutu, kuzindikira kwa rp_filter spoofing, checksum yosavomerezeka, kukumbukira, IPSec XFRM malamulo anayambitsa, nambala yosavomerezeka ya TCP, etc.
    • Thandizo lowonjezera la kubwerera kumbuyo kwa ma MPTCP (MultiPath TCP) kuti mugwiritse ntchito TCP nthawi zonse, pamene zina za MPTCP sizingagwiritsidwe ntchito. MPTCP ndikuwonjezera kwa protocol ya TCP yokonzekera kugwira ntchito kwa kulumikizana kwa TCP ndi kutumiza mapaketi nthawi imodzi m'njira zingapo kudzera pamaneti osiyanasiyana olumikizidwa ndi ma adilesi osiyanasiyana a IP. API Yowonjezera kuti muwongolere mitsinje ya MPTCP kuchokera pamalo ogwiritsa ntchito.
  • Zida
    • Onjezani mizere yopitilira 420k yamakhodi okhudzana ndi dalaivala wa amdgpu, pomwe mizere pafupifupi 400k ndi mafayilo apamutu odzipangira okha a data ya ASIC mu driver wa AMD GPU, ndipo mizere ina ya 22.5k imapereka chithandizo choyambirira cha AMD SoC21. Kukula konse kwa madalaivala a AMD GPU kudapitilira mizere ya 4 miliyoni. Kuphatikiza pa SoC21, dalaivala wa AMD akuphatikizapo chithandizo cha SMU 13.x (System Management Unit), chithandizo chosinthidwa cha USB-C ndi GPUVM, ndikukonzekera kuthandizira mibadwo yotsatira ya RDNA3 (RX 7000) ndi CDNA (AMD Instinct) .
    • Dalaivala wa i915 (Intel) ali ndi mphamvu zowonjezera zokhudzana ndi kayendetsedwe ka mphamvu. Zozindikiritsa zowonjezeredwa za Intel DG2 (Arc Alchemist) GPUs zogwiritsidwa ntchito pa laputopu, zidapereka chithandizo choyambirira cha nsanja ya Intel Raptor Lake-P (RPL-P), zinawonjezera zambiri za makadi ojambula a Arctic Sound-M), adakhazikitsa ABI pamainjini apakompyuta, owonjezera Makhadi a DG2 amathandizira mawonekedwe a Tile4; pamakina ozikidwa pa Haswell microarchitecture, chithandizo cha DisplayPort HDR chimakhazikitsidwa.
    • Dalaivala wa Nouveau wasintha kugwiritsa ntchito drm_gem_plane_helper_prepare_fb handler; static memory allocation yagwiritsidwa ntchito pazinthu zina ndi zosinthika. Ponena za kugwiritsa ntchito ma module a kernel open source ndi NVIDIA ku Nouveau, ntchitoyi mpaka pano ikufika pakuzindikira ndikuchotsa zolakwika. M'tsogolomu, firmware yosindikizidwa ikukonzekera kugwiritsidwa ntchito kuwongolera magwiridwe antchito.
    • Adawonjezera dalaivala wa NVMe controller yomwe imagwiritsidwa ntchito pamakompyuta a Apple kutengera chipangizo cha M1.

Nthawi yomweyo, Latin American Free Software Foundation idapanga mtundu wa kernel yaulere 5.19 - Linux-libre 5.19-gnu, yochotsedwa pazinthu za firmware ndi madalaivala okhala ndi zida zopanda ufulu kapena magawo a code, kukula kwake malire ndi wopanga. Kutulutsidwa kwatsopano kumayeretsa madalaivala a pureLiFi X/XL/XC ndi TI AMx3 Wkup-M3 IPC. Khodi yoyeretsera ma blob yosinthidwa mu Silicon Labs WFX, AMD amdgpu, Qualcomm WCNSS Peripheral Image Loader, Realtek Bluetooth, Mellanox Spectrum, Marvell WiFi-Ex, Intel AVS, IFS, pu3-imgu madalaivala ndi ma subsystems. Kukonza mafayilo amtundu wa Qualcomm AArch64 devicetree kwakhazikitsidwa. Thandizo lowonjezera lachidziwitso chatsopano cha Sound Open Firmware. Anasiya kuyeretsa dalaivala wa Ambassador wa ATM, yemwe adachotsedwa pamphuno. Kasamalidwe ka kuyeretsa ma blob mu HDCP ndi Mellanox Core asunthidwa kuti alekanitse ma tag a kconfig.

Source: opennet.ru

Kuwonjezera ndemanga