Linux Kernel lage 5.16

Apre de mwa nan devlopman, Linus Torvalds prezante liberasyon Linux Kernel 5.16. Pami chanjman ki pi remakab yo: apèl sistèm futex_waitv pou amelyore pèfòmans Windows jwèt nan Wine, swiv erè nan FS atravè fanotify, konsèp folios nan sistèm jesyon memwa, sipò pou enstriksyon processeur AMX, kapasite pou rezève memwa pou priz rezo, sipò pou klasifikasyon pake nan etap nan netfilter "egress", lè l sèvi avèk subsystem DAMON pou degèpi pwoaktivman zòn memwa ki pa itilize yo, amelyore manyen surcharges ak yon gwo volim operasyon ekri, sipò pou kondui milti-kondwi dis.

Nouvo vèsyon an gen ladan 15415 ranje soti nan 2105 devlopè, gwosè patch la se 45 MB (chanjman ki afekte 12023 dosye, 685198 liy kòd yo te ajoute, 263867 liy yo te efase). Apeprè 44% nan tout chanjman ki prezante nan 5.16 yo gen rapò ak chofè aparèy, apeprè 16% nan chanjman ki gen rapò ak ajou kòd espesifik nan achitekti pyès ki nan konpitè, 16% yo gen rapò ak pil rezo a, 4% yo gen rapò ak sistèm dosye, ak 4% yo gen rapò ak subsistèm nwayo entèn yo.

