Lansman Kernel la Linux 6.12 ak sipò an tan reyèl

Apre de mwa devlopman, Linus Torvalds te pibliye kernel la. Linux 6.12. Pami chanjman ki pi remakab yo: kapasite pou aktive mòd an tan reyèl, sched_ext pou kreye planifikatè CPU atravè eBPF, pwodiksyon kòd QR nan kondisyon ijans, mekanis TCP memwa aparèy, mekanis rezèvasyon resous sèvè SCHED_DEADLINE, amelyorasyon planifikatè travay EEVDF la, modil IPE pou mete règleman entegrite.

Nouvo vèsyon an gen ladan 14607 ranje soti nan 2167 devlopè, gwosè patch la se 37 MB (chanjman ki afekte 13087 dosye, 507913 liy kòd yo te ajoute, 234083 liy yo te efase). Dènye lage a te gen 15130 ranje soti nan 2078 devlopè, gwosè patch la te 85 MB (nan nwayo a 6.10 patch la te 41 MB nan gwosè). Apeprè 45% nan tout chanjman ki prezante nan 6.12 yo gen rapò ak chofè aparèy, apeprè 12% nan chanjman yo ki gen rapò ak ajou kòd espesifik achitekti pyès ki nan konpitè, 13% yo gen rapò ak pil rezo a, 6% yo gen rapò ak sistèm dosye, ak 3% yo gen rapò ak subsistèm nwayo entèn yo.

