Linux 5.12 kernel kuburitswa

Mushure memwedzi miviri yebudiriro, Linus Torvalds akapa kuburitswa kweLinux kernel 5.12. Pakati peshanduko dzinonyanya kukosha: tsigiro yezvivharo zvakavharwa muBtrfs, kugona kumepu maID evashandisi eiyo faira system, kuchenesa nhaka yeArM architecture, "inoda" yekunyora modhi muNFS, iyo LOOKUP_CACHED nzira yekutarisa mafaera kubva kune cache. , tsigiro yemirairo yeatomu muBPF, debugging system KFENCE yekuziva zvikanganiso kana uchishanda nendangariro, NAPI yekuvhota modhi inomhanya mune yakaparadzana kernel shinda mune network stack, ACRN hypervisor, kugona kushandura preempt modhi panhunzi iri pabasa. scheduler uye rutsigiro rweLTO optimizations paunenge uchivaka muClang.

Iyo itsva vhezheni inosanganisira 14170 (mune yakapfuura kuburitswa 15480) inogadziriswa kubva 1946 (1991) vanogadzira, iyo chigamba saizi i38 MB (iyo shanduko dzakakanganisa 12102 (12090) mafaera, 538599 (868025) mitsara yekodhi yakawedzerwa, 333377 (261456) mitsetse yakadzimwa). Inenge 43% yeshanduko dzese dzakaunzwa mu5.12 dzine hukama nevatyairi vemidziyo, ingangoita 17% yeshanduko ine chekuita nekuvandudza kodhi yakanangana nehardware architecture, 12% ine hukama netiweki stack, 5% ine chekuita nemafaira masisitimu, uye 4% zvine hukama nemukati kernel subsystems.

