Нашри ядрои Linux 5.19

Пас аз ду моҳи таҳия, Линус Торвалдс барориши ядрои Linux 5.19-ро пешниҳод кард. Дар байни тағйироти назаррас: дастгирии меъмории протсессори LoongArch, ҳамгироии часпакҳои "BIG TCP", режими дархост дар fscache, хориҷ кардани код барои дастгирии формати a.out, қобилияти истифодаи ZSTD барои фишурдани нармафзор, интерфейс барои идоракунии ихроҷи хотира аз фазои корбар, баланд бардоштани эътимоднокӣ ва кори генератори рақамҳои псевдо-тасодуфӣ, дастгирии Intel IFS (Scan In-Field), AMD SEV-SNP (Secure Nested Paging), Intel TDX (Extensions Domain Trusted) ва ARM Васеъкуниҳои SME (Scalable Matrix Extension).

Дар эълон, Линус гуфт, ки ба эҳтимоли зиёд версияи навбатии ядро ​​6.0 рақамгузорӣ мешавад, зеро филиали 5.x релизҳои кофӣ барои тағир додани рақами аввал дар рақами версия ҷамъ кардааст. Тағйир додани рақамгузорӣ бо сабабҳои эстетикӣ анҷом дода мешавад ва як қадами расмӣ аст, ки нороҳатиро аз сабаби ҷамъшавии шумораи зиёди масъалаҳо дар силсила бартараф мекунад.

Линус инчунин қайд кард, ки вай ноутбуки Apple-ро дар асоси меъмории ARM64 (Apple Silicon) бо муҳити Linux дар асоси дистрибюсияи Asahi Linux барои эҷоди нашр истифода кардааст. Ин стансияи асосии кории Линус нест, аммо вай платформаро барои санҷидани мувофиқати он барои кори ядро ​​истифода бурд ва боварӣ ҳосил кунад, ки ҳангоми сафар бо ноутбуки сабук дар даст релизҳои ядро ​​​​баробарад. Қаблан, солҳои зиёд пеш, Линус таҷрибаи истифодаи таҷҳизоти Apple барои таҳияро дошт - ӯ боре аз компютери бар асоси CPU ppc970 ва ноутбуки Macbook Air истифода мекард.

Варианти нав 16401 ислоҳи 2190 таҳиягарро дар бар мегирад (дар версияи охирин 16206 ислоҳ аз 2127 таҳиягарон мавҷуд буданд), андозаи пач 90 МБ аст (тағирот ба 13847 файл таъсир расонд, 1149456 сатри код илова карда шуд, 349177 сатр нест карда шуд). Тақрибан 39% ҳамаи тағиротҳои дар 5.19 воридшуда ба драйверҳои дастгоҳ, тақрибан 21% тағирот ба навсозии коди мушаххаси архитектураи сахтафзор, 11% ба стеки шабакавӣ, 4% ба системаҳои файлӣ ва 3% марбутанд. бо зерсистемаҳои ядрои дохилӣ алоқаманданд.

