Երկու ամսվա մշակումից հետո Լինուս Տորվալդսը թողարկեց միջուկը։ Linux 6.12. Առավել նշանակալի փոփոխությունների շարքում են՝ իրական ժամանակի ռեժիմը միացնելու հնարավորությունը, sched_ext-ը՝ eBPF-ի միջոցով CPU ժամանակացույցեր ստեղծելու համար, QR կոդի արտածումը արտակարգ իրավիճակներում, սարքի հիշողության TCP մեխանիզմը, SCHED_DEADLINE սերվերի ռեսուրսների ամրագրման մեխանիզմը, EEVDF առաջադրանքների ժամանակացույցի կատարելագործումը, IPE մոդուլը՝ ամբողջականության քաղաքականություններ սահմանելու համար։
Նոր տարբերակը ներառում է 14607 ուղղում 2167 մշակողների կողմից, կարկատանի չափը 37 ՄԲ է (փոփոխությունները ազդել են 13087 ֆայլերի վրա, ավելացվել է 507913 կոդ, ջնջվել է 234083 տող): Վերջին թողարկումն ուներ 15130 ուղղում 2078 ծրագրավորողների կողմից, կարկատանի չափը 85 ՄԲ էր (6.10 միջուկում կարկատումը 41 ՄԲ չափ էր): 45-ում ներկայացված բոլոր փոփոխությունների մոտ 6.12%-ը կապված է սարքի դրայվերների հետ, փոփոխությունների մոտավորապես 12%-ը կապված է ապարատային ճարտարապետությանը հատուկ կոդի թարմացման հետ, 13%-ը՝ ցանցային ստեկին, 6%-ը՝ ֆայլային համակարգերին և 3%-ը։ կապված են միջուկի ներքին ենթահամակարգերի հետ:
Հիմնական նորարարությունները միջուկում 6.12.
- Հիշողության և համակարգի ծառայություններ
- Այժմ հասանելի է միջուկը PREEMPT_RT տարբերակով կառուցելու հնարավորությունը՝ առանց իրական ժամանակի աշխատանքի համար լրացուցիչ թարմացումների: Վերջին բացակայող միջուկի առանձնահատկությունը, որը խոչընդոտում էր PREEMPT_RT ռեժիմի միացմանը, printk ֆունկցիայի միջոցով չարգելափակող ատոմային ելքի աջակցությունն էր, որը նույնպես ներառված է միջուկում: PREEMPT_RT աջակցությունը հասանելի է x86, x86_64, ARM64 և RISC-V ճարտարապետությունների համար: Մինչ օրս PREEMPT_RT ռեժիմի իրականացումը տրամադրվում էր արտաքին թարմացումների տեսքով, որոնք որոշ բաշխումներ, ինչպիսիք են RHEL, SUSE և այլն, օգտագործում էին... Ubuntu, ստեղծել են իրենց արտադրանքի առանձին իրական ժամանակի տարբերակներ, որոնք պահանջարկ ունեն այնպիսի ոլորտներում, ինչպիսիք են ֆինանսական համակարգերը, աուդիո և վիդեո մշակման սարքերը, ավիացիան, բժշկությունը, ռոբոտաշինությունը, հեռահաղորդակցությունը և արդյունաբերական համակարգերը, որտեղ անհրաժեշտ է ապահովել իրադարձությունների մշակման կանխատեսելի ժամանակը։
- Ավելացվել է «sched_ext» (SCX) մեխանիզմը, որը հնարավորություն է տալիս օգտագործել eBPF-ը՝ CPU ժամանակացույցեր ստեղծելու համար, որոնք ընդգրկում են առաջադրանքների ժամանակացույցի և CPU ռեսուրսների բաշխման գրեթե բոլոր ասպեկտները: Նման ժամանակացույցերը կարող են դինամիկ կերպով բեռնվել և կատարվել միջուկի ներսում: Linux в վիրտուալ մեքենա eBPF: sched_ext մեխանիզմը պարզեցնում է առաջադրանքների համար նախատեսված ժամանակացույցերի ստեղծումը, հնարավորություն է տալիս փորձարկել ժամանակացույցի տարբեր տեխնիկաներ և ռազմավարություններ, ինչպես նաև թույլ է տալիս արագ ստեղծել աշխատանքային նախատիպեր և ժամանակացույցերի փոխարինում արտադրական ենթակառուցվածքներում: Օրինակ, sched_ext-ի միջոցով կարող եք ստեղծել ժամանակացույց, որը հաշվի է առնում որոշակի ծրագրի առանձնահատկությունները և դինամիկ կերպով փոխում է դրա ժամանակացույցի ռազմավարությունը՝ կախված համակարգի վիճակից և այլ գործոններից:
- Կազմը ներառում է SCHED_DEADLINE սերվերի մեխանիզմի գործարկման համար անհրաժեշտ պատչերի մնացած մասը, որը լուծում է պրոցեսորի ռեսուրսների թերօգտագործման խնդիրը սովորական առաջադրանքների միջոցով, երբ պրոցեսորը մենաշնորհված է բարձր առաջնահերթ (իրական ժամանակում) առաջադրանքներով: CPU-ի մոնոպոլիզացումը կանխելու համար միջուկը նախկինում օգտագործում էր Realtime throttling մեխանիզմը, որը փորձում էր 5%-ը պահել ցածր առաջնահերթ առաջադրանքների համար՝ ժամանակի 95%-ը թողնելով իրական ժամանակում առաջադրանքների համար։ Այս մեխանիզմը թողեց շատ ցանկալի, քանի որ սովորական առաջադրանքները շատ իրավիճակներում բավարար պրոցեսորի ժամանակ չէին ստանում: SCHED_DEADLINE սերվերն իրականացնում է ռեսուրսների ամրագրման ավելի արդյունավետ մեխանիզմ:
- Ավարտվել է EEVDF-ի (Առաջին իրավասու վիրտուալ վերջնաժամկետ) առաջադրանքների ժամանակացույցի ինտեգրումը, որը փոխարինել է CFS (Լիովին արդար ժամանակացույց) ժամանակացույցին, որը մատակարարվում է 2.6.23 միջուկից սկսած: Նոր ժամանակացույցը, երբ ընտրում է հաջորդ գործընթացը, որին պետք է փոխանցվի կատարումը, հաշվի է առնում գործընթացները, որոնք չեն ստացել բավարար պրոցեսորային ռեսուրսներ կամ ստացել են անարդարացիորեն մեծ քանակությամբ պրոցեսորի ժամանակ: Առաջին դեպքում վերահսկողության փոխանցումը գործընթացին պարտադրված է, իսկ երկրորդում, ընդհակառակը, հետաձգվում է։ Հին CFS ժամանակացույցն օգտագործում էր էվրիստիկա և ճշգրտում` հատուկ ուշադրություն պահանջող գործընթացները բացահայտելու համար, մինչդեռ նոր ժամանակացույցը հետևում է դրանց ավելի հստակ և չի պահանջում ճշգրտում: Ակնկալվում է, որ EEVDF-ն կկրճատի այն առաջադրանքների հետաձգումները, որոնց համար CFS-ն ունեցել է ժամանակացույցի հետ կապված խնդիրներ:
- Միջուկի արտակարգ իրավիճակների կարգավորիչում՝ DRM Panic, որն օգտագործում է DRM (Direct Rendering Manager) ենթահամակարգը՝ «մահվան կապույտ էկրանի» ոճով վիզուալ հաշվետվություն ցուցադրելու համար, լոգոն և QR կոդը՝ kmsg զեկույցով ցուցադրելու հնարավորություն։ էկրանն ավելացվել է, երբ արտակարգ իրավիճակ է տեղի ունենում: Քանի որ QR կոդի մեջ տեղավորվում է ընդամենը 2953 բայթ, տրամադրվում է DRM_PANIC_SCREEN_QR_CODE_URL տարբերակը, որում kmsg հաշվետվությունը սեղմվում է zlib-ի միջոցով և որպես պարամետր կցվում է URL-ին, ինչը թույլ է տալիս մոտ 40 բայթ փոխանցել V7500 QR կոդի միջոցով: Միջուկով փաթեթներ կառուցելիս բաշխումները կարող են URL-ի համար բազային URL սահմանել, ինչը թույլ կտա նրանց նավարկելու էջ՝ խնդրի մասին զեկուցելու համար: QR կոդի ձևաչափն ընտրելու համար տրամադրվում է DRM_PANIC_SCREEN_QR_VERSION պարամետրը:
- Ավելացվեց ARM POE-ի (Permission Overlay Extension) աջակցությունը, որը թույլ է տալիս սահմանել մուտքի իրավունքներ դեպի հիշողության տարածքներ: Օգտագործելով այս ընդլայնումը, ARM64 պրոցեսորներով համակարգերում կարող է ներդրվել Memory Protection Keys մեխանիզմը, որն օգտագործվում է սահմանափակելու հիշողության էջերի հասանելիությունը՝ առանց հիշողության էջերի աղյուսակը փոխելու:
- Loongarch, ARM64, PowerPC և s390 ճարտարապետությունների համար getrandom() համակարգի զանգի իրականացումը տեղափոխվել է, օպտիմիզացված օգտագործելով vDSO (վիրտուալ դինամիկ համօգտագործվող օբյեկտ) մեխանիզմը, որը հնարավորություն է տալիս համակարգի զանգերի մշակիչը միջուկից տեղափոխել օգտվող։ տարածություն և խուսափել համատեքստի անջատիչներից: Օպտիմալացումը թույլ է տալիս արագացնել պատահական թվերի ստեղծումը մինչև 15 անգամ:
- io_uring ասինխրոն մուտքային/ելքային ենթահամակարգին ավելացվել է բացարձակ ժամկետների օգտագործման հնարավորությունը, որը գործարկվում է, երբ որոշակի ժամանակ է հասնում համակարգի ժամացույցի վրա, ավելացվել է io_uring ասինխրոն մուտքային/ելքային ենթահամակարգին (նախկինում կարող էին սահմանվել միայն հարաբերական ժամանակամիջոցներ, որոնք ցույց էին տալիս գործողության սկզբից սկսած տևողությունը )
- Ավելացվել են ֆայլեր libcpupower գրադարանի համար կապեր ստեղծելու համար՝ օգտագործելով SWIG գործիքակազմը, որը թույլ է տալիս կապեր ստեղծել C/C++ կոդից տարբեր ծրագրավորման լեզուների համար: Bindings-ը թույլ է տալիս ստեղծել սկրիպտներ Python-ով և այլ լեզուներով, և դրանք օգտագործել libcpupower գրադարանի ֆունկցիոնալությունը ընդլայնելու համար, որն ապահովում է API՝ cpufreq-ի և վարորդների օգտագործողի տարածքից կառավարելու համար:
- Cpuidle utility-ը ցուցադրում է անգործուն վիճակի «բնակության» արժեքը, որն օգտագործվում է իրական ժամանակի համակարգերի համար և հաշվի առնելով այն նվազագույն ժամանակը, երբ պրոցեսորը պետք է լինի անգործուն վիճակում՝ արդարացնելու համար այս վիճակին անցնելու և դուրս գալու էներգիայի ծախսերը:
- Ավելացվել է Clang կոմպիլյատորն օգտագործելու հնարավորություն՝ nolibc ստանդարտ C գրադարանը կառուցելու համար, որը ներառված է միջուկի սկզբնական կոդում։ Linux և ապահովում է հիմնական համակարգային կանչերի շուրջ փաթեթավորում: Clang-ում nolibc կառուցելիս միացված է կապի ժամանակի օպտիմալացումը (LTO):
- Որոշ cgroup1 ինտերֆեյսներ հնացել են, ինչպիսիք են TCP հաշվառումը, soft limit XNUMX-ին տարբերակը և հիշողության սպառման կառավարումը: Այս գործառույթների աջակցությունն առայժմ մնում է ամբողջությամբ, և նախազգուշացումն արված է՝ ուսումնասիրելու այն օգտատերերի թիվը, ովքեր շարունակում են օգտագործել այդ հնարավորությունները:
- Ավելացվեց օղակի հետքի բուֆերի կազմաձևման հնարավորություն՝ կուտակված տվյալները վերաբեռնումից հետո պահպանելու համար, ինչը թույլ կտա չկորցնել կուտակված վրիպազերծման տեղեկատվությունը միջուկի խափանման դեպքում: Տվյալները պահվում են հիշողության մեջ: Միացնելը կատարվում է trace_instance միջուկի հրամանի տողի պարամետրի միջոցով, օրինակ՝ «trace_instance=boot_map@0x285400000:12M» կարգավորումը կպահի 12 ՄԲ հիշողություն 0x285400000 «boot_map» բուֆերի համար, որը հասանելի կլինի ֆայլերի/sysker-ի միջոցով: /tracing/instances/boot_map.
- Rust-for- ճյուղից փոփոխությունների շարունակական տեղափոխումLinux, որը կապված է Rust-ը որպես երկրորդ լեզու օգտագործելու հետ դրայվերների և միջուկի մոդուլների մշակման համար (Rust-ի աջակցությունը լռելյայնորեն ակտիվ չէ և Rust-ը չի ներառում միջուկի պարտադիր կառուցման կախվածությունների շարքում): Ավելացվել են 'list' և 'rbtree' մոդուլները՝ կրկնակի կապված ցուցակների և կարմիր-սև որոնման ծառերի հետ աշխատելու համար: Ընդլայնվել են 'init', 'sync', 'types' և 'error' մոդուլների հնարավորությունները: Ավելացվել է Rust կոդը օգտագործելու հնարավորություն Spectre հարձակումներից պաշտպանված միջուկ կառուցելիս (MITIGATION_{RETHUNK,RETPOLINE,SLS} տարբերակներ), KASAN debug համակարգը, kCFI (kernel Control Flow Integrity) և Shadow Call պաշտպանության մեխանիզմները, ինչպես նաև լրացուցիչ GCC պլագինները օգտագործելիս: Ավելացվել է Applied Micro QT2025 PHY Ethernet կարգավորիչի դրայվեր, որը գրված է Rust լեզվով: Պատրաստվել է առանձին կայք՝ փաստաթղթերով. rust.docs.kernel.org:
- Xdrgen ծրագիրը ավելացվել է միջուկի սկզբնական կոդին՝ XDR (eXternal Data Representation) սպեցիֆիկացիաները միջուկի կողմից ընդունված C ոճով գրված XDR կոդավորման և վերծանման ֆունկցիաների փոխակերպելու համար։ Linux.
- Միջուկը փոփոխվել է ցուցիչի քողարկման մեխանիզմի ներդրման համար՝ նվազեցնելու դանդաղ զանգերի թիվը դեպի barrier_nospec() 64-բիթանոց copy_from_user() ֆունկցիայի մեջ, որն օգտագործվում է օգտագործողի տարածությունից տվյալները միջուկում պատճենելու համար: Դիմակավորման օգտագործումը արագացնում է «per_thread_ops» թեստը, որը գնահատում է մեկ թելում կատարվող գործողությունների քանակը 2.6%-ով։
- Ավելացվել է նոր USB դրայվեր, որը թույլ է տալիս օգտագործել 9pfs արձանագրությունը որպես USB սարքից տվյալներ ուղարկելու և ստանալու համար 9p ֆայլային համակարգը USB-ով միացնելիս (օրինակ՝ «mount -t 9p -o trans=usbg, անուն=/ուղի/դեպի/ fs /mnt/9»): Նոր դրայվերի օգտագործման օրինակ է այն օգտագործումը NFS-ի փոխարեն՝ ներկառուցված սարքեր մշակելիս արմատային բաժանման բեռնումը կազմակերպելու համար:
- Սկավառակի ենթահամակարգ, I/O և ֆայլային համակարգեր
- VFS ենթահամակարգին ավելացվել է պահեստավորման սարքերի հետ աշխատելու հնարավորություն, որոնց բլոկի չափը մեծ է համակարգում հիշողության էջի չափից: Ֆայլային համակարգերում այս հատկությունը ներկայումս աջակցվում է միայն XFS-ում:
- FUSE ենթահամակարգը, որը թույլ է տալիս ստեղծել օգտատերերի տարածքում գործող ֆայլային համակարգերի իրականացում, ավելացրել է մոնտաժված ֆայլային համակարգերի օգտատերերի նույնացուցիչների քարտեզագրման աջակցություն, որն օգտագործվում է հատուկ օգտատիրոջ ֆայլերը մոնտաժված օտար բաժանման վրա մեկ այլ օգտատիրոջը համապատասխանեցնելու համար: համակարգ.
- Իրականացվել է fcntl նոր գործողություն՝ F_CREATED_QUERY, որը հավելվածին հնարավորություն է տալիս որոշել՝ ստեղծվե՞լ է արդյոք O_CREAT դրոշակի միջոցով բացված ֆայլը, թե՞ նախկինում գոյություն է ունեցել:
- Ավելացրել է 64-բիթանոց ամրացման կետի եզակի ID-ներ օգտագործելու հնարավորությունը name_to_handle_at() համակարգի կանչին՝ մրցավազքի պայմաններից խուսափելու համար /proc/mountinfo վերլուծելիս:
- Միջուկում «ֆայլի» կառուցվածքի չափը կրճատվել է 232-ից մինչև 184 բայթ, ինչը նվազեցնում է հիշողության սպառումը ֆայլերի հետ ակտիվորեն աշխատող համակարգերում:
- Արգելվում է ֆայլային համակարգերի տեղադրումը /proc հիերարխիայում գտնվող կետերի տեղադրման համար, ինչպիսիք են /proc/PID/fd-ը, ինչը պոտենցիալ անվտանգության խնդիրներ է ստեղծում:
- Կեղծ FS NSFS-ը (NameSpace FS), որն օգտագործվում է անվանատարածքների հետ աշխատելու համար, լրացուցիչ տեղեկություններ է տալիս մոնտաժային կետերի անվանատարածքների մասին:
- EROFS (Extendable Read-Only File System) ֆայլային համակարգը, որը նախատեսված է միայն կարդալու միջնորմների վրա օգտագործելու համար, այժմ աջակցում է ֆայլային համակարգերի մոնտաժմանը անմիջապես որպես ֆայլ պահված սկավառակի պատկերներից:
- XFS-ին ավելացվել են XFS_IOC_START_COMMIT և XFS_IOC_COMMIT_RANGE նոր ioctl հրամանները՝ երկու ֆայլերի միջև բովանդակություն փոխանակելու համար:
- NFS-ը ավելացրել է «LOCALIO» արձանագրության աջակցությունը, որը թույլ է տալիս որոշել, թե արդյոք հաճախորդը և սերվեր NFS նույն հոսթի վրա՝ համապատասխան օպտիմալացումները միացնելու համար։
- Btrfs ֆայլային համակարգում առաջարկվել են կատարողականի օպտիմիզացումներ, ծածկագիրը վերամշակվել է, ընթերցման գործողությունների ժամանակ արգելափակման ծավալը կրճատվել է, շարունակվել է հիշողության էջերը էջի ֆայլեր օգտագործելու փոխակերպման աշխատանքները, և հիշողության ավտոմատ թողարկումը կատարվել է: իրականացվել է btrfs_path կառուցվածքի համար:
- Ext4 ֆայլային համակարգում շտկվել են բլոկների տեղաբաշխման, ծավալների կառավարման, արագ կատարման և ամսագրի հետ կապված սխալները:
- Վիրտուալացում և անվտանգություն
- Ավելացվեց IPE (Integrity Policy Enforcement) LSM մոդուլը, որը մշակվել է Microsoft-ի կողմից՝ ընդլայնելու առկա պարտադիր մուտքի վերահսկման համակարգը: Մոդուլը թույլ է տալիս սահմանել ամբողջականության ընդհանուր քաղաքականություն ամբողջ համակարգի համար՝ նշելով, թե որ գործողություններն են թույլատրվում և ինչպես պետք է ստուգվի բաղադրիչների իսկությունը: Օրինակ, օգտագործելով IPE, դուք կարող եք նշել, թե որ գործարկվող ֆայլերն են թույլատրվում գործարկել՝ հաշվի առնելով դրանց համապատասխանությունը հղման տարբերակին՝ օգտագործելով dm-verity համակարգի կողմից տրամադրված գաղտնագրային հեշերը:
- Միջուկի կազմման փուլում հնարավոր է առանձին-առանձին միացնել CPU-ում Specter դասի տարբեր խոցելիություններից պաշտպանության հասանելի մեթոդները: Kconfig-ն առաջարկում է նոր պարամետրեր՝ MITIGATE_MDS (պաշտպանություն միկրոճարտարապետական տվյալների նմուշառման խոցելիությունից), MITIGATE_TAA (պաշտպանություն TSX Asynchronous Abort խոցելիությունից), MITIGATE_MMIO_STALE_DATA (պաշտպանություն MMIO Stale Data-ի խոցելիությունից) ITIGATE_RETBLEED (պաշտպանություն Retbleed-ի խոցելիությունից), MITIGATE_SPECTRE_V1, MITIGATE_SPECTRE_V1 (պաշտպանություն Spectre-ի խոցելիություններից), MITIGATE_SRBDS (պաշտպանություն հատուկ ռեգիստրի բուֆերային տվյալների նմուշառման խոցելիությունից), MITIGATE_SSB (սպեկուլյատիվ պահուստների պաշտպանություն):
- Ավելացվեց հրամանի տող proc_mem.force_override տարբերակը և Kconfig-ում հավաքման կարգավորումների մի շարք (PROC_MEM_FORCE_ALWAYS, PROC_MEM_FORCE_PTRACE և PROC_MEM_FORCE_NEVER)՝ կանխելու հիշողության փոփոխությունները /proc/pid/mem-ի միջոցով:
- LSM ենթահամակարգ (Linux անվտանգության մոդուլը) անցել է ստատիկ զանգերի օգտագործմանը, ինչը բարելավել է անվտանգությունն ու արդյունավետությունը։
- ARM64 ճարտարապետության համար ստանդարտ միջուկներ օգտագործելու ունակությունը հյուր միջավայրերում, որոնք աշխատում են Android- համակարգեր՝ փոփոխված KVM հիպերվիզորով (պաշտպանված KVM):
- Landlock LSM մոդուլը, որը թույլ է տալիս սահմանափակել մի խումբ գործընթացների փոխազդեցությունը արտաքին միջավայրի հետ, իրականացնում է «IPC scopeing» հայեցակարգը՝ ընտրովիորեն սահմանափակելու փոխազդեցությունը ավազատուփի միջավայրերի հետ՝ օգտագործելով Unix վարդակներ և ազդանշաններ: Օրինակ, դուք կարող եք արգելել միացումները՝ օգտագործելով Unix վարդակներ ավազարկղային միջավայրից այն գործընթացներին, որոնք չունեն մեկուսացում, բայց թույլ են տալիս միացնել գործընթացներին նույն շրջանակում:
- KVM հիպերվիզորում դրոշ է ավելացվել CPUID-ին հյուր համակարգերի համար, որը ցույց է տալիս աջակցություն AVX10.1 ընդլայնումների համար:
- Ցանցային ենթահամակարգ
- Ավելացվել է Device Memory TCP մեխանիզմը, որը թույլ է տալիս ցանցային վարդակների օգտագործումը՝ ծայրամասային սարքերի հիշողության բովանդակությունը ուղղակիորեն ցանցով ուղարկելու համար (զրոյական պատճենման ռեժիմ) և ուղղակիորեն տեղադրել ցանցային փաթեթների պարունակությունը սարքի հիշողության տարածքում։ ստացողի կողմը. Փաթեթներով փոխանցված տվյալները ցանցային քարտից փոխանցվում են ծայրամասային սարքի հիշողությանը կամ սարքի հիշողությունից անմիջապես ցանցային քարտին՝ շրջանցելով պրոցեսորը, և փաթեթների վերնագրերը հայտնվում են սովորական միջուկի բուֆերներում:
- Ընդլայնվել են բազմաթիվ Ethernet և անլար վարորդների հնարավորությունները: Օրինակ, Intel iwlwifi դրայվերը ավելացրեց աջակցություն RLC/SMPS գործառնությունները որոնվածի կողմ տեղափոխելու համար, RealTek rtw89 դրայվերը ավելացրեց կատարողականությունը և ավելացրեց աջակցություն RTL8852BT/8852BE-VT (WiFi 6) չիպերին, միկրոչիպի Ethernet դրայվերը ավելացրեց աջակցություն IEEE 802.3-ին: bw (100BASE) բնութագրերը -T1) և IEEE 802.3bp, Microsoft vNIC և IBM veth վիրտուալ Ethernet ներդրումները բարելավվել են: Ավելացվել են նոր վարորդներ Realtek RTL9054, RTL9068, RTL9072, RTL9075, RTL9068, RTL9071 և Microchip LAN8650/1 10BASE-T1S MAC-PHY Ethernet չիպերի համար:
- MPTCP-ում (MultiPath TCP), TCP արձանագրության ընդլայնումը՝ TCP փաթեթների առաքումը միաժամանակ մի քանի երթուղիներով ցանցային տարբեր ինտերֆեյսների միջոցով, երթուղղման մեջ օգտագործվող կշիռների չափը 8-ից ավելացել է 16 բիթ: Կորած (սև խոռոչի) երթևեկության հայտնաբերում և երթևեկության կորստի տանող համակարգերի հետ կապեր հաստատելու փորձերի կասեցում:
- IPv6-ի համար աջակցությունն իրականացվում է «p» դրոշի համար PIO-ում (Նախածանցի տեղեկատվական տարբերակ), որն օգտագործվում է ՀՀ գովազդներում (IPv6 Router Advertisements)՝ պատվիրատուի տեղակայման մոդել ընտրելու համար DHCPv6-PD (DHCPv6 Prefix Delegation, RFC9663) միջոցով նշանակելու փոխարեն: անհատական հասցեներ՝ հիմնված նախածանցների վրա՝ օգտագործելով SLAAC (Stateless Address Autoconfiguration): IPv6 IOAM6-ն ավելացնում է աջակցություն tunsrc պարփակման նոր ռեժիմին, որը թույլ է տալիս ավելի լավ կատարում:
- Բարելավված կատարողականություն IPsec կառավարման փաթեթների մշակման համար:
- nftables խոշոր nftables կանոնների հավաքածուների բարելավված կատարումը: nfnetlink_queue-ն բարելավել է SCTP արձանագրության աջակցությունը:
- Ethtool API-ն ավելացրել է մի քանի ցանցային քարտեր մեկ ցանցային ինտերֆեյսի միացման աջակցություն:
- սարքավորում
- AMDGPU դրայվերում աշխատանքը շարունակվում է AMD RDNA4 («GFX12») GPU-ների աջակցության իրականացման ուղղությամբ: Ավելացվեց առանձին առաջադրանքների հերթերը վերականգնելու հնարավորությունը՝ առանց ամբողջ GPU-ի վերակայման:
- Աշխատանքները շարունակվեցին Intel Xe ճարտարապետության վրա հիմնված GPU-ների համար Xe drm դրայվերի վրա (Direct Rendering Manager), որն օգտագործվում է Intel Arc ընտանիքի վիդեո քարտերում և ինտեգրված գրաֆիկայում՝ սկսած Tiger Lake պրոցեսորներից: Նոր տարբերակը ներառում է GPU-ների աջակցություն, որոնք հիմնված են Battlemage և Lunar Lake միկրոճարտարապետությունների վրա: Ներդրվել է Xe2 CCS (Color Control Surface) մոդիֆիկատորների աջակցություն՝ ինտեգրված և դիսկրետ GPU-ների պարամետրերը վերահսկելու համար:
- i915 դրայվերն իրականացնում է օդափոխիչի արագության մասին տեղեկատվություն HWMON կամ sysfs ինտերֆեյսի միջոցով ելքային հնարավորություն («fan1_input» հատկանիշ): «i915.modeset» պարամետրը հնացել է «i915.nomodeset» պարամետրը «i0.modeset=915»-ի փոխարեն։
- Ավելացվել է A615, A306 և A621 GPU-ների աջակցություն msm DRM վարորդին (Qualcomm Adreno GPU):
- Nouveau-ի վարորդի ներքին կառուցվածքները վերամշակվել և մաքրվել են:
- Intel_pstate դրայվերը, որը վերահսկում է էներգիայի սպառման պարամետրերը (P-state) Intel պրոցեսորներով համակարգերի վրա, ավելացրել է աջակցություն ասիմետրիկ (տարբեր բնութագրերով) պրոցեսորներով հիբրիդային համակարգերին, ինչպես նաև աջակցություն Granite Rapids-ի և Sierra Forest-ի վրա հիմնված պրոցեսորների էներգիայի կառավարման համար: միկրոճարտարապետություններ. Ավելացվել է Xeon Granite Rapids պրոցեսորի աջակցություն intel_idle վարորդին: Intel_rapl դրայվերը ապահովում է AMD 1Ah ընտանիքի պրոցեսների և Intel ArrowLake-U պրոցեսորների ճանաչում:
- ARM SoC Snapdragon X Elite-ին աջակցելու համար փոփոխությունները շարունակվում են, որն օգտագործում է Qualcomm-ի սեփական 12 միջուկային Oryon պրոցեսորը և Qualcomm Adreno GPU-ն: Չիպը նպատակաուղղված է նոութբուքերի և համակարգիչների օգտագործմանը և գերազանցում է Apple M3 և Intel Core Ultra 155H չիպերին շատ կատարողական թեստերում:
- Ավելացվեց ARM տախտակների, SoC-ների և սարքերի համար՝ Broadcom bcm2712 (Raspberry Pi 5), Renesas R9A09G057 (RZ/V2H), Qualcomm Snapdragon 414 (MSM8929), Lenovo ThinkPad T14s Gen 6, Lenovo, 6000, Lenovo, XXSP Firefly Core-Px6010-JD7, Lunzn Fastrreino R35s, Aspeed Riser, Agx Orin, Rockchip Qnap-Ts30, Beagley-AI Catalina, Beagnouto V4, Sophgo SG68, Q433 (H2 Cool Pi CM920 GenBook, Anbernic RG2002XXSP, GameForce Ace, IBM P5332, Kontron i.MX4 OSM-S, NanoPC-T815
- Ավելացվել է էկրանի պանելների աջակցություն Anbernic RG28XX, On Tat Industrial Company KD50G21-40NT-A1, Innolux G070ACE-LH3, Melfas lmfbx101117480, Densitron BMT028VGHMCMI-1D, Microchip A.40, Microchip AC 08XAN116, B02.3XAT116, BOE TV06.1WUM -LL116, BOE NV04.1WUM-N101, BOE NV2WUM-N140, BOE NV41WHM-A133D, BOE NE63WUM-N116G, CMN N4BCA-EA140, CMN N6BCP-EA116, CSW2MN, Start.
- Աուդիո ենթահամակարգն ավելացրել է չիպերի և կոդեկների աջակցություն RME Digiface USB, AMD ACP 7.1, Mediatek MT6367, MT8365, Realtek RTL1320, C-Media CM9825: Intel ASoC-ի հին ձայնային դրայվերները հայտարարվել են հնացած, և դրա փոխարեն խորհուրդ է տրվում օգտագործել AVS դրայվերներ: Շատ բարելավումներ են կատարվել SoundWire-ի դրայվերում:
Source: opennet.ru