Prensipal inovasyon nan nwayo 6.12:

  • Sèvis memwa ak sistèm
    • Kapasite pou konstwi nwayo a avèk opsyon PREEMPT_RT la san patch adisyonèl pou operasyon an tan reyèl disponib kounye a. Dènye karakteristik nwayo ki te manke a ki te anpeche mòd PREEMPT_RT la te aktive se te sipò pou pwodiksyon atomik ki pa bloke atravè fonksyon printk la, ki enkli tou nan nwayo a. Sipò PREEMPT_RT disponib pou achitekti x86, x86_64, ARM64, ak RISC-V yo. Jiska prezan, aplikasyon mòd PREEMPT_RT la te bay sou fòm patch ekstèn, ke kèk distribisyon, tankou RHEL, SUSE, ak... Ubuntu, te kreye edisyon Realtime separe pou pwodwi yo, ki an demann nan domèn tankou sistèm finansye, aparèy pwosesis odyo ak videyo, aviyasyon, medikaman, robotik, telekominikasyon ak sistèm endistriyèl, kote li nesesè pou asire yon tan pwosesis evènman previzib.
    • Yo ajoute mekanis "sched_ext" (SCX) la, sa ki pèmèt itilizasyon eBPF pou kreye planifikatè CPU ki kouvri prèske tout aspè planifikasyon travay ak alokasyon resous CPU. Planifikatè sa yo ka chaje dinamikman epi egzekite nan nwayo a. Linux в machin vityèl eBPF. Mekanis sched_ext la senplifye kreyasyon planifikatè espesifik pou chak travay, li pèmèt fè eksperyans ak divès teknik ak estrateji planifikasyon, epi li pèmèt kreyasyon rapid prototip ki fonksyone ak ranplasman planifikatè yo sou plas nan enfrastrikti pwodiksyon yo. Pa egzanp, lè w sèvi ak sched_ext, ou ka kreye yon planifikatè ki pran an kont espesifik yon aplikasyon espesifik epi ki chanje estrateji planifikasyon li dinamikman selon eta sistèm nan ak lòt faktè.
    • Konpozisyon an gen ladan pati ki rete nan plak ki nesesè pou operasyon an nan mekanis sèvè SCHED_DEADLINE, ki rezoud pwoblèm nan nan sous-utilizasyon nan resous CPU pa travay òdinè lè CPU a monopolize pa gwo priyorite (an tan reyèl) travay. Pou anpeche monopolizasyon CPU, nwayo a te deja itilize mekanis an tan reyèl, ki te eseye rezève 5% pou travay ki ba priyorite, kite 95% nan tan an pou travay an tan reyèl. Mekanis sa a kite anpil bagay yo dwe vle, depi travay òdinè nan anpil sitiyasyon pa t 'resevwa ase tan processeur. Sèvè SCHED_DEADLINE aplike yon mekanis rezèvasyon resous ki pi efikas.
    • Entegrasyon pwogramasyon travay EEVDF (Earliest Eligible Virtual Deadline First) te konplete, ki te ranplase pwogramasyon CFS (Completely Fair Scheduler), ki te apwovizyone apati dekernel 2.6.23. Nouvo pwogramè a, lè w ap chwazi pwochen pwosesis la pou transfere ekzekisyon an, pran an kont pwosesis ki pa te resevwa ase resous processeur oswa ki te resevwa yon gwo kantite tan processeur. Nan premye ka a, transfè kontwòl nan pwosesis la fòse, ak nan dezyèm lan, okontrè, li ranvwaye. Ansyen orè CFS la te itilize euristik ak ajisteman pou idantifye pwosesis ki te bezwen atansyon espesyal, pandan y ap nouvo pwogramasyon an swiv yo pi klè epi li pa bezwen ajisteman. EEVDF espere diminye reta nan travay CFS te gen pwoblèm orè.
    • Nan moun k ap okipe ijans nwayo a - DRM Panic, ki itilize DRM (Direct Rendering Manager) sou-sistèm pou montre yon rapò vizyèl nan style "ekran ble lanmò a", kapasite pou montre yon logo ak kòd QR ak yon rapò kmsg sou te ajoute ekran an lè yon kondisyon ijans rive. Piske se sèlman 2953 byte ki anfòm nan yon kòd QR, yo bay opsyon DRM_PANIC_SCREEN_QR_CODE_URL, kote rapò kmsg la konprese lè l sèvi avèk zlib epi li tache kòm yon paramèt nan URL la, ki pèmèt apeprè 40 byte yo transfere atravè kòd QR V7500 la. Lè yo bati pakè ak nwayo a, distribisyon yo ka mete yon URL de baz pou URL la, ki pral pèmèt yo navige nan yon paj pou rapòte yon pwoblèm. Pou chwazi fòma kòd QR la, yo bay paramèt DRM_PANIC_SCREEN_QR_VERSION.
    • Te ajoute sipò pou ARM POE (Permission Overlay Extension), ki pèmèt ou mete dwa aksè nan zòn memwa. Lè l sèvi avèk ekstansyon sa a, sou sistèm ki gen processeurs ARM64, yo ka aplike mekanis nan kle pwoteksyon memwa, ki itilize limite aksè nan paj memwa san yo pa chanje tab la paj memwa.
    • Pou achitekti Loongarch, ARM64, PowerPC ak s390, aplikasyon apèl sistèm getrandom() yo te deplase, optimize lè l sèvi avèk mekanis vDSO (virtual dynamic shared object), ki fè li posib pou deplase moun kap okipe apèl sistèm nan soti nan nwayo a nan itilizatè. espas epi evite switch kontèks. Optimizasyon pèmèt ou akselere jenerasyon nimewo o aza jiska 15 fwa.
    • Kapasite pou sèvi ak delè absoli, deklanche lè yo rive nan yon sèten tan sou revèy sistèm lan, yo te ajoute nan subsistèm io_uring asynchrone antre/sòti (anvan, se sèlman delè relatif yo te kapab mete, ki te endike dire a depi nan konmansman an nan operasyon an. ).
    • Te ajoute fichye pou jenere linking pou bibliyotèk libcpupower lè l sèvi avèk SWIG toolkit la, ki pèmèt ou jenere linking soti nan kòd C/C++ pou plizyè lang pwogramasyon. Liaison pèmèt ou kreye scripts nan Python ak lòt lang, epi sèvi ak yo pou pwolonje fonksyonalite libcpupower bibliyotèk la, ki bay yon API pou jere cpufreq ak chofè nan espas itilizatè.
    • Cpuidle sèvis piblik la montre valè "rezidans" eta a san fè anyen konsa yo itilize pou sistèm an tan reyèl ak pran an kont tan minimòm ke processeur a dwe nan eta a san fè anyen konsa jistifye depans enèji yo nan tranzisyon nan ak soti nan eta sa a.
    • Te ajoute kapasite pou itilize konpilatè Clang la pou konstwi bibliyotèk C estanda nolibc la, ki enkli nan kòd sous nwayo a. Linux epi li bay yon anvlòp alantou apèl sistèm debaz yo. Lè w ap bati nolibc nan Clang, optimize tan lyen (LTO) aktive.
    • Gen kèk koòdone cgroup1 yo te obsolète, tankou kontablite TCP, vèsyon limit mou XNUMX, ak jesyon fatig memwa. Sipò pou karakteristik sa yo rete konplè pou kounye a, epi avètisman an fèt pou etidye kantite itilizatè ki kontinye sèvi ak karakteristik sa yo.
    • Te ajoute kapasite nan konfigirasyon yon tanpon tras bag pou konsève pou done akimile apre yon rdemare, ki pral pèmèt ou pa pèdi akimile enfòmasyon debogaj nan evènman an nan yon aksidan nwayo. Done yo estoke nan memwa. Pèmèt se fè atravè paramèt liy lòd trace_instance kernel la, pou egzanp, mete "trace_instance=boot_map@0x285400000:12M" ap rezève 12 MB memwa nan 0x285400000 pou tanpon "boot_map" la, ki pral aksesib nan fichye / fichye yo. /tracing/instances/boot_map.
    • Kontinye migrasyon chanjman yo soti nan branch Rust-for- laLinux, ki gen rapò ak itilizasyon Rust kòm yon dezyèm lang pou devlope chofè ak modil nwayo a (Sipò Rust pa aktif pa default epi li pa enkli Rust pami depandans konstriksyon obligatwa nan nwayo a). Yo te ajoute modil 'list' ak 'rbtree' pou travay avèk lis doub lye ak pyebwa rechèch wouj-nwa. Yo te elaji kapasite modil 'init', 'sync', 'types', ak 'error' yo. Yo te ajoute kapasite pou itilize kòd Rust lè w ap konstwi yon nwayo ak pwoteksyon kont atak Spectre (opsyon MITIGATION_{RETHUNK,RETPOLINE,SLS}), lè w ap itilize sistèm debogaj KASAN, mekanis pwoteksyon kCFI (kernel Control Flow Integrity) ak Shadow Call, epi lè w ap itilize lòt plugin GCC. Yo te ajoute yon chofè pou kontwolè Ethernet Applied Micro QT2025 PHY, ki ekri nan Rust. Yo te prepare yon sit entènèt apa ak dokimantasyon: rust.docs.kernel.org.
    • Yo te ajoute zouti xdrgen nan kòd sous nwayo a pou konvèti espesifikasyon XDR (eXternal Data Representation) an fonksyon kodaj ak dekodaj XDR ki ekri lè l sèvi avèk stil C ke nwayo a adopte a. Linux.
    • Kernel la te amande pou aplike yon mekanis maskin pointeur pou redwi kantite apèl dousman bay barrier_nospec() nan fonksyon 64-bit copy_from_user() ki itilize pou kopye done nan nwayo a ki soti nan espas itilizatè a. Sèvi ak maskin akselere tès "per_thread_ops", ki evalye kantite operasyon ki ka fèt nan yon sèl fil, pa 2.6%.
    • Yo te ajoute yon nouvo chofè USB ki pèmèt ou sèvi ak pwotokòl 9pfs kòm yon transpò pou voye ak resevwa done ki sòti nan yon aparèy USB lè w ap monte sistèm fichye 9p la sou USB (pa egzanp, "mount -t 9p -o trans=usbg, aname=/chemen/pou/fs /mnt/9"). Yon egzanp lè l sèvi avèk nouvo chofè a se sèvi ak li olye pou yo NFS yo òganize bòt la nan patisyon rasin lan lè w ap devlope aparèy entegre.
  • Disk Subsystem, I/O ak File Systems
    • Kapasite pou travay ak aparèy depo ki gen gwosè blòk ki pi gwo pase gwosè paj memwa nan sistèm lan te ajoute nan subsistèm VFS la. Nan sistèm fichye yo, karakteristik sa a se kounye a sèlman sipòte nan XFS.
    • Sou-sistèm FUSE a, ki pèmèt ou kreye enplemantasyon sistèm fichye ki opere nan espas itilizatè a, te ajoute sipò pou kat idantifyan itilizatè yo nan sistèm fichye ki monte yo, yo itilize pou matche ak dosye yon itilizatè espesifik sou yon patisyon etranje ki monte ak yon lòt itilizatè sou aktyèl la. sistèm.
    • Yon nouvo operasyon fcntl, F_CREATED_QUERY, te aplike, ki bay yon aplikasyon kapasite pou detèmine si yon fichye louvri lè l sèvi avèk drapo O_CREAT la te kreye oswa si li te deja egziste anvan.
    • Te ajoute kapasite pou itilize idantite pwen mòn 64-bit inik nan apèl sistèm name_to_handle_at() pou evite kondisyon ras yo lè analize /proc/mountinfo.
    • Gwosè a nan estrikti "fichye" nan nwayo a te redwi soti nan 232 a 184 bytes, ki diminye konsomasyon memwa sou sistèm ki aktivman travay ak dosye.
    • Yo te entèdi monte sistèm fichye pou monte pwen nan yerachi /proc, tankou /proc/PID/fd, sa ki te kreye pwoblèm sekirite potansyèl yo.
    • Pseudo-FS NSFS (NameSpace FS), ki itilize pou travay ak espas non, bay plis enfòmasyon sou espas non pwen mòn yo.
    • Sistèm fichye EROFS (Extendable Read-Only File System), ki fèt pou itilize sou patisyon pou lekti sèlman, kounye a sipòte sistèm fichye aliye dirèkteman nan imaj ki gen kapasite ki sove kòm dosye.
    • Nouvo kòmand ioctl XFS_IOC_START_COMMIT ak XFS_IOC_COMMIT_RANGE te ajoute nan XFS pou echanje kontni ant de fichye.
    • NFS te ajoute sipò pou pwotokòl "LOCALIO" a, ki pèmèt ou detèmine si kliyan an ak sèvè NFS sou menm lame a pou pèmèt optimizasyon ki koresponn yo.
    • Nan sistèm fichye Btrfs, yo te pwopoze optimize pèfòmans yo, yo te refactorize kòd la, yo te redwi zòn nan limit bloke pandan operasyon lekti yo, yo te kontinye travay sou konvèti paj memwa yo pou yo itilize paj paj yo, epi yo te lage otomatikman memwa. aplike pou estrikti a btrfs_path.
    • Nan sistèm fichye Ext4 la, yo te ranje ensèk ki gen rapò ak alokasyon blòk, jesyon limit, komèt rapid, ak jounal.
  • Virtualization ak sekirite
    • Te ajoute modil IPE (Integrity Policy Enforcement) LSM, devlope pa Microsoft pou elaji sistèm kontwòl aksè obligatwa ki egziste deja. Modil la pèmèt ou defini yon politik entegrite jeneral pou tout sistèm nan, ki endike ki operasyon yo pèmèt ak ki jan otantisite nan eleman yo ta dwe verifye. Pou egzanp, lè l sèvi avèk IPE, ou ka presize ki dosye ègzèkutabl yo gen dwa kouri, pran an kont konfòmite yo ak vèsyon an referans lè l sèvi avèk hash kriptografik sistèm nan dm-verity bay.
    • Nan etap konpilasyon nwayo a, li posib separeman pèmèt metòd pwoteksyon ki disponib kont diferan frajilite klas Spectre nan CPU a. Kconfig ofri nouvo paramèt: MITIGATE_MDS (pwoteksyon kont vilnerabilite nan Microarchitectural Data Sampling), MITIGATE_TAA (pwoteksyon kont vilnerabilite TSX Asynchronous Abort), MITIGATE_MMIO_STALE_DATA (pwoteksyon kont vilnerabilite MMIO Stale Data), MITIGATE_L1TF (pwoteksyon kont vilnerabilite nan TSX Asynchronous Abort), MITIGATE_L1TF (pwoteksyon kont vilnerabilite Retbleed), MITIGATE_SPECTRE_V1, MITIGATE_SPECTRE_V2 (pwoteksyon kont vilnerabilite Spectre), MITIGATE_SRBDS (pwoteksyon kont vilnerabilite nan echantiyon Done Tanpon Rejis Espesyal), MITIGATE_SSB (pwoteksyon kont vilnerabilite Speculative Store Bypass).
    • Te ajoute opsyon liy lòd proc_mem.force_override ak yon seri paramèt asanble nan Kconfig (PROC_MEM_FORCE_ALWAYS, PROC_MEM_FORCE_PTRACE ak PROC_MEM_FORCE_NEVER) pou anpeche chanjman memwa atravè /proc/pid/mem.
    • Sousistèm LSM (Linux modil sekirite a) te chanje pou itilize apèl estatik, sa ki amelyore sekirite ak pèfòmans.
    • Kapasite pou itilize nwayo estanda pou achitekti ARM64 la nan anviwònman envite k ap fonksyone sou Android-sistèm ki gen yon ipèvizè KVM modifye (KVM pwoteje).
    • Modil Landlock LSM, ki pèmèt ou limite entèraksyon yon gwoup pwosesis ak anviwònman ekstèn lan, aplike konsèp "IPC scoping" pou limite entèraksyon ak anviwònman sandbox lè l sèvi avèk sipò ak siyal Unix. Pou egzanp, ou ka entèdi koneksyon lè l sèvi avèk sipò Unix soti nan yon anviwònman sandbox ak pwosesis ki pa gen izolasyon aplike, men ki pèmèt koneksyon ak pwosesis nan menm sijè ki abòde lan.
    • Nan hypervisor KVM a, yo te ajoute yon drapo nan CPUID pou sistèm envite ki endike sipò pou ekstansyon AVX10.1.
  • Sou-sistèm rezo
    • Mekanis TCP Memwa Aparèy la te ajoute, sa ki pèmèt itilizasyon rezo rezo yo voye dirèkteman sa ki nan memwa nan aparèy periferik sou rezo a (mòd zewo-kopi) epi dirèkteman mete sa ki nan pake rezo a nan zòn memwa aparèy la sou rezo a. bò benefisyè. Done ki transmèt nan pake yo transfere soti nan kat rezo a nan memwa a nan yon aparèy periferik oswa soti nan memwa a aparèy nan kat rezo a dirèkteman, contournement CPU a, ak tèt pake yo fini nan tanpon nwayo regilye.
    • Kapasite yo nan anpil Ethernet ak chofè san fil yo te elaji. Pou egzanp, chofè Intel iwlwifi te ajoute sipò pou deplase operasyon RLC/SMPS sou bò firmwèr, chofè RealTek rtw89 ogmante pèfòmans e li te ajoute sipò pou chips RTL8852BT/8852BE-VT (WiFi 6), chofè Ethernet microchip te ajoute sipò pou IEEE 802.3. bw (100BASE) espesifikasyon -T1) ak IEEE 802.3bp, Microsoft vNIC ak IBM veth Virtual Ethernet aplikasyon yo te amelyore. Te ajoute nouvo chofè pou Realtek RTL9054, RTL9068, RTL9072, RTL9075, RTL9068, RTL9071 ak Microchip LAN8650/1 10BASE-T1S MAC-PHY Ethernet chips.
    • Nan MPTCP (MultiPath TCP), yon ekstansyon nan pwotokòl TCP pou òganize livrezon pakè TCP ansanm sou plizyè wout atravè diferan koòdone rezo, gwosè pwa yo itilize nan routage ogmante soti nan 8 a 16 bit. Aplike deteksyon pèdi (twou nwa) trafik ak sispansyon pou kèk tan nan tantativ etabli koneksyon ak sistèm ki mennen nan pèt trafik.
    • Pou IPv6, sipò yo aplike pou "p" drapo a nan PIO (Opsyon Enfòmasyon Prefiks), yo itilize nan piblisite RA (IPv6 Routeur Advertisements) pou chwazi yon modèl deplwaman kliyan atravè DHCPv6-PD (DHCPv6 Prefix Delegation, RFC9663) olye pou yo asiyen. adrès endividyèl ki baze sou prefiks lè l sèvi avèk SLAAC (Stateless Address Autoconfiguration). IPv6 IOAM6 ajoute sipò pou yon nouvo mòd encapsulation tunsrc ki pèmèt pou pi bon pèfòmans.
    • Pèfòmans amelyore pou trete pake kontwòl IPsec.
    • Amelyore pèfòmans de flòch gwo nftables règ ansanm. nfnetlink_queue te amelyore sipò pou pwotokòl SCTP la.
    • API ethtool te ajoute sipò pou lye plizyè kat rezo nan yon sèl koòdone rezo.
  • Ekipman
    • Nan chofè AMDGPU a, travay ap kontinye aplike sipò pou GPU AMD RDNA4 ("GFX12"). Te ajoute kapasite nan Reyajiste ke moun kap kriye travay endividyèl yo san yo pa retabli tout GPU la.
    • Travay kontinye sou chofè Xe drm (Direct Rendering Manager) pou GPU ki baze sou achitekti Intel Xe, ki itilize nan kat videyo fanmi Intel Arc ak grafik entegre, kòmanse ak processeurs Tiger Lake. Nouvo vèsyon an gen ladan sipò pou GPU ki baze sou mikrochitekti Battlemage ak Lunar Lake. Sipò pou modifikatè Xe2 CCS (sifas kontwòl koulè) yo te prezante pou kontwole paramèt GPU entegre ak disrè.
    • Chofè i915 la aplike kapasite pou bay enfòmasyon sou vitès fanatik la atravè koòdone HWMON oswa sysfs (atribi "fan1_input"). Yo ta dwe itilize paramèt "i915.modeset" a olye de "i915.modeset=0".
    • Te ajoute sipò pou GPU A615, A306 ak A621 nan chofè msm DRM (Qualcomm Adreno GPU).
    • Chofè Nouveau a te gen estrikti entèn li yo retravay ak netwaye.
    • Chofè intel_pstate a, ki kontwole paramèt konsomasyon pouvwa (P-state) sou sistèm ak processeur Intel, te ajoute sipò pou sistèm ibrid ak CPU asimetri (karakteristik diferan), ansanm ak sipò pou jesyon pouvwa processeurs ki baze sou Granite Rapids ak Sierra Forest. mikroachitekti. Te ajoute sipò pou CPU Xeon Granite Rapids nan chofè intel_idle la. Chofè intel_rapl la bay rekonesans pwosesis fanmi AMD 1Ah ak processeurs Intel ArrowLake-U.
    • Kontinye enklizyon chanjman pou sipòte ARM SoC Snapdragon X Elite, ki itilize pwòp CPU Oryon 12-nwayo Qualcomm ak Qualcomm Adreno GPU. Chip la vize pou itilize nan òdinatè pòtab ak òdinatè, epi li devan chips Apple M3 ak Intel Core Ultra 155H nan anpil tès pèfòmans.
    • Te ajoute sipò pou tablo ARM, SoC ak aparèy: Broadcom bcm2712 (Raspberry Pi 5), Renesas R9A09G057 (RZ/V2H), Qualcomm Snapdragon 414 (MSM8929), Lenovo ThinkPad T14s Gen 6, Lenovo A6000/A6010pnic7, andigman An35pnic30 RG , Firefly Core-PX4-JD68, Lunzn Fastrhino R433S, Aspeed Riser, AGX Orin, Rockchip Qnap-TS2, Huashan Pi, Meta Catalina, BeagleY-AI, NanoPi R920S Plus, ExynosAuto v2002, SOPHGO SG5332, 4 Qualcomm, LG815 ), Cool Pi CM5 GenBook, Anbernic RG35XXSP, GameForce Ace, IBM P11, Kontron i.MX93 OSM-S, NanoPC-T6
    • Te ajoute sipò pou panno ekran Anbernic RG28XX, On Tat Industrial Company KD50G21-40NT-A1, Innolux G070ACE-LH3, Melfas lmfbx101117480, Densitron DMT028VGHMCMI-1D, Microchip AC40T08A, AOU B116 02.3XAT116, BOE TV06.1WUM -LL116, BOE NV04.1WUM-N101, BOE NV2WUM-N140, BOE NV41WHM-A133D, BOE NE63WUM-N116G, CMN N4BCA-EA140, CMN N6BCP-EA116, CSW MNB2LS116-2.
    • Subsistèm odyo a te ajoute sipò pou chips ak kodèk RME Digiface USB, AMD ACP 7.1, Mediatek MT6367, MT8365, Realtek RTL1320, C-Media CM9825. Ansyen chofè son pou Intel ASoC yo te deklare demode, epi li rekòmande pou itilize chofè AVS pito. Yo te fè anpil amelyorasyon nan chofè SoundWire la.

Sous: opennet.ru

Achte hosting serye pou sit ki gen pwoteksyon DDoS, sèvè VPS VDS 🔥 Achte yon hébergement sit entènèt serye ak pwoteksyon DDoS, sèvè VPS VDS | ProHoster