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

Երկու ամիս զարգացումից հետո Լինուս Տորվալդսը ներկայացրեց միջուկի թողարկում Linux 5.7. Ամենաուշագրավ փոփոխություններից են՝ exFAT ֆայլային համակարգի նոր ներդրում, UDP թունելներ ստեղծելու համար bareudp մոդուլ, ARM64-ի համար ցուցիչի նույնականացման վրա հիմնված պաշտպանություն, LSM մշակողներին BPF ծրագրեր կցելու հնարավորություն, Curve25519-ի նոր ներդրում, պառակտում։ կողպեքի դետեկտոր, BPF-ի համատեղելիություն PREEMPT_RT-ի հետ, վերացնելով կոդում 80 նիշանոց տողի չափի սահմանափակումը, հաշվի առնելով պրոցեսորի ջերմաստիճանի ցուցիչները առաջադրանքների ժամանակացույցում, clone()-ի օգտագործման հնարավորությունը՝ այլ cխմբում պրոցեսներ ստեղծելու համար, պաշտպանություն գրելուց։ հիշողության մեջ՝ օգտագործելով userfaultfd:

Նոր տարբերակը ներառում է 15033 ուղղում 1961 մշակողների կողմից,
patch-ի չափը՝ 39 ՄԲ (փոփոխություններ են ազդել 11590 ֆայլերի վրա, ավելացվել է 570560 կոդ,
297401 տող հեռացվել է): 41-ում ներկայացված բոլորի մոտ 5.7%-ը
փոփոխությունները կապված են սարքի դրայվերների հետ, փոփոխությունների մոտավորապես 16%-ը
վերաբերմունք ապարատային ճարտարապետությանը հատուկ կոդի թարմացման նկատմամբ, 13%
կապված ցանցային ստեկի հետ, 4%՝ ֆայլային համակարգերի և 4%՝ ներքին
միջուկի ենթահամակարգեր.

