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

Пас аз ду моҳи таҳия, Линус Торвалдс барориши ядрои Linux 5.17-ро пешниҳод кард. Дар байни тағиротҳои назаррас: системаи нави идоракунии самаранокӣ барои протсессори AMD, қобилияти ба таври рекурсивӣ харитаи ID-и корбар дар системаҳои файлӣ, дастгирии барномаҳои портативии BPF, гузариши генератори рақамҳои псевдо-тасодуфӣ ба алгоритми BLAKE2s, утилитаи RTLA барои таҳлили иҷро дар вақти воқеӣ, пуштибонии нави fscache барои кэшкунии системаҳои файлии шабакавӣ, қобилияти замима кардани номҳо ба амалиёти номаълуми mmap.

Версияи нав 14203 ислоҳи 1995 таҳиягарро дар бар мегирад, андозаи часпак 37 МБ аст (тағйирот ба 11366 файл таъсир расонд, 506043 сатри код илова карда шуд, 250954 сатр нест карда шуд). Тақрибан 44% тамоми тағиротҳои дар 5.17 воридшуда ба драйверҳои дастгоҳ, тақрибан 16% тағирот ба навсозии коди мушаххаси архитектураи сахтафзор, 15% ба стеки шабакавӣ, 4% ба системаҳои файлӣ ва 4% марбутанд. бо зерсистемаҳои ядрои дохилӣ алоқаманданд.

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

  • Зерсистемаи диск, системаҳои воридотӣ ва файлӣ
    • Имконияти харитасозии лонаҳои идентификатсияи корбарони системаҳои файлии васлшуда, ки барои муқоисаи файлҳои корбари мушаххас дар қисмати хориҷии васлшуда бо корбари дигар дар системаи ҷорӣ истифода мешавад, амалӣ карда шуд. Хусусияти иловашуда ба шумо имкон медиҳад, ки харитасозии рекурсивӣ дар болои системаҳои файлие, ки барои онҳо харитасозӣ аллакай татбиқ шудааст, истифода баред.
    • Зерсистемаи fscache, ки барои ташкили кэш дар системаи файлии локалии додаҳои тавассути системаҳои файлии шабакавӣ интиқолшаванда истифода мешавад, комилан аз нав навишта шудааст. Татбиқи нав бо хеле содда кардани код ва иваз кардани амалиёти мураккаби банақшагирӣ ва пайгирии ҳолати объектҳо бо механизмҳои соддатар фарқ мекунад. Дастгирии fscache нав дар системаи файлии CIFS амалӣ карда мешавад.
    • Зерсистемаи пайгирии рӯйдодҳо дар fanotify FS навъи нави рӯйдодҳоро, FAN_RENAME-ро амалӣ мекунад, ки ба шумо имкон медиҳад, ки амалиёти тағир додани номи файлҳо ё директорияҳоро фавран боздоред (қаблан ду ҳодисаи алоҳидаи FAN_MOVED_FROM ва FAN_MOVED_TO барои коркарди номгузорӣ истифода мешуданд).
    • Системаи файлии Btrfs амалиёти сабти ном ва fsyncро барои директорияҳои калон оптимизатсия кардааст, ки тавассути нусхабардории танҳо калидҳои индекс ва кам кардани миқдори метамаълумоти сабтшуда амалӣ карда мешавад. Дастгирии индексатсия ва ҷустуҷӯ аз рӯи андозаи сабтҳои фазои озод таъмин карда шудааст, ки ин таъхирро тақрибан 30% коҳиш дод ва вақти ҷустуҷӯро кам кард. Иҷозат дода мешавад, ки амалиёти дефрагментацияро қатъ кунад. Имконияти илова кардани дастгоҳҳо ҳангоми мувозинат байни дискҳо ғайрифаъол аст, яъне. ҳангоми насб кардани системаи файлӣ бо опсияи skip_balance.
    • Синтаксиси нав барои насби системаи файлии Ceph пешниҳод карда шуд, ки мушкилоти мавҷудаи марбут ба пайвастшавӣ ба суроғаҳои IP-ро ҳал мекунад. Илова ба суроғаҳои IP, шумо ҳоло метавонед идентификатори кластерро (FSID) барои муайян кардани сервер истифода баред: mount -t ceph [почтаи электронӣ ҳифз карда шудааст]_name=/[subdir] mnt -o mon_addr=monip1[:port][/monip2[:port]]
    • Системаи файлии Ext4 ба API-и нави насбкунӣ гузашт, ки вариантҳои васлкуниро таҳлил ва қадамҳои конфигуратсияи суперблокро ҷудо мекунад. Мо дастгирии опсияҳои васлкунии lazytime ва nolazytime-ро қатъ кардем, ки онҳо ҳамчун тағири муваққатӣ барои осон кардани гузариши util-linux барои истифодаи парчами MS_LAZYTIME илова карда шуданд. Дастгирии иловагӣ барои танзим ва хондани тамғакоғазҳо дар FS (ioctl FS_IOC_GETFSLABEL ва FS_IOC_SETFSLABEL).
    • NFSv4 барои кор дар системаҳои файлии ба ҳарфҳо ҳассос дар номҳои файл ва директория дастгирӣ илова намуд. NFSv4.1+ барои муайян кардани сеансҳои ҷамъшуда (транкинг) дастгирӣ илова мекунад.
  • Хидматҳои хотира ва система
    • Драйвери amd-pstate барои таъмини назорати басомади динамикӣ барои иҷрои беҳтарин. Драйвер CPU-ҳои AMD ва APU-ро аз насли Zen 2, ки дар якҷоягӣ бо Valve таҳия шудаанд, дастгирӣ мекунад ва ба баланд бардоштани самаранокии идоракунии энергия нигаронида шудааст. Барои тағирёбии басомади мутобиқшавӣ, механизми CPPC (Назорати иҷрои якҷояи протсессори корбарон) истифода мешавад, ки ба шумо имкон медиҳад, ки нишондиҳандаҳоро дақиқтар тағир диҳед (на бо се сатҳи фаъолият) ва зудтар ба тағирёбии ҳолат нисбат ба ҳолати P-асоси қаблан дар ACPI истифодашуда вокуниш нишон диҳед. ронандагон (CPUFreq).
    • Зерсистемаи eBPF коркардкунандаи bpf_loop()-ро пешниҳод мекунад, ки роҳи алтернативии ташкили ҳалқаҳоро дар барномаҳои eBPF, зудтар ва осонтар барои тафтиш аз ҷониби васлкунанда пешниҳод мекунад.
    • Дар сатҳи ядро ​​механизми CO-RE (Compile Once - Run Everywhere) амалӣ карда мешавад, ки ба шумо имкон медиҳад, ки коди барномаҳои eBPF-ро танҳо як маротиба тартиб диҳед ва боркунаки махсуси универсалиро истифода баред, ки барномаи боршударо ба навъҳои мавҷудаи ядро ​​ва BTF мутобиқ мекунад. (Формати навъи BPF).
    • Ба минтақаҳои хотираи шахсии беном (тавассути malloc ҷудошуда) ном гузоштан мумкин аст, ки он метавонад ислоҳ ва оптимизатсияи истеъмоли хотираро дар барномаҳо содда кунад. Номҳо тавассути prctl бо парчами PR_SET_VMA_ANON_NAME таъин карда мешаванд ва дар /proc/pid/maps ва /proc/pid/smaps дар шакли "[anon: ]".
    • Нақшасози вазифаҳо пайгирӣ ва намоиши вақти дар /proc/PID/sched-ро, ки аз ҷониби равандҳо дар ҳолати бекории маҷбурӣ сарф мешавад, таъмин менамояд, масалан, барои кам кардани сарборӣ ҳангоми аз ҳад гарм шудани протсессор истифода мешавад.
    • Модули gpio-sim иловашуда, ки барои тақлид кардани микросхемаҳои GPIO барои санҷиш тарҳрезӣ шудааст.
    • Ба фармони "perf ftrace" зерфармони "латентӣ" илова карда шуд, то гистограммаҳо бо маълумоти таъхирнопазир тавлид карда шаванд.
    • Маҷмӯи утилитҳои "RTLA" барои таҳлили кор дар вақти воқеӣ илова карда шуд. Он дорои хидматҳои монанди osnoise (таъсири системаи амалиётиро ба иҷрои вазифа муайян мекунад) ва timerlat (тағйир додани таъхирҳои марбут ба таймер).
    • Силсилаи дуюми часпакҳо бо татбиқи консепсияи фолиоҳои саҳифа, ки ба саҳифаҳои мураккаб шабоҳат доранд, аммо семантикаи беҳтар ва ташкили равшантари кор доранд, муттаҳид карда шуданд. Истифодаи томҳо ба шумо имкон медиҳад, ки идоракунии хотираро дар баъзе зерсистемаҳои ядроӣ суръат бахшед. Часбҳои пешниҳодшуда табдили кэши саҳифаро ба истифодаи томҳо анҷом доданд ва дастгирии ибтидоиро барои томҳо дар системаи файлии XFS илова карданд.
    • Ҳолати сохтани "mae mod2noconfig" илова карда шуд, ки конфигуратсияеро тавлид мекунад, ки ҳамаи зерсистемаҳои ғайрифаъолро дар шакли модулҳои ядро ​​ҷамъ мекунад.
    • Талабот ба версияи LLVM/Clang, ки метавонад барои сохтани ядро ​​истифода шавад, баланд шуд. Ҳоло сохтан ҳадди аққал нашри LLVM 11-ро талаб мекунад.
  • Виртуализатсия ва амният
    • Татбиқи навшудаи генератори рақамҳои псевдо-тасодуфӣ RDRAND, ки барои кори дастгоҳҳои /dev/random ва /dev/urandom масъул аст, пешниҳод карда мешавад, ки барои гузариш ба истифодаи функсияи hash BLAKE2s ба ҷои SHA1 барои амалиёти омехтакунии энтропия назаррас аст. Тағйирот имкон дод, ки амнияти генератори рақами псевдортасодуфӣ тавассути халос шудан аз алгоритми мушкили SHA1 ва аз байн навиштани вектори ибтидоии RNG бартараф карда шавад. Азбаски алгоритми BLAKE2s дар иҷроиш аз SHA1 бартарӣ дорад, истифодаи он низ ба иҷроиш таъсири мусбат расонд.
    • Муҳофизати иловашуда аз осебпазирӣ дар протсессорҳо, ки дар натиҷаи иҷрои тахминии дастурҳо пас аз амалиёти ҷаҳиши пешакӣ ба пеш ба вуҷуд омадаанд. Мушкилот аз сабаби коркарди пешакии дастурҳо фавран пас аз дастури филиал дар хотира (SLS, Straight Line Speculation) ба амал меояд. Барои фаъол кардани муҳофизат сохтан бо нашри ҳозираи озмоишии GCC 12 талаб мекунад.
    • Механизми пайгирии ҳисобкунии истинодҳо (боз ҳисоб кардан, истинод-ҳисоб) илова карда шудааст, ки ба кам кардани шумораи хатогиҳо дар ҳисобкунии истинодҳо, ки боиси дастрасӣ ба хотира пас аз озод шудани он мегардад, нигаронида шудааст. Механизм дар айни замон бо зерсистемаи шабака маҳдуд аст, аммо дар оянда онро метавон ба қисмҳои дигари ядро ​​​​мутобиқ кард.
    • Санҷишҳои васеъи сабтҳои нав дар ҷадвали саҳифаи хотираи равандҳо амалӣ карда шуданд, ки имкон медиҳанд намудҳои муайяни зарарро ошкор ва системаро қатъ намуда, ҳамлаҳоро дар марҳилаи аввал боздоранд.
    • Имконияти кушодани модулҳои ядроро мустақиман аз ҷониби худи ядро, на аз ҷониби коркардкунанда дар фазои корбар илова кард, ки имкон медиҳад, ки модули LoadPin LSM истифода шавад, то модулҳои ядро ​​​​аз дастгоҳи нигаҳдории тасдиқшуда ба хотира бор карда шаванд.
    • Маҷмӯа бо парчами "-Wcast-function-type" таъмин карда шудааст, ки имкон медиҳад, ки огоҳӣ дар бораи интиқол додани нишондиҳандаҳои функсия ба намуди номувофиқ.
    • Драйвери виртуалии pvUSB барои гипервизори Xen илова карда шуд, ки дастрасӣ ба дастгоҳҳои USB-ро, ки ба системаҳои меҳмонон фиристода мешаванд, таъмин мекунад (ба системаҳои меҳмонон имкон медиҳад, ки дастгоҳҳои USB-и физикии ба системаи меҳмонон таъиншударо дастрас кунанд).
    • Модул илова карда шуд, ки ба шумо имкон медиҳад тавассути Wi-Fi бо зерсистемаи IME (Intel Management Engine) муошират кунед, ки дар аксари motherboards муосир бо протсессори Intel меояд ва ҳамчун микропросессори алоҳида, ки новобаста аз CPU кор мекунад, амалӣ карда мешавад.
    • Барои меъмории ARM64, дастгирӣ барои абзори ислоҳи KCSAN (Kernel Concurrency Sanitizer), ки барои ба таври динамикӣ ошкор кардани шароити нажод дар дохили ядро ​​пешбинӣ шудааст, амалӣ карда шудааст.
    • Барои системаҳои 32-битии ARM, қобилияти истифодаи механизми KFENCE барои ошкор кардани хатогиҳо ҳангоми кор бо хотира илова карда шудааст.
    • Гипервизори KVM барои дастурҳои AMX (Advanced Matrix Extensions) дастгирӣ илова мекунад, ки дар протсессори сервери Intel Xeon Scalable амалӣ карда мешаванд.
  • Зерсистемаи шабакавӣ
    • Дастгирии иловагӣ барои амалиёти борфарорӣ вобаста ба идоракунии трафик ба паҳлӯи дастгоҳҳои шабакавӣ.
    • Имконияти истифодаи MCTP (Протоколи интиқоли ҷузъҳои идоракунӣ) тавассути дастгоҳҳои силсилавӣ илова карда шуд. MCTP метавонад барои иртибот байни контроллерҳои идоракунӣ ва дастгоҳҳои алоқаманди онҳо (протсессорҳои ҳост, перифери ва ғ.) истифода шавад.
    • Стеки TCP оптимизатсия карда шудааст, масалан, барои беҳтар кардани кори зангҳои recvmsg, озодкунии таъхири буферҳои розетка амалӣ карда шуд.
    • Дар сатҳи ваколатҳои CAP_NET_RAW танзими режимҳои SO_PRIORITY ва SO_MARK тавассути функсияи setsockopt иҷозат дода мешавад.
    • Барои IPv4, розеткаҳои хом иҷозат дода мешаванд, ки ба суроғаҳои IP-и ғайримаҳаллӣ бо истифода аз имконоти IP_FREEBIND ва IP_TRANSPARENT пайваст шаванд.
    • Иловаи sysctl arp_missed_max барои танзим кардани шумораи ҳадди ниҳоии нокомиҳо ҳангоми санҷиши монитори ARP, ки пас аз он интерфейси шабака дар ҳолати ғайрифаъол ҷойгир карда мешавад.
    • Имконияти конфигуратсияи арзишҳои алоҳидаи sysctl min_pmtu ва mtu_expires барои фазоҳои номи шабака фароҳам оварда шудааст.
    • Қобилияти танзим ва муайян кардани андозаи буферҳо барои бастаҳои воридотӣ ва содиротӣ ба API ethtool илова карда шуд.
    • Netfilter барои филтр кардани трафики транзити pppoe дар пули шабака дастгирии илова кардааст.
    • Модули ksmbd, ки сервери файлро бо истифода аз протоколи SMB3 амалӣ мекунад, барои мубодилаи калидҳо, порти шабакавии 445-ро барои smbdirect фаъол кардааст ва дастгирии параметри "smb2 max credit" -ро илова кардааст.
  • Таҷҳизот
    • Дастгирии экранҳо барои намоиши маълумоти махфӣ ба зерсистемаи drm (Direct Renderering Manager) ва драйвери i915 илова карда шудааст, масалан, баъзе ноутбукҳо бо экранҳои дорои режими махфии тамошои дарунсохт муҷаҳҳаз шудаанд ва дидани онро аз берун душвор мегардонад. . Тағироти иловашуда ба шумо имкон медиҳад, ки драйверҳои махсусро барои чунин экранҳо пайваст кунед ва режимҳои дидани махфиро тавассути танзим кардани хосиятҳо дар драйверҳои муқаррарии KMS идора кунед.
    • Драйвери amdgpu дастгирии технологияи ислоҳи STB (Smart Trace Buffer) барои ҳама GPU-ҳои AMD, ки онро дастгирӣ мекунад, дар бар мегирад. STB таҳлили нокомиҳо ва муайян кардани манбаи мушкилотро тавассути нигоҳ доштани маълумот дар буфери махсус дар бораи функсияҳое, ки пеш аз шикасти охирин иҷро шудаанд, осонтар мекунад.
    • Драйвери i915 барои чипҳои Intel Raptor Lake S дастгирӣ илова мекунад ва ба таври нобаёнӣ дастгирии зерсистемаи графикии микросхемаҳои Intel Alder Lake P -ро имкон медиҳад, ки равшании паси экранро тавассути интерфейси VESA DPCD идора кардан мумкин аст.
    • Дастгирии суръатбахшии ҳаракати сахтафзор дар консол дар драйверҳои fbcon/fbdev баргардонида шудааст.
    • Идомаи ҳамгироии тағирот барои дастгирии микросхемаҳои Apple M1. Қобилияти истифодаи драйвери simpledrm дар системаҳо бо чипи Apple M1 барои баромад тавассути фреймбуфери аз ҷониби нармафзор таъминшуда амалӣ карда шуд.
    • Дастгирии иловашуда барои ARM SoС, дастгоҳҳо ва панелҳои Snapdragon 7c, 845 ва 888 (Sony Xperia XZ2 / XZ2C / XZ3, Xperia 1 III / 5 III, Samsung J5, Microsoft Surface Duo 2), Mediatek MT6589 (Fairphone FP1), Mediatek (MT8183) Acer Chromebook 314), Mediatek MT7986a/b (дар роутерҳои Wi-Fi истифода мешавад), Broadcom BCM4908 (Netgear RAXE500), Qualcomm SDX65, Samsung Exynos7885, Renesas R-Car S4-8, TI J721s2, TI SPEXM320s. , Aspeed AST8/AST8, Engicam i.Core STM2500MP2600, Allwinner Tanix TX32, Facebook Bletchley BMC, Goramo MultiLink, JOZ Access Point, Y Soft IOTA Crux/Crux+, t1/t6/ MacBook Pro.
    • Дастгирии иловашуда барои коркардкунандагони ARM Cortex-M55 ва Cortex-M33.
    • Дастгирии иловашуда барои дастгоҳҳо дар асоси CPU MIPS: Linksys WRT320N v1, Netgear R6300 v1, Netgear WN2500RP v1/v2.
    • Дастгирии иловашуда барои StarFive JH7100 SoC дар асоси меъмории RISC-V.
    • Драйвери lenovo-yogabook-wmi илова карда шуд, то равшании паси клавиатураро идора кунад ва ба сенсорҳои гуногун дар китоби Lenovo Yoga дастрасӣ пайдо кунад.
    • Драйвери asus_wmi_sensors барои дастрасӣ ба сенсорҳое, ки дар motherboards Asus X370, X470, B450, B550 ва X399 дар асоси протсессори AMD Ryzen истифода мешаванд, илова карда шуд.
    • Драйвери x86-android-tablets барои компютерҳои планшетии x86, ки бо платформаи Android фиристода шудаанд, илова карда шуд.
    • Дастгирии иловагӣ барои экранҳои сенсории TrekStor SurfTab duo W1 ва қалами электронӣ барои планшетҳои Chuwi Hi10 Plus ва Pro.
    • Ронандагон барои SoC Tegra 20/30 барои идоракунии қувва ва шиддат дастгирӣ илова карданд. Боркуниро дар дастгоҳҳои кӯҳнаи 32-битии Tegra SoC ба монанди ASUS Prime TF201, Pad TF701T, Pad TF300T, Infinity TF700T, EeePad TF101 ва Pad TF300TG имкон медиҳад.
    • Драйверҳо барои компютерҳои саноатии Siemens илова карда шуданд.
    • Дастгирии иловашуда барои Sony Tulip Truly NT35521, Vivax TPC-9150, Innolux G070Y2-T02, BOE BF060Y8M-AJ0, JDI R63452, Novatek NT35950, Wanchanglong W552946ABA ва LCD043015ABA панелҳои LCDXNUMX.
    • Дастгирии иловашуда барои системаҳои садоӣ ва кодекҳои AMD Renoir ACP, Asahi Kasei Microdevices AKM4375, системаҳои Intel бо истифода аз NAU8825/MAX98390, Mediatek MT8915, nVidia Tegra20 S/PDIF, Qualcomm ALC5682I-VS320, Texasx Instruments. Мушкилот бо Tegra3 HD-аудио ҳал карда шуданд. Дастгирии HDA барои кодекҳои CS194L35 илова карда шуд. Дастгирии мукаммали системаҳои садоӣ барои ноутбукҳои Lenovo ва HP, инчунин motherboards Gigabyte.

Манбаъ: opennet.ru

Илова Эзоҳ