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

Пас аз ду моҳи таҳия, Линус Торвалдс нашри ядрои Linux 6.7-ро пешниҳод кард. Дар байни тағйироти назаррас: ҳамгироии системаи файлии Bcachefs, қатъи дастгирии меъмории Itanium, қобилияти Nouvea барои кор бо нармафзори GSP-R, дастгирии рамзгузории TLS дар NVMe-TCP, қобилияти истифодаи истисноҳо дар BPF, дастгирии futex дар io_uring, оптимизатсияи иҷрои нақшаи fq (Fair Queuing), дастгирии тамдиди TCP-AO (Options Authentication TCP) ва қобилияти маҳдуд кардани пайвастҳои шабакавӣ дар механизми амнияти Landlock, назорати иловагии дастрасӣ ба фазои номи корбар ва io_uring тавассути AppArmor.

Версияи нав 18405 ислоҳи 2066 таҳиягарро дар бар мегирад, андозаи часпак 72 МБ аст (тағирот ба 13467 файл таъсир расонд, 906147 сатри код илова карда шуд, 341048 сатр нест карда шуд). Нашри охирин аз 15291 таҳиягар 2058 ислоҳ дошт, андозаи часпак 39 МБ буд. Тақрибан 45% тамоми тағиротҳои дар 6.7 воридшуда ба драйверҳои дастгоҳ, тақрибан 14% тағирот ба навсозии коди мушаххаси архитектураи сахтафзор, 13% ба стеки шабакавӣ, 5% ба системаҳои файлӣ ва 3% марбутанд. бо зерсистемаҳои ядрои дохилӣ алоқаманданд.

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

  • Зерсистемаи диск, системаҳои воридотӣ ва файлӣ
    • Ядро рамзи системаи файлии Bcachefs-ро қабул мекунад, ки кӯшиши ба даст овардани самаранокӣ, эътимоднокӣ ва миқёспазирии XFS мебошад, ки дар якҷоягӣ бо унсурҳои функсияҳои пешрафта дар Btrfs ва ZFS мавҷуд аст. Масалан, Bcachefs хусусиятҳоеро дастгирӣ мекунад, ба монанди дохил кардани дастгоҳҳои сершумор дар қисмат, тарҳҳои гардонандаи бисёрқабат (қабати поён бо маълумоти зуд-зуд истифодашаванда дар асоси SSD-ҳои зуд ва қабати боло бо маълумоти кам истифодашаванда аз дискҳои сахт), такрорӣ (RAID) 1/10), кэш, фишурдасозии шаффофи додаҳо (режимҳои LZ4, gzip ва ZSTD), порчаҳои давлатӣ (тасвирҳо), санҷиши якпорчагӣ бо истифода аз ҳисобҳо, қобилияти нигоҳ доштани рамзҳои ислоҳи хатогиҳои Reed-Solomon (RAID 5/6), нигоҳ доштани маълумот дар шакли рамзгузоришуда (ChaCha20 ва Poly1305 истифода мешаванд). Дар робита ба иҷроиш, Bcachefs аз Btrfs ва дигар системаҳои файлӣ, ки бар механизми Copy-on-Write асос ёфтааст, пештар аст ва суръати корбариро ба Ext4 ва XFS наздик нишон медиҳад.
    • Системаи файлии Btrfs режими соддакардашудаи квотаро ҷорӣ мекунад, ки ба шумо имкон медиҳад, ки тавассути пайгирии миқёсҳо танҳо дар зерҳисмате, ки дар он онҳо сохта шудаанд, ба иҷрои баландтар ноил шавед, ки ҳисобҳоро ба таври қобили мулоҳиза осон мекунад ва иҷрои онро беҳтар мекунад, аммо ба шумо имкон намедиҳад, ки миқдоре, ки дар якчанд файлҳо тақсим карда шудаанд, ба назар гиред. зерқисмҳо.
    • Btrfs сохтори нави "дарахти рахи"-и маълумотро илова кард, ки барои харитасозии мантиқӣ дар ҳолатҳое мувофиқ аст, ки харитасозии физикӣ дар байни дастгоҳҳо мувофиқат намекунад. Дар айни замон сохтор дар татбиқи RAID0 ва RAID1 барои дастгоҳҳои блоки минтақавӣ истифода мешавад. Дар оянда онҳо нақша доранд, ки ин сохторро дар RAID-ҳои сатҳи баландтар истифода баранд, ки ин як қатор мушкилоти дар татбиқи ҷорӣ мавҷудбударо ҳал хоҳад кард.
    • Системаи файлии Ceph дастгирии харитасозии идентификаторҳои корбарони системаҳои файлии васлшударо амалӣ мекунад, ки барои мувофиқ кардани файлҳои корбари мушаххас дар қисмати хориҷии васлшуда бо корбари дигар дар системаи ҷорӣ истифода мешавад.
    • Имконияти муайян кардани uid ва gid дар васлкунӣ ба efivarfs илова карда шуд, то ба равандҳои решавӣ имкон диҳад, ки тағирёбандаҳои UEFI-ро иваз кунанд.
    • Зангҳои ioctl ба exFAT барои хондан ва тағир додани атрибутҳои FS илова карда шуданд. Муносибати директорияҳои андозаи сифр иловашуда.
    • F2FS қобилияти истифодаи 16K блокҳоро амалӣ мекунад.
    • Механизми автоматии autofs барои истифодаи API-и нави васлкунии қисмҳо иваз карда шуд.
    • OverlayFS имконоти насби "lowerdir+" ва "datadir+" -ро пешниҳод мекунад. Дастгирии иловашуда барои насби лонаҳои OverlayFS бо xattrs.
    • XFS сарбории CPU-ро дар коди тақсимоти блок дар вақти воқеӣ оптимизатсия кардааст. Имконияти ҳамзамон иҷро кардани амалиёти хондан ва FICLONE таъмин карда шудааст.
    • Рамзи EXT2 ба истифодаи фолиоҳои саҳифа табдил дода шудааст.
  • Хидматҳои хотира ва система
    • Дастгирии меъмории ia64, ки дар протсессори Intel Itanium истифода мешавад, ки дар соли 2021 комилан қатъ шуда буданд, қатъ карда шуд. Протсессорҳои Itanium аз ҷониби Intel дар соли 2001 муаррифӣ карда шуданд, аммо меъмории ia64 бо AMD64 рақобат карда натавонист, асосан аз сабаби иҷрои баландтари AMD64 ва гузариши ҳамвортар аз протсессори 32-бита x86. Дар натиҷа, манфиатҳои Intel ба фоидаи протсессори x86-64 тағйир ёфтанд ва қисми Itanium серверҳои HP Integrity боқӣ монданд, ки фармоишҳо барои онҳо се сол пеш қатъ карда шуда буданд. Рамзи дастгирии ia64 асосан аз сабаби набудани дарозмуддати дастгирии ин платформа аз ядро ​​хориҷ карда шуд, дар ҳоле ки Линус Торвалдс омодагии худро барои баргардонидани дастгирии ia64 ба ядро ​​изҳор дошт, аммо танҳо дар сурати мавҷуд будани нигоҳдоре, ки метавонад сифати баландро нишон диҳад дастгирии ин платформа берун аз ядрои асосӣ ҳадди аққал як сол.
    • Параметри фармони сатри ядрои "ia32_emulation" илова карда шуд, ки ба шумо имкон медиҳад, ки дастгирии эмуляцияи ҳолати 32-битро дар ядроҳое, ки барои меъмории x86-64 дар марҳилаи пурборкунӣ сохта шудаанд, фаъол ё ғайрифаъол кунед. Дар паҳлӯи амалӣ, варианти нав ба шумо имкон медиҳад, ки ядроро бо дастгирии мутобиқат бо замимаҳои 32-бит созед, аммо ин режимро ба таври нобаёнӣ хомӯш кунед, то вектори ҳамларо дар ядро ​​кам кунад, зеро мутобиқати API нисбат ба ядрои асосӣ камтар санҷида мешавад. интерфейсҳо.
    • Муҳоҷирати идомаи тағирот аз шӯъбаи Rust-for-Linux вобаста ба истифодаи забони Rust ҳамчун забони дуюм барои таҳияи драйверҳо ва модулҳои ядроӣ (Дастгирии Rust ба таври нобаёнӣ фаъол нест ва боиси дохил шудани Rust дар байни вобастагии маҷлиси зарурӣ барои ядро). Версияи нав гузаришро ба истифодаи версияи Rust 1.73 мекунад ва маҷмӯи бастаҳоро барои кор бо навбатҳои корӣ пешниҳод мекунад.
    • Механизми binfmt_misc -ро барои илова кардани дастгирӣ ба форматҳои нави файлҳои иҷрошаванда (масалан, барои иҷро кардани замимаҳои Java ё Python тартибдодашуда) дар дохили фазоҳои номҳои ҷудогонаи беимтиёз истифода бурдан мумкин аст.
    • cpuset контролери cgroup, ки ба шумо имкон медиҳад, ки истифодаи ядроҳои CPU-ро ҳангоми иҷрои вазифа назорат кунед, тақсимотро ба тақсимоти маҳаллӣ ва дурдаст таъмин мекунад, ки аз он фарқ мекунад, ки гурӯҳи волидайн қисмати решаи дуруст аст ё не. Танзимоти нави "cpuset.cpus.exclusive" ва "cpuset.cpus.excluisve.effective" низ ба cpuset барои бастани истисноии CPU илова карда шуданд.
    • Зерсистемаи BPF дастгирии истисноҳоро амалӣ мекунад, ки онҳо ҳамчун баромади фавқулодда аз барномаи BPF бо қобилияти бехатар кушодани чаҳорчӯбаҳои стек коркард мешаванд. Илова бар ин, барномаҳои BPF имкон медиҳанд, ки нишондиҳандаҳои kptr дар робита бо CPU истифода шаванд.
    • Дастгирии амалиётҳо бо futex ба зерсистемаи io_uring илова карда шуд ва амалҳои нав амалӣ карда шуданд: IORING_OP_WAITID (версияи асинхронии waitid), SOCKET_URING_OP_GETSOCKOPT (варианти getsockoptand), SOCKET_URING_OP_SETSOCKOPT (имконияти хондани IORING_URING_OP_SETSOCKOPT) ва IORING_OP_WAITID (интихоби IORING_OP_WAITID) бас маълумот мавҷуд аст ё буфери пурра нест).
    • Татбиқи иловагии навбатҳои сабуки ягонаи FIFO, ки чархзаниро танҳо барои бартараф кардани навбат дар контексти раванд талаб мекунанд ва аз спинлок барои иловаҳои атомӣ ба навбат дар ҳама гуна контекст ҷудо мекунанд.
    • Илова кардани буфери ҳалқаи "objpool" бо татбиқи миқёспазири навбати баландсифат барои ҷудо кардан ва баргардонидани объектҳо.
    • Қисми ибтидоии тағирот барои татбиқи API-и нави futex2 илова карда шудааст, ки он дар системаҳои NUMA иҷрои беҳтар дорад, андозаҳои ғайр аз 32 битро дастгирӣ мекунад ва метавонад ба ҷои занги мултиплексии futex() истифода шавад.
    • Барои меъмории ARM32 ва S390x, дастгирии маҷмӯи ҷорӣ (cpuv4) дастурҳои BPF илова карда шудааст.
    • Барои меъмории RISC-V режими санҷиши Shadow-Call Stack-ро истифода бурдан мумкин аст, ки дар Clang 17 мавҷуд аст, ки барои муҳофизат аз баргардонидани суроғаи бозгашт аз функсия дар ҳолати пур шудани буфер дар стек пешбинӣ шудааст. Моњияти њифз аз он иборат аст, ки суроѓаи баргардонида дар стеки алоњидаи "соя" пас аз интиќоли идоракунї ба функсия ва бозпас гирифтани ин суроѓа пеш аз баромадан аз функсия.
    • Ба механизми муттаҳидсозии саҳифаҳои хотираи якхела (KSM: Kernel Samepage Merging) ҳолати нави сканкунии саҳифаи хотираи интеллектуалӣ илова карда шуд, ки саҳифаҳои бемуваффақият сканшударо пайгирӣ мекунад ва шиддати сканкунии дубораи онҳоро коҳиш медиҳад. Барои фаъол кардани ҳолати нав, танзимоти /sys/kernel/mm/ksm/smart_scan илова карда шудааст.
    • Фармони нави ioctl PAGEMAP_SCAN илова карда шуд, ки ҳангоми истифода бо userfaultfd() ба шумо имкон медиҳад, ки далелҳои навиштанро ба диапазони хотираи мушаххас муайян кунед. Хусусияти нав, масалан, метавонад дар система барои ҳифз ва барқарор кардани ҳолати равандҳои CRIU ё дар системаҳои зидди фиреб истифода шавад.
    • Дар системаи васлкунӣ, агар компилятори Clang дастрас бошад, ҷамъи мисолҳои истифодаи зерсистемаи perf, ки ҳамчун барномаҳои BPF навишта шудааст, ба таври нобаёнӣ фаъол карда мешавад.
    • Қабати кӯҳнаи videobuf, ки барои идоракунии фреймбуферҳо дар зерсистемаи медиа истифода мешуд ва бо татбиқи нави videobuf10 зиёда аз 2 сол пеш иваз карда шуда буд, хориҷ карда шуд.
  • Виртуализатсия ва амният
    • Имконияти рамзгузории маълумот дар блокҳои хурдтар аз андозаи блок дар системаи файлӣ ба зерсистемаи fscrypt илова карда шудааст. Ин метавонад барои фаъол кардани механизмҳои рамзгузории сахтафзор, ки танҳо блокҳои хурдро дастгирӣ мекунанд, талаб карда шавад (масалан, контроллерҳои UFS, ки танҳо андозаи блоки 4096-ро дастгирӣ мекунанд, метавонанд бо системаи файлии андозаи блоки 16K истифода шаванд).
    • Зерсистемаи "iommufd", ки ба шумо имкон медиҳад ҷадвалҳои саҳифаи хотираи IOMMU (I/O Memory-Management Unit) тавассути тавсифи файлҳо аз фазои корбар идора кунед, пайгирии маълумотеро, ки ҳанӯз аз кэш (ифлос) барои DMA тоза нашудааст, илова кардааст. амалиётҳое, ки барои муайян кардани хотира бо маълумоти тозанашуда ҳангоми муҳоҷирати раванд заруранд.
    • Дастгирии муайян кардани қоидаҳои идоракунии дастрасӣ барои розеткаҳои TCP ба механизми Landlock илова карда шудааст, ки ба шумо имкон медиҳад, ки таъсири як гурӯҳи равандҳоро бо муҳити беруна маҳдуд кунед. Масалан, шумо метавонед қоидаеро эҷод кунед, ки танҳо дастрасӣ ба порти шабака 443 барои барқарор кардани пайвастҳои HTTPS иҷозат медиҳад.
    • Зерсистемаи AppArmor қобилияти идоракунии дастрасӣ ба механизми io_uring ва эҷоди фазои номҳои корбаронро илова кардааст, ки ба шумо имкон медиҳад, ки ба таври интихобӣ дастрасӣ ба ин қобилиятҳоро танҳо ба равандҳои муайян иҷозат диҳед.
    • Барои тасдиқи беайбии раванди пурборкунии мошини виртуалӣ API-и аттестатсияи мошини виртуалӣ илова карда шуд.
    • Системаҳои LoongArch виртуализатсияро бо истифода аз гипервизори KVM дастгирӣ мекунанд.
    • Ҳангоми истифодаи гипервизори KVM дар системаҳои RISC-V, дастгирии васеъшавии Smstateen пайдо шуд, ки мошини маҷозӣ аз дастрасии регистрҳои CPU, ки аз ҷониби гипервизор ба таври возеҳ дастгирӣ намешавад, манъ мекунад. Инчунин дастгирии истифодаи васеъшавии Zicond дар системаҳои меҳмонон илова карда шуд, ки имкон медиҳад истифодаи баъзе амалҳои бутуни шартӣ.
    • Дар системаҳои меҳмоннавозии x86, ки зери KVM кор мекунанд, то 4096 CPU-и виртуалӣ иҷозат дода мешавад.
  • Зерсистемаи шабакавӣ
    • Драйвери NVMe-TCP (NVMe бар TCP), ки ба шумо имкон медиҳад ба дискҳои NVMe тавассути шабака (NVM Express аз болои матоъҳо) бо истифода аз протоколи TCP дастрасӣ пайдо кунед, барои рамзгузории канали интиқоли маълумот бо истифода аз TLS (бо истифода аз KTLS ва раванди замина) дастгирии илова кардааст. дар фазои корбар tlshd барои гуфтушунид пайваст).
    • Фаъолияти ҷадвали бастаи fq (Fair Queuing) оптимизатсия карда шуд, ки имкон дод, ки интиқол дар зери бори вазнин дар санҷиши tcp_rr (TCP Request/Response) 5% ва бо ҷараёни номаҳдуди бастаҳои UDP 13% зиёд карда шавад.
    • TCP қобилияти ихтиёрии вақт тамғаи дақиқи микросония (TCP TS) (RFC 7323) -ро илова мекунад, ки имкон медиҳад, ки баҳодиҳии дақиқи таъхир ва модулҳои пешрафтаи назорати консессияро фароҳам оранд. Барои фаъол кардани он, шумо метавонед фармони "ip route add 10/8 ... features tcp_usec_ts" -ро истифода баред.
    • Стеки TCP барои васеъшавии TCP-AO (TCP Authentication Option, RFC 5925) дастгирии илова кардааст, ки имкон медиҳад сарлавҳаҳои TCP-ро бо истифода аз рамзҳои MAC (Кодеки аутентификатсияи паём) бо истифода аз алгоритмҳои муосири HMAC-SHA1 ва CMAC-AES- тафтиш кунед. 128 ба ҷои он, ки қаблан дастрасии TCP-MD5 дар асоси алгоритми MD5 мавҷуд буд.
    • Навъи нави дастгоҳҳои шабакаи виртуалии "netkit" илова карда шуд, ки мантиқи интиқоли маълумот дар он бо истифода аз барномаи BPF муқаррар карда мешавад.
    • KSMBD, амалисозии сатҳи ядрои сервери SMB, барои ҳалли номҳои файл, ки дорои ҷуфтҳои суррогатҳои аломатҳои мураккаб мебошанд, дастгирии илова кардааст.
    • NFS татбиқи риштаҳоро бо хидматҳои RPC беҳтар кардааст. Дастгирии иловашуда барои ҳайати навиштан (барои NFSv4.1+). NFSD барои коркарди netlink rpc_status дастгирӣ илова кардааст. Дастгирии мукаммал барои муштариёни NFSv4.x ҳангоми содироти дубора ба knfsd.
  • Таҷҳизот
    • Дастгирии ибтидоии нармафзори нармафзори GSP-RM ба модули ядрои Nouveau илова карда шуд, ки дар NVIDIA RTX 20+ GPU барои интиқол додани амалиёти оғозсозӣ ва назорати GPU ба паҳлӯи микроконтроллери алоҳидаи GSP (Processor System GPU) истифода мешавад. Дастгирии GSP-RM ба драйвери Nouveau имкон медиҳад, ки тавассути зангҳои миёнаравӣ кор кунад, на мустақиман барномарезии мутақобилаи сахтафзор ва илова кардани дастгирӣ барои GPU-ҳои нави NVIDIA бо истифода аз зангҳои қаблан сохташуда барои оғозёбӣ ва идоракунии нерӯ онро осонтар мекунад.
    • Драйвери AMDGPU GC 11.5, NBIO 7.11, SMU 14, SMU 13.0 OD, DCN 3.5, VPE 6.1 ва DML2 -ро дастгирӣ мекунад. Дастгирии мукаммал барои боркунии бефосила (ҳангоми гузариш ба ҳолати видеоӣ милт задан нест).
    • Ронандаи i915 барои чипҳои Intel Meteor Lake дастгирӣ илова мекунад ва татбиқи ибтидоии Intel LunarLake (Xe 2) -ро илова мекунад.
    • Дастгирии иловашуда барои каналҳои интиқоли асимметрӣ ба мушаххасоти USB4 v2 (120/40G) илова карда шудааст.
    • Дастгирии иловашуда барои ARM SoC: Qualcomm Snapdragon 720G (дар смартфонҳои Xiaomi истифода мешавад), AMD Pensando Elba, Renesas, R8A779F4 (R-Car S4-8), USRobotics USR8200 (дар роутерҳо ва NAS истифода мешавад).
    • Дастгирии иловагии смартфони Fairphone 5 ва тахтаҳои ARM Orange Pi 5, QuartzPro64, Turing RK1, Variscite MX6, BigTreeTech CB1, Freescale LX2162, Google Spherion, Google Hayato, Genio 1200 EVK, RK3566 Powkiddy RGB30.
    • Дастгирии иловашуда барои тахтаҳои RISC-V Milk-V Pioneer ва Milk-V Duo.
    • Дастгирии иловашуда барои интерфейсҳои садоии ноутбукҳои HUAWEI, ки бо CPU-ҳои AMD таъмин карда шудаанд. Дастгирии иловашуда барои баландгӯякҳои иловагӣ дар ноутбукҳои Dell Oasis 13/14/16 насб карда шудааст. Дастгирии иловашуда барои баландгӯякҳои дарунсохт ASUS K6500ZC. Дастгирии иловашуда барои нишондиҳандаи хомӯш дар ноутбукҳои HP 255 G8 ва G10. Дастгирии иловашуда барои драйверҳои аудиоии acp6.3. Дастгирии иловашуда барои интерфейсҳои сабти касбии Focusrite Clarett+ 2Pre ва 4Pre.

