Rilaxx tal-kernel Linux 5.14

Wara xahrejn ta 'żvilupp, Linus Torvalds ippreżenta r-rilaxx tal-kernel Linux 5.14. Fost l-aktar bidliet notevoli: sejħiet ġodda tas-sistema quotactl_fd() u memfd_secret(), tneħħija ta 'ide u sewwieqa mhux ipproċessati, kontrollur ta' prijorità I/O ġdid għal cgroup, mod ta 'skedar tal-kompiti SCHED_CORE, infrastruttura għall-ħolqien ta' loaders tal-programmi BPF verifikati.

Il-verżjoni l-ġdida tinkludi 15883 tiffissa minn 2002 żviluppatur, id-daqs tal-garża huwa 69 MB (il-bidliet affettwaw 12580 fajl, ġew miżjuda 861501 linja ta 'kodiċi, 321654 linji ġew imħassra). Madwar 47% tal-bidliet kollha introdotti f'5.14 huma relatati mas-sewwieqa tal-apparat, madwar 14% tal-bidliet huma relatati mal-aġġornament tal-kodiċi speċifiku għall-arkitetturi tal-ħardwer, 13% huma relatati mal-munzell tan-netwerking, 3% huma relatati mas-sistemi tal-fajls, u 3% huma relatati mas-subsistemi interni tal-qalba.

Innovazzjonijiet ewlenin:

  • Sottosistema tad-disk, I/O u sistemi ta' fajls
    • Ġie implimentat kontrollur ġdid ta 'prijoritizzazzjoni ta' I/O għal cgroups, rq-qos, li jista 'jikkontrolla l-prijorità tal-ipproċessar tat-talbiet biex jimblokka tagħmir iġġenerat minn membri ta' kull cgroup. Ġie miżjud appoġġ ġdid għall-kontrollur ta 'prijorità mal-iskedar tal-I/O mq-deadline.
    • Is-sistema tal-fajls ext4 timplimenta kmand ioctl ġdid, EXT4_IOC_CHECKPOINT, li jġiegħel it-tranżazzjonijiet pendenti kollha mill-ġurnal u l-buffers assoċjati tagħhom biex jitlaħlaħ fuq id-disk, u jissostitwixxi wkoll iż-żona użata mill-ġurnal fil-ħażna. Il-bidla tħejjiet bħala parti minn inizjattiva biex tevita tnixxijiet ta' informazzjoni mis-sistemi ta' fajls.
    • Saru ottimizzazzjonijiet tal-prestazzjoni lil Btrfs: billi ġie eliminat il-logging bla bżonn ta 'attributi estiżi waqt l-eżekuzzjoni fsync, il-prestazzjoni ta' operazzjonijiet intensivi b'attributi estiżi żdiedet sa 17%. Barra minn hekk, meta twettaq operazzjonijiet ta 'trim li ma jaffettwawx l-estensjonijiet, is-sinkronizzazzjoni sħiħa hija diżattivata, li naqqset il-ħin tal-operazzjoni bi 12%. Ġie miżjud setting mas-sysfs biex jillimita l-bandwidth I/O meta tiċċekkja l-FS. Sejħiet ioctl miżjuda biex tikkanċella r-ridimensjonar u t-tħassir tal-operazzjonijiet tal-apparat.
    • F'XFS, l-implimentazzjoni tal-buffer cache ġiet iddisinjata mill-ġdid, li nbidlet għall-allokazzjoni tal-paġni tal-memorja fil-modalità tal-lott. Effiċjenza tal-cache mtejba.
    • F2FS iżid għażla biex jopera fil-modalità ta 'qari biss u jimplimenta modalità ta' cache ta 'blokki kkompressati (compress_cache) biex ittejjeb il-prestazzjoni tal-qari bl-addoċċ. Ġie implimentat appoġġ għall-kompressjoni ta' fajls mappjati mal-memorja bl-użu tal-operazzjoni mmap(). Biex tiddiżattiva b'mod selettiv il-kompressjoni tal-fajl ibbażata fuq maskra, ġiet proposta għażla ġdida ta 'muntatura nocompress.
    • Sar xogħol fis-sewwieq exFAT biex tittejjeb il-kompatibilità ma 'xi ħażna ta' kamera diġitali.
    • Żid is-sejħa tas-sistema quotactl_fd(), li tippermettilek timmaniġġja l-kwoti mhux permezz ta’ fajl ta’ apparat speċjali, iżda billi tispeċifika deskrittur tal-fajl assoċjat mas-sistema tal-fajls li għaliha tiġi applikata l-kwota.
    • Is-sewwieqa l-qodma għall-apparati tal-blokk bl-interface IDE tneħħew mill-qalba; ilhom sostitwiti mis-subsistema libata.
    • Is-sewwieq "mhux maħdum" tneħħa mill-qalba, u jipprovdi aċċess bla buffer għall-apparati tal-blokk permezz tal-interface /dev/raw. Din il-funzjonalità ilha implimentata f'applikazzjonijiet li jużaw il-bandiera O_DIRECT.
  • Servizzi ta' memorja u sistema
    • L-iskedar tal-kompiti jimplimenta mod ta 'skedar ġdid, SCHED_CORE, li jippermettilek tikkontrolla liema proċessi jistgħu jiġu esegwiti flimkien fuq l-istess qalba tas-CPU. Kull proċess jista’ jiġi assenjat identifikatur tal-cookie li jiddefinixxi l-ambitu tal-fiduċja bejn il-proċessi (pereżempju, li jappartjenu għall-istess utent jew kontenitur). Meta jorganizza l-eżekuzzjoni tal-kodiċi, l-iskeder jista 'jiżgura li qalba waħda tas-CPU tinqasam biss fost proċessi assoċjati mal-istess sid, li jista' jintuża biex jimblokka xi attakki Spectre billi jipprevjeni kompiti fdati u mhux fdati milli jaħdmu fuq l-istess ħajt SMT (Hyper Threading) .
    • Għal cgroup, ġie implimentat appoġġ għall-operazzjoni tal-qtil, li jippermettilek li toqtol il-proċessi kollha assoċjati mal-grupp f'daqqa (ibgħat SIGKILL) billi tikteb "1" fil-fajl virtwali cgroup.kill.
    • Kapaċitajiet estiżi relatati mar-rispons għall-iskoperta ta 'serraturi maqsuma ("serraturi maqsuma") li jseħħu meta taċċessa dejta mhux allinjata fil-memorja minħabba l-fatt li meta tesegwixxi struzzjoni atomika, id-dejta taqsam żewġ linji cache tas-CPU. Imblukkar bħal dan iwassal għal tnaqqis sinifikanti fil-prestazzjoni, għalhekk qabel kien possibbli li tittermina bil-qawwa l-applikazzjoni li kkawżat l-imblukkar. Ir-rilaxx il-ġdid iżid parametru tal-linja tal-kmand tal-qalba “split_lock_detect=ratelimit:N”, li jippermettilek tiddefinixxi limitu tas-sistema kollha fuq ir-rata ta’ operazzjonijiet ta’ qfil kull sekonda, wara li jaqbeż kull proċess li sar is-sors ta’ lock maqsum. se jkun sfurzat jieqaf għal 20 ms minflok jintemm.
    • Il-kontrollur tal-bandwidth cgroup CFS (kontrollur tal-bandwidth CFS), li jiddetermina kemm jista 'jiġi allokat ħin tal-proċessur għal kull cgroup, jimplimenta l-abbiltà li jiddefinixxi limiti limitati fiż-żmien, li jippermetti regolamentazzjoni aħjar ta' xogħolijiet sensittivi għal latency. Pereżempju, l-issettjar ta 'cpu.cfs_quota_us għal 50000 u cpu.cfs_period_us għal 100000 se jippermetti li grupp ta' proċessi jaħlu 100ms ta 'ħin CPU kull 50ms.
    • Infrastruttura inizjali miżjuda għall-ħolqien ta 'loaders tal-programmi BPF, li tkompli tippermetti t-tagħbija ta' programmi BPF biss iffirmati b'ċavetta diġitali fdata.
    • Żiedet operazzjoni futex ġdida FUTEX_LOCK_PI2, li tuża timer monotoniku biex tikkalkula timeout li jqis il-ħin mqatta' mis-sistema fil-modalità sleep.
    • Għall-arkitettura RISC-V, l-appoġġ għal paġni kbar tal-memorja (Transparent Huge-Pages) u l-abbiltà li jintuża l-mekkaniżmu KFENCE biex jinstabu żbalji meta taħdem bil-memorja huma implimentati.
    • Is-sejħa tas-sistema madvise(), li tipprovdi mezz biex tottimizza l-ġestjoni tal-memorja tal-proċess, żiedet il-bnadar MADV_POPULATE_READ u MADV_POPULATE_WRITE biex tiġġenera "ħsara fil-paġna" fuq il-paġni kollha tal-memorja mmappjati biex taqra jew tikteb operazzjonijiet mingħajr ma twettaq qari jew kitba attwali (prefault ). L-użu ta 'bnadar jista' jkun utli biex jitnaqqas id-dewmien fl-eżekuzzjoni tal-programm, minħabba l-eżekuzzjoni proattiva tal-handler ta '"ħsara fil-paġna" għall-paġni kollha mhux allokati f'daqqa, mingħajr ma tistenna l-aċċess attwali għalihom.
    • Is-sistema tal-ittestjar tal-unità kunit żiedet appoġġ għat-tmexxija tat-testijiet fl-ambjent QEMU.
    • Ġew miżjuda traċċaturi ġodda: "osnoise" biex jintraċċa d-dewmien fl-applikazzjoni ikkawżat mill-immaniġġjar tal-interruzzjonijiet, u "timerlat" biex juri informazzjoni dettaljata dwar dewmien meta tqum minn sinjal tat-tajmer.
  • Virtualization u Sigurtà
    • Is-sejħa tas-sistema memfd_secret() ġiet miżjuda biex toħloq żona ta 'memorja privata fi spazju ta' indirizz iżolat, viżibbli biss għall-proċess tal-proprjetarju, mhux rifless għal proċessi oħra, u mhux aċċessibbli direttament għall-qalba.
    • Fis-sistema ta 'filtrazzjoni tas-sejħiet tas-sistema seccomp, meta tiċċaqlaq imblukkar handlers fl-ispazju tal-utent, huwa possibbli li tintuża operazzjoni atomika waħda biex toħloq deskrittur tal-fajl għal kompitu iżolat u tirritornah meta tipproċessa sejħa tas-sistema. L-operazzjoni proposta ssolvi l-problema ta 'interruzzjoni ta' handler fl-ispazju ta 'l-utent meta jasal sinjal.
    • Żid mekkaniżmu ġdid għall-ġestjoni tal-limiti tar-riżorsi fl-ispazju tal-isem tal-ID tal-utent, li jorbot lill-counters rlimit individwali ma' utent fl-"ispazju tal-isem tal-utent". Il-bidla ssolvi l-problema bl-użu ta 'counters tar-riżorsi komuni meta utent wieħed imexxi proċessi f'kontenituri differenti.
    • L-hypervisor KVM għas-sistemi ARM64 żied il-kapaċità li juża l-estensjoni MTE (MemTag, Memory Tagging Extension) fis-sistemi mistiedna, li jippermettilek torbot tikketti ma 'kull operazzjoni ta' allokazzjoni ta 'memorja u torganizza l-iċċekkjar tal-użu korrett ta' indikaturi biex timblokka l-isfruttament ta ' vulnerabbiltajiet ikkawżati mill-aċċess għal blokki tal-memorja diġà meħlusa, overflows buffer, aċċessi qabel l-inizjalizzazzjoni u l-użu barra l-kuntest attwali.
    • Il-faċilitajiet tal-Awtentikazzjoni tal-Power tal-pjattaforma ARM64 issa jistgħu jiġu kkonfigurati separatament għall-kernel u l-ispazju tal-utent. It-teknoloġija tippermettilek tuża struzzjonijiet speċjalizzati ARM64 biex tivverifika l-indirizzi tar-ritorn bl-użu ta 'firem diġitali li huma maħżuna fil-bits ta' fuq mhux użati tal-pointer innifsu.
    • Il-Linux tal-mod ta 'l-utent żied appoġġ għall-użu ta' sewwieqa għal apparati PCI b'bus PCI virtwali, implimentati mis-sewwieq PCI-over-virtio.
    • Għas-sistemi x86, appoġġ miżjud għall-apparat virtio-iommu paravirtualized, li jippermetti li talbiet IOMMU bħal ATTACH, DETACH, MAP u UNMAP jintbagħtu fuq it-trasport virtio mingħajr emulazzjoni ta 'tabelli tal-paġna tal-memorja.
    • Għal CPUs Intel, mill-familja Skylake għal Coffee Lake, l-użu ta 'Intel TSX (Transactional Synchronization Extensions), li jipprovdu għodod għat-titjib tal-prestazzjoni ta' applikazzjonijiet multi-thread billi jeliminaw b'mod dinamiku operazzjonijiet ta 'sinkronizzazzjoni mhux meħtieġa, huwa diżattivat b'mod awtomatiku. L-estensjonijiet huma diżattivati ​​minħabba l-possibbiltà ta 'attakki Zombieload li jimmanipulaw tnixxija ta' informazzjoni permezz ta 'kanali ta' partijiet terzi li sseħħ waqt it-tħaddim tal-mekkaniżmu TAA (TSX Asynchronous Abort).
  • Subsistema tan-netwerk
    • Integrazzjoni fil-qalba ta 'MPTCP (MultiPath TCP), estensjoni tal-protokoll TCP għall-organizzazzjoni tat-tħaddim ta' konnessjoni TCP mal-kunsinna ta 'pakketti simultanjament tul diversi rotot permezz ta' interfaces tan-netwerk differenti assoċjati ma 'indirizzi IP differenti. Ir-rilaxx il-ġdid iżżid mekkaniżmu għall-iffissar tal-politiki tal-hashing tat-traffiku tiegħek stess għall-IPv4 u l-IPv6 (politika tal-hash multipath), li jagħmilha possibbli li jiġi ddeterminat mill-ispazju tal-utent liema oqsma f'pakketti, inklużi dawk inkapsulati, se jintużaw meta jiġi kkalkulat il-hash li jiddetermina l- għażla tal-mogħdija għall-pakkett.
    • Appoġġ għal sockets SOCK_SEQPACKET (trasmissjoni ordnata u affidabbli ta 'datagrammi) ġie miżjud mat-trasport virtwali virtio.
    • Il-kapaċitajiet tal-mekkaniżmu tas-sokit SO_REUSEPORT ġew estiżi, li jippermetti li diversi sockets tas-smigħ jikkonnettjaw ma' port wieħed f'daqqa biex jirċievu konnessjonijiet mad-distribuzzjoni tat-talbiet deħlin simultanjament fuq is-sokits kollha konnessi permezz ta 'SO_REUSEPORT, li jissimplifika l-ħolqien ta' applikazzjonijiet ta 'server b'ħafna kamini. . Il-verżjoni l-ġdida żżid għodod għat-trasferiment tal-kontroll għal socket ieħor f'każ ta 'falliment meta tipproċessa talba mis-sokit inizjalment magħżul (issolvi l-problema bit-telf ta' konnessjonijiet individwali meta terġa 'tibda s-servizzi).
  • Оборудование
    • Is-sewwieq amdgpu jipprovdi appoġġ għas-serje l-ġdida ta 'GPUs AMD Radeon RX 6000, bl-isem ta' "Beige Goby" (Navi 24) u "Yellow Carp", kif ukoll appoġġ imtejjeb għall-GPU Aldebaran (gfx90a) u Van Gogh APU. Żid il-ħila li taħdem simultanjament ma 'diversi pannelli eDP. Għal APU Renoir, ġie implimentat appoġġ għall-ħidma b'buffers encrypted fil-memorja tal-vidjo (TMZ, Trusted Memory Zone). Appoġġ miżjud għall-hot-unplug graphics cards. Għal Radeon RX 6000 (Navi 2x) GPUs u AMD GPUs anzjani, l-appoġġ ASPM (Active State Power Management) huwa attivat awtomatikament, li qabel kien attivat biss għal GPUs Navi 1x, Vega u Polaris.
    • Għaċ-ċipep AMD, ġie miżjud appoġġ għal memorja virtwali kondiviża (SVM, memorja virtwali kondiviża) ibbażata fuq is-subsistema HMM (Ġestjoni tal-memorja eteroġenja), li tippermetti l-użu ta 'apparati bl-unitajiet ta' ġestjoni tal-memorja tagħhom stess (MMU, unità ta 'ġestjoni tal-memorja), li jistgħu jaċċessaw memorja prinċipali. B'mod partikolari, billi tuża HMM, tista 'torganizza spazju ta' indirizz kondiviż bejn il-GPU u s-CPU, li fih il-GPU tista 'taċċessa l-memorja ewlenija tal-proċess.
    • Żid l-appoġġ inizjali għat-teknoloġija AMD Smart Shift, li b'mod dinamiku tbiddel is-settings tal-enerġija tas-CPU u l-GPU fuq laptops b'chipset AMD u karta grafika biex tingħata spinta lill-prestazzjoni għal-logħob, editjar tal-vidjo, u rendering 3D.
    • Is-sewwieq i915 għall-karti tal-grafika Intel jinkludi appoġġ għaċ-ċipep Intel Alderlake P.
    • Miżjud sewwieq drm/hyperv għall-adapter tal-grafika virtwali Hyper-V.
    • Appoġġ miżjud għall-kompjuter Raspberry Pi 400 all-in-one.
    • Miżjud sewwieq dell-wmi-privacy biex jappoġġja l-kamera tal-ħardwer u l-iswiċċijiet tal-mikrofonu inklużi fil-laptops Dell.
    • Għal laptops Lenovo, ġiet miżjuda interface WMI għall-bdil tas-settings tal-BIOS permezz tas-sysfs /sys/class/firmware-attributes/.
    • Appoġġ estiż għal apparati b'interface USB4.
    • Appoġġ miżjud għal AmLogic SM1 TOACODEC, Intel AlderLake-M, NXP i.MX8, NXP TFA1, TDF9897, Rockchip RK817, Qualcomm Quinary MI2 u Texas Instruments TAS2505 sound cards u codecs. Appoġġ awdjo mtejjeb fuq laptops HP u ASUS. Żieda garża biex jitnaqqas id-dewmien qabel ma l-awdjo jibda jindaqq fuq apparat USB.

Sors: opennet.ru

Żid kumment