Հիմնական նորամուծություններ:

  • Սկավառակի ենթահամակարգ, I/O և ֆայլային համակարգեր
    • Ավելացվեց exFAT վարորդի նոր ներդրում, հիմնված հիմնված ներկայիս «sdfat» (2.x) կոդերի բազայի վրա, որը մշակվել է Samsung-ի կողմից իր Android սմարթֆոնների համար: Միջուկում նախկինում ավելացված դրայվերը հիմնված էր Samsung-ի ժառանգական կոդի վրա (տարբերակ 1.2.9) և մոտ 10%-ով հետ էր նոր դրայվերից իր կատարողականությամբ: Հիշեցնենք, որ միջուկին exFAT աջակցություն ավելացնելը հնարավոր դարձավ Microsoft-ից հետո опубликовала հանրային բնութագրերը և exFAT արտոնագրերը հասանելի դարձան Linux-ում առանց հոնորարի օգտագործման համար:
    • Btrfs-ն իրականացնում է նոր ioctl() հրաման՝ BTRFS_IOC_SNAP_DESTROY_V2, որը թույլ է տալիս ջնջել ենթաբաժինը իր նույնացուցիչով: Լրիվ աջակցություն է տրամադրվում ներկառուցված ծավալների կլոնավորման համար: Ընդլայնվել է վերաբաշխման գործողությունների չեղարկման կետերի թիվը, ինչը նվազեցրել է երկար սպասումները «բալանսի չեղարկում» հրամանի կատարման ժամանակ: Հետադարձ կապերի որոշումն արագացվել է (օրինակ, թեստային սցենարի կատարման ժամանակը մեկ ժամից նվազել է մինչև մի քանի րոպե): Ավելացվեց ծառի յուրաքանչյուր ինոդին ֆայլի չափերը կցելու հնարավորություն: Արգելափակման սխեման, որն օգտագործվում է ենթաբաժիններին գրելիս և NOCOW-ին բացառելիս, վերանախագծվել է: Fsync-ի կատարման բարելավված արդյունավետությունը միջակայքերի համար:
    • XFS-ը կատարելագործել է մետատվյալների ստուգումը և fsck ակտիվ բաժանմունքների համար: Առաջարկվել է գրադարան՝ btree կառույցները վերակառուցելու համար, որը հետագայում կօգտագործվի xfs_repair-ի վերամշակման և առանց միջնորմի ապամոնտաժման վերականգնման հնարավորության իրականացման համար:
    • CIFS-ին ավելացվել է SMB3 պահեստներում փոխանակման բաժանման տեղադրման փորձարարական աջակցություն: Իրականացվել է POSIX ընդլայնումներ readdir-ի համար, որոնք սահմանված են SMB3.1.1 բնութագրում: Բարելավվել է գրելու կատարումը 64 ԿԲ էջերի համար, երբ քեշ=խիստ ռեժիմը միացված է և օգտագործվում են արձանագրության 2.1+ տարբերակները:
    • FS EXT4-ը bmap-ից և iopoll-ից տեղափոխվել է iomap-ի օգտագործման:
    • F2FS-ը կամընտիր աջակցություն է տրամադրում տվյալների սեղմման համար՝ օգտագործելով zstd ալգորիթմը: Լռելյայնորեն, սեղմման համար օգտագործվում է LZ4 ալգորիթմը: Ավելացվեց «chattr -c commit» հրամանի աջակցությունը: Տրվում է մոնտաժման ժամանակի ցուցադրում: Ավելացվեց ioctl F2FS_IOC_GET_COMPRESS_BLOCKS՝ սեղմված բլոկների քանակի մասին տեղեկատվություն ստանալու համար: Ավելացվել է սեղմման տվյալների ելք statx-ի միջոցով:
    • Ceph ֆայլային համակարգը ավելացրել է ֆայլերի ստեղծման և ջնջման (անջատման) լոկալ գործողությունները՝ առանց սպասարկիչի պատասխանին սպասելու (աշխատում է ասինխրոն ռեժիմով): Փոփոխությունը, օրինակ, կարող է զգալիորեն բարելավել աշխատանքը rsync կոմունալ ծրագիրը գործարկելիս:
    • Վիրտիֆները որպես վերին մակարդակի ֆայլային համակարգ օգտագործելու հնարավորությունն ավելացվել է OVERLAYFS-ին:
    • Վերաշարադրված ուղու անցման կոդը VFS-ում, սիմվոլիկ հղման վերլուծության կոդը վերամշակվել է, և մոնտաժային կետի անցումը միավորվել է:
    • scsi ենթահամակարգում՝ անարտոնյալ օգտվողներին թույլատրվում է ZBC հրամանների կատարում:
    • dm_writecache-ում իրականացվել է քեշը աստիճանաբար մաքրելու հնարավորությունը՝ հիմնվելով max_age պարամետրի վրա, որը սահմանում է բլոկի առավելագույն ժամկետը:
    • dm_integrity-ում ավելացրել է աջակցություն «մերժել» գործողությանը:
    • null_blk-ում ավելացրել է Սխալների փոխարինման աջակցություն՝ փորձարկման ընթացքում ձախողումները մոդելավորելու համար:
    • Ավելացված է սարքի չափի արգելափակման փոփոխությունների մասին udev ծանուցումներ ուղարկելու ունակություն:
  • Ցանցային ենթահամակարգ
    • Ներառված է Netfilter փոփոխություններ, զգալիորեն արագացնելով խոշոր համընկնումների ցուցակների մշակումը (nftables հավաքածուներ), որոնք պահանջում են ենթացանցերի, ցանցային նավահանգիստների, արձանագրության և MAC հասցեների համակցությունների ստուգում։
      Օպտիմալացումներ մտել է nft_set_pipapo (PIle PAcket POlicies) մոդուլի մեջ, որը լուծում է փաթեթի բովանդակությունը համապատասխանեցնելու խնդիրը դաշտի կամայական վիճակի միջակայքերի հետ, որոնք օգտագործվում են զտման կանոններում, ինչպիսիք են IP-ն և ցանցի պորտի տիրույթները (nft_set_rbtree և nft_set_hash շահարկում են ինտերվալների համապատասխանությունը և արժեքների ուղղակի արտացոլումը: ). Pipapo-ի վեկտորացված տարբերակը AMD Epyc 256 պրոցեսորով համակարգի վրա 2-բիթանոց AVX7402 հրահանգների միջոցով ցույց է տվել 420% կատարողականի աճ, երբ վերլուծել է 30 հազար գրառում, ներառյալ պորտ-պրոտոկոլ համակցությունները: Ենթացանցի և պորտի համարի համադրությունը համեմատելիս 1000 գրառումների վերլուծության ժամանակ աճը կազմել է 87% IPv4-ի և 128% IPv6-ի համար:

    • Ավելացված է bareudp մոդուլը, որը թույլ է տալիս ընդգրկել տարբեր L3 արձանագրություններ, ինչպիսիք են MPLS, IP և NSH, UDP թունելի մեջ:
    • Շարունակվել է MPTCP (MultiPath TCP) բաղադրիչների ինտեգրումը, որը TCP արձանագրության ընդլայնումն է՝ TCP կապի գործարկումը կազմակերպելու համար՝ փաթեթների առաքմամբ միաժամանակ մի քանի երթուղիներով տարբեր IP հասցեների հետ կապված ցանցային ինտերֆեյսների միջոցով:
    • Ավելացված է 802.11-ում (Wi-Fi) Ethernet շրջանակները պարփակելու ապարատային արագացման մեխանիզմների աջակցություն:
    • Սարքը մի ցանցի անվանատարածքից մյուսը տեղափոխելիս ճշգրտվում են sysfs-ում համապատասխան ֆայլերի մուտքի իրավունքները և սեփականության իրավունքը:
    • Ավելացվեց SO_BINDTODEVICE դրոշն օգտագործելու հնարավորություն ոչ արմատային օգտատերերի համար:
    • Ընդունվել է patches-ի երրորդ մասը՝ ethtool Toolkit-ը ioctl()-ից փոխակերպելով netlink ինտերֆեյսի օգտագործման: Նոր ինտերֆեյսը հեշտացնում է ընդլայնումներ ավելացնելը, բարելավում է սխալների կառավարումը, թույլ է տալիս ծանուցումներ ուղարկել, երբ վիճակը փոխվում է, պարզեցնում է միջուկի և օգտագործողի տարածքի միջև փոխազդեցությունը և նվազեցնում է անվանված ցուցակների թիվը, որոնք պետք է համաժամացվեն:
    • Ավելացվեց հատուկ ապարատային արագացուցիչներ օգտագործելու հնարավորություն՝ կապի հետագծման գործողություններ կատարելու համար:
    • Netfilter-ում ավելացրեց ելքային փաթեթների (ելք) դասակարգիչների միացման կեռիկ, որը լրացնում էր մուտքային փաթեթների (մուտք) նախկինում առկա կեռիկը:
  • Վիրտուալացում և անվտանգություն
    • Ավելացվեց ցուցիչի վավերացման ապարատային իրականացում (Ցուցիչի վավերացում), որն օգտագործում է ARM64 պրոցեսորի մասնագիտացված հրահանգներ՝ պաշտպանվելու համար հարձակումներից՝ օգտագործելով վերադարձի վրա հիմնված ծրագրավորման (ROP) տեխնիկան, որի դեպքում հարձակվողը չի փորձում տեղադրել իր կոդը հիշողության մեջ, այլ աշխատում է բեռնված գրադարաններում արդեն հասանելի մեքենայական հրահանգների կտորների վրա, որոնք ավարտվում են։ հսկիչ վերադարձի հրահանգով: Անվտանգությունը հանգում է թվային ստորագրությունների օգտագործմանը՝ միջուկի մակարդակով վերադարձի հասցեները ստուգելու համար: Ստորագրությունը պահվում է հենց ցուցիչի չօգտագործված վերին բիթերում: Ի տարբերություն ծրագրային ապահովման ներդրման, թվային ստորագրությունների ստեղծումն ու ստուգումն իրականացվում է հատուկ պրոցեսորի հրահանգների միջոցով:
    • Ավելացված է հիշողության տարածքը գրվելուց պաշտպանելու ունակություն՝ օգտագործելով userfaultfd() համակարգային զանգը, որը նախատեսված է օգտատիրոջ տարածքում էջի սխալները կարգավորելու համար (մուտք դեպի չբաշխված հիշողության էջեր): Գաղափարն այն է, որ օգտագործվի userfaultfd() և՛ մուտքի խախտումները հայտնաբերելու համար, և՛ որպես գրավոր պաշտպանված էջեր, և՛ կանչելու մշակող, որը կարող է արձագանքել գրելու նման փորձերին (օրինակ՝ փոփոխությունները կարգավորելու համար ընթացիկ գործընթացների կենդանի նկարների ստեղծման ժամանակ, նշել. ֆիքսում, երբ հիշողությունը թափվում է սկավառակի վրա, օգտագործում է ընդհանուր հիշողությունը, հետևում է հիշողության փոփոխություններին): Ֆունկցիոնալություն համարժեք օգտագործելով mprotect() SIGSEGV ազդանշանի կարգավորիչի հետ համատեղ, բայց այն զգալիորեն ավելի արագ է աշխատում:
    • SELinux-ը հնացել է «checkreqprot» պարամետրը, որը թույլ է տալիս անջատել հիշողության պաշտպանության ստուգումները կանոնների մշակման ժամանակ (թույլ տալով գործարկվող հիշողության տարածքների օգտագործումը՝ անկախ կանոններում նշված կանոններից): Kernfs symlink-ներին թույլատրվում է ժառանգել իրենց մայր գրացուցակների համատեքստը:
    • Կառուցվածքը ներառված մոդուլը KRSI, որը թույլ է տալիս կցել BPF ծրագրեր միջուկի ցանկացած LSM կեռիկին: Փոփոխությունը թույլ է տալիս ստեղծել LSM մոդուլներ (Linux Security Module) BPF ծրագրերի տեսքով՝ աուդիտի խնդիրները լուծելու և մուտքի պարտադիր վերահսկման համար։
    • Իրականացվել է Օպտիմալացնում է /dev/random-ի կատարումը՝ CRNG արժեքները խմբավորելով՝ առանձին RNG հրահանգներ կանչելու փոխարեն: RNG հրահանգներ տրամադրող ARM64 համակարգերի վրա getrandom և /dev/random-ի բարելավված կատարումը:
    • Էլիպսային կորի իրականացում Curve25519 փոխարինվել է գրադարանից ընտրված տարբերակի համար HACL, ինչի համար տրված պաշտոնական հուսալիության ստուգման մաթեմատիկական ապացույց:
    • Ավելացված է ազատ հիշողության էջերի մասին տեղեկացնելու մեխանիզմ։ Օգտագործելով այս մեխանիզմը՝ հյուր համակարգերը կարող են տեղեկատվություն փոխանցել այն էջերի մասին, որոնք այլևս չեն օգտագործվում հյուրընկալող համակարգին, և հոսթավարը կարող է հետ վերցնել էջի տվյալները:
    • vfio/pci-ում ավելացրել է աջակցություն SR-IOV-ին (Single-Root I/O Virtualization):
  • Հիշողության և համակարգի ծառայություններ
    • 80-ից 100 նիշ ավելացել է սկզբնաղբյուր տեքստերում տողի առավելագույն երկարության սահմանափակում: Միևնույն ժամանակ, մշակողներին խորհուրդ է տրվում մնալ յուրաքանչյուր տողում 80 նիշի սահմաններում, բայց սա այլևս խիստ սահման չէ: Բացի այդ, գծի չափի սահմանաչափը գերազանցելը այժմ կհանգեցնի կառուցման նախազգուշացման միայն այն դեպքում, եթե չեկը գործարկվի «--strict» տարբերակով: Փոփոխությունը թույլ կտա չշեղել մշակողների ուշադրությունը մանիպուլյացիա բացատներով և ավելի ազատ զգալ կոդը հավասարեցնելիս, ինչպես նաև կանխելու է գծերի չափազանց մեծ խախտում, անհանգստացնող կոդի ընկալում և որոնում:
    • Ավելացված է աջակցություն EFI խառը բեռնման ռեժիմին, որը թույլ է տալիս բեռնել 64-բիթանոց միջուկը 32-բիթանոց որոնվածից, որն աշխատում է 64-բիթանոց պրոցեսորի վրա՝ առանց մասնագիտացված բեռնիչի օգտագործման:
    • Ներառված է բաժանված կողպեքների նույնականացման և վրիպազերծման համակարգ («պառակտված կողպեք«), որը տեղի է ունենում հիշողության մեջ չհավասարեցված տվյալների մուտք գործելիս, քանի որ ատոմային հրահանգը կատարելիս տվյալները հատում են երկու պրոցեսորի քեշի տողերը: Նման արգելափակումը հանգեցնում է կատարողականի զգալի հարվածի (1000 ցիկլ ավելի դանդաղ, քան տվյալների վրա ատոմային գործողությունը, որը ընկնում է մեկ քեշի տողում): Կախված «split_lock_detect» բեռնման պարամետրից՝ միջուկը կարող է հայտնաբերել նման կողպեքներ և նախազգուշացումներ տալ կամ SIGBUS ազդանշան ուղարկել հավելվածին, որն առաջացնում է արգելափակում:
    • Առաջադրանքների ժամանակացույցը ապահովում է ջերմաստիճանի տվիչների հետևում (Ջերմային ճնշում) և իրականացվել՝ հաշվի առնելով գերտաքացումը՝ առաջադրանքները դնելիս: Օգտագործելով տրամադրված վիճակագրությունը, ջերմային կառավարիչը կարող է կարգավորել պրոցեսորի առավելագույն հաճախականությունը, երբ գերտաքացվում է, և առաջադրանքների ժամանակացույցն այժմ հաշվի է առնում հաշվողական հզորության նվազումը հաճախականության նման կրճատման պատճառով առաջադրանքները պլանավորելիս (նախկինում ժամանակացույցը արձագանքում էր փոփոխություններին հաճախականությամբ՝ որոշակի ուշացումով, որոշ ժամանակով որոշումներ կայացնելով՝ հիմնված առկա հաշվողական ռեսուրսների վերաբերյալ ուռճացված ենթադրությունների վրա):
    • Առաջադրանքների ժամանակացույցը ներառում է անփոփոխ ցուցանիշներ բեռնվածության հետևում, որը թույլ է տալիս ճիշտ գնահատել բեռը, անկախ պրոցեսորի ընթացիկ գործառնական հաճախականությունից: Փոփոխությունը թույլ է տալիս ավելի ճշգրիտ կանխատեսել առաջադրանքների վարքը լարման և պրոցեսորի հաճախականության դինամիկ փոփոխությունների պայմաններում: Օրինակ, առաջադրանքը, որը սպառում է պրոցեսորի ռեսուրսների 1/3-ը 1000 ՄՀց հաճախականությամբ, կսպառի ռեսուրսների 2/3-ը, երբ հաճախականությունը իջնի մինչև 500 ՄՀց, ինչը նախկինում ստեղծում էր կեղծ ենթադրություն, որ այն աշխատում է ամբողջ հզորությամբ (այսինքն՝ առաջադրանքները հայտնվեցին ավելի մեծ ժամանակացույցի համար միայն հաճախականությունը նվազեցնելու միջոցով, ինչը հանգեցրեց սխալ որոշումների ընդունմանը schedutil cpufreq կառավարիչում):
    • Intel P-state դրայվերը, որը պատասխանատու է կատարողականի ռեժիմների ընտրության համար, անցել է օգտագործման ժամանակացույց.
    • Իրականացվել է BPF ենթահամակարգն օգտագործելու հնարավորությունը, երբ միջուկն աշխատում է իրական ժամանակում (PREEMPT_RT): Նախկինում, երբ PREEMPT_RT-ն միացված էր, BPF-ն պետք է անջատվեր:
    • Ավելացվել է BPF ծրագրի նոր տեսակ՝ BPF_MODIFY_RETURN, որը կարող է կցվել միջուկի ֆունկցիային և փոխել այս ֆունկցիայի վերադարձած արժեքը։
    • Ավելացված է առիթ Օգտագործելով clone3() համակարգի կանչը՝ cgroup-ում պրոցես ստեղծելու համար, որը տարբերվում է մայր cgroup-ից, որը թույլ է տալիս մայր գործընթացին կիրառել սահմանափակումներ և միացնել հաշվապահական հաշվառումը նոր պրոցես կամ շարանը ստեղծելուց անմիջապես հետո: Օրինակ, ծառայության մենեջերը կարող է ուղղակիորեն նոր ծառայություններ հատկացնել առանձին cgroups-ին, և նոր գործընթացները, երբ տեղադրվեն «սառեցված» cgroups-ում, անմիջապես կդադարեցվեն:
    • Kbuild-ում ավելացրել է աջակցություն «LLVM=1» միջավայրի փոփոխականին՝ միջուկը կառուցելիս Clang/LLVM գործիքակազմին անցնելու համար: Բարձրացվել են binutils տարբերակի պահանջները (2.23):
    • Կունիտի թեստերի արդյունքներով վրիպազերծիչներին ավելացվել է բաժին /sys/kernel/debug/kunit/:
    • Ավելացվեց միջուկի բեռնման pm_debug_messages պարամետրը (նմանալոգ՝ /sys/power/pm_debug_messages), որը հնարավորություն է տալիս վրիպազերծման տեղեկատվության թողարկումը էներգիայի կառավարման համակարգի աշխատանքի մասին (օգտակար է ձմեռման և սպասման ռեժիմի հետ կապված խնդիրները կարգաբերելիս):
    • Դեպի ասինխրոն I/O ինտերֆեյս io_uring աջակցություն է ավելացվել միացում () и ատոմային բուֆերի ընտրություն.
    • Բարելավված cgroup պրոֆիլավորում՝ օգտագործելով perf գործիքակազմը: Նախկինում perf-ը կարող էր պրոֆիլավորել առաջադրանքները միայն որոշակի cխմբում և չէր կարող պարզել, թե որ cխմբին է պատկանում ընթացիկ նմուշը: perf-ն այժմ ստանում է cgroup տեղեկատվություն յուրաքանչյուր նմուշի համար, որը թույլ է տալիս պրոֆիլավորել մեկից ավելի cgroup և կիրառել տեսակավորում ըստ
      cgroup հաշվետվություններում:

    • cgroupfs-ը, cgroups-ի կառավարման կեղծ FS-ն, ավելացրել է ընդլայնված ատրիբուտների (xattrs) աջակցություն, որոնց միջոցով, օրինակ, դուք կարող եք լրացուցիչ տեղեկություններ թողնել կառավարիչների համար օգտագործողի տարածքում:
    • cgroup հիշողության կարգավորիչում ավելացրեցև «memory.low» արժեքի ռեկուրսիվ պաշտպանության աջակցություն, որը կարգավորում է խմբի անդամներին տրամադրվող RAM-ի նվազագույն քանակը: «Memory_recursiveprot» տարբերակով cgroup հիերարխիա մոնտաժելիս «memory.low» արժեքը, որը սահմանված է ստորին հանգույցների համար, ավտոմատ կերպով կբաշխվի բոլոր զավակ հանգույցներին:
    • Ավելացված է Uacce (Uacce/User-space-access-intended Accelerator Framework) շրջանակ՝ CPU-ի և ծայրամասային սարքերի միջև վիրտուալ հասցեների (SVA, Համօգտագործվող վիրտուալ հասցեավորում) կիսելու համար, ինչը թույլ է տալիս ապարատային արագացուցիչներին մուտք գործել տվյալների կառուցվածքներ հիմնական պրոցեսորում:
  • Սարքավորումների ճարտարապետություններ
    • ARM-ի ճարտարապետության համար ներդրված է «hot-fetch» ​​հիշողությունը:
    • RISC-V ճարտարապետության համար ավելացվել է պրոցեսորների տաք միացման և հեռացման աջակցություն (CPU hotplug): 32-բիթանոց RISC-V-ի համար իրականացվում է eBPF JIT:
    • 32-բիթանոց ARM համակարգեր օգտագործելու հնարավորությունը KVM հյուրի միջավայրերը գործարկելու համար հանվել է:
    • Հեռացվել է «կեղծ» NUMA իրականացումը s390 ճարտարապետության համար, որի օգտագործման դեպքեր չեն հայտնաբերվել՝ կատարողականի բարելավման համար:
    • ARM64-ի համար ավելացվել է AMU (Activity Monitors Unit) ընդլայնման աջակցությունը, որը սահմանված է ARMv8.4-ում և տրամադրում է կատարողականի հաշվիչներ, որոնք օգտագործվում են առաջադրանքների ժամանակացույցում հաճախականության մասշտաբավորման ուղղման գործակիցները հաշվարկելու համար:
  • սարքավորում
    • Ավելացված է աջակցություն vDPA սարքերին, որոնք օգտագործում են տվյալների փոխանակման ալիք, որը համապատասխանում է virtio բնութագրերին: vDPA սարքերը կարող են լինել կամ ֆիզիկապես միացված սարքավորում կամ ծրագրային նմանակված վիրտուալ սարքեր:
    • GPIO ենթահամակարգում հայտնվեց նոր ioctl() հրաման՝ փոփոխությունները մոնիտորինգի համար, որը թույլ է տալիս գործընթացին տեղեկացնել ցանկացած GPIO տողի վիճակի փոփոխությունների մասին: Որպես նոր հրամանի օգտագործման օրինակ առաջարկված gpio-watch կոմունալ.
    • Intel վիդեո քարտերի i915 DRM դրայվերում ներառված լռելյայն աջակցություն Tigerlake («Gen12») չիպերին և ավելացված նախնական աջակցություն OLED հետին լույսի կառավարման համար: Բարելավված աջակցություն Ice Lake, Elkhart Lake, Baytrail և Haswell չիպերին:
    • amdgpu դրայվերում ավելացրել է ASIC-ի համար USBC չիպի մեջ որոնվածը բեռնելու ունակություն: AMD Ryzen 4000 «Renoir» չիպերի բարելավված աջակցություն: Այժմ կա աջակցություն OLED վահանակների կառավարման համար: Ապահովված է որոնվածի կարգավիճակի ցուցադրում վրիպազերծիչներում:
    • OpenGL 4-ը հյուր համակարգերում օգտագործելու հնարավորությունն ավելացվել է VMware վիրտուալացման համակարգերի vmwgfx DRM դրայվերին (նախկինում OpenGL 3.3-ն աջակցվում էր):
    • Ավելացվել է նոր DRM վարորդի նորություններ TI Keystone հարթակի ցուցադրման համակարգի համար:
    • Ավելացված դրայվերներ LCD վահանակների համար՝ Feixin K101 IM2BA02, Samsung s6e88a0-ams452ef01, Novatek NT35510, Elida KD35T133, EDT, NewEast Optoelectronics WJFH116008A, Rocktech 101D01
    • Էներգամատակարարման կառավարման համակարգին ավելացրել է աջակցություն Atom-ի վրա հիմնված Intel Jasper Lake (JSL) հարթակին:
    • Ավելացվեց Pinebook Pro նոութբուքի աջակցություն Rockchip RK3399-ի, Pine64 PineTab պլանշետի և սմարթֆոնի վրա PinePhone հիմնված Allwinner A64-ի վրա:
    • Ավելացվել է նոր աուդիո կոդեկների և չիպերի աջակցություն.
      Amlogic AIU, Amlogic T9015, Texas Instruments TLV320ADCX140, Realtek RT5682, ALC245, Broadcom BCM63XX I2S, Maxim MAX98360A, Presonus Studio 1810c, MOTU MicroBook IIc.

    • Ավելացված է աջակցություն ARM տախտակների և պլատֆորմների համար՝ Qualcomm Snapdragon 865 (SM8250), IPQ6018, NXP i.MX8M Plus, Kontron “sl28”, 11 i.MX6 TechNexion Pico տախտակի ընտրանքներ, երեք նոր Toradex Colibri տարբերակներ, Samsung S7710, որոնք հիմնված են Galaxy Xco-ի վրա: -Ericsson u2, DH Electronics DHCOM SoM և PDK8500, Renesas M2ULCB, Hoperun HiHope, Linutronix Testbox v3, PocketBook Touch Lux 2:

Source: opennet.ru

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