Ҳамзамон, Бунёди нармафзори озоди Амрикои Лотинӣ як версияи ядрои комилан ройгони 6.7 - Linux-libre 6.7-gnu -ро ташкил дод, ки аз унсурҳои нармафзор ва драйверҳои дорои ҷузъҳои ғайриозод ё қисмҳои код, ки доираи онҳо маҳдуд аст, тоза карда шудааст. аз ҷониби истеҳсолкунанда. Дар нашри 6.7, рамзи тозакунии blob дар драйверҳо ва зерсистемаҳои гуногун нав карда шуд, масалан, дар amdgpu, nouveau, adreno, mwifiex, mt7988, ath11k, avs ва btqca. Рамзи тоза кардани драйверҳои localtalk ва rtl8192u аз сабаби хориҷ кардани онҳо аз ядро ​​хориҷ карда шуд. Ҷузъҳои нолозим барои тоза кардани драйверҳои xhci-pci, rtl8xxxu ва rtw8822b, ки қаблан хатогӣ илова карда шуда буданд, хориҷ карда шуданд. Номҳои blob дар файлҳои dts барои меъмории Aarch64 тоза карда шуданд. Блокҳо дар драйверҳои нави mt7925, tps6598x, aw87390 ва aw88399 тоза карда шуданд.

Манбаъ: opennet.ru

Илова Эзоҳ