Ядрои Linux 5.14

Ядрои Linux 5.14

Пас аз ду моҳи рушд, Линус Торвалдс муаррифӣ кард баровардани ядро Linux 5.14. Дар байни тағйироти назаррас: зангҳои нави системаи quotactl_fd() ва memfd_secret(), нест кардани драйверҳои ide ва хом, контролери нави афзалиятноки I/O барои cgroup, реҷаи банақшагирии вазифаҳои SCHED_CORE, инфрасохтор барои эҷоди боркунакҳои тасдиқшудаи барномаи BPF.

Версияи нав 15883 ислоҳи 2002 таҳиягарро дар бар мегирад, андозаи часпак 69 МБ аст (тағирот ба 12580 файл таъсир расонд, 861501 сатри код илова карда шуд, 321654 сатр нест карда шуд). Тақрибан 47% ҳамаи тағиротҳои дар 5.14 воридшуда ба драйверҳои дастгоҳ, тақрибан 14% тағирот ба навсозии коди мушаххаси архитектураи сахтафзор, 13% ба стеки шабакавӣ, 3% ба системаҳои файлӣ ва 3% марбутанд. бо зерсистемаҳои ядрои дохилӣ алоқаманданд.

асосӣ навовариҳо:

  • зерсистемаи диск, системаҳои вуруд/баромад ва файлӣ:
    • барои гурӯҳ ба амал бароварда шуд нозири афзалиятноки I/O - rq-qos, ки метавонад афзалияти коркарди дархостҳоро барои бастани дастгоҳҳои аз ҷониби аъзои ҳар як гурӯҳ тавлидшуда назорат кунад. Дастгирии нави афзалиятноки контроллер ба нақшаи mq-deadline I/O илова карда шуд;
    • дар системаи файлии ext4 ба амал бароварда шуд фармони нави ioctl EXT4_IOC_CHECKPOINT, ки ҳамаи транзаксияҳои интизоршударо аз сабт ва буферҳои алоқаманд ба диск маҷбур мекунад ва инчунин майдони аз ҷониби сабт дар анбор истифодашавандаро аз нав сабт мекунад. Тағйирот ҳамчун як қисми ташаббус барои пешгирии ихроҷи иттилоот аз системаҳои файлӣ омода шудааст;
    • дар Btrfs муаррифӣ кард Оптимизатсияи фаъолият: Бо бартараф кардани сабти нолозими атрибутҳои васеъ ҳангоми иҷрои fsync, иҷрои амалиёти пуршиддат бо атрибутҳои васеъ то 17% афзоиш ёфт. Илова бар ин, ҳангоми иҷрои амалиёти трим, ки ба миқёс таъсир намерасонанд, ҳамоҳангсозии пурра ғайрифаъол мешавад, ки ин вақти корро 12% кам кардааст. Танзимот ба sysfs барои маҳдуд кардани фарохмаҷрои вуруди баромад ҳангоми санҷиши FS илова карда шудааст. Зангҳои ioctl барои лағви тағир додани андоза ва нест кардани амалиёти дастгоҳ илова карда шуданд;
    • дар XFS аз нав кор карда баромад татбиқи кэши буферӣ, ки ба тақсимоти саҳифаҳои хотира дар реҷаи партия интиқол дода мешавад. Баланд бардоштани самаранокии кэш;
    • F2FS имкони кор кардан дар реҷаи танҳо барои хонданро илова кард ва реҷаи кэшкунии блоки фишурдашударо (compress_cache) барои беҳтар кардани кори хондани тасодуфӣ татбиқ кард. Дастгирии фишурдани файлҳои ба хотира бо истифода аз амалиёти mmap() амалӣ карда шудааст. Барои интихобан ғайрифаъол кардани фишурдани файл бо ниқоб, варианти нави насб nocompress пешниҳод шудааст;
    • кор дар драйвери exFAT барои беҳтар кардани мутобиқат бо нигоҳдории баъзе камераҳои рақамӣ анҷом дода шуд;
    • занги система иловашуда quotactl_fd(), ки ба шумо имкон медиҳад, ки квотаҳоро на тавассути файли махсуси дастгоҳ, балки бо нишон додани дескриптори файли марбут ба системаи файлие, ки квота барои он татбиқ карда мешавад, идора кунед;
    • Драйверҳои кӯҳнаи дастгоҳҳои блок бо интерфейси IDE аз ядро ​​хориҷ карда шуданд; онҳо кайҳо бо зерсистемаи libata иваз карда шудаанд. Дастгирии дастгоҳҳои кӯҳна пурра нигоҳ дошта шудааст, тағирот танҳо ба қобилияти истифодаи драйверҳои кӯҳна дахл дорад, ки ҳангоми истифодаи онҳо дискҳо /dev/hd* номида мешуданд, на /dev/sd*;
    • Драйвери "хом" аз ядро ​​хориҷ карда шуд, ки дастрасии бебуфериро ба дастгоҳҳои блок тавассути интерфейси /dev/raw таъмин мекунад. Ин функсия дер боз дар барномаҳо бо истифода аз парчами O_DIRECT амалӣ карда мешавад;
  • хотира ва хидматҳои система:
    • режими нави банақшагирӣ дар ҷадвалбандии вазифаҳо ҷорӣ карда шудааст SCHED_CORE, ки ба шумо имкон медиҳад назорат кунед, ки кадом равандҳо метавонанд дар як ядрои CPU якҷоя кор кунанд. Ба ҳар як раванд метавонад идентификатори кукиҳо таъин карда шавад, ки доираи эътимод байни равандҳоро муайян мекунад (масалан, мансуб ба як корбар ё контейнер). Ҳангоми ташкили иҷрои код, нақшакаш метавонад кафолат диҳад, ки як ядрои CPU танҳо дар байни равандҳои марбут ба як соҳиби як тақсим карда мешавад, ки онро метавон барои бастани баъзе ҳамлаҳои Specter тавассути пешгирии иҷро кардани вазифаҳои боэътимод ва нобовар дар як риштаи SMT (Hyper Threading) истифода бурд. ;
    • барои механизми гурӯҳӣ, дастгирии амалиёти куштор амалӣ карда шудааст, ки ба шумо имкон медиҳад, ки ҳамаи равандҳои марбут ба гурӯҳро якбора кушед (фиристед SIGKILL) бо навиштани "1" ба файли виртуалии cgroup.kill;
    • имкониятҳои васеъ вобаста ба вокуниш ба ошкор кардани қулфҳои ҷудошуда («қуфлҳои тақсимшуда»), ки ҳангоми дастрасии маълумотҳои ҳамоҳангнашуда дар хотира ба амал меоянд, зеро ҳангоми иҷрои дастури атомӣ, додаҳо ду хатти кэши CPU-ро убур мекунанд. Чунин басташавӣ ба коҳиши назарраси кор оварда мерасонад, аз ин рӯ қаблан имкон дошт, ки барномаеро, ки боиси басташавӣ ба вуҷуд овардааст, маҷбуран қатъ кард. Нашри нав параметри сатри фармони ядрои "split_lock_detect=ratelimit:N" -ро илова мекунад, ки ба шумо имкон медиҳад, ки маҳдудияти тамоми системаро оид ба суръати амалиёти қулфкунӣ дар як сония муайян кунед, ки пас аз гузаштани он ҳама гуна раванде, ки манбаи қулфи тақсимшавӣ гардид ба ҷои қатъ кардан маҷбур карда шавад, ки дар тӯли 20 мс истад;
    • Назорати фарохмаҷрои гурӯҳ CFS (контролгари фарохмаҷрои CFS), ки муайян мекунад, ки чӣ қадар вақти протсессорро ба ҳар як гурӯҳ ҷудо кардан мумкин аст, қобилияти муайян кардани маҳдудиятҳои бо давомнокии додаи амал маҳдудшударо дорад, ки имкон медиҳад, ки сарбориҳои ба таъхир ҳассос беҳтар танзим карда шавад. Масалан, танзими cpu.cfs_quota_us ба 50000 ва cpu.cfs_period_us ба 100000 имкон медиҳад, ки гурӯҳи равандҳо дар ҳар 100ms 50ms вақти CPU-ро бехуда сарф кунанд;
    • илова кард инфрасохтори ибтидоӣ барои эҷоди боркунакҳои барномаи BPF, ки минбаъд имкон медиҳад, ки танҳо барномаҳои BPF, ки бо калиди боэътимоди рақамӣ имзо шудаанд, зеркашӣ карда шаванд;
    • амалиёти нави футекси FUTEX_LOCK_PI2 илова карда шуд, ки барои ҳисоб кардани таймер як таймерро истифода мебарад, ки вақти аз ҷониби система дар ҳолати хоб сарфшударо ба назар мегирад;
    • барои меъмории RISC-V, дастгирии саҳифаҳои хотираи калон (Transparent Huge-Pages) ва қобилияти истифодаи KFENCE муайян кардани хатогиҳо ҳангоми кор бо хотира;
    • ба занги системаи madvise(), ки воситаи оптимизатсияи идоракунии хотираи равандро таъмин мекунад, илова кард Парчамҳои MADV_POPULATE_READ ва MADV_POPULATE_WRITE барои тавлиди "айби саҳифа" дар ҳама саҳифаҳои хотира, ки барои амалиёти хондан ё навиштан харита шудаанд, бидуни иҷрои хондан ё навиштани воқеӣ (пешфарз). Истифодаи парчамҳо метавонад барои кам кардани таъхирҳо дар иҷрои барнома муфид бошад, ба шарофати иҷрои фаъоли коркарди "айби саҳифа" барои ҳама саҳифаҳои тақсимнашуда якбора, бидуни интизории дастрасии воқеӣ ба онҳо;
    • дар системаи санҷиши воҳид кунит илова кард дастгирии санҷишҳо дар муҳити QEMU;
    • паймоишгарони нав илова карданд: "ошноӣ" пайгирии таъхирҳои барнома, ки дар натиҷаи коркарди қатъшавӣ ба вуҷуд омадааст ва " timerlat " барои намоиш додани маълумоти муфассал дар бораи таъхирҳо ҳангоми бедоршавӣ аз сигнали таймер;
  • виртуализатсия ва амният:
    • илова намуд занги система memfd_secret(), ки ба шумо имкон медиҳад, ки дар фазои суроғаи ҷудошуда майдони хотираи хусусиро эҷод кунед, ки танҳо ба раванди соҳиби он намоён аст, дар дигар равандҳо инъикос намеёбад ва мустақиман ба ядро ​​дастрас нест;
    • дар системаи филтркунии зангҳои системаи seccomp, ҳангоми интиқоли коркардкунандагони қулф ба фазои корбар, имкон дорад, ки як амалиёти атомиро барои эҷоди тасвири файл барои вазифаи ҷудошуда истифода бурд ва ҳангоми коркарди занги система онро баргардонад. Амалиёти пешниҳодшуда ҳал мекунад мушкилот бо қатъ шудани коркардкунанда дар фазои корбар ҳангоми расидани сигнал;
    • илова намуд механизми нав барои идоракунии маҳдудияти захираҳо дар фазои номи корбар, ки ҳисобкунакҳои инфиродии rlimitро ба корбар дар "фазои номи корбар" мепайвандад. Тағйирот мушкилотро бо истифодаи ҳисобкунакҳои захираҳои умумӣ ҳал мекунад, вақте ки як корбар равандҳоро дар контейнерҳои гуногун иҷро мекунад;
    • гипервизори KVM барои системаҳои ARM64 қобилияти истифодаи васеъшавии MTE (MemTag, Memory Tagging Extension) дар системаҳои меҳмононро илова кардааст, ки ба шумо имкон медиҳад тегҳоро ба ҳар як амалиёти тақсимоти хотира пайваст кунед ва тафтиши истифодаи дурусти нишондиҳандаҳоро барои бастани истисмори осебпазирӣ, ки дар натиҷаи дастрасӣ ба блокҳои хотираи аллакай озодшуда, буферҳои изофӣ, дастрасӣ пеш аз оғозёбӣ ва истифода берун аз контексти ҷорӣ ба вуҷуд омадаанд;
    • Аутентификатсияи нишондиҳандаҳое, ки платформаи ARM64 пешниҳод мекунад, акнун метавонад барои ядро ​​​​ва фазои корбар алоҳида танзим карда шавад. Технология ба шумо имкон медиҳад, ки дастурҳои махсуси ARM64-ро барои тафтиши суроғаҳои бозгашт бо истифода аз имзоҳои рақамӣ, ки дар битҳои болоии истифоданашудаи худи нишоннамо нигоҳ дошта мешаванд, истифода баред;
    • дар ҳолати корбар Linux илова кард дастгирии истифодаи драйверҳо барои дастгоҳҳои PCI бо автобуси виртуалии PCI, ки аз ҷониби драйвери PCI-over-virtio амалӣ карда мешавад;
    • барои системаҳои x86, дастгирии иловагии дастгоҳи паравиртуализатсияшудаи virtio-iommu, ки ба шумо имкон медиҳад дархостҳои IOMMU, аз қабили ATTACH, DETACH, MAP ва UNMAP -ро тавассути интиқоли virtio бидуни тақлид кардани ҷадвалҳои саҳифаҳои хотира фиристед;
    • Барои CPU-ҳои Intel, аз оилаи Skylake то Coffee Lake, истифодаи Intel TSX (Transactional Synchronization Extensions), ки абзорҳоро барои беҳтар кардани кори замимаҳои сершумор тавассути динамикӣ аз байн бурдани амалиёти синхронизатсияи нолозим таъмин мекунад, ба таври нобаёнӣ ғайрифаъол аст. Бо сабаби эҳтимолияти ҳамлаҳо васеъшавӣ ғайрифаъол карда мешаванд Zombieload, манипуляцияи ихроҷи иттилоот тавассути каналҳои тарафи сеюм, ки ҳангоми кори механизми қатъи асинхронии амалиётҳо ба амал меояд (TAA, TSX Asynchronous Abort);
  • зерсистемаи шабака:
    • муттаҳидшавии давомдор ба асосии MPTCP (MultiPath TCP), тамдиди протоколи TCP барои ташкили амалиёти пайвасти TCP бо интиқоли бастаҳо дар як вақт дар тӯли якчанд масир тавассути интерфейсҳои шабакавии гуногун, ки бо суроғаҳои гуногуни IP алоқаманданд. Дар шумораи нав илова намуд механизми муқаррар кардани сиёсатҳои хэшии трафики шахсии шумо барои IPv4 ва IPv6 (сиёсати hash multipath), имкон медиҳад, ки аз фазои корбар муайян карда шавад, ки кадом майдонҳои пакетҳо, аз ҷумла майдонҳои инкапсулшуда ҳангоми ҳисоб кардани хэш, ки интихоби роҳро муайян мекунанд, истифода мешаванд. барои баста;
    • дастгирии розетка ба virtio нақлиёти виртуалӣ илова карда шудааст SOCK_SEQPACKET (интиқоли мунтазам ва боэътимоди датаграммаҳо);
    • Имкониятҳои механизми розеткаи SO_REUSEPORT васеъ карда шуданд, ки ба якчанд розеткаҳои гӯшкунӣ имкон медиҳад, ки якбора ба як порт пайваст шаванд ва пайвастҳоро бо тақсими дархостҳои воридотӣ дар як вақт дар тамоми розеткаҳои тавассути SO_REUSEPORT пайвастшуда қабул кунанд, ки эҷоди замимаҳои серверии чанд риштаро осон мекунад. . Дар версияи нав илова кард воситаҳо барои интиқоли идоракунӣ ба розеткаи дигар дар ҳолати нокомӣ ҳангоми коркарди дархост аз ҷониби розеткаи аввалан интихобшуда (масъаларо бо гум шудани пайвастҳои инфиродӣ ҳангоми аз нав оғоз кардани хидматҳо ҳал мекунад);
  • таҷҳизот:
    • дар драйвери amdgpu ба амал бароварда шуд дастгирии силсилаи нави GPU-ҳои AMD Radeon RX 6000, бо номи рамзии "Beige Goby" (Navi 24) ва "Yellow Carp", инчунин дастгирии беҳтар барои Aldebaran GPU (gfx90a) ва Ван Гог APU. Қобилияти ҳамзамон бо якчанд панелҳои eDP кор кардан илова карда шуд. Барои APU Renoir, дастгирии кор бо буферҳои рамзгузоришуда дар хотираи видео (TMZ, Минтақаи хотираи боэътимод) амалӣ карда шудааст. Дастгирии иловашуда барои кортҳои графикии гарм-канор. Барои GPU-ҳои Radeon RX 6000 (Navi 2x) ва GPU-ҳои кӯҳнаи AMD, дастгирии механизми сарфаи нерӯи ASPM (Идоракунии фаъоли нерӯи давлатӣ) ба таври нобаёнӣ фаъол аст, ки қаблан танҳо барои GPU-ҳои Navi 1x, Vega ва Polaris фаъол карда шуда буд;
    • барои микросхемаҳои AMD, дастгирии хотираи виртуалии муштарак (SVM, хотираи муштараки виртуалӣ) дар асоси зерсистемаи HMM (идоракунии хотираи гетерогенӣ) илова карда шудааст, ки имкон медиҳад дастгоҳҳоро бо воҳидҳои идоракунии хотираи худ (MMU, воҳиди идоракунии хотира), ки хотираи асосиро дастрас карда метавонад. Аз ҷумла истифодаи HMM, шумо метавонед фазои суроғаи муштаракро байни GPU ва CPU ташкил кунед, ки дар он GPU метавонад ба хотираи асосии раванд дастрасӣ пайдо кунад;
    • дастгирии технологияи ибтидоии иловашуда AMD Smart Shift, ки параметрҳои масрафи нерӯи CPU ва GPU-ро дар ноутбукҳо бо чипсет ва корти графикаи AMD ба таври динамикӣ тағир медиҳад, то иҷрои онро ҳангоми бозӣ, таҳриркунии видео ва намоиши 3D афзоиш диҳад;
    • дар драйвери i915 барои кортҳои видеоии Intel дохил карда шудааст дастгирии микросхемаҳои Intel Alderlake P;
    • драйвери drm/hyperv барои адаптери графикаи виртуалии Hyper-V илова карда шуд;
    • илова намуд ронандаи графикии simpledrm, ки чаҳорчӯбаи EFI-GOP ё VESA-ро истифода мебарад, ки аз ҷониби нармафзори миёнарав UEFI ё BIOS барои баромад пешниҳод шудааст. Мақсади асосии драйвер таъмин намудани қобилияти баромади графикӣ дар марҳилаҳои ибтидоии боркунӣ, пеш аз он ки драйвери пурраи DRM истифода шавад, мебошад. Драйвер инчунин метавонад ҳамчун як ҳалли муваққатӣ барои таҷҳизоте истифода шавад, ки ҳанӯз драйверҳои аслии DRM надоранд;
    • илова кард дастгирии ҳама-дар як компютер Малина PI 400;
    • Драйвери dell-wmi-privacy барои дастгирии гузаргоҳҳои сахтафзори камера ва микрофон, ки ба ноутбукҳои Dell дохил карда шудаанд, илова карда шуд;
    • барои ноутбукҳои Lenovo илова намуд Интерфейси WMI барои тағир додани параметрҳои BIOS тавассути sysfs /sys/class/firmware-attributes/;
    • васеъ карда шуд дастгирии дастгоҳҳои дорои интерфейси USB4;
    • илова кард дастгирии кортҳои садоӣ ва кодекҳои AmLogic SM1 TOACODEC, Intel AlderLake-M, NXP i.MX8, NXP TFA1, TDF9897, Rockchip RK817, Qualcomm Quinary MI2 ва Texas Instruments TAS2505. Дастгирии беҳтаршудаи аудио дар ноутбукҳои HP ва ASUS. Илова карда шуд часбҳоро барои кам кардани таъхирҳо пеш аз оғози навозиш дар дастгоҳҳои дорои интерфейси USB.

Манбаъ – opennet.ru.

Манбаъ: linux.org.ru