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

Пас аз ду моҳи таҳия, Линус Торвалдс барориши ядрои Linux 6.0-ро пешниҳод кард. Тағйирёбии назарраси рақами версия бо сабабҳои эстетикӣ аст ва як қадами расмӣ барои рафъи нороҳатии ҷамъшавии шумораи зиёди масъалаҳо дар силсила мебошад (Линус шӯхӣ кард, ки сабаби тағир додани рақами филиал эҳтимоли кам шудани ангуштони ӯ буд. ва ангуштони пой барои ҳисоб кардани рақамҳои версия). Дар байни тағйироти назаррас: дастгирии навиштани буферии асинхронӣ дар XFS, драйвери блоки ublk, оптимизатсияи нақшаи вазифаҳо, механизми санҷиши кори дурусти ядро, дастгирии шифри блоки ARIA.

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

  • Зерсистемаи диск, системаҳои воридотӣ ва файлӣ
    • Системаи файлии XFS барои навиштани асинхронии буферӣ бо истифода аз механизми io_uring дастгирӣ илова кардааст. Санҷишҳои иҷроиш, ки бо истифода аз абзорҳои fio (1 ришта, андозаи блоки 4кБ, 600 сония, навиштани пайдарпай) гузаронида мешаванд, афзоиши амалиёти воридот/баромад дар як сония (IOPS) аз 77к то 209к, суръати интиқоли маълумот аз 314МБ/с то 854МБ/с, ва паст шудани таъхир аз 9600ns то 120ns (80 маротиба).
    • Системаи файлии Btrfs версияи дуюми протоколро барои фармони "фиристодан" амалӣ мекунад, ки дастгирии метамаълумоти иловагӣ, ирсоли маълумот дар блокҳои калонтар (зиёда аз 64К) ва интиқоли миқёсро дар шакли фишурда амалӣ мекунад. Ичрои амалиёти бевосита хониш аз хисоби дар як вакт хондани то 3 сектор хеле зиёд шуд (то 256 баробар). Кам кардани ихтилофи қулф ва суръатбахшии санҷиши метамаълумот тавассути кам кардани метамаълумоти ҳифзшуда барои унсурҳои таъхиршуда.
    • Амалиётҳои нави ioctl EXT4_IOC_GETFSUUID ва EXT4_IC_SETFSUUID ба системаи файлии ext4 барои гирифтан ё насб кардани UUID-и дар суперблок захирашуда илова карда шуданд.
    • Системаи файлии F2FS режими ками истеъмоли хотираро пешниҳод мекунад, ки амалиётро дар дастгоҳҳои дорои миқдори ками хотираи оперативӣ оптимизатсия мекунад ва ба шумо имкон медиҳад, ки истеъмоли хотираро аз ҳисоби кам шудани кор кам кунед.
    • Дастгирии иловашуда барои аутентификатсияи диски NVMe.
    • Сервери NFSv4 маҳдудияти шумораи муштариёни фаъолро амалӣ мекунад, ки он ҳамчун 1024 мизоҷи дуруст барои ҳар як гигабайти RAM дар система муқаррар шудааст.
    • Татбиқи муштарии CIFS иҷроишро дар реҷаи интиқоли бисёрканал беҳтар кардааст.
    • Барои нодида гирифтани рӯйдодҳои мушаххас ба зерсистемаи пайгирии рӯйдодҳо дар fanotify FS парчами нави FAN_MARK_IGNORE илова карда шуд.
    • Дар Overlayfs FS, вақте ки дар болои FS бо харитасозии ID корбар васл карда мешавад, дастгирии дурусти рӯйхатҳои назорати дастрасии ба POSIX мувофиқ таъмин карда мешавад.
    • Драйвери блоки ublk илова карда шуд, ки мантиқи мушаххасро ба паҳлӯи раванди замина дар фазои корбар интиқол медиҳад ва зерсистемаи io_uring -ро истифода мебарад.
  • Хидматҳои хотира ва система
    • Хусусиятҳои нав ба зерсистемаи DAMON (Data Access MONitor) илова карда шуданд, ки на танҳо имкон медиҳад, ки дастрасии раванд ба RAM аз фазои корбар назорат карда шавад, балки инчунин ба идоракунии хотира таъсир расонад. Аз љумла, модули нави "LRU_SORT" пешнињод шудааст, ки он аз нав гурўњбандии рўйхатњои LRU (камтарин истифодашуда) -ро барои баланд бардоштани афзалияти баъзе сањифањои хотира таъмин менамояд.
    • Қобилияти эҷоди минтақаҳои нави хотира бо истифода аз имкониятҳои автобуси CXL (Compute Express Link), ки барои ташкили ҳамкории баландсуръат байни CPU ва дастгоҳҳои хотира истифода мешавад, амалӣ карда шудааст. CXL ба шумо имкон медиҳад, ки минтақаҳои нави хотираи аз ҷониби дастгоҳҳои хотираи беруна таъминшуда пайваст шавед ва онҳоро ҳамчун захираҳои иловагии фазои суроғаи физикӣ барои васеъ кардани хотираи дастрасии тасодуфии система (DDR) ё хотираи доимӣ (PMEM) истифода баред.
    • Масъалаҳои иҷроиш бо протсессори AMD Zen, ки бо коди 20 сол пеш барои ҳалли мушкилоти сахтафзор дар баъзе чипсетҳо илова шуда буданд, ҳал карда шуданд (дастури иловагии WAIT барои суст кардани протсессори протсессор илова карда шуд, то чипсет барои ба ҳолати бекорӣ даромадан вақт пайдо кунад). Тағйирот боиси кам шудани кор дар зери сарбории корӣ гардид, ки аксар вақт дар байни ҳолати бекорӣ ва банд иваз мешаванд. Масалан, пас аз ғайрифаъол кардани роҳи ҳал, холҳои миёнаи санҷиши tbench аз 32191 МБ/с то 33805 МБ/с зиёд шуданд.
    • Код бо эвристика аз ҷадвалбандии вазифаҳо хориҷ карда шуд, ки интиқоли равандҳоро ба CPU-ҳои камборшуда бо дарназардошти фоидаи пешбинишудаи истеъмоли энергия таъмин мекунад. Таҳиягарон ба хулосае омаданд, ки эвристика ба қадри кофӣ муфид нест ва хориҷ кардани он ва интиқоли равандҳо бидуни арзёбии иловагӣ осонтар аст, вақте ки чунин муҳоҷират метавонад ба истеъмоли нерӯи барқ ​​​​потенсиал расонад (масалан, вақте ки CPU-и мақсаднок дар сатҳи поёнтари нерӯи барқ ​​​​ қарор дорад). Хомӯш кардани эвристика боиси кам шудани истеъмоли қувваи барқ ​​ҳангоми иҷрои вазифаҳои пуршиддат гардид, масалан, дар санҷиши рамзгузории видео, истеъмоли қувваи барқ ​​5.6% кам шуд.
    • Тақсимоти вазифаҳо дар байни ядроҳои CPU дар системаҳои калон оптимизатсия карда шудааст, ки иҷроишро барои намудҳои муайяни сарбории корӣ беҳтар кардааст.
    • Интерфейси асинхронии io_uring I/O парчами навро пешниҳод мекунад, IORING_RECV_MULTISHOT, ки ба шумо имкон медиҳад, ки режими чандкаратаро бо занги системаи recv() истифода баред, то дар як васлаки шабака дар як вақт амалиёти хониши сершуморро иҷро кунед. io_uring инчунин интиқоли шабакаро бидуни буферии фосилавӣ (сифр-нусха) дастгирӣ мекунад.
    • Қобилияти гузоштани барномаҳои BPF, ки ба ҳолати хоб замима шудаанд, амалӣ карда шуд. BPF инчунин барои кор бо ҷадвалҳои аломатҳои ядро ​​​​итератори нави ksym илова мекунад.
    • Интерфейси кӯҳнашудаи "efivars" дар sysfs, ки барои дастрасӣ ба тағирёбандаҳои пурборкунандаи UEFI пешбинӣ шудааст, хориҷ карда шуд (ҳоло efivarfs виртуалии FS барои дастрасӣ ба маълумоти EFI ба таври умум истифода мешавад).
    • Барномаи perf дорои ҳисоботи нав барои таҳлили ихтилофҳои қулф ва вақти аз ҷониби протсессор барои иҷрои ҷузъҳои ядро ​​​​ сарфшуда мебошад.
    • Танзими CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3 хориҷ карда шуд, ки имкон дод ядро ​​дар реҷаи оптимизатсияи "-O3" сохта шавад. Қайд карда мешавад, ки таҷрибаҳо бо режимҳои оптимизатсияро тавассути интиқол додани парчамҳо ҳангоми васл кардан мумкин аст ("KCFLAGS=-O3 созед") ва илова кардани танзимот ба Kconfig профили такрории иҷроишро талаб мекунад, ки нишон медиҳад, ки кушодани ҳалқа дар ҳолати "-O3" истифода мешавад. фоида дар муқоиса бо сатҳи оптимизатсияи "-O2".
    • Интерфейси debugfs барои ба даст овардани маълумот дар бораи кори инфиродӣ "коҳишдиҳандаҳои хотира" илова карда шудааст (коррасонҳо ҳангоми мавҷуд набудани хотираи нокифоя ва сохторҳои додаҳои ядрои бастабандӣ барои кам кардани истеъмоли хотираи онҳо даъват карда мешаванд).
    • Барои меъмории OpenRISC ва LoongArch, дастгирии автобуси PCI амалӣ карда мешавад.
    • Барои меъмории RISC-V, тамдиди "Zicbom" барои идоракунии дастгоҳҳо бо DMA, ки ба кэш мувофиқ нестанд, амалӣ карда шудааст.
  • Виртуализатсия ва амният
    • Механизми санҷиши RV (Runtime Verification) барои тафтиши кори дуруст дар системаҳои хеле боэътимод, ки ҳеҷ гуна нокомиро кафолат намедиҳад, илова карда шудааст. Санҷиш дар вақти кор тавассути замима кардани коркардкунандагон ба нуқтаҳои пайгирӣ, ки пешрафти воқеии иҷроро дар муқоиса бо модели пешакӣ муайяншудаи детерминистии мошин, ки рафтори интизории системаро муайян мекунад, анҷом дода мешавад. Тафтиш бо модел дар вақти корӣ ҳамчун як усули сабуктар ва осонтар барои тасдиқи дурустии иҷро дар системаҳои муҳим ҷойгир карда шудааст, ки усулҳои классикии санҷиши эътимодро пурра мекунад. Дар байни бартариҳои RV қобилияти таъмини санҷиши қатъӣ бидуни татбиқи алоҳидаи тамоми система бо забони моделсозӣ, инчунин вокуниши чандир ба рӯйдодҳои ғайричашмдошт мебошад.
    • Компонентҳои ҳамгирошудаи ядро ​​барои идоракунии анклавҳо дар асоси технологияи Intel SGX2 (Software Guard eXtensions), ки ба барномаҳо имкон медиҳад, ки кодро дар минтақаҳои ҷудошудаи рамзшудаи хотира иҷро кунанд, ки қисми боқимондаи система дастрасии маҳдуд дорад. Технологияи Intel SGX2 дар чипҳои Intel Ice Lake ва Gemini Lake дастгирӣ карда мешавад ва аз Intel SGX1 бо дастурҳои иловагӣ барои идоракунии хотираи динамикии анклавҳо фарқ мекунад.
    • Барои меъмории x86, қобилияти интиқол додани тухм барои генератори рақами псевдорандом тавассути танзимоти пурборкунанда амалӣ карда шудааст.
    • Модули SafeSetID LSM ҳоло қобилияти идора кардани тағиротро, ки тавассути занги setgroups() анҷом дода мешавад, дорад. SafeSetID ба хидматҳои система имкон медиҳад, ки корбаронро бидуни афзоиши имтиёзҳо (CAP_SETUID) ва бидуни гирифтани имтиёзҳои реша бехатар идора кунанд.
    • Дастгирии иловашуда барои рамзгузории блоки ARIA.
    • Модули идоракунии амният дар асоси BPF имкон медиҳад, ки коркардкунандагонро ба равандҳои инфиродӣ ва гурӯҳҳои равандҳо (гурӯҳҳо) пайваст кунанд.
    • Барои ошкор кардани овезонҳои системаҳои меҳмонон дар асоси мониторинги фаъолияти vCPU механизми татбиқи назораткунанда илова карда шудааст.
  • Зерсистемаи шабакавӣ
    • Ба зерсистемаи BPF коркардкунандаҳо барои тавлид ва тафтиши кукиҳои SYN илова карда шудаанд. Инчунин маҷмӯи функсияҳо (kfunc) барои дастрасӣ ва тағир додани ҳолати пайвастҳо илова карда шудааст.
    • Стеки бесим дастгирии механизми MLO (Multi-Link Operation) -ро илова кардааст, ки дар мушаххасоти WiFi 7 муайян шудааст ва ба дастгоҳҳо имкон медиҳад, ки ҳамзамон маълумотро бо истифода аз басомадҳо ва каналҳои гуногун қабул ва ирсол кунанд, масалан, дар як вақт якчанд каналҳои иртиботӣ байни нуқтаи дастрасӣ ба дастгоҳи муштарӣ.
    • Фаъолияти протоколи TLS, ки дар ядро ​​сохта шудааст, беҳтар карда шуд.
    • Опсияи сатри фармони ядрои "hostname=" илова карда шуд, то имкон диҳад, ки номи мизбон дар оғози раванди боркунӣ, пеш аз оғози ҷузъҳои фазои корбар муқаррар карда шавад.
  • Таҷҳизот
    • Драйвери i915 (Intel) кортҳои видеоии дискретии Intel Arc (DG2/Alchemist) A750 ва A770-ро дастгирӣ мекунад. Татбиқи ибтидоии дастгирии Intel Ponte Vecchio (Xe-HPC) ва GPU-ҳои Meteor Lake пешниҳод карда шудааст. Кор барои дастгирии платформаи Intel Raptor Lake идома дорад.
    • Драйвери amdgpu дастгирии платформаҳои AMD RDNA3 (RX 7000) ва CDNA (Instinct) -ро идома медиҳад.
    • Ронандаи Nouveau рамзи дастгирии муҳаррикҳои намоишии NVIDIA nv50 GPU-ро аз нав кор кардааст.
    • Драйвери нави logicvc DRM барои экранҳои LogiCVC илова карда шуд.
    • Драйвери v3d (барои Broadcom Video Core GPU) тахтаҳои Raspberry Pi 4 -ро дастгирӣ мекунад.
    • Ба драйвери msm дастгирии Qualcomm Adreno 619 GPU илова карда шуд.
    • Дастгирии ARM Mali Valhall GPU ба драйвери Panfrost илова карда шуд.
    • Дастгирии ибтидоӣ барои коркардкунандагони Qualcomm Snapdragon 8cx Gen3, ки дар ноутбукҳои Lenovo ThinkPad X13s истифода мешаванд, илова карда шуд.
    • Драйверҳои садо барои платформаҳои AMD Raphael (Ryzen 7000), AMD Jadeite, Intel Meteor Lake ва Mediatek MT8186 илова карда шуданд.
    • Дастгирии иловашуда барои суръатбахшии омӯзиши мошини Intel Habana Gaudi 2.
    • Дастгирии иловашуда барои ARM SoC Allwinner H616, NXP i.MX93, Sunplus SP7021, Nuvoton NPCM8XX, Marvell Prestera 98DX2530, Google Chameleon v3.

Ҳамзамон, Бунёди нармафзори озоди Амрикои Лотинӣ як версияи ядрои комилан ройгони 6.0 - Linux-libre 6.0-gnu -ро ташкил дод, ки аз унсурҳои нармафзор ва драйверҳои дорои ҷузъҳои ғайриозод ё қисмҳои код, ки доираи онҳо аз ҷониби истеҳсолкунанда маҳдуд карда мешавад. Нашри нав истифодаи блокҳоро дар драйвери CS35L41 HD-аудио ва драйвери UCSI барои микроконтроллерҳои STM32G0 ғайрифаъол мекунад. Файлҳои DTS барои чипҳои Qualcomm ва MediaTek тоза карда шуданд. Хомӯш кардани блокҳо дар драйвери MediaTek MT76 аз нав кор карда шуд. Рамзи тозакунии blob дар AMDGPU, Adreno, Tegra VIC, Netronome NFP ва Habanalabs Gaudi2 драйверҳо ва зерсистемаҳои навсозӣ. Тоза кардани драйвери VXGE, ки аз ядро ​​хориҷ карда шуд, қатъ карда шуд.

Манбаъ: opennet.ru

Илова Эзоҳ