Prensipal inovasyon nan nwayo 5.16:

  • Disk Subsystem, I/O ak File Systems
    • Yo te ajoute zouti nan mekanis fanotify la pou kontwole eta sistèm dosye a epi swiv ensidan erè yo. Enfòmasyon sou erè yo transmèt lè l sèvi avèk yon nouvo kalite evènman - FAN_FS_ERROR, ki ka entèsepte nan sistèm siveyans kouri nan espas itilizatè a san pèdi tan enfòme administratè a oswa lanse pwosesis rekiperasyon. Lè yon seri erè rive nan kaskad, fanotify asire ke premye mesaj erè a delivre ansanm ak yon kontwa pwoblèm jeneral pou senplifye analiz ki vin apre sou kòz echèk la. Sipò pou swiv erè kounye a aplike sèlman pou sistèm dosye Ext4 la.
    • Amelyore manyen konjesyon ekriti, ki rive lè volim operasyon ekriti depase debi kondwi a epi sistèm nan oblije bloke demann ekri yon pwosesis jiskaske demann yo te deja soumèt yo fini. Nan nouvo vèsyon an, mekanis nwayo a itilize pou jwenn enfòmasyon sou ensidan an nan surcharge ak bloke travay yo te konplètman reamenaje, depi nan ansyen aplikasyon an te gen pwoblèm ak kouple pwosesis la nan surcharge ekri ak deplasman nan paj memwa nan swap la. seksyon lè pa gen ase memwa nan sistèm nan.
    • Btrfs aplike sipò pou teknoloji dekoupaj an zòn aparèy (Zoned Namespace), ki itilize nan disk di oswa SSD NVMe pou divize espas depo an zòn, ki fòme gwoup blòk oswa sektè, kote sèlman sekansyal adisyon done yo pèmèt, mete ajou tout gwoup la. blòk. Anplis de sa, optimize minè yo te fè nan loging inode, ki te ogmante debi a nan tès dbench la pa 3% ak redwi latansi pa 11%. Mekanis anrejistreman anyè a te reamenaje, nan ki kantite operasyon rechèch ak bloke nan pye bwa a te redwi pou ogmante efikasite. Ensèsyon eleman nan estrikti btree a nan mòd pakèt yo te akselere (tan pou ensèsyon esansyèl nan eleman yo te redwi pa 4%, ak sipresyon pa 12%). Te ajoute sipò limite pou itilize konpresyon lè w ap ekri paj pasyèl, osi byen ke kapasite pou defragmantasyon paj. Yo te fè preparasyon pou pèmèt sipò pou dezyèm vèsyon pwotokòl la pou kòmandman "voye".
    • Sistèm fichye XFS la diminye konsomasyon memwa lè li itilize kachèt dal separe pou atik yo itilize souvan epi redwi kèk estrikti done.
    • Nan sistèm fichye Ext4 la, sèlman korije ensèk yo ak kalkil pi egzak nan paramèt inisyalizasyon parese nan tablo Inode la.
    • Optimize yo te aplike nan nivo aparèy blòk pou ogmante siyifikativman efikasite nan konekte operasyon ak nwayo CPU.
    • Te ajoute sipò inisyal pou kondui di ki gen plizyè kondui endepandan (milti-aktuateur), ki fè li posib pou jwenn aksè nan plizyè sektè nan diferan zòn nan plato mayetik ansanm.
    • Te ajoute yon nouvo lòd ioctl CDROM_TIMED_MEDIA_CHANGE pou detekte evènman chanjman medya yo nan yon kondwi disk optik.
    • Sistèm dosye EROFS (Enhanced Read-Only File System) te ajoute kapasite pou travay sou plizyè aparèy depo. Diferan aparèy yo ka trase nan yon sèl espas adrès blòk 32-bit. Yo te ajoute tou sipò pou konpresyon lè l sèvi avèk algorithm LZMA.
    • Opsyon aliye yo te ajoute nan sistèm fichye F2FS la pou kontwole fwagmantasyon dosye lè yo mete yo nan depo (pa egzanp, pou debogaj optimize pou travay ak depo fragmenté).
    • CEPH pèmèt kreyasyon ak efase anyè asynchrone pa default (sèvi ak '-o wsync' drapo a lè monte pou retounen nan ansyen konpòtman an). Te ajoute antretyen nan mezi ki swiv operasyon kopye nan objè ekstèn.
    • Yo te ajoute yon paramèt mòn tcpnodelay nan CIFS, ki mete mòd tcp_sock_set_nodelay pou priz rezo a, ki enfim tann keu a ranpli pil TCP la. Te ajoute sipò pou lyen DFS enbrike (sistèm fichye distribiye) lè remonte.
    • Te ajoute sipò pou ranpli demann nan yon aparèy blòk nan mòd pakèt. Tès chanjman an te montre yon ogmantasyon nan entansite operasyon lekti o aza soti nan kondui Optane soti nan 6.1 a 6.6 milyon IOPS sou yon sèl nwayo CPU.
  • Sèvis memwa ak sistèm
    • Te ajoute yon nouvo apèl sistèm futex_waitv, ki pèmèt ou kontwole eta plizyè futex alafwa lè l sèvi avèk yon sèl apèl sistèm. Karakteristik sa a raple fonksyon WaitForMultipleObjects ki disponib nan Windows, emulasyon yo atravè futex_waitv ka itil pou amelyore pèfòmans jwèt Windows ki kouri anba Wine oswa Proton. Anplis de sa, ap tann similtane pou futex yo ka itilize tou pou optimize pèfòmans nan bati natif natal nan jwèt pou Linux.
    • Konsèp paj folio yo te aplike, itilizasyon ki nan kèk subsistèm nwayo pral akselere jesyon memwa anba chaj travay tipik. Kounye a, prensipal sous-sistèm jesyon memwa nan nwayo a ak aplikasyon an nan kachèt paj la deja transfere nan folios, ak sistèm dosye yo te planifye yo dwe transfere nan tan kap vini an. Nan lavni an, li planifye tou pou ajoute sipò pou plizyè paj folio nan nwayo a.

      Tomes sanble ak paj konpoze, men yo te amelyore semantik ak yon òganizasyon pi klè nan travay. Pou jere memwa sistèm, RAM disponib divize an paj memwa, gwosè yo varye selon achitekti, men sou sistèm x86 yo mezire an kilookte (tipikman 4096 octets). Sistèm modèn yo vini ak dè dizèn de jigokte RAM, ki fè jesyon memwa pi konplèks akòz bezwen nan trete yon gwo kantite paj memwa. Pou diminye kantite paj, nwayo a te deja aplike konsèp paj konpoze ak estrikti ki kouvri plis pase yon paj fizik memwa. Men, API a pou manipile paj memwa fizyone kite anpil bagay yo dwe vle ak mennen nan anlè anplis.

    • Yo te ajoute yon responsab nan pwogramasyon travay la ki pran an kont gwoupman kachèt sou CPU a. Nan kèk processeurs, tankou Kunpeng 920 (ARM) ak Intel Jacobsville (x86), yon sèten kantite nwayo CPU, anjeneral 4, ka konbine L3 oswa L2 kachèt. Lè w pran an kont topoloji sa yo, ka siyifikativman amelyore efikasite distribye travay atravè nwayo CPU yo nan pwogramasyon travay la, paske deplase travay nan menm gwoup CPU a pèmèt ogmante debi aksè memwa ak diminye deba kachèt.
    • Te ajoute sipò pou enstriksyon AMX (Advanced Matrix Extensions) aplike nan processeurs sèvè Intel Xeon Scalable kap vini yo, ki gen non kod Sapphire Rapids. AMX ofri nouvo rejis "TILE" configurable TMM ak enstriksyon pou manipile done nan rejis sa yo, tankou TMUL (Tile matrix MULtiply) pou miltiplikasyon matris.
    • Plizyè karakteristik nouvo yo te aplike ki baze sou DAMON (Data Access MONitor) subsistèm te ajoute nan dènye lage a, ki pèmèt ou kontwole aksè a done nan RAM an relasyon ak pwosesis la chwazi kouri nan espas itilizatè. Pou egzanp, subsistèm nan fè li posib pou analize ki zòn memwa pwosesis la jwenn aksè pandan tout operasyon li yo, ak ki zòn memwa ki te rete san reklamasyon.
      • DAMON_RECLAIM pou idantifye ak degèpi zòn memwa yo pa jwenn aksè. Ou ka itilize mekanis pou degèpi paj memwa yon fason pwoaktiv lè memwa gratis ap prèske fin fatige.
      • DAMOS (Data Access Monitoring-based Operation Schemes) pou aplike operasyon madvise() espesifye, tankou divilge memwa gratis adisyonèl, pou trete zòn memwa pou ki gen yon sèten frekans aksè memwa fiks. Paramèt DAMOS yo konfigirasyon atravè debugfs.
      • Kapasite pou kontwole espas adrès fizik memwa (anvan yo te kapab kontwole sèlman adrès vityèl yo).
    • Aplikasyon an nan algorithm konpresyon zstd la te mete ajou nan vèsyon 1.4.10, ki te siyifikativman amelyore pèfòmans nan divès kalite sous-sistèm nwayo ki sèvi ak konpresyon (pa egzanp, debalaj yon imaj nwayo te akselere pa 35%, pèfòmans nan debalaj done konprese). nan Btrfs ak SquashFS te ogmante pa 15%, ak nan ZRAM - pa 30%). Kernel la okòmansman te itilize yon aplikasyon separe nan zstd, ki baze sou vèsyon 1.3.1, ki te lage plis pase twa ane de sa epi ki pa t 'gen ladan anpil optimize enpòtan. Anplis de sa nan deplase nan vèsyon aktyèl la, patch la te ajoute tou senplifye senkronizasyon ak branch zstd en, sa ki pèmèt ou jenere kòd pou enklizyon nan nwayo a dirèkteman nan depo prensipal la zstd. Nan tan kap vini an, kòd zstd nan nwayo a te planifye yo dwe mete ajou kòm nouvo vèsyon nan bibliyotèk la zstd yo lage.
    • Yo te fè yon gwo pati nan amelyorasyon nan subsistèm eBPF la. Te ajoute kapasite pou rele fonksyon modil nwayo nan pwogram BPF. Fonksyon bpf_trace_vprintk() te aplike, kontrèman ak bpf_trace_printk(), ki pèmèt ou bay plis pase twa agiman an menm tan. Yo te ajoute yon nouvo filtè fleri estrikti depo done (BPF kat jeyografik), ki pèmèt ou sèvi ak estrikti done pwobabilite ki gen menm non pou detèmine prezans yon eleman nan yon seri. Yon nouvo atribi BTF_KIND_TAG te ajoute, ki ka itilize nan pwogram BPF pou mare tags ak paramèt fonksyon, pou egzanp, senplifye deteksyon an nan erè nan pwogram itilizatè yo. Nan libbpf, li posib pou kreye pwòp seksyon .rodata.*/.data.*, sipò pou evènman tras uprobe ak kprobe yo te aplike, epi yo te ajoute yon API pou kopye tout kalite BTF soti nan yon objè nan yon lòt. Sipò AF_XDP yo te deplase soti nan libbpf nan yon bibliyotèk libxdp apa. Pou achitekti MIPS, yo te aplike yon du JIT pou machin vityèl BPF.
    • Pou achitekti ARM64 la, sipò pou ekstansyon ARMv8.6 pou revèy la te aplike, ki gen ladann sa yo ki pèmèt reprezantasyon oto-synchronizing nan rejis sistèm san yo pa itilize enstriksyon ISB.
    • Pou achitekti PA-RISC la, yo te aplike kapasite pou itilize mekanis KFENCE pou detekte erè lè w ap travay ak memwa, e yo te ajoute sipò pou detektè kondisyon ras KCSAN.
    • Li posib pou konfigirasyon dwa aksè nan tracefs nan nivo itilizatè endividyèl ak gwoup; pou egzanp, ou kapab kounye a pèmèt aksè nan zouti trase sèlman nan manm nan yon sèten gwoup.
  • Virtualization ak sekirite
    • Sousistèm io_uring ak device-mapper aplike sipò pou jenere evènman odit. io_uring bay kapasite pou kontwole aksè atravè modil LSM. Te ajoute kapasite nan odit apèl la sistèm openat2().
    • Kòd nwayo a konplètman gratis nan ekspresyon ka kontinyèl nan switch (pa gen okenn retounen oswa kraze apre chak blòk ka). Lè w ap bati nwayo a, kounye a li pral posib pou itilize mòd "-Wimplicit-fallthrough".
    • Chanjman enkli pou ranforsi chèk limit lè w ap egzekite fonksyon memcpy().
    • Koòdone I/O asynchrone io_uring aplike kapasite pou aplike règleman sekirite yo defini nan modil SELinux ak Smack nan operasyon I/O.
    • Sou-sistèm IMA (Achitekti Mezi Entegrite), ki pèmèt yon sèvis ekstèn verifye eta subsistèm nwayo pou asire otantisite yo, aplike kapasite pou aplike règ ki baze sou gwoup idantifyan (GID) kote fichye a fè pati oswa itilizatè a. aksè nan dosye a fè pati.
    • Enfim pa default kèk mekanis avanse pou pwoteje fil seccomp() kont atak Spectre, ki te konsidere kòm nesesè epi ki pa t 'amelyore sekirite anpil, men ki afekte pèfòmans negatif. Yo te revize itilizasyon pwoteksyon Retpolin.
    • Yo te retire aplikasyon an nan mekanis cryptoloop la, ki te ranplase an 2004 pa dm-crypt epi, si sa nesesè, sipòte menm algoritm yo.
    • Pa defo, aksè san privilèj nan subsistèm eBPF la entèdi. Chanjman an te fèt pou anpeche pwogram BPF yo te itilize pou kontoune pwoteksyon kont atak bò-chanèl. Si sa nesesè, administratè a kapab retabli kapasite pou itilizatè ki pa privilejye yo sèvi ak eBPF.
    • Hypervisor ACRN, ki fèt pou travay an tan reyèl ak itilizasyon nan sistèm misyon enpòtan yo, te ajoute sipò pou kreye/efase aparèy vityèl ak voye aparèy MMIO.
    • Sipò pou definisyon KPP (Kle-akò Pwotokòl Primitives) yo te ajoute nan motè a kriptografik, senplifye lojik la nan devlope chofè pou sistèm kriptografik yo.
    • Hyper-V Hypervisor kounye a sipòte mòd izolasyon machin vityèl, ki enplike chifreman nan kontni memwa.
    • Hypervisor KVM a te ajoute sipò pou achitekti RISC-V. Kapasite pou imigre machin vityèl ki kouri lè l sèvi avèk ekstansyon AMD SEV ak SEV-ES nan anviwònman lame a te aplike. Te ajoute API pou migrasyon viv nan sistèm envite yo ankripte lè l sèvi avèk AMD SEV (Secure Encrypted Virtualization).
    • Pou achitekti PowerPC, mòd STRICT_KERNEL_RWX aktive pa default, ki bloke itilizasyon paj memwa ki disponib pou ekri ak ekzekisyon an menm tan.
    • Sou sistèm 32-bit x86, sipò pou hotplug memwa te sispann, ki te inoperant pou plis pase yon ane.
    • Yo retire bibliyotèk liblockdep nan nwayo a epi kounye a pral konsève separeman ak nwayo a.
  • Sou-sistèm rezo
    • Pou priz, yon nouvo opsyon SO_RESERVE_MEM te aplike, ak ki ou ka rezève yon sèten kantite memwa pou yon priz, ki ap toujou rete disponib pou priz la epi yo pa pral retire. Sèvi ak opsyon sa a pèmèt ou reyalize ogmante pèfòmans lè w diminye alokasyon memwa ak operasyon reprann nan pil rezo a, espesyalman lè kondisyon memwa ki ba rive nan sistèm nan.
    • Te ajoute sipò pou pwotokòl Otomatik Multicast Tunneling (RFC 7450), ki pèmèt livrezon trafik multidiffusion soti nan rezo ki sipòte Multicast bay moun k ap resevwa sou rezo san Multicast. Pwotokòl la travay atravè enkapsulasyon nan pake UDP.
    • Amelyore enkapsulasyon done IOAM (Operasyon, Administrasyon, ak Antretyen an plas) nan pake transpò piblik yo.
    • Kapasite pou kontwole mòd konsomasyon pouvwa transceiver yo te ajoute nan API ethtool netlink.
    • Sou-sistèm netfilter la aplike kapasite pou klase pake nan nivo sòti, i.e. nan etap la lè chofè a resevwa yon pake ki soti nan chemine rezo nwayo a. Nan nftables, sipò pou filtè korespondan yo te parèt nan vèsyon 1.0.1. Netfilter te ajoute kapasite pou konpare ak chanje headers entèn ak done pou UDP ak TCP (entèn header / payload) vini apre header transpò a.
    • Te ajoute nouvo paramèt sysctl arp_evict_nocarrier ak ndisc_evict_nocarrier, lè yo mete, kachèt ARP la ak tab ndisc (dekouvèt vwazen) yo pral efase nan ka ta gen yon echèk koneksyon (NOCARRIER).
    • Mòd latansi ki ba, pèt ki ba ak debi (L4S) yo te ajoute nan mekanis jesyon keu rezo fq_codel (Reta Kontwole).
  • Ekipman
    • Chofè amdgpu a bay sipò inisyal pou spesifikasyon DP 2.0 (DisplayPort 2.0) ak tinèl DisplayPort sou USB4. Pou Cyan Skillfish APU (ki ekipe ak GPU Navi 1x) yo te ajoute sipò pou kontwolè ekspozisyon. Sipò pou APU Yellow Carp (prosesè mobil Ryzen 6000 "Rembrandt") yo te elaji.
    • Chofè i915 la estabilize sipò pou chips Intel Alderlake S epi aplike sipò pou teknoloji Intel PXP (Protected Xe Path), ki pèmèt ou òganize yon sesyon grafik ki pwoteje pyès ki nan konpitè sou sistèm ki gen chips Intel Xe.
    • Travay yo te fèt nan nouvo chofè a pou ranje ensèk epi amelyore style kòd la.
    • Te ajoute sipò pou CPU Vortex ki konpatib x86 (Vortex86MX). Linux te travay sou processeurs menm jan an anvan, men idantifikasyon eksplisit CPU yo espesifye yo te oblije enfim pwoteksyon kont atak Spectre / Meltdown, ki pa aplikab a chips yo espesifye.
    • Te ajoute sipò inisyal pou platfòm x86 pou Surface Pro 8 ak Surface Laptop Studio.
    • Te ajoute chofè pou sipòte chips son yo itilize nan AMD Yellow Carp, Van Gogh APU, tou te ajoute sipò pou sistèm son ak kodèk Cirrus CS35L41, Maxim MAX98520/MAX98360A, Mediatek MT8195, Nuvoton NAU8821, NVIDIA Tegra210, NXP i.MX8ULP, Qualcomtekm Audio, Qualcomtekm Audio ALC5682I-VS, RT5682S, RT9120, Rockchip RV1126 ak RK3568.
    • Te ajoute chofè ishtp_eclite pou jwenn aksè nan kontwolè entegre Intel PSE (Programmable Service Engine) lè l sèvi avèk ISHTP (Integratd Sensor Hub Transpò Pwotokòl), tankou batri, tanperati, ak UCSI (USB Type-C Connector System Software) ki gen rapò ak enfòmasyon entèfas).
    • Te ajoute yon chofè pou kontwolè jwèt Nintendo Switch ki sipòte Switch Pro ak Joy-Cons. Te ajoute sipò pou tablèt Wacom Intuos BT (CTL-4100WL/CTL-6100WL) ak Apple 2021 Magic Keyboard. Amelyore sipò pou Sony PlayStation DualSense contrôleur. Te ajoute sipò pou bouton bò sourit Xiaomi Mi yo.
    • Te ajoute chofè RT89 ak sipò pou chips san fil Realtek 802.11ax, osi byen ke chofè pou adaptè Ethernet Asix AX88796C-SPI ak switch Realtek RTL8365MB-VC.
    • Yo te ajoute chofè pou PCI ak PASemi i1c pou chips Apple M2.
    • Te ajoute sipò pou ARM SoС, aparèy ak tablo Raspberry Pi Compute Module 4, Fairphone 4, Snapdragon 690, LG G Watch R, Sony Xperia 10 III, Samsung Galaksi S4 Mini Value Edition, Xiaomi MSM8996 (Mi 5, Mi Note 2, Mi 5s). , Mi Mix, Mi 5s Plus ak Xiaomi Mi 5), Sony Yoshino (Sony Xperia XZ1, ak Sony Xperia XZ Premium), F(x)tec Pro1 QX1000, Microchip LAN966, CalAmp LMU5000, Exegin Q5xR5, sama7g5, Samsung ExynosAutov9, Rockchip RK3566, RK3399 ROCK Pi 4A+, RK3399 ROCK Pi 4B+, Firefly ROC-RK3328-PC, Firefly ROC-RK3399-PC-PLUS, ASUS Chromebook Tablet CT100, Pine64 Quartz64-A, Netgear GS110-PC-PLUS, Netgear GS7040-PC-PLUS Ren esas R32A2M* , Xilinx Kria, Radxa Zero, JetHub D8/H779, Netronix E1K1.

Sous: opennet.ru

Add nouvo kòmantè