Нашри ядрои 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% марбутанд. бо зерсистемаҳои ядрои дохилӣ алоқаманданд.

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

  • Зерсистемаи диск, системаҳои воридотӣ ва файлӣ
    • Барои гурӯҳҳо, 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/raw таъмин мекунад. Ин функсия дер боз дар барномаҳо бо истифода аз парчами O_DIRECT амалӣ карда мешавад.
  • Хидматҳои хотира ва система
    • Банақшагирии вазифаҳо режими нави банақшагирии SCHED_CORE -ро амалӣ мекунад, ки ба шумо имкон медиҳад назорат кунед, ки кадом равандҳоро дар як ядрои CPU якҷоя иҷро кардан мумкин аст. Ба ҳар як раванд метавонад идентификатори кукиҳо таъин карда шавад, ки доираи эътимод байни равандҳоро муайян мекунад (масалан, мансуб ба як корбар ё контейнер). Ҳангоми ташкили иҷрои код, банақшагир метавонад кафолат диҳад, ки як ядрои CPU танҳо дар байни равандҳои марбут ба як соҳиби як тақсим карда мешавад, ки он метавонад барои бастани баъзе ҳамлаҳои Spectre тавассути пешгирӣ кардани иҷрои вазифаҳои боэътимод ва нобовар дар як риштаи SMT (Hyper Threading) истифода шавад. .
    • Барои cgroup, дастгирии амалиёти куштор амалӣ карда шудааст, ки ба шумо имкон медиҳад, ки ҳамаи равандҳои марбут ба гурӯҳро якбора кушед (фиристед 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 -ро барои тавлиди "айбҳои саҳифа" дар ҳама саҳифаҳои хотира барои хондан ё навиштан бидуни иҷрои хондан ё навиштани воқеӣ (пешфарз) илова кардааст. ). Истифодаи парчамҳо метавонад барои кам кардани таъхирҳо дар иҷрои барнома муфид бошад, зеро коркарди проактивии коркарди "айби саҳифа" барои ҳама саҳифаҳои тақсимнашуда якбора, бидуни интизории дастрасии воқеӣ ба онҳо.
    • Системаи санҷиши воҳиди kunit барои санҷишҳо дар муҳити QEMU дастгирӣ илова кардааст.
    • Тресерҳои нав илова карда шуданд: "osnoise" барои пайгирии таъхирҳои барнома, ки дар натиҷаи коркарди таваққуф ба вуҷуд омадааст ва "timerlat" барои намоиш додани маълумоти муфассал дар бораи таъхирҳо ҳангоми бедоршавӣ аз сигнали таймер.
  • Виртуализатсия ва амният
    • Даъвати системаи memfd_secret() барои эҷоди майдони хусусии хотира дар фазои суроғаи ҷудошуда илова карда шудааст, ки танҳо ба раванди соҳибӣ намоён аст, ба равандҳои дигар инъикос намеёбад ва мустақиман ба ядро ​​дастрас нест.
    • Дар системаи филтркунии зангҳои системаи seccomp, ҳангоми интиқоли коркардкунандагони блокатор ба фазои корбар имкон дорад, ки як амалиёти атомиро барои эҷоди тасвири файл барои вазифаи ҷудошуда истифода барад ва ҳангоми коркарди занги система онро баргардонад. Амалиёти пешниҳодшуда масъалаи қатъ кардани коркардкунандаро дар фазои корбар ҳангоми расидани сигнал ҳал мекунад.
    • Механизми нави идоракунии маҳдудиятҳои захираҳо дар фазои номи корбар илова карда шуд, ки ҳисобкунакҳои инфиродии rlimitро ба корбар дар "фазои номи корбар" мепайвандад. Тағйирот мушкилотро бо истифодаи ҳисобкунакҳои захираҳои умумӣ ҳал мекунад, вақте ки як корбар равандҳоро дар контейнерҳои гуногун иҷро мекунад.
    • Гипервизори KVM барои системаҳои ARM64 қобилияти истифодаи васеъшавии MTE (MemTag, Extension Memory Tagging) дар системаҳои меҳмононро илова кардааст, ки ба шумо имкон медиҳад тегҳоро ба ҳар як амалиёти тақсимоти хотира пайваст кунед ва тафтиши истифодаи дурусти нишондиҳандаҳоро барои бастани истисмори осебпазирӣ, ки дар натиҷаи дастрасӣ ба блокҳои хотираи аллакай озодшуда, буфери изофӣ, дастрасӣ пеш аз оғозёбӣ ва берун аз контексти ҷорӣ истифода мешаванд.
    • Воситаҳои аутентификатсияи Pointer платформаи 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) -ро илова мекунад, ки имкон медиҳад, ки аз фазои корбар муайян карда шавад, ки кадом майдонҳои пакетҳо, аз ҷумла майдонҳои инкапсулшуда ҳангоми ҳисоб кардани хэш, ки интихоби роҳ барои баста.
    • Дастгирии розеткаҳои SOCK_SEQPACKET (интиқоли фармоишӣ ва боэътимоди датаграммаҳо) ба интиқоли виртуалии virtio илова карда шудааст.
    • Имкониятҳои механизми розеткаи SO_REUSEPORT васеъ карда шуданд, ки ба якчанд розеткаҳои гӯшкунӣ имкон медиҳад, ки якбора ба як порт пайваст шаванд ва пайвастҳоро бо тақсими дархостҳои воридотӣ дар як вақт дар тамоми розеткаҳои тавассути SO_REUSEPORT пайвастшуда қабул кунанд, ки эҷоди замимаҳои серверии чанд риштаро осон мекунад. . Дар версияи нав асбобҳо барои интиқоли назорат ба розеткаи дигар дар сурати нокомӣ ҳангоми коркарди дархост аз ҷониби розеткаи аввалан интихобшуда илова карда мешаванд (мушкилоти аз байн рафтани пайвастҳои инфиродӣ ҳангоми аз нав оғоз кардани хидматҳо ҳал карда мешаванд).
  • Таҷҳизот
    • Драйвери amdgpu барои силсилаи нави AMD Radeon RX 6000 GPUs, ки бо номи рамзии "Beige Goby" (Navi 24) ва "Yellow Carp" ва инчунин дастгирии беҳтаршудаи GPU Aldebaran (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 илова карда шуд.
    • Дастгирии иловашуда барои компютери ҳама-дар як Raspberry 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

Илова Эзоҳ