Навовариҳои асосӣ дар ядро ​​​​5.19:

  • Зерсистемаи диск, системаҳои воридотӣ ва файлӣ
    • Системаи файлии EROFS (Enhanced Read-Only File System), ки барои истифода дар қисмҳои танҳо барои хондан пешбинӣ шудааст, ба истифодаи зерсистемаи fscache, ки кэшкунии маълумотро таъмин мекунад, табдил дода шудааст. Тағйирот кори системаҳоеро, ки дар онҳо миқдори зиёди контейнерҳо аз тасвири EROFS асос ёфтаанд, ба таври назаррас беҳтар кард.
    • Ба зерсистемаи fscache режими хондани дархост илова карда шудааст, ки барои оптимизатсияи EROFS истифода мешавад. Ҳолати нав ба шумо имкон медиҳад, ки кэши хонишро аз тасвирҳои FS, ки дар системаи маҳаллӣ ҷойгиранд, ташкил кунед. Баръакси реҷаи дар аввал дастраси кор, ки ба кэшкунии маълумот дар системаи файлии маҳаллӣ нигаронида шудааст, ки тавассути системаҳои файлии шабакавӣ интиқол дода мешавад, режими "дар дархост" функсияҳои дарёфти маълумот ва навиштани онро ба кэш ба кэш ҷудо мекунад. раванди замина, ки дар фазои корбар иҷро мешавад.
    • XFS қобилияти нигоҳ доштани миллиардҳо атрибутҳои васеъро дар гиреҳи i таъмин мекунад. Шумораи максималии экстентҳо барои як файл аз 4 миллиард то 247 зиёд карда шуд. Режим барои ба таври атомӣ нав кардани якчанд атрибутҳои васеъи файл дар як вақт амалӣ карда шуд.
    • Системаи файлии Btrfs кор бо қулфҳоро оптимизатсия кардааст, ки ин имкон дод, ки ҳангоми навиштан мустақиман дар ҳолати ҳозираит иҷроиш тақрибан 7% афзоиш ёбад. Иҷрои амалиётҳо дар режими NOCOW (бе нусхабардорӣ дар навиштан) тақрибан 3% афзоиш ёфтааст. Сарбории кэши саҳифа ҳангоми иҷро кардани фармони "фиристондан" кам карда шуд. Андозаи ҳадди ақали зерсаҳифаҳо аз 64К то 4К кам карда шуд (зерсаҳифаҳои хурдтар аз саҳифаҳои ядро ​​метавонанд истифода шаванд). Гузариш аз истифодаи дарахти радикс ба алгоритми XArrays анҷом дода шуд.
    • Ҳолати ба сервери NFS барои тамдиди нигоҳдории ҳолати қулфи муқарраркардаи муштарӣ, ки вокуниш ба дархостҳоро қатъ кардааст, илова карда шудааст. Ҳолати нав ба шумо имкон медиҳад, ки тозакунии қулфро то як рӯз ба таъхир андозед, агар муштарии дигар қулфи рақобаткунандаро дархост накунад. Дар ҳолати муқаррарӣ, басташавӣ пас аз 90 сония пас аз қатъ кардани посухи муштарӣ тоза карда мешавад.
    • Зерсистемаи пайгирии рӯйдодҳо дар fanotify FS парчами FAN_MARK_EVICTABLE-ро амалӣ мекунад, ки бо он шумо метавонед пайваст кардани гиреҳҳои ҳадафи i-ро дар кэш ғайрифаъол кунед, масалан, барои нодида гирифтани зершоҳидаҳо бидуни пайваст кардани қисмҳои онҳо дар кэш.
    • Драйвер барои системаи файлии FAT32 барои дарёфти маълумот дар бораи вақти эҷоди файл тавассути занги системаи statx бо татбиқи версияи муассиртар ва функсионалии stat(), ки маълумоти васеъро дар бораи файл бармегардонад, илова кардааст.
    • Ба драйвери exFAT оптимизатсияҳои назаррас анҷом дода шуданд, то ба ҷои тозакунии пайдарпайи бахш ба бахш имкон диҳад, ки ҳамзамон як гурӯҳи бахшҳо ҳангоми фаъол будани режими 'dirsync' тоза карда шавад. Бо кам кардани шумораи дархостҳои блок пас аз оптимизатсия, иҷрои эҷоди шумораи зиёди директорияҳо дар корти SD вобаста ба андозаи кластер беш аз 73-85% зиёд шуд.
    • Ядро аввалин навсозии ислоҳкунандаи драйвери ntfs3-ро дар бар мегирад. Азбаски ntfs3 ба ядрои 5.15 дар моҳи октябри соли гузашта дохил карда шуд, драйвер навсозӣ нашудааст ва иртибот бо таҳиягарон қатъ шудааст, аммо таҳиягарон ҳоло тағиротҳои нашрро аз сар гирифтанд. Часбҳои пешниҳодшуда хатогиҳоеро, ки ба ихроҷи хотира ва садамаҳо оварда мерасонанд, бартараф карданд, мушкилотро бо иҷрои xfstests ҳал карданд, рамзи истифоданашударо тоза карданд ва хатогиҳои собитро ислоҳ карданд.
    • Барои OverlayFS, қобилияти харитаи ID-и корбарони системаҳои файлии васлшуда амалӣ карда шудааст, ки он барои мувофиқ кардани файлҳои корбари мушаххас дар қисмати хориҷии васлшуда бо корбари дигари системаи ҷорӣ истифода мешавад.
  • Хидматҳои хотира ва система
    • Дастгирии ибтидоӣ барои меъмории маҷмӯи дастурҳои LoongArch, ки дар протсессори Loongson 3 5000 истифода мешавад, илова карда шуд, ки RISC ISA-и нави шабеҳ ба MIPS ва RISC-V -ро амалӣ мекунад. Архитектураи LoongArch дар се навъ дастрас аст: 32-бити ҷудошуда (LA32R), муқаррарии 32-бит (LA32S) ва 64-бит (LA64).
    • Рамзи хориҷшуда барои дастгирии формати файли иҷрошавандаи a.out, ки дар нашри 5.1 бекор карда шудааст. Формати a.out дар системаҳои Linux кайҳо бекор карда шудааст ва тавлиди файлҳои a.out бо абзорҳои муосир дар конфигуратсияҳои пешфарзи Linux дастгирӣ намешавад. Боркунаки файлҳои a.out метавонад пурра дар фазои корбар амалӣ карда шавад.
    • Дастгирии имконоти боркунии хоси x86 қатъ карда шуд: nosp, nosmap, nosmep, noexec ва noclflush).
    • Дастгирии меъмории кӯҳнашудаи CPU h8300 (Renesas H8/300), ки кайҳо боз бе дастгирӣ мондааст, қатъ карда шуд.
    • Имкониятҳои васеъшуда вобаста ба вокуниш ба ошкор кардани қулфҳои тақсимшуда («қуфлҳои тақсимшуда»), ки ҳангоми дастрасии маълумотҳои ҳамоҳангнашуда дар хотира ба амал меоянд, зеро ҳангоми иҷрои дастури атомӣ, додаҳо ду хатти кэши CPU-ро убур мекунанд. Чунин бандҳо ба коҳиши назарраси кор оварда мерасонад. Агар қаблан, ба таври нобаёнӣ, ядро ​​​​бо маълумот дар бораи раванде, ки боиси басташавӣ шудааст, огоҳӣ медод, ҳоло раванди мушкилот барои нигоҳ доштани кори боқимондаи система боз ҳам суст карда мешавад.
    • Дастгирии иловашуда барои механизми IFS (In-Field Scan), ки дар протсессорҳои Intel амалӣ карда мешавад, ки ба шумо имкон медиҳад санҷишҳои ташхиси CPU-ро дар сатҳи паст иҷро кунед, ки мушкилотеро, ки тавассути асбобҳои стандартӣ дар асоси кодҳои ислоҳи хатоҳо (ECC) ё битҳои паритет муайян карда намешаванд, муайян кунанд. . Санҷишҳои анҷомдодашуда дар шакли нармафзори боркашишаванда мебошанд, ки ба навсозии микрокодҳо монанданд. Натиҷаҳои санҷиш тавассути sysfs дастрасанд.
    • Имконияти ворид кардани файли bootconfig ба ядро ​​илова карда шуд, ки ба ғайр аз имконоти сатри фармон имкон медиҳад, ки параметрҳои ядроро тавассути файли танзимот муайян кунад. Ҷойгиркунӣ бо истифода аз варианти васлкунӣ 'CONFIG_BOOT_CONFIG_EMBED_FILE="/PATH/TO/BOOTCONFIG/FILE"' амалӣ карда мешавад. Пештар, bootconfig тавассути замима ба тасвири initrd муайян карда мешуд. Интегратсия ба ядро ​​имкон медиҳад, ки bootconfig дар конфигуратсияҳо бе initrd истифода шавад.
    • Имконияти зеркашии нармафзори фишурдашуда бо истифода аз алгоритми Zstandard амалӣ карда шуд. Маҷмӯи файлҳои назоратӣ /sys/class/firmware/* ба sysfs илова карда шудааст, ки ба шумо имкон медиҳад, ки боркунии нармафзорро аз фазои корбар оғоз кунед.
    • Интерфейси асинхронии io_uring I/O парчами навро пешниҳод мекунад, IORING_RECVSEND_POLL_FIRST, ки ҳангоми насб кардан аввал амалиёти шабакаро барои коркард бо истифода аз пурсиш ирсол мекунад, ки метавонад захираҳоро дар ҳолатҳое сарфа кунад, ки коркарди амалиёт бо каме таъхир қобили қабул аст. io_uring инчунин дастгирии занги системаи socket() -ро илова кард, парчамҳои навро барои содда кардани идоракунии тавсифи файлҳо пешниҳод кард, режими "мулти-зарба" барои қабули якчанд пайвастагиҳо дар як занги accept() илова карда шуд ва амалиётҳо барои интиқоли NVMe илова карда шуд. бевосита ба дастгоҳ фармон медиҳад.
    • Меъмории Xtensa асбоби ислоҳи KCSAN (Kernel Concurrency Sanitizer) -ро дастгирӣ мекунад, ки барои ба таври динамикӣ ошкор кардани шароити нажод дар дохили ядро ​​тарҳрезӣ шудааст. Инчунин дастгирии режими хоб ва просессорҳо илова карда шуд.
    • Барои меъмории m68k (Motorola 68000) як мошини маҷозӣ (симулятори платформа) дар асоси эмулятори Android Goldfish амалӣ карда шудааст.
    • Барои меъмории AArch64, дастгирии васеъшавии Armv9-A SME (Scalable Matrix Extension) амалӣ карда шудааст.
    • Зерсистемаи eBPF имкон медиҳад, ки нишондиҳандаҳои чопшуда дар сохторҳои харита нигоҳ дошта шаванд ва инчунин барои нишондиҳандаҳои динамикӣ дастгирӣ илова карда шаванд.
    • Механизми нави барқарорсозии хотираи фаъол пешниҳод карда мешавад, ки назорати фазои корбарро бо истифода аз файли memory.reclaim дастгирӣ мекунад. Навиштани рақам ба файли муайяншуда кӯшиш мекунад, ки шумораи мувофиқи байтҳоро аз маҷмӯи бо гурӯҳ алоқаманд хориҷ кунад.
    • Дақиқии беҳтари истифодаи хотира ҳангоми фишурдани маълумот дар қисмати своп бо истифода аз механизми zswap.
    • Барои меъмории RISC-V, дастгирии иҷрошавандаи 32-бит дар системаҳои 64-бит таъмин карда мешавад, режим барои пайваст кардани атрибутҳои маҳдудкунанда ба саҳифаҳои хотира (масалан, барои хомӯш кардани кэш) илова карда мешавад ва функсияи kexec_file_load() амалӣ карда мешавад. .
    • Амалисозии дастгирии системаҳои 32-битии Armv4T ва Armv5 барои истифода дар сохторҳои универсалии ядрои бисёрплатформавӣ, ки барои системаҳои гуногуни ARM мувофиқанд, мутобиқ карда шудааст.
  • Виртуализатсия ва амният
    • Зерсистемаи EFI қобилияти ба таври махфӣ интиқол додани маълумоти махфӣ ба системаҳои меҳмононро бидуни ифшои он ба системаи мизбон амалӣ мекунад. Маълумот тавассути директорияи security/coco дар securityfs таъмин карда мешавад.
    • Ҳолати муҳофизати қуфл, ки дастрасии корбари решаро ба ядро ​​маҳдуд мекунад ва роҳҳои гузариши UEFI Secure Boot-ро маҳкам мекунад, холигоҳеро, ки имкон дод, ки муҳофизат тавассути коркарди ислоҳкунандаи ядро ​​​​гузарад.
    • Ба он часпакҳо дохил мешаванд, ки ба баланд бардоштани эътимоднокӣ ва кори генератори рақамҳои псевдо-тасодуфӣ нигаронида шудаанд.
    • Ҳангоми сохтани Clang 15, дастгирии механизми тасодуфии сохторҳои ядро ​​​​ амалӣ карда мешавад.
    • Механизми Landlock, ки ба шумо имкон медиҳад, ки таъсири як гурӯҳи равандҳоро бо муҳити беруна маҳдуд кунед, қоидаҳоро дастгирӣ мекунад, ки ба шумо имкон медиҳад иҷрои амалиёти тағир додани номи файлҳоро назорат кунед.
    • Зерсистемаи IMA (Integrity Measurement Architecture), ки барои тафтиши якпорчагии ҷузъҳои системаи амалиётӣ бо истифода аз имзоҳои рақамӣ ва хэшҳо тарҳрезӣ шудааст, ба истифодаи модули fs-verity барои тафтиши файл гузаронида шуд.
    • Мантиқи амалҳо ҳангоми хомӯш кардани дастрасии беимтиёз ба зерсистемаи eBPF тағир дода шуд - қаблан ҳама фармонҳои марбут ба занги системаи bpf() ғайрифаъол буданд ва аз версияи 5.19, дастрасӣ ба фармонҳое, ки боиси эҷоди объектҳо нестанд, боқӣ мондааст. . Ин рафтор раванди имтиёзнокро барои бор кардани барномаи BPF талаб мекунад, аммо баъдан равандҳои беимтиёз метавонанд бо барнома ҳамкорӣ кунанд.
    • Дастгирии иловашуда барои тамдиди AMD SEV-SNP (Secure Nested Paging), ки кори бехатарро бо ҷадвалҳои саҳифаҳои хотираи дохилӣ таъмин мекунад ва аз ҳамлаҳои "undeSErVed" ва "SEVerity" ба протсессори AMD EPYC муҳофизат мекунад, ки имкон медиҳад AMD SEV (Виртуализатсияи Амн Encrypted Виртуализатсия) гузаред. ) механизми муҳофизат.
    • Дастгирии иловашуда барои механизми Intel TDX (Extensions Domain Trusted), ки ба шумо имкон медиҳад кӯшишҳои тарафи сеюмро барои дастрасӣ ба хотираи рамзгузоришудаи мошинҳои виртуалӣ манъ кунед.
    • Драйвери virtio-blk, ки барои тақлид кардани дастгоҳҳои блок истифода мешавад, дастгирии I/O-ро бо истифода аз пурсиш илова кардааст, ки тибқи санҷишҳо, таъхирро тақрибан 10% кам кардааст.
  • Зерсистемаи шабакавӣ
    • Маҷмӯа як қатор часпакҳои BIG TCP-ро дар бар мегирад, ки ба шумо имкон медиҳанд, ки андозаи максималии бастаи бастаи TCP-ро то 4 ГБ зиёд кунед, то кори шабакаҳои дохилии маркази додаҳои баландсуръатро оптимизатсия кунед. Афзоиши шабеҳи андозаи бастаҳо бо андозаи майдони сарлавҳаи 16-бит тавассути татбиқи бастаҳои "jumbo", ки андоза дар сарлавҳаи IP ба 0 муқаррар карда шудааст, ва андозаи воқеӣ дар 32-битии алоҳида интиқол дода мешавад. майдон дар сарлавҳаи алоҳида замимашуда. Ҳангоми санҷиши самаранокӣ, муқаррар кардани андозаи баста ба 185 КБ интиқоли интиқолро 50% афзоиш дод ва таъхири интиқоли маълумотро ба таври назаррас коҳиш дод.
    • Кор оид ба ҳамгироии асбобҳо ба стеки шабакавӣ барои пайгирии сабабҳои партофтани пакетҳо (рамзҳои сабаб) идома ёфт. Рамзи сабаб вақте фиристода мешавад, ки хотираи марбут ба баста озод карда мешавад ва имкон медиҳад, ки партови баста аз сабаби хатогиҳои сарлавҳа, ошкор кардани қаллобии rp_filter, маблағи чеки беэътибор, аз хотира, ба кор андохтани қоидаҳои IPSec XFRM, рақами пайдарпайии нодурусти TCP ва ғайра.
    • Дастгирии иловашуда барои бозгашти пайвастҳои MPTCP (MultiPath TCP) барои истифодаи TCP муқаррарӣ, дар ҳолатҳое, ки баъзе хусусиятҳои MPTCP наметавонанд истифода шаванд. MPTCP як тамдиди протоколи TCP барои ташкили амалиёти пайвасти TCP бо интиқоли бастаҳо дар як вақт дар чанд масир тавассути интерфейсҳои шабакавии мухталифи бо суроғаҳои гуногуни IP алоқаманд аст. API барои назорати ҷараёнҳои MPTCP аз фазои корбар илова карда шуд.
  • Таҷҳизот
    • Зиёда аз 420 ҳазор сатри рамзи марбут ба драйвери amdgpu илова карда шуд, ки тақрибан 400 ҳазор сатр файлҳои сарлавҳаи худкор тавлидшуда барои маълумоти сабти ASIC дар драйвери AMD GPU мебошанд ва 22.5 хати дигар татбиқи ибтидоии дастгирии AMD SoC21-ро таъмин мекунанд. Андозаи умумии драйверҳо барои GPU-ҳои AMD аз 4 миллион сатри код гузашт. Илова ба SoC21, драйвери AMD дорои дастгирии SMU 13.x (Воҳиди идоракунии система), дастгирии навшудаи USB-C ва GPUVM ва омодагӣ барои дастгирии наслҳои ояндаи платформаҳои RDNA3 (RX 7000) ва CDNA (AMD Instinct) мебошад. .
    • Ронандаи i915 (Intel) дорои қобилиятҳои марбут ба идоракунии нерӯи барқ ​​мебошад. Идентификаторҳои иловашуда барои GPU-ҳои Intel DG2 (Arc Alchemist), ки дар ноутбукҳо истифода мешаванд, дастгирии ибтидоии платформаи Intel Raptor Lake-P (RPL-P) таъмин карда шуданд, маълумот дар бораи кортҳои графикии Arctic Sound-M илова карда шуданд), ABI барои муҳаррикҳои ҳисоббарор татбиқ карда шуданд, барои Дастгирии кортҳои DG2 барои формати Tile4; барои системаҳои бар микроархитектураи Haswell, дастгирии DisplayPort HDR амалӣ карда мешавад.
    • Ронандаи Nouveau ба истифодаи коркарди drm_gem_plane_helper_prepare_fb гузашт; тақсимоти хотираи статикӣ ба баъзе сохторҳо ва тағирёбандаҳо татбиқ карда шудааст. Дар мавриди истифодаи модулҳои кушодаи ядро ​​​​аз ҷониби NVIDIA дар Nouveau, кор то ҳол ба муайян ва бартараф кардани хатогиҳо рост меояд. Дар оянда, нармафзори нашршуда барои беҳтар кардани кори драйвер истифода мешавад.
    • Драйвер барои контролери NVMe, ки дар компютерҳои Apple дар асоси чипи M1 истифода мешавад, илова карда шуд.

Ҳамзамон, Фонди нармафзори озоди Амрикои Лотинӣ як версияи ядрои комилан озоди 5.19 - Linux-libre 5.19-gnu -ро ташкил дод, ки аз унсурҳои нармафзор ва драйверҳои дорои ҷузъҳои ғайриозод ё қисмҳои код, ки доираи онҳо аз ҷониби истеҳсолкунанда маҳдуд карда мешавад. Нашри нав драйверҳоро барои pureLiFi X/XL/XC ва TI AMx3 Wkup-M3 IPC тоза мекунад. Рамзи тозакунии blob дар Silicon Labs WFX, AMD amdgpu, Qualcomm WCNSS Peripheral Image Loader, Realtek Bluetooth, Mellanox Spectrum, Marvell WiFi-Ex, Intel AVS, IFS, драйверҳо ва зерсистемаҳои pu3-imgu. Коркарди файлҳои Tree Qualcomm AArch64 амалӣ карда шуд. Дастгирии иловашуда барои нақшаи номгузории ҷузъи нави Sound Open Firmware. Тозакунии ронандаи ATM Ambassador, ки аз ядро ​​хориҷ карда шуд, қатъ карда шуд. Идоракунии тозакунии blob дар HDCP ва Mellanox Core ба барчаспҳои ҷудогонаи kconfig интиқол дода шудааст.

Манбаъ: opennet.ru

Илова Эзоҳ