Երկու ամիս մշակումից հետո Լինուս Տորվալդսը ներկայացրեց Linux միջուկի 5.15 թողարկումը: Հատկանշական փոփոխությունները ներառում են. նոր NTFS դրայվեր՝ գրելու աջակցությամբ, ksmbd մոդուլ՝ SMB սերվերի ներդրմամբ, DAMON ենթահամակարգ՝ հիշողության հասանելիության մոնիտորինգի համար, իրական ժամանակի կողպման պրիմիտիվներ, fs-verity աջակցություն Btrfs-ում, process_mrelease համակարգի կանչ՝ սովի արձագանքման համակարգերի հիշողության համար, հեռահար հավաստագրման մոդուլ։ dm-ima.
Նոր տարբերակը ներառում է 13499 ուղղում 1888 ծրագրավորողների կողմից, patch-ի չափը 42 ՄԲ է (փոփոխությունները ազդել են 10895 ֆայլերի վրա, ավելացվել է 632522 կոդ, ջնջվել է 299966 տող): 45-ում ներկայացված բոլոր փոփոխությունների մոտ 5.15%-ը կապված է սարքի դրայվերների հետ, փոփոխությունների մոտավորապես 14%-ը կապված է ապարատային ճարտարապետությանը հատուկ կոդի թարմացման հետ, 14%-ը կապված է ցանցային փաթեթի հետ, 6%-ը՝ ֆայլային համակարգերի և 3%-ը: կապված են միջուկի ներքին ենթահամակարգերի հետ:
Հիմնական նորամուծությունները.
- Սկավառակի ենթահամակարգ, I/O և ֆայլային համակարգեր
- Միջուկը ընդունել է NTFS ֆայլային համակարգի նոր ներդրում, որը բացվել է Paragon Software-ի կողմից: Նոր դրայվերը կարող է աշխատել գրելու ռեժիմում և աջակցում է NTFS 3.1-ի ընթացիկ տարբերակի բոլոր հնարավորությունները, ներառյալ ընդլայնված ֆայլերի ատրիբուտները, մուտքի ցուցակները (ACLs), տվյալների սեղմման ռեժիմը, ֆայլերի դատարկ տարածքների հետ արդյունավետ աշխատանք (նոսր) և փոփոխությունների վերարտադրումը: մատյան՝ անհաջողություններից հետո ամբողջականությունը վերականգնելու համար:
- Btrfs ֆայլային համակարգը աջակցում է fs-verity մեխանիզմին, որն օգտագործվում է առանձին ֆայլերի ամբողջականությունն ու իսկությունը թափանցիկ վերահսկելու համար՝ օգտագործելով մետատվյալների տարածքում պահվող ֆայլերի հետ կապված կրիպտոգրաֆիկ հեշեր կամ բանալիներ: Նախկինում fs-verity-ն հասանելի էր միայն Ext4 և F2fs ֆայլային համակարգերի համար:
Btrfs-ն ավելացնում է նաև մոնտաժված ֆայլային համակարգերի համար օգտագործողների ID-ների քարտեզագրման աջակցություն (նախկինում աջակցվում էր FAT, ext4 և XFS ֆայլային համակարգերի համար): Այս հատկությունը թույլ է տալիս համեմատել հատուկ օգտատիրոջ ֆայլերը տեղադրված արտասահմանյան բաժանման վրա ընթացիկ համակարգի մեկ այլ օգտվողի հետ:
Btrfs-ի այլ փոփոխությունները ներառում են. raid0-ը մեկ սարքով, իսկ raid10-ը երկուսով աշխատելու ունակություն (օրինակ՝ զանգվածը վերակազմավորելու գործընթացում); «rescue=ibadroots» տարբերակը՝ անտեսելու չափի սխալ ծառը; «ուղարկել» գործողության արագացում; վերանվանման գործողությունների ընթացքում արգելափակման հակասությունների նվազեցում. 4K հատվածներ օգտագործելու ունակություն 64K հիշողության էջի չափս ունեցող համակարգերում:
- XFS-ում կայունացվել է 2038 թվականից հետո ամսաթվերը ֆայլային համակարգում օգտագործելու հնարավորությունը։ Իրականացրել է ինոդի հետաձգված ապաակտիվացման և ֆայլի ատրիբուտների հետաձգված տեղադրման և հեռացման մեխանիզմ: Խնդիրները վերացնելու համար արդեն տեղադրված միջնորմների համար սկավառակի քվոտաներն անջատելու հնարավորությունը հանվել է (կարող եք ստիպողաբար անջատել քվոտաները, բայց դրանց հետ կապված հաշվարկը կշարունակվի, ուստի դրանք ամբողջությամբ անջատելու համար պահանջվում է վերամիացում):
- EXT4-ում աշխատանք է տարվել delalloc բուֆերների գրման արդյունավետությունը բարձրացնելու և որբ ֆայլերի մշակման ուղղությամբ, որոնք շարունակում են գոյություն ունենալ այն պատճառով, որ դրանք բաց են մնում, բայց կապված չեն գրացուցակի հետ: Հրաժարման գործողությունների մշակումը տեղափոխվել է jbd2 kthread շղթայից՝ մետատվյալներով գործողությունները արգելափակելուց խուսափելու համար:
- F2FS-ն ավելացրել է «discard_unit=block|segment|section» տարբերակը՝ չեղյալ համարելու գործողությունները (նշելով ազատված բլոկները, որոնք այլևս չեն կարող ֆիզիկապես պահպանվել) բլոկի, հատվածի, հատվածի կամ հատվածի հետ կապված հավասարեցման հետ: Ավելացվել է I/O հետաձգման փոփոխություններին հետևելու աջակցություն:
- EROFS (Extendable Read-Only File System) ֆայլային համակարգը ավելացնում է I/O ուղղակի աջակցություն առանց սեղմման պահված ֆայլերի, ինչպես նաև fiemap-ի աջակցություն:
- OverlayFS-ն իրականացնում է «անփոփոխելի», «միայն հավելված», «համաժամեցում» և «noatime» մոնտաժային դրոշների ճիշտ մշակում:
- NFS-ը բարելավել է իրավիճակների կառավարումը, երբ NFS սերվերը դադարում է պատասխանել հարցումներին: Ավելացվեց մի սերվերից, որն արդեն օգտագործվում է, բայց հասանելի է ցանցի այլ հասցեի միջոցով տեղադրելու հնարավորություն:
- Սկսվել են FSCACHE ենթահամակարգի վերաշարադրման նախապատրաստական աշխատանքները:
- Ավելացվել է աջակցություն EFI միջնորմների համար՝ GPT աղյուսակների ոչ ստանդարտ տեղադրմամբ:
- Fanotify մեխանիզմն իրականացնում է նոր դրոշ՝ FAN_REPORT_PIDFD, որը հանգեցնում է նրան, որ pidfd-ը ներառվի վերադարձված մետատվյալներում: Pidfd-ն օգնում է կարգավորել PID-ի վերօգտագործման իրավիճակները՝ ավելի ճշգրիտ բացահայտելու գործընթացները, որոնք մուտք են գործում վերահսկվող ֆայլեր (pidfd-ը կապված է որոշակի գործընթացի հետ և չի փոխվում, մինչդեռ PID-ը կարող է կապված լինել մեկ այլ գործընթացի հետ՝ այդ PID-ի հետ կապված ընթացիկ գործընթացի ավարտից հետո):
- Ավելացրել է move_mount() համակարգի կանչին գոյություն ունեցող ընդհանուր խմբերին մոնտաժման կետեր ավելացնելու հնարավորությունը, որը լուծում է CRIU-ում պրոցեսի վիճակի պահպանման և վերականգնման հետ կապված խնդիրները, երբ կան մի քանի մոնտաժային տարածքներ, որոնք համօգտագործվում են մեկուսացված բեռնարկղերում:
- Ավելացվել է պաշտպանություն թաքնված մրցավազքի պայմաններից, որոնք կարող են պոտենցիալ ֆայլերի կոռուպցիա առաջացնել՝ քեշի ընթերցումներ կատարելիս՝ ֆայլի դատարկությունները մշակելիս:
- Ֆայլերի պարտադիր (պարտադիր) կողպման աջակցությունը, որն իրականացվել է համակարգային զանգերի արգելափակման միջոցով, որոնք հանգեցնում են ֆայլի փոփոխության, դադարեցվել է: Հնարավոր մրցավազքի պայմանների պատճառով այս կողպեքները համարվում էին անվստահելի և շատ տարիներ առաջ հնացած էին:
- LightNVM ենթահամակարգը հեռացվել է, որը թույլ է տվել ուղիղ մուտք գործել SSD սկավառակ՝ շրջանցելով էմուլացիոն շերտը։ LightNVM-ն կորցրել է իր նշանակությունը NVMe ստանդարտների հայտնվելուց հետո, որոնք ապահովում են գոտիավորում (ZNS, Zoned Namespace):
- Հիշողության և համակարգի ծառայություններ
- Ներդրվել է DAMON (Data Access MONitor) ենթահամակարգը, որը թույլ է տալիս վերահսկել գործունեությունը, որը կապված է RAM-ում տվյալների մուտքի հետ կապված ընտրված գործընթացի հետ, որն աշխատում է օգտագործողի տարածքում: Ենթահամակարգը թույլ է տալիս վերլուծել, թե հիշողության որ տարածքներն է մուտք գործել գործընթացը իր ողջ գործունեության ընթացքում, և որ հիշողության տարածքները մնացել են չպահանջված: DAMON-ն առանձնանում է պրոցեսորի ցածր ծանրաբեռնվածությամբ, հիշողության ցածր սպառմամբ, բարձր ճշգրտությամբ և կանխատեսելի հաստատուն ծախսերով՝ անկախ չափից: Ենթահամակարգը կարող է օգտագործվել ինչպես միջուկի կողմից՝ հիշողության կառավարումը օպտիմալացնելու համար, այնպես էլ օգտագործողի տարածքի կոմունալ ծառայությունները՝ հասկանալու, թե կոնկրետ ինչ է անում գործընթացը և օպտիմալացնել հիշողության օգտագործումը, օրինակ՝ ազատելով ավելորդ հիշողությունը համակարգի համար:
- Process_mrelease համակարգի կանչն իրականացվել է՝ արագացնելու գործընթացի հիշողության ազատման գործընթացը, որն ավարտում է դրա կատարումը: Նորմալ պայմաններում ռեսուրսների թողարկումը և գործընթացի դադարեցումը ակնթարթային չեն և կարող են հետաձգվել տարբեր պատճառներով՝ խանգարելով օգտատերերի հիշողության վաղ արձագանքման համակարգերին, ինչպիսիք են oomd (տրամադրվում է systemd-ի կողմից) և lmkd (օգտագործվում է Android-ի կողմից): Անվանելով process_mrelease՝ նման համակարգերը ավելի կանխատեսելիորեն կարող են խթանել հիշողության վերադարձը հարկադիր գործընթացներից:
- PREEMPT_RT միջուկի ճյուղից, որը զարգացնում է իրական ժամանակի աշխատանքի աջակցությունը, փոխանցվել են RT-Mutex ենթահամակարգի վրա հիմնված կողպեքների mutex, ww_mutex, rw_semaphore, spinlock և rwlock պրիմիտիվների կազմակերպման տարբերակներ: Փոփոխություններ են ավելացվել SLUB սալերի հատկացուցիչում՝ PREEMPT_RT ռեժիմում աշխատանքը բարելավելու և ընդհատումների վրա ազդեցությունը նվազեցնելու համար:
- Cgroup-ին ավելացվել է SCHED_IDLE առաջադրանքների ժամանակացույցի հատկանիշի աջակցությունը, որը թույլ է տալիս այս հատկանիշը տրամադրել որոշակի cխմբում ներառված խմբի բոլոր գործընթացներին: Նրանք. այս գործընթացները կաշխատեն միայն այն ժամանակ, երբ համակարգում այլ առաջադրանքներ չկան, որոնք սպասում են կատարման: Ի տարբերություն SCHED_IDLE հատկանիշը յուրաքանչյուր գործընթացի համար առանձին սահմանելու, երբ SCHED_IDLE-ը cgroup-ին կապում ենք, խմբի ներսում առաջադրանքների հարաբերական կշիռը հաշվի է առնվում կատարվող առաջադրանք ընտրելիս:
- Cgroup-ում հիշողության սպառման հաշվառման մեխանիզմը ընդլայնվել է միջուկի լրացուցիչ տվյալների կառուցվածքներին հետևելու ունակությամբ, ներառյալ՝ հարցումների, ազդանշանների մշակման և անվանատարածքների համար ստեղծվածները:
- Ավելացվել է պրոցեսորային միջուկների հետ առաջադրանքների ասիմետրիկ պլանավորման աջակցություն ճարտարապետությունների վրա, որոնցում որոշ պրոցեսորներ թույլ են տալիս կատարել 32-բիթանոց առաջադրանքներ, իսկ որոշները գործում են միայն 64-բիթանոց ռեժիմով (օրինակ՝ ARM): Նոր ռեժիմը թույլ է տալիս հաշվի առնել միայն պրոցեսորները, որոնք աջակցում են 32-բիթանոց առաջադրանքներին՝ 32-բիթանոց առաջադրանքները պլանավորելիս:
- io_uring asynchronous I/O ինտերֆեյսն այժմ աջակցում է ֆայլերի բացմանը անմիջապես ֆիքսված ֆայլի ինդեքսային աղյուսակում, առանց ֆայլի նկարագրիչ օգտագործելու, ինչը հնարավորություն է տալիս զգալիորեն արագացնել որոշ տեսակի գործառնություններ, սակայն հակասում է ֆայլերի նկարագրիչների օգտագործման ավանդական Unix գործընթացին: ֆայլեր բացելու համար:
io_uring-ը BIO (Block I/O Layer) ենթահամակարգի համար ներդնում է վերամշակման նոր մեխանիզմ («BIO recycling»), որը նվազեցնում է ներքին հիշողության կառավարման գործընթացի ծախսերը և ավելացնում է վերամշակված I/O գործառնությունների քանակը վայրկյանում մոտավորապես 10%-ով: . io_uring-ը նաև ավելացնում է աջակցություն mkdirat(), symlinkat() և linkat() համակարգերի զանգերին:
- BPF ծրագրերի համար իրականացվել է ժամանակաչափի իրադարձություններ պահանջելու և մշակելու հնարավորությունը: Ավելացվել է UNIX վարդակների համար կրկնող, և setsockopt-ի համար վարդակների տարբերակները ստանալու և սահմանելու հնարավորությունը ներդրվել է: BTF dumper-ն այժմ աջակցում է մուտքագրված տվյալները:
- Տարբեր տեսակի հիշողությամբ NUMA համակարգերում, որոնք տարբերվում են կատարողականությամբ, երբ ազատ տարածքը սպառվում է, հեռացված հիշողության էջերը դինամիկ հիշողությունից (DRAM) տեղափոխվում են ավելի դանդաղ մշտական հիշողություն (Մշտական հիշողություն)՝ այս էջերը ջնջելու փոխարեն: Փորձարկումները ցույց են տվել, որ նման մարտավարությունը սովորաբար բարելավում է նման համակարգերի աշխատանքը: NUMA-ն նաև հնարավորություն է տալիս հիշողության էջեր հատկացնել գործընթացի համար ընտրված NUMA հանգույցներից:
- ARC ճարտարապետության համար ներդրվել է երեք և չորս մակարդակի հիշողության էջերի աղյուսակների աջակցություն, ինչը հետագայում հնարավորություն կտա աջակցել 64-բիթանոց ARC պրոցեսորներին:
- S390 ճարտարապետության համար ներդրվել է KFENCE մեխանիզմը՝ հիշողության հետ աշխատելիս սխալները հայտնաբերելու համար օգտագործելու հնարավորությունը, և ավելացվել է KCSAN մրցավազքի վիճակի դետեկտորի աջակցությունը:
- Ավելացված է աջակցություն printk(-ի միջոցով թողարկված հաղորդագրությունների ցանկը ինդեքսավորելու համար), որը թույլ է տալիս միանգամից առբերել բոլոր այդպիսի հաղորդագրությունները և հետևել օգտվողի տարածքում փոփոխություններին:
- mmap()-ը վերացրել է VM_DENYWRITE տարբերակի աջակցությունը, իսկ միջուկի կոդը հանվել է MAP_DENYWRITE ռեժիմից օգտվելուց, ինչը նվազեցրել է իրավիճակների թիվը, որոնք հանգեցնում են ETXTBSY սխալով ֆայլի գրառումների արգելափակմանը:
- Հետագծման ենթահամակարգին ավելացվել է ստուգումների նոր տեսակ՝ «Իրադարձությունների զոնդերը», որը կարող է կցվել առկա հետագծման իրադարձություններին՝ սահմանելով ձեր սեփական ելքային ձևաչափը:
- Երբ միջուկը կառուցվում է Clang կոմպիլյատորի միջոցով, այժմ օգտագործվում է LLVM նախագծի լռելյայն հավաքիչը:
- Որպես ծրագրի մի մաս՝ միջուկը կոդից հեռացնելու համար, որը հանգեցնում է կոմպիլյատորի կողմից նախազգուշացումների ստացմանը, փորձ է իրականացվել՝ լռելյայն միացված «-Werror» ռեժիմով, որտեղ կոմպիլյատորի նախազգուշացումները մշակվում են որպես սխալներ: Նախապատրաստվելով 5.15-ի թողարկմանը՝ Լինուսը սկսեց ընդունել միայն փոփոխությունները, որոնք նախազգուշացումների չհանգեցրին միջուկը կառուցելիս և միացրին շենքը «-Werror»-ով, բայց հետո համաձայնեց, որ նման որոշումը վաղաժամ էր և հետաձգեց «-Werror»-ը լռելյայն միացնելը: . Հավաքման ժամանակ «-Werror» դրոշի ընդգրկումը վերահսկվում է WERROR պարամետրի միջոցով, որը լռելյայն սահմանված է COMPILE_TEST, այսինքն. Առայժմ այն միացված է միայն փորձնական կառուցումների համար:
- Վիրտուալացում և անվտանգություն
- Նոր dm-ima մշակիչ է ավելացվել Device Mapper-ին (DM)՝ IMA (Integrity Measurement Architecture) ենթահամակարգի վրա հիմնված հեռահար հավաստագրման մեխանիզմի ներդրմամբ, որը թույլ է տալիս արտաքին ծառայությանը ստուգել միջուկի ենթահամակարգերի վիճակը՝ ապահովելու դրանց իսկությունը: . Գործնականում dm-ima-ն թույլ է տալիս ստեղծել պահեստներ՝ օգտագործելով Device Mapper, որոնք կապված են արտաքին ամպային համակարգերի հետ, որոնցում գործարկված DM թիրախային կազմաձևման վավերականությունը ստուգվում է IMA-ի միջոցով:
- prctl()-ն կիրառում է նոր տարբերակ PR_SPEC_L1D_FLUSH, որը, երբ միացված է, ստիպում է միջուկը մաքրել առաջին մակարդակի (L1D) քեշի բովանդակությունը ամեն անգամ, երբ տեղի է ունենում համատեքստի փոխարկիչ: Այս ռեժիմը թույլ է տալիս ընտրողաբար ամենակարևոր գործընթացների համար լրացուցիչ պաշտպանություն իրականացնել կողային ալիքի հարձակումներից, որոնք իրականացվում են՝ որոշելու այն տվյալները, որոնք տեղավորվել են քեշում՝ պրոցեսորում հրահանգների սպեկուլյատիվ կատարման հետևանքով առաջացած խոցելիության հետևանքով: PR_SPEC_L1D_FLUSH-ը միացնելու արժեքը (կանխադրված չէ) կատարողականի զգալի տուգանք է:
- Հնարավոր է միջուկը կառուցել GCC-ին «-fzero-call-used-regs=used-gpr» դրոշի ավելացմամբ, որը երաշխավորում է, որ բոլոր ռեգիստրները վերակայվեն զրոյի՝ նախքան գործառույթից վերահսկողությունը վերադարձնելը: Այս տարբերակը թույլ է տալիս պաշտպանել գործառույթներից տեղեկատվության արտահոսքից և 20%-ով կրճատել ROP (վերադարձի վրա հիմնված ծրագրավորում) գաջեթներ շահագործման համար հարմար բլոկների քանակը:
- Իրականացվել է ARM64 ճարտարապետության համար միջուկներ կառուցելու հնարավորությունը հաճախորդների տեսքով Hyper-V հիպերվիզորի համար:
- Առաջարկվում է վարորդների մշակման նոր շրջանակ՝ «VDUSE», որը թույլ է տալիս վիրտուալ բլոկ սարքեր կիրառել օգտատերերի տարածքում և օգտագործել Virtio-ն որպես հյուրի համակարգերից մուտք գործելու փոխադրամիջոց:
- Ավելացվեց Virtio դրայվեր I2C ավտոբուսի համար՝ հնարավորություն տալով ընդօրինակել I2C կարգավորիչները պարավիրտուալիզացիայի ռեժիմում՝ օգտագործելով առանձին հետնամասեր:
- Ավելացվեց Virtio վարորդ gpio-virtio, որպեսզի հյուրերը կարողանան մուտք գործել հյուրընկալող համակարգի կողմից տրամադրված GPIO գծեր:
- Ավելացվեց DMA աջակցությամբ սարքերի վարորդների համար հիշողության էջեր մուտքը սահմանափակելու հնարավորություն՝ առանց I/O MMU (հիշողության կառավարման միավոր) համակարգերում:
- KVM հիպերվիզորն ունի վիճակագրություն գծային և լոգարիթմական հիստոգրամների տեսքով ցուցադրելու հնարավորություն:
- Ցանցային ենթահամակարգ
- ksmbd մոդուլն ավելացվել է միջուկում՝ ֆայլերի սերվերի ներդրմամբ՝ օգտագործելով SMB3 արձանագրությունը: Մոդուլը լրացնում է SMB հաճախորդի ներդրումը, որը նախկինում հասանելի էր միջուկում և, ի տարբերություն օգտագործողի տարածքում աշխատող SMB սերվերի, ավելի արդյունավետ է կատարողականի, հիշողության սպառման և միջուկի առաջադեմ հնարավորությունների հետ ինտեգրվելու առումով: Ksmbd-ը գովազդվում է որպես բարձր արդյունավետությամբ, ներկառուցված պատրաստի Samba ընդլայնում, որը անհրաժեշտության դեպքում ինտեգրվում է Samba գործիքներին և գրադարաններին: ksmbd-ի հնարավորությունները ներառում են տեղական համակարգերում տարածված ֆայլերի քեշավորման տեխնոլոգիայի (SMB վարձակալություններ) բարելավված աջակցություն, ինչը կարող է զգալիորեն նվազեցնել տրաֆիկը: Ապագայում նրանք նախատեսում են ավելացնել աջակցություն RDMA-ին («smbdirect») և արձանագրության ընդլայնումներին՝ կապված թվային ստորագրությունների միջոցով գաղտնագրման և ստուգման հուսալիության բարձրացման հետ:
- CIFS հաճախորդն այլևս չի աջակցում NTLM-ին և DES-ի վրա հիմնված նույնականացման ավելի թույլ ալգորիթմներին, որոնք օգտագործվում են SMB1 արձանագրությունում:
- Multicast-ի աջակցությունն իրականացվում է ցանցային կամուրջների ներդրման մեջ վլանների համար:
- Կապակցման դրայվերը, որն օգտագործվում է ցանցային ինտերֆեյսների համախմբման համար, ավելացրել է աջակցություն XDP (eXpress Data Path) ենթահամակարգին, որը թույլ է տալիս մանիպուլյացիայի ենթարկել ցանցային փաթեթները փուլում, նախքան դրանք մշակվել են Linux միջուկի ցանցային փաթեթի կողմից:
- mac80211 անլար փաթեթը աջակցում է 6GHZ STA (Հատուկ ժամանակավոր թույլտվություն) LPI, SP և VLP ռեժիմներում, ինչպես նաև անհատական TWT (Target Wake Time) մուտքի կետի ռեժիմում սահմանելու հնարավորությունը:
- Ավելացված է աջակցություն MCTP-ին (Management Component Transport Protocol), որն օգտագործվում է կառավարման կարգավորիչների և հարակից սարքերի (հյուրընկալող պրոցեսորներ, ծայրամասային սարքեր և այլն) միջև փոխգործակցության համար:
- Ինտեգրում MPTCP-ի միջուկին (MultiPath TCP), TCP արձանագրության ընդլայնում TCP կապի գործարկումը կազմակերպելու համար՝ փաթեթների առաքմամբ միաժամանակ մի քանի երթուղիներով տարբեր ցանցային ինտերֆեյսների միջոցով, որոնք կապված են տարբեր IP հասցեների հետ: Նոր թողարկումն ավելացնում է հասցեների աջակցություն fullmesh ռեժիմում:
- Netfilter-ում ավելացվել են SRv6 (Segment Routing IPv6) արձանագրության մեջ ներառված ցանցային հոսքերի կարգավորիչներ:
- Ավելացվեց սուքի քարտեզի աջակցություն Unix հոսքային վարդակների համար:
- սարքավորում
- amdgpu դրայվերն աջակցում է Cyan Skillfish APU-ներին (հագեցած Navi 1x GPU-ներով): Yellow Carp APU-ն այժմ աջակցում է վիդեո կոդեկներին: Բարելավված Aldebaran GPU աջակցություն: Ավելացվել են քարտեզի նոր նույնացուցիչներ՝ հիմնված GPU Navi 24 «Beige Goby»-ի և RDNA2-ի վրա: Առաջարկվում է վիրտուալ էկրանների (VKMS) բարելավված ներդրում: Իրականացվել է AMD Zen 3 չիպերի ջերմաստիճանի մոնիտորինգի աջակցություն:
- Amdkfd դրայվերը (դիսկրետ GPU-ների համար, ինչպիսին է Polaris-ը) իրականացնում է համօգտագործվող վիրտուալ հիշողության կառավարիչ (SVM, համօգտագործվող վիրտուալ հիշողություն)՝ հիմնված HMM (Հետերոգեն հիշողության կառավարում) ենթահամակարգի վրա, որը թույլ է տալիս օգտագործել սարքեր իրենց հիշողության կառավարման միավորներով (MMU): , հիշողության կառավարման միավոր), որը կարող է մուտք գործել հիմնական հիշողություն: Մասնավորապես, օգտագործելով HMM, դուք կարող եք կազմակերպել ընդհանուր հասցեային տարածք GPU-ի և CPU-ի միջև, որտեղ GPU-ն կարող է մուտք գործել գործընթացի հիմնական հիշողություն:
- Intel վիդեո քարտերի համար i915 դրայվերը ընդլայնում է TTM վիդեո հիշողության կառավարչի օգտագործումը և ներառում է էներգիայի սպառումը կառավարելու հնարավորություն՝ հիմնված GuC-ի վրա (Գրաֆիկական միկրո վերահսկիչ): Սկսվել են Intel ARC Alchemist գրաֆիկական քարտի և Intel Xe-HP GPU-ի աջակցության իրականացման նախապատրաստական աշխատանքները:
- Nouveau դրայվերն իրականացնում է հետին լույսի կառավարում eDP վահանակների համար՝ օգտագործելով DPCD (DisplayPort Configuration Data):
- Ավելացվել է աջակցություն Adreno 7c Gen 3 և Adreno 680 GPU-ների համար msm վարորդին:
- IOMMU դրայվերը ներդրված է Apple M1 չիպի համար:
- Ավելացվել է ձայնային վարորդ AMD Van Gogh APU-ների վրա հիմնված համակարգերի համար:
- Realtek R8188EU դրայվերը ավելացվել է բեմականացման ճյուղին, որը փոխարինեց վարորդի հին տարբերակը (rtl8188eu) Realtek RTL8188EU 802.11 b/g/n անլար չիպերի համար։
- ocp_pt դրայվերը ներառված է Meta-ի (Facebook) կողմից մշակված PCIe տախտակի համար՝ մանրանկարչական ատոմային ժամացույցի և GNSS ընդունիչի ներդրմամբ, որոնք կարող են օգտագործվել առանձին ճշգրիտ ժամանակի համաժամացման սերվերների աշխատանքը կազմակերպելու համար:
- Ավելացված է աջակցություն Sony Xperia 10II (Snapdragon 665), Xiaomi Redmi 2 (Snapdragon MSM8916), Samsung Galaxy S3 (Snapdragon MSM8226), Samsung Gavini/Codina/Kyle սմարթֆոնների համար:
- ARM SOС եւ NVIDIA Jetson TX2 NX Developer Kit, SoliLoud BBE Lite, Picoitx, Drc02, Solidrun SolidySense, Skov I.MX6, Nitrogen8, Microchip SAMA64, Renesas R-Car H7902E տախտակներ -7G/M636e-8150G, Marvell CN3x, ASpeed AST2 (Facebook Cloudripper, Elbert և Fuji սերվերի տախտակներ), 3KOpen STiH2-b913:
- Ավելացված է աջակցություն Gopher 2b LCD վահանակների, EDT ETM0350G0DH6/ETMV570G2DHU, LOGIC Technologies LTTD800480070-L6WH-RT, Multi-Innotechnology MI1010AIT-1CP1, Innolux EJ030, Innolux EJ3.0 -KCA, Samsung ATNA9341XC3300 33, Samsung DB20, WideChips WS7430 .
- Ավելացվեց LiteETH վարորդ՝ Ethernet կարգավորիչների աջակցությամբ, որոնք օգտագործվում են LiteX ծրագրային ապահովման SoC-ներում (FPGA-ների համար):
- usb-audio դրայվերին ավելացվել է ցածր լատենտության տարբերակ՝ նվազագույն ուշացման ռեժիմում գործողության ընդգրկումը վերահսկելու համար: Նաև ավելացվել է quirk_flags տարբերակը՝ սարքի հատուկ կարգավորումները փոխանցելու համար:
Միևնույն ժամանակ, Լատինական Ամերիկայի Ազատ ծրագրաշարի հիմնադրամը ձևավորեց ամբողջովին ազատ միջուկի 5.15 տարբերակը՝ Linux-libre 5.15-gnu, որը մաքրվել է որոնվածի տարրերից և ոչ ազատ բաղադրիչներ կամ կոդերի բաժիններ պարունակող դրայվերներից, որոնց շրջանակը սահմանափակ է։ արտադրողի կողմից: Նոր թողարկումն իրականացնում է մաքրման ավարտի մասին տեղեկամատյան հաղորդագրության թողարկումը: mkspec-ի միջոցով փաթեթներ ստեղծելու հետ կապված խնդիրները շտկվել են, բարելավվել է snap փաթեթների աջակցությունը: Որոշ նախազգուշացումներ հեռացվեցին, որոնք ցուցադրվում էին firmware.h վերնագրի ֆայլը մշակելիս: Թույլատրվում է նախազգուշացումների որոշ տեսակների («ձևաչափ-լրացուցիչ-արգս», մեկնաբանություններ, չօգտագործված գործառույթներ և փոփոխականներ) թողարկում «-Սխալ» ռեժիմում կառուցելիս: Ավելացվեց gehc-achc վարորդի մաքրում: Թարմացված բլոբի մաքրման կոդը վարորդների և ենթահամակարգերում adreno, btusb, btintel, brcmfmac, aarch64 qcom: Prism54 (հանված) և rtl8188eu (փոխարինված r8188eu-ով) վարորդների մաքրումը դադարեցվել է։
Source: opennet.ru