Linux 5.15 միջուկի թողարկում

Երկու ամիս մշակումից հետո Լինուս Տորվալդսը ներկայացրեց 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

Добавить комментарий