Zvitsva zvikuru:

  • Disk Subsystem, I/O uye File Systems
    • Iko kugona kumepu maID evashandisi eakamisikidzwa faira masisitimu kwaitwa (unogona mepu mafaera emumwe mushandisi pane yakamisikidzwa yekune imwe nyika chikamu nemumwe mushandisi pane yazvino system). Mepu inotsigirwa neFAT, ext4 uye XFS faira masisitimu. Basa rakarongwa rinoita kuti zvive nyore kugovera mafaera pakati pevashandisi vakasiyana uye pamakomputa akasiyana, kusanganisira mepu ichashandiswa mune systemd-homed inotakurika imba dhairekitori meshini, ichibvumira vashandisi kutamisa madhairekitori avo epamba kune ekunze midhiya voishandisa pamakomputa akasiyana, kugadzira mepu. maID ID asingaenderane. Chimwe chinoshanda chekushandisa ndechekuronga kugoverwa kwekugovana mafaera kubva kune wekunze muenzi, pasina kunyatso shandura iyo data nezvevaridzi vemafaira ari mufaira system.
    • Iwo LOOKUP_CACHED zvigamba zvakagamuchirwa mu kernel, zvichibvumira mashandiro kuona nzira yefaira kubva munzvimbo yemushandisi pasina kuvharira, zvichibva pane data iripo mu cache. Iyo LOOKUP_CACHED modhi inovhurwa mu openat2 () kufona nekupfuura iyo RESOLVE_CACHED mureza, umo data rinoshandiswa chete kubva kucache, uye kana iyo nzira yekumisikidza ichida kuwana dhiraivha, iyo EAGAIN kukanganisa kunodzoserwa.
    • Iyo Btrfs faira sisitimu yakawedzera rutsigiro rwekutanga kune zoned block zvishandiso (midziyo pane yakaoma magineti disks kana NVMe SSDs, nzvimbo yekuchengetera iyo yakakamurwa kuita mazones anoumba mapoka ezvivharo kana zvikamu, izvo chete zvakateedzana kuwedzera kwedata kunobvumidzwa, kuvandudza boka rose rezvivharo). Mukuverenga-chete modhi, tsigiro yezvivharo zvine metadata uye data idiki pane peji (subpage) inoitwa.
    • MuF2FS faira system, kugona kusarudza iyo algorithm uye compression level yakawedzerwa. Yakawedzera tsigiro yekumanikidza kwepamusoro kweiyo LZ4 algorithm. Yaita chekipoint_merge yekumisikidza sarudzo.
    • Murairo mutsva weoctl FS_IOC_READ_VERITY_METADATA waitwa kuti uverenge metadata kubva kumafaira akachengetedzwa nefs-verity.
    • Mutengi weNFS anoshandisa "chido" kunyora modhi (inonyora = chido), kana yagoneswa, nyora mashandiro kufaira anobva aendeswa kuseva, nekupfuura cache peji. Iyi modhi inokubvumira kuti uderedze ndangariro kushandiswa, inopa pakarepo risiti yeruzivo nezve kupera kwemahara nzvimbo mune yefaira system, uye mune mamwe mamiriro anoita kuti zvikwanise kuwana yakawedzera kuita.
    • Sarudzo nyowani dzegomo dzakawedzerwa kuCIFS (SMB): acregmax yekudzora faira caching uye acdirmax kudzora dhairekitori metadata caching.
    • MuXFS, yakawanda-yakarukwa quota yekutarisa modhi yakagoneswa, fsync execution yakakwidziridzwa, uye growfs kodhi yakagadzirirwa kuita basa rekudzikisa saizi yefaira system.
  • Memory uye system masevhisi
    • Iyo DTMP (Dynamic Thermal Power Management) subsystem yakawedzerwa, ichikutendera iwe kuti udzore zvine simba mashandisirwo emagetsi ezvishandiso zvakasiyana zvichienderana neyakagadzikwa yekushisa kwese.
    • Iko kugona kuvaka kernel uchishandisa Clang compiler pamwe nekubatanidzwa kwe optimizations padanho rekubatanidza (LTO, Link Time Optimization) yaitwa. LTO optimizations inosiyana nekutarisa mamiriro emafaira ese anobatanidzwa mukuvaka maitiro, nepo echinyakare optimization modhi inokwirisa yega faira zvakasiyana uye isingatarise mamiriro ekufona mabasa anotsanangurwa mune mamwe mafaera. Semuenzaniso, neLTO, inline deployment inogoneka kune mabasa kubva kune mamwe mafaera, isina kushandiswa kodhi haina kuisirwa muexecutable faira, mhando yekutarisa uye general optimization inoitwa padanho reprojekiti yakazara. Rutsigiro rweLTO parizvino rwakaganhurirwa kune x86 uye ARM64 zvivakwa.
    • Zvinogoneka kusarudza preemption modes (PREEMPT) mugadziri webasa padanho rekutanga (preempt=hapana/kuzvidira/yakazara) kana uchishanda kuburikidza nedebugfs (/debug/sched_debug), kana iyo PREEMPT_DYNAMIC yekumisikidza yakatsanangurwa pakuvaka kernel. Kare, iyo extrusion modhi yaigona kungoiswa padanho regungano. Shanduko iyi inobvumira kugovera kutumira kernels ine PREEMPT modhi inogoneswa, iyo inopa kushoma latency yematafura pamutengo wediki diki chirango, uye kana zvichidikanwa dzokera kuPREEMPT_VOLUNTARY (yepakati modhi yemadesktop) kana PREEMPT_NONE (inopa yakanyanya kubuditsa kumaseva) .
    • Tsigiro yekushanda kweatomu BPF_ADD, BPF_AND, BPF_OR, BPF_XOR, BPF_XCHG neBPF_CMPXCHG yawedzerwa kune subsystem yeBPF.
    • Zvirongwa zveBPF zvinopihwa kugona kuwana data pane stack uchishandisa anonongedzera ane akasiyana offset. Semuyenzaniso, kana kare waingoshandisa indekisi yenguva dzose kuti uwane array pane stack, ikozvino unogona kushandisa inochinja. Kuwana kutonga chete mukati memiganhu iripo kunoitwa neBPF verifier. Iyi ficha inongowanikwa kune akasarudzika zvirongwa nekuda kwekunetsekana pamusoro pekushandiswa kwekufungidzira kodhi kuuraya kusagadzikana.
    • Yakawedzera kugona kwekubatanidza zvirongwa zveBPF kune isina tracepoints isingabatanidzwe nezviitiko zvekuteedzera zvinoonekwa munzvimbo yemushandisi (kuchengetedza kweABI hakuna kuvimbiswa kune akadaro tracepoints).
    • Tsigiro yebhazi reCXL 2.0 (Compute Express Link) yaitwa, iyo inoshandiswa kuronga kumhanyisa-kumhanya pakati peCPU nemidziyo yekurangarira (inobvumidza iwe kushandisa ekunze ndangariro midziyo sechikamu che RAM kana chisingaperi chiyeuchidzo, sekunge iyi ndangariro. dzakabatana kuburikidza neyakajairwa memory controller muCPU).
    • Yakawedzera nvmem mutyairi kuti atore data kubva ku firmware-yakachengetedzwa ndangariro nzvimbo dzisingasvikike zvakananga kuLinux (somuenzaniso, EEPROM ndangariro inosvikika panyama chete kune firmware, kana dhata inongowanikwa panguva yekutanga bhutsu chikamu).
    • Tsigiro ye "oprofile" profiling system yakabviswa, iyo yanga isinga shandiswe zvakanyanya uye yakatsiviwa neyazvino perf mechanism.
    • Iyo io_uring asynchronous I/O interface inopa kubatanidzwa nemapoka anodzora kushandiswa kwendangariro.
    • Iyo RISC-V dhizaini inotsigira NUMA masisitimu, pamwe nekprobes uye uprobes masisitimu.
    • Yakawedzera kugona kushandisa iyo kcmp() system yekufona zvisinei nekushanda kwe process state snapshots (cheki/kudzorera).
    • Iwo EXPORT_UNUSED_SYMBOL() uye EXPORT_SYMBOL_GPL_FUTURE() macros, anga asingashandiswe kwemakore akawanda, akabviswa.
  • Virtualization uye Chengetedzo
    • Yakawedzera KFence (Kernel Electric Fence) nzira yekudzivirira, inobata zvikanganiso kana uchishanda nendangariro, senge buffer overruns uye kuwana mushure mekusunungura ndangariro. Kusiyana neiyo KASAN debugging mechanism, iyo KFence subsystem inoratidzwa nekumhanya kwepamusoro kwekushanda uye yakaderera pamusoro, iyo inobvumidza iwe kubata zvikanganiso zvekurangarira zvinongoonekwa pakushanda masisitimu kana panguva yekushanda kwenguva refu.
    • Yakawedzera tsigiro ye ACRN hypervisor, yakanyorwa neziso rekugadzirira-chaiyo-nguva mabasa uye ikodzera kushandiswa mumishini-yakakosha masisitimu. ACRN inopa zvishoma pamusoro, inovimbisa yakaderera latency uye yakakwana yekupindura kana uchibatana nemidziyo. Inotsigira virtualization yeCPU zviwanikwa, I/O, network subsystem, magiraidhi uye mashandiro anoita ruzha. ACRN inogona kushandiswa kumhanyisa akawanda ega ega muchina mumagetsi ekudzora mayuniti, zviridzwa mapaneru, mota ruzivo masisitimu, yevatengi IoT zvishandiso uye humwe hunyanzvi hwakadzamirwa. ACRN inotsigira mhando mbiri dzevaenzi masisitimu - akaropafadzwa Service VMs, ayo anoshandiswa kubata system zviwanikwa (CPU, ndangariro, I/O, nezvimwewo), uye tsika Mushandisi VMs, inogona kumhanya Linux, Android uye Windows kugovera.
    • Mune iyo IMA (Integrity Measurement Architecture) subsystem, iyo inochengetedza dhatabhesi yehashi yekutarisa kutendeseka kwemafaira uye yakabatana metadata, zvino zvinogoneka kutarisa kuvimbika kweiyo data yekernel pachayo, semuenzaniso, kutevedzera shanduko mumitemo yeSELinux. .
    • Iko kugona kubata Xen hypercalls uye kuendesa kune emulator inomhanya munzvimbo yemushandisi yakawedzerwa kune KVM hypervisor.
    • Yakawedzera kugona kushandisa Linux semudzi nharaunda yeHyper-V hypervisor. Iyo midzi nharaunda ine mukana wakananga kune Hardware uye inoshandiswa kumhanyisa masisitimu evaenzi (anofanana neDom0 muXen). Kusvika ikozvino, Hyper-V (Microsoft Hypervisor) yakatsigira Linux chete munzvimbo dzevaenzi, asi iyo hypervisor pachayo yaidzorwa kubva kuWindows-based environment.
    • Yakawedzera tsigiro ye inline encryption yeEMMC makadhi, ichikubvumidza iwe kushandisa encryption masisitimu akavakirwa mudhiraivha dhiraivha iyo inovhara pachena uye decrypt I/O.
    • Tsigiro yeRIPE-MD 128/256/320 uye Tiger 128/160/192 hashes, isingashandiswe mukati, pamwe neSalsa20 stream cipher, iyo yakatsiviwa neChaCha20 algorithm, yakabviswa kubva crypto subsystem. Iyo blake2 algorithm yakagadziridzwa kuti ishandise blake2s.
  • Network subsystem
    • Yakawedzera kugona kufambisa iyo NAPI yekuvhota inobata yetiweki zvishandiso kune yakaparadzana kernel shinda, iyo inobvumira kuvandudzwa kwekuita kwemamwe marudzi ebasa. Kare, kuvhota kwaiitwa muchimiro chesoftirq uye hakuna kufukidzwa neanoronga basa, izvo zvakaita kuti zviome kuita zvakanaka-grained optimizations kuti uwane kuita kwakanyanya. Kuitwa mune yakaparadzana kernel tambo inobvumira mubati wekuvhota kuti aonekwe kubva munzvimbo yemushandisi, yakasungirirwa kune yega CPU cores, uye inotariswa pakuronga basa rekuchinja. Kugonesa iyo nyowani modhi mumasysfs, iyo /sys/class/net/ parameter inokurudzirwa / threaded.
    • Kubatanidzwa mukati memusimboti weMPTCP (MultiPath TCP), kuwedzera kweTCP protocol yekuronga kushanda kweTCP yekubatanidza nekuendeswa kwemapaketi panguva imwe chete munzira dzinoverengeka kuburikidza netiweki interfaces dzakasiyana dzine chekuita neakasiyana IP kero. Kuburitswa kutsva kunowedzera kugona kuisa pamberi kune dzimwe shinda, izvo zvinobvumira, semuenzaniso, kuronga basa rekuchengetedza tambo dzinobatidzwa chete kana paine matambudziko netambo yekutanga.
    • IGMPv3 inowedzera rutsigiro rweEHT (Explicit Host Tracking) maitiro.
    • Netfilter's packet kusefa injini inopa kugona kuve nemamwe matafura kuti uwane yakasarudzika kutonga (semuenzaniso, yekumashure firewall process inogona kutora muridzi wemamwe matafura, kudzivirira chero chero ani zvake kuti avapindire).
  • Zvigadzirwa
    • Takachenesa mapuratifomu eArM akasakara uye asina kuchengetedzwa. Iyo kodhi yeefm32, picoxcell, prima2, tango, u300, zx uye c6x mapuratifomu, pamwe nevatyairi vanobatanidzwa, yakabviswa.
    • Mutyairi weamdgpu anopa kugona kudarika (OverDrive) makadhi akavakirwa paSienna Cichlid GPU (Navi 22, Radeon RX 6xxx). Yakawedzera tsigiro yeFP16 pixel fomati yeDCE (injini yekuratidzira) kubva ku8 kusvika kuchizvarwa chechi11. Kune GPU Navy Flounder (Navi 21) uye APU Van Gogh, kugona kuseta zvakare GPU kwaitwa.
    • Mutyairi weI915 weIntel graphics cards anoshandisa i915.mitigations parameter kudzima nzira dzekuzviparadzanisa nevamwe uye dziviriro nekuda kwekuvandudzwa kwekuita. Kune machipisi anotanga kubva kuTiger Lake, tsigiro yeVRR (Variable Rate Refresh) nzira inosanganisirwa, iyo inokutendera kuti uchinje uchinje mwero wekuzorodza wekutarisa kuti uve nechokwadi chekutsvedzerera uye pasina mapundu panguva yemitambo. Tsigiro yeIntel Clear Color tekinoroji inosanganisirwa yekuvandudzwa kwemavara. Yakawedzerwa rutsigiro rweDP-HDMI 2.1. Iko kugona kudzora backlight ye eDP mapaneru kwaitwa. Kune Gen9 GPUs ine LSPCON (Level Shifter uye Protocol Converter) rutsigiro, HDR rutsigiro runogoneswa.
    • Mutyairi weNouveau anowedzera rutsigiro rwekutanga rweNVIDIA GPUs zvichibva pane GA100 (Ampere) yekuvakisa.
    • Mutyairi wemsm anowedzera rutsigiro rweAdreno 508, 509 uye 512 GPUs anoshandiswa muSDM (Snapdragon) 630, 636 uye 660 machipisi.
    • Yakawedzerwa rutsigiro rweSound BlasterX AE-5 Plus, Lexicon I-ONIX FW810s uye Pioneer DJM-750 makadhi ekunzwika. Yakawedzerwa rutsigiro rweIntel Alder Lake PCH-P odhiyo subsystem. Tsigiro yesoftware simulation yekubatanidza uye kudimbura chinongedzo cheaudio yakaitwa kuitira kugadzirisa zvibatiso munzvimbo yemushandisi.
    • Yakawedzerwa tsigiro yeNintendo 64 game consoles yakagadzirwa kubva 1996 kusvika 2003 (yekare kuedza kutakura Linux kuenda kuNintendo 64 haina kupera uye yakarongedzerwa seVaporware). Iko kukurudzira kwekugadzira chiteshi chitsva chepuratifomu yechinyakare, iyo isati yaburitswa kweanoda kusvika makore makumi maviri, chishuwo chekukurudzira kuvandudzwa kwemaemulator uye kurerutsa kutakurwa kwemitambo.
    • Yakawedzera mutyairi weSony PlayStation 5 DualSense mutambo wekutonga.
    • Yakawedzerwa rutsigiro rwemabhodhi eARM, zvishandiso uye mapuratifomu: PineTab, Snapdragon 888 / SM8350, Snapdragon MTP, Two Beacon EmbeddedWorks, Intel eASIC N5X, Netgear R8000P, Plymovent M2M, Beacon i.MX8M Nano, NanoPi M4B.
    • Yakawedzerwa rutsigiro rwePurism Librem5 Evergreen, Xperia Z3+/Z4/Z5, ASUS Zenfone 2 Laser, BQ Aquaris X5, OnePlus6, OnePlus6T, Samsung GT-I9070 smartphones.
    • Yakawedzera bcm-vk mutyairi weBroadcom VK accelerator mabhodhi (semuenzaniso, Valkyrie uye Viper PCIe mabhodhi), ayo anogona kushandiswa kuburitsa odhiyo, vhidhiyo uye magadzirirwo emifananidzo, pamwe nekuvharidzira-ane chekuita nekushanda, kune yakaparadzana mudziyo.
    • Yakawedzera tsigiro yeLenovo IdeaPad chikuva nekugona kudzora nguva dzose kuchaja uye keyboard backlighting. Zvakare zvakapihwa rutsigiro rweiyo ACPI mbiri yeThinkPad chikuva nekugona kudzora mashandisiro emagetsi modes. Yakawedzera mutyairi weLenovo FungaPad X1 Tablet Gen 2 HID subsystem.
    • Yakawedzera ov5647 mutyairi ane rutsigiro rwekamera module yeRaspberry Pi.
    • Yakawedzerwa rutsigiro rweRISC-V SoC FU740 uye HiFive Unleashed mabhodhi. Mutyairi mutsva weKendryte K210 chip awedzerwawo.

Source: opennet.ru

Voeg