Kernel tal-Linux 5.14

Kernel tal-Linux 5.14

Wara xahrejn ta 'żvilupp, Linus Torvalds daħħal rilaxx tal-qalba 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.

Il-prinċipali innovazzjonijiet:

  • Subsistema tad-disk, sistemi ta’ input/output u fajl:
    • għal cgroup implimentati kontrollur ġdid ta 'prijorità ta' I/O - rq-qos, li jista 'jikkontrolla l-prijorità tal-ipproċessar tat-talbiet biex jimblokka apparati ġġenerati minn membri ta' kull cgroup. Ġie miżjud appoġġ ġdid għall-kontrollur ta 'prijorità mal-I/O scheduler tal-mq-deadline;
    • fuq sistema ta 'fajls ext4 implimentati kmand ioctl ġdid EXT4_IOC_CHECKPOINT, li jġiegħel it-tranżazzjonijiet kollha pendenti mil-log u buffers assoċjati mad-disk, u jissostitwixxi wkoll iż-żona użata mill-log fil-ħażna. Il-bidla tħejjiet bħala parti minn inizjattiva biex tipprevjeni tnixxijiet ta' informazzjoni minn sistemi ta' fajls;
    • f'Btrfs introdotti Ottimizzazzjonijiet tal-prestazzjoni: Billi telimina l-illoggjar 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 maħduma mill-ġdid implimentazzjoni ta 'buffer cache, li hija trasferita għall-allokazzjoni ta' paġni tal-memorja fil-modalità tal-lott. Effiċjenza tal-cache mtejba;
    • F2FS żied għażla biex jaħdem fil-modalità ta 'qari biss u implimentat mod ta' caching 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 bil-maskra, ġiet proposta għażla ġdida ta 'muntatura nocompress;
    • sar xogħol fis-sewwieq exFAT biex titjieb il-kompatibilità mal-ħażna ta 'xi kameras diġitali;
    • sejħa tas-sistema miżjuda quotactl_fd(), li jippermettilek 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;
    • Drivers qodma għal tagħmir tal-blokki bl-interface IDE tneħħew mill-qalba; ilhom sostitwiti mis-subsistema libata. L-appoġġ għal apparati qodma inżamm bis-sħiħ, il-bidliet jikkonċernaw biss il-kapaċità li jintużaw sewwieqa qodma, meta tużahom id-drajvs kienu jissejħu /dev/hd*, u mhux /dev/sd*;
    • Is-sewwieq "nej" 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:
    • mod ta' skedar ġdid ġie implimentat fl-iskedar tal-kompiti SCHED_CORE, li jippermettilek tikkontrolla liema proċessi jistgħu jaħdmu 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 affidabbli u mhux affidabbli milli jaħdmu fuq l-istess ħajt SMT (Hyper Threading) ;
    • għall-mekkaniżmu cgroup, appoġġ għall-operazzjoni tal-qtil ġie implimentat, 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 il-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. jiġi 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, għandu l-abbiltà li jiddefinixxi limiti limitati minn tul ta' żmien partikolari ta 'azzjoni, li jippermetti regolazzjoni aħjar ta' tagħbijiet 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;
    • miżjud infrastruttura inizjali għall-ħolqien ta 'loaders tal-programmi BPF, li tkompli tippermetti t-tniżżil ta' programmi BPF biss iffirmati b'ċavetta diġitali affidabbli;
    • żiedet operazzjoni futex ġdida FUTEX_LOCK_PI2, li tuża timer monotoniku biex tikkalkula l-timeout, li tqis il-ħin mqatta 'mis-sistema fil-modalità sleep;
    • għall-arkitettura RISC-V, appoġġ għal paġni kbar tal-memorja (Transparent Huge-Pages) u l-abbiltà li tuża l- KFENCE biex tidentifika l-iżbalji meta taħdem bil-memorja;
    • fis-sejħa tas-sistema madvise(), li tipprovdi mezz biex tiġi ottimizzata l-ġestjoni tal-memorja tal-proċess, miżjud Bnadar MADV_POPULATE_READ u MADV_POPULATE_WRITE biex jiġġeneraw "ħsara fil-paġna" fuq il-paġni kollha tal-memorja mmappjati għal operazzjonijiet ta' qari jew kitba, mingħajr ma ssir qari jew kitba attwali (prefault). L-użu ta 'bnadar jista' jkun utli għat-tnaqqis tad-dewmien fl-eżekuzzjoni tal-programm, grazzi għall-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;
    • f'sistema ta' ttestjar ta' unità kunit miżjud appoġġ għat-twettiq ta' testijiet fl-ambjent QEMU;
    • traċċaturi ġodda miżjuda: "osnoise" biex jintraċċa d-dewmien fl-applikazzjoni ikkawżat mill-immaniġġjar tal-interruzzjonijiet, u "timerlat" biex juri informazzjoni dettaljata dwar id-dewmien meta tqum minn sinjal tat-tajmer;
  • virtwalizzazzjoni u sigurtà:
    • miżjud sejħa tas-sistema memfd_secret(), li jippermettilek toħloq żona ta 'memorja privata fi spazju ta' indirizz iżolat, viżibbli biss għall-proċess tas-sid, mhux rifless fi proċessi oħra u mhux aċċessibbli direttament għall-qalba;
    • fis-sistema ta 'filtrazzjoni tas-sejħiet tas-sistema seccomp, meta tmexxi lock handlers fl-ispazju tal-utent, huwa possibbli li tuż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 il-problema b'interruzzjoni tal-handler fl-ispazju tal-utent meta jasal sinjal;
    • miżjud mekkaniżmu ġdid biex timmaniġġja l-limitazzjoni tar-riżorsi fl-ispazju tal-isem tal-ID tal-utent, li jorbot rlimit counters 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ħal sistemi ARM64 żied il-kapaċità li juża l-estensjoni MTE (MemTag, Memory Tagging Extension) f'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 buffers, aċċessi qabel l-inizjalizzazzjoni u użu barra mill-kuntest attwali;
    • L-Awtentikazzjoni tal-Power ipprovduta mill-pjattaforma ARM64 issa tista’ tiġi kkonfigurata 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;
    • fil-Linux tal-Utent-mode miżjud appoġġ għall-użu ta 'sewwieqa għal apparati PCI b'bus PCI virtwali, implimentati mis-sewwieq PCI-over-virtio;
    • għal sistemi x86, appoġġ miżjud għall-apparat virtio-iommu paravirtualized, li jippermettilek li tibgħat talbiet IOMMU, bħal ATTACH, DETACH, MAP u UNMAP, fuq it-trasport virtio mingħajr emulazzjoni tabelli tal-paġna tal-memorja;
    • Għal CPUs Intel, mill-familja Skylake sa 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, timmanipula t-tnixxija ta 'informazzjoni permezz ta' kanali ta 'partijiet terzi li sseħħ waqt it-tħaddim tal-mekkaniżmu għall-interruzzjoni asinkronika tal-operazzjonijiet (TAA, TSX Asynchronous Abort);
  • sottosistema tan-netwerk:
    • integrazzjoni kontinwa 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. Fil-ħarġa l-ġdida miżjud 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 mill-ispazju tal-utent biex jiġi ddeterminat 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ġġ socket ġie miżjud mal-virtio tat-trasport virtwali SOCK_SEQPACKET (trażmissjoni ordnata u affidabbli tad-datagrammi);
    • 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. . Fil-verżjoni l-ġdida miżjud mezzi għat-trasferiment tal-kontroll għal socket ieħor f'każ ta 'falliment meta tiġi pproċessata talba mis-sokit inizjalment magħżul (issolvi l-problema bit-telf ta' konnessjonijiet individwali meta jerġgħu jibdew is-servizzi);
  • tagħmir:
    • fis-sewwieq amdgpu implimentati appoġġ għas-serje ġdida ta 'GPUs AMD Radeon RX 6000, isem kodiċi "Beige Goby" (Navi 24) u "Yellow Carp", kif ukoll appoġġ imtejjeb għal Aldebaran GPU (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 GPUs Radeon RX 6000 (Navi 2x) u GPUs AMD anzjani, l-appoġġ għall-mekkaniżmu tal-iffrankar tal-enerġija ASPM (Active State Power Management) huwa ppermettiet awtomatikament, li qabel kien attivat biss għal GPUs Navi 1x, Vega u Polaris;
    • għal ċ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 b'unitajiet ta' ġestjoni tal-memorja tagħhom stess (MMU, unità ta 'ġestjoni tal-memorja), li jistgħu jaċċessaw memorja prinċipali. Inkluż l-użu ta 'HMM, tista' torganizza spazju ta 'indirizz kondiviż bejn il-GPU u s-CPU, li fih il-GPU jista' jaċċessa l-memorja ewlenija tal-proċess;
    • appoġġ tat-teknoloġija inizjali miżjud AMD Smart Shift, li jbiddel b'mod dinamiku l-parametri tal-konsum tal-enerġija tas-CPU u l-GPU fuq laptops b'chipset u karta grafika AMD biex tingħata spinta lill-prestazzjoni waqt il-logħob, editjar tal-vidjo u rendering 3D;
    • fis-sewwieq i915 għall-karti tal-vidjo Intel inklużi appoġġ għaċ-ċipep Intel Alderlake P;
    • miżjud drm/hyperv driver għall-adapter tal-grafika virtwali Hyper-V;
    • miżjud Driver tal-grafika simpledrm li juża l-framebuffer EFI-GOP jew VESA ipprovdut mill-firmware jew il-BIOS UEFI għall-output. L-għan ewlieni tas-sewwieq huwa li jipprovdi kapaċitajiet ta 'output grafiku matul l-istadji inizjali tal-but, qabel ma jkun jista' jintuża sewwieq DRM sħiħ. Is-sewwieq jista 'jintuża wkoll bħala soluzzjoni temporanja għal tagħmir li għad m'għandux sewwieqa DRM indiġeni;
    • miżjud appoġġ tal-kompjuter kollu f'wieħed Lampun Pi 400;
    • Miżjud sewwieq dell-wmi-privacy biex jappoġġja l-iswiċċijiet tal-ħardwer tal-kamera u tal-mikrofonu inklużi fil-laptops Dell;
    • għal laptops Lenovo miżjud Interfaċċja WMI għall-bidla tal-parametri tal-BIOS permezz tas-sysfs /sys/class/firmware-attributes/;
    • estiża appoġġ għal apparati b'interface USB4;
    • miżjud appoġġ għal sound cards u codecs AmLogic SM1 TOACODEC, Intel AlderLake-M, NXP i.MX8, NXP TFA1, TDF9897, Rockchip RK817, Qualcomm Quinary MI2 u Texas Instruments TAS2505. Appoġġ awdjo mtejjeb fuq laptops HP u ASUS. Miżjud garżi biex jitnaqqas id-dewmien qabel ma l-awdjo jibda jilgħab fuq apparati b'interface USB.

Sors - opennet.ru.

Sors: linux.org.ru