Kutulutsidwa kwa kernel ya Linux 6.0

Pambuyo pa miyezi iwiri yachitukuko, Linus Torvalds yatulutsa Linux 6.0 kernel. Kusintha kwakukulu kwa manambala ndi chifukwa cha zokongoletsa ndipo ndi sitepe yovomerezeka kuti athetse vuto la kudzikundikira kwa zotulutsa zambiri pamndandanda (Linus adaseka kuti chifukwa chosinthira nambala yanthambi ndizotheka kuti atha kutha. ndi zala kuwerengera manambala amtundu) . Zina mwa zosintha zodziwika bwino: kuthandizira ma asynchronous buffered akulemba mu XFS, ublk block driver, kukhathamiritsa kwa ntchito, njira yotsimikizira kugwira ntchito koyenera kwa kernel, kuthandizira kwa ARIA block cipher.

Zatsopano zazikulu mu kernel 6.0:

  • Disk Subsystem, I/O ndi File Systems
    • Thandizo la asynchronous buffered limalemba pogwiritsa ntchito njira ya io_uring yawonjezedwa ku fayilo ya XFS. Mayeso a magwiridwe antchito opangidwa ndi zida za fio (ulusi umodzi, kukula kwa block 1kb, masekondi 4, kulemba motsatizana) akuwonetsa kuwonjezeka kwa ntchito zolowetsa / zotulutsa pamphindikati (IOPS) kuchokera pa 600k mpaka 77k, kusamutsa deta kuchokera ku 209MB / s mpaka 314MB /s , ndipo latency imatsika kuchokera ku 854ns kufika ku 9600ns (nthawi 120).
    • Dongosolo la mafayilo a Btrfs limagwiritsa ntchito mtundu wachiwiri wa protocol ya "send" command, yomwe imagwiritsa ntchito thandizo la metadata yowonjezera, kutumiza deta m'mabwalo akuluakulu (kuposa 64K) ndikusintha magawo mu mawonekedwe oponderezedwa. Kwambiri (mpaka nthawi za 3) ntchito zowerengera mwachindunji zawonjezeka chifukwa chowerenga nthawi imodzi mpaka magawo 256. Kuchepetsa mikangano yotseka ndikufulumizitsa kutsimikizika kwa metadata pochepetsa metadata yosungidwa pazinthu zomwe zachedwetsedwa.
    • Ntchito zatsopano za EXT4_IOC_GETFSUUID ndi EXT4_IC_SETFSUUID ioctl zawonjezedwa ku fayilo ya ext4 kuti mutenge kapena kukhazikitsa UUID yosungidwa mu block block.
    • Fayilo ya F2FS imapereka njira yochepetsera kukumbukira yomwe imathandizira magwiridwe antchito pazida zomwe zili ndi RAM yotsika ndikukulolani kuti muchepetse kugwiritsa ntchito kukumbukira ndikuwononga magwiridwe antchito.
    • Thandizo lowonjezera la NVMe drive kutsimikizika.
    • Seva ya NFSv4 imagwiritsa ntchito malire pa chiwerengero cha makasitomala omwe akugwira ntchito, omwe amaikidwa ku 1024 makasitomala ovomerezeka pa gigabyte ya RAM mu dongosolo.
    • Kukhazikitsa kwamakasitomala a CIFS kwasintha magwiridwe antchito ambiri.
    • Mbendera yatsopano ya FAN_MARK_IGNORE yawonjezedwa ku kachitidwe kakang'ono kakutsata zochitika mu fanotify FS kunyalanyaza zochitika zinazake.
    • M'mafayilo a Overlayfs, ikayikidwa pamafayilo okhala ndi mapu a ID, mindandanda ya POSIX-yotsatira yolowera imathandizidwa molondola.
    • Wowonjezera ublk block driver yemwe amawulula malingaliro enieni pamachitidwe akumbuyo kwa ogwiritsa ntchito ndikugwiritsa ntchito io_uring subsystem.
  • Memory ndi ntchito zadongosolo
    • Zatsopano zawonjezeredwa ku gawo laling'ono la DAMON (Data Access MONitor) lomwe limalola osati kungoyang'anira njira za RAM kuchokera kumalo ogwiritsira ntchito, komanso kukhudza kasamalidwe ka kukumbukira. Makamaka, gawo latsopano "LRU_SORT" likufunsidwa, lomwe limapereka kukonzanso kwa LRU (Zomwe Zagwiritsidwa Ntchito Posachedwapa) kuti ziwonjezere kufunikira kwamasamba ena okumbukira.
    • Kutha kupanga zigawo zatsopano zokumbukira pogwiritsa ntchito basi ya CXL (Compute Express Link), yomwe imagwiritsidwa ntchito pokonzekera kuyanjana kothamanga kwambiri pakati pa CPU ndi zida zamakumbukiro, yakhazikitsidwa. CXL imalola zigawo zatsopano zokumbukira zomwe zimaperekedwa ndi zida zamakumbukiro zakunja kuti ziphatikizidwe ndikugwiritsidwa ntchito ngati malo owonjezera a adilesi kuti awonjezere kukumbukira kwachisawawa (DDR) kapena kukumbukira-kuwerenga kokha (PMEM).
    • Kuwongolera kachitidwe kachitidwe ka mapurosesa a AMD Zen oyambitsidwa ndi ma code omwe adawonjezeredwa zaka 20 zapitazo kuti athetse vuto la hardware mu chipsets zina (malangizo owonjezera a WAIT adawonjezedwa kuti muchepetse purosesa kuti chipset ikhale ndi nthawi yolowa m'malo opanda pake). Kusinthaku kudapangitsa kuti magwiridwe antchito azichulukirachulukira omwe nthawi zambiri amasinthana pakati pa malo opanda ntchito ndi otanganidwa. Mwachitsanzo, mutayimitsa njira yodutsa, kuchuluka kwa mayeso a tbench kudakwera kuchoka pa 32191 MB/s mpaka 33805 MB/s.
    • Yachotsa code ya heuristic kuchokera kwa wokonza ntchito, zomwe zimatsimikizira kusamuka kwa njira kupita ku ma CPU odzaza kwambiri, poganizira phindu lomwe linanenedweratu pakugwiritsa ntchito mphamvu. Madivelopa adazindikira kuti heuristic siyothandiza ndipo ndiyosavuta kuchotsa ndikusuntha njira popanda kuwunika kowonjezera nthawi iliyonse kusamutsa koteroko kungayambitse kuchepa kwa mphamvu zamagetsi (mwachitsanzo, CPU ikakhala pamlingo wokwanira. pogwiritsa ntchito mphamvu zochepa). Kulepheretsa ma heuristics kunapangitsa kuti mphamvu yogwiritsira ntchito mphamvu ikhale yochepa pochita ntchito zazikulu, mwachitsanzo, poyesa ndi kujambula mavidiyo, kugwiritsa ntchito mphamvu kunatsika ndi 5.6%.
    • Kugawidwa kwa ntchito pamagulu a CPU pamakina akulu kwakonzedwa, zomwe zidapangitsa kuti zitheke kukulitsa magwiridwe antchito pansi pamitundu ina ya katundu.
    • Mawonekedwe a io_uring asynchronous I/O amabweretsa mbendera yatsopano, IORING_RECV_MULTISHOT, yomwe imalola kuti ma multishot mode agwiritsidwe ntchito ndi recv() system call kuti awerenge zambiri kuchokera pa socket imodzi nthawi imodzi. io_uring imagwiritsanso ntchito kuthandizira kusamutsa kwa netiweki popanda kubisa kwapakati (zero-copy).
    • Kukhazikitsa kuthekera koyika mapulogalamu a BPF olumikizidwa ndi uprobe kukhala malo ogona. BPF imawonjezeranso ksym iterator yatsopano kuti igwire ntchito ndi matebulo azizindikiro za kernel.
    • Kuchotsa mawonekedwe a "efivars" mu sysfs kuti mupeze zosintha za UEFI (mafayilo a efivarfs tsopano amagwiritsidwa ntchito paliponse kuti apeze data ya EFI).
    • Perf utility ili ndi malipoti atsopano oti aunike mikangano yotseka komanso nthawi yomwe purosesa imathera popanga zida za kernel.
    • Yachotsa CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3 makonda, omwe amalola kupanga kernel mu "-O3" kukhathamiritsa mode. Amadziwika kuti kuyesera ndi modes kukhathamiritsa angathe kuchitidwa kudzera kufala kwa mbendera pa msonkhano ("pangani KCFLAGS = -O3"), ndi kuwonjezera zoikamo Kconfig, pakufunika kupereka repeatable ntchito mbiri, kusonyeza kuti kuzungulira. kumasula komwe kumayikidwa mu "-O3" mode kumapereka phindu poyerekeza ndi "-O2" mulingo wokhathamiritsa.
    • Mawonekedwe a debugfs awonjezedwa kuti adziwe zambiri za magwiridwe antchito a "memory shrinkers" (ogwira ntchito omwe amatchedwa pakakhala kuchepa kwa kukumbukira ndikulongedza ma data a kernel kuti achepetse kukumbukira kwawo).
    • Thandizo la basi ya PCI lakhazikitsidwa pamapangidwe a OpenRISC ndi LoongArch.
    • Pazomangamanga za RISC-V, kukulitsa kwa "Zicbom" kumayendetsedwa kuyang'anira zida zomwe zili ndi DMA zomwe sizogwirizana ndi cache (zosagwirizana ndi cache).
  • Virtualization ndi Chitetezo
    • Makina otsimikizira a RV (Runtime Verification) awonjezedwa kuti ayang'ane magwiridwe antchito olondola pamakina odalirika omwe amatsimikizira kuti palibe zolephera. Kutsimikizira kumachitika panthawi yothamanga pomangirira zogwira ku tracepoints zomwe zimayang'ana momwe kachitidwe kachitidweko kakuyendera motsutsana ndi chitsanzo chodziwikiratu cha deterministic automaton chomwe chimatanthawuza machitidwe omwe akuyembekezeka padongosolo. Kutsimikizira kwachitsanzo cha nthawi yothamanga kumayikidwa ngati njira yopepuka komanso yosavuta kugwiritsa ntchito yotsimikizira kulondola kwa machitidwe ofunikira kwambiri, zomwe zikugwirizana ndi njira zotsimikizira zodalirika zakale. Zina mwazabwino za RV ndikutha kupereka chitsimikiziro chokhazikika popanda kukhazikitsidwa kosiyana kwa dongosolo lonse muchilankhulo chachitsanzo, komanso kuyankha kosinthika ku zochitika zosayembekezereka.
    • Zida zophatikizika za kernel zowongolera ma enclaves potengera ukadaulo wa Intel SGX2 (Software Guard eXtensions), womwe umalola mapulogalamu kuti agwiritse ntchito ma code m'malo okumbukira obisika, omwe amalephera kugwiritsa ntchito makina onse. Ukadaulo wa Intel SGX2 umathandizidwa mu tchipisi ta Intel Ice Lake ndi Gemini Lake, ndipo umasiyana ndi Intel SGX1 mumalangizo owonjezera owongolera kukumbukira kwa enclave.
    • Pazomangamanga za x86, ndizotheka kusamutsa mbewu ya jenereta ya pseudo-random nambala kudzera pa zoikamo za bootloader.
    • Anawonjezera kuthekera kosamalira zosintha zomwe zapangidwa kudzera pa setgroups() kuyimba ku gawo la SafeSetID LSM. SafeSetID imalola ntchito zamakina kuti ziziyang'anira ogwiritsa ntchito mosamala popanda kukweza mwayi (CAP_SETUID) komanso osapeza mphamvu za ogwiritsa ntchito.
    • Thandizo lowonjezera la ARIA block cipher.
    • Module yoyang'anira chitetezo yochokera ku BPF imagwiritsa ntchito kuthekera kophatikiza othandizira kumachitidwe amunthu payekha ndikukonza magulu (magulu).
    • Kachitidwe kokhala ndi kukhazikitsidwa kwa ulonda wawonjezedwa kuti azitha kuzindikira kachitidwe ka alendo potengera kuyang'anira zochitika za vCPU.
  • Network subsystem
    • Zothandizira kupanga ndikuwunika ma cookie a SYN awonjezedwa ku gawo laling'ono la BPF. Gulu la ntchito (kfunc) lawonjezedwanso kuti mupeze ndikusintha mawonekedwe olumikizana.
    • Thandizo la makina a MLO (Multi-Link Operation), omwe amafotokozedwa mu WiFi 7, awonjezedwa ku stack opanda zingwe, zomwe zimalola zipangizo kuti zilandire ndi kutumiza deta nthawi imodzi pogwiritsa ntchito magulu osiyanasiyana a maulendo ndi maulendo, mwachitsanzo, kukhazikitsa angapo. njira zoyankhulirana nthawi imodzi pakati pa malo olowera ndi chipangizo cha kasitomala.
    • Kuchita bwino kwa protocol ya TLS yomangidwa mu kernel.
    • Onjezani "hostname=" kernel command-line njira yolola kuyika dzina la alendo kumayambiriro kwa boot, magawo a ogwiritsa ntchito asanayambike.
  • Zida
    • Dalaivala wa i915 (Intel) amapereka chithandizo kwa makadi ojambula a Intel Arc (DG2/Alchemist) A750 ndi A770. Kukhazikitsa koyambirira kothandizira Intel Ponte Vecchio (Xe-HPC) ndi Meteor Lake GPUs kwaperekedwa. Ntchito inapitilira pakuthandizira nsanja ya Intel Raptor Lake.
    • Dalaivala wa amdgpu akupitilizabe kuthandizira mapulatifomu a AMD RDNA3 (RX 7000) ndi CDNA (Instinct).
    • Mu driver wa Nouveau, kachidindo kothandizira injini zowonetsera za NVIDIA nv50 GPU zakonzedwanso.
    • Adawonjezera dalaivala watsopano wa logicvc DRM pazithunzi za LogiCVC.
    • Dalaivala wa v3d (wa Broadcom Video Core GPUs) tsopano amathandizira matabwa a Raspberry Pi 4.
    • Thandizo lowonjezera la Qualcomm Adreno 619 GPU kwa oyendetsa msm.
    • Thandizo la ARM Mali Valhall GPUs lawonjezedwa kwa oyendetsa Panfrost.
    • Kuwonjezedwa koyambirira kwa mapurosesa a Qualcomm Snapdragon 8cx Gen3 omwe amagwiritsidwa ntchito mu laputopu ya Lenovo ThinkPad X13s.
    • Madalaivala omvera owonjezera a AMD Raphael (Ryzen 7000), AMD Jadeite, Intel Meteor Lake ndi nsanja za Mediatek MT8186.
    • Thandizo lowonjezera la Intel Habana Gaudi 2 makina othamangitsira kuphunzira.
    • Thandizo lowonjezera la ARM SoC Allwinner H616, NXP i.MX93, Sunplus SP7021, Nuvoton NPCM8XX, Marvell Prestera 98DX2530, Google Chameleon v3.

Nthawi yomweyo, Latin American Free Software Foundation idapanga mtundu wa kernel 6.0 yaulere kwathunthu - Linux-libre 6.0-gnu, yochotseredwa ndi firmware ndi zinthu zoyendetsa zomwe zili ndi zida zosakhala zaulere kapena magawo a code, kuchuluka kwake komwe kumachepetsedwa ndi wopanga. Kutulutsidwa kwatsopanoku kumalepheretsa kugwiritsa ntchito ma blobs mu CS35L41 HD-audio driver ndi UCSI driver wa STM32G0 microcontrollers. Yatsuka mafayilo a dts a Qualcomm ndi MediaTek chips. Kukonzanso kuletsa ma blobs mu driver wa MediaTek MT76. Khodi yoyeretsa blob yosinthidwa mu AMDGPU, Adreno, Tegra VIC, Netronome NFP ndi madalaivala a Habanalabs Gaudi2 ndi ma subsystems. Anasiya kuyeretsa dalaivala wa VXGE wochotsedwa pa kernel.

Source: opennet.ru

Kuwonjezera ndemanga