Издање језгра Линука 6.7

Након два месеца развоја, Линус Торвалдс је представио издање Линук кернела 6.7. Међу најзначајнијим променама: интеграција Бцацхефс система датотека, укидање подршке за Итаниум архитектуру, могућност Ноувеа-е да ради са ГСП-Р фирмвером, подршка за ТЛС енкрипцију у НВМе-ТЦП, могућност коришћења изузетака у БПФ-у, подршка за футек у ио_уринг-у, оптимизација перформанси планера фк (Фаир Куеуинг), подршка за ТЦП-АО екстензију (ТЦП Аутхентицатион Оптион) и могућност ограничавања мрежних веза у Ландлоцк сигурносном механизму, додата контрола приступа корисничком именском простору и ио_уринг преко АппАрмор.

Нова верзија укључује 18405 исправки од 2066 програмера, величина закрпе је 72 МБ (промене су утицале на 13467 датотека, додато је 906147 линија кода, 341048 линија је обрисано). Последње издање је имало 15291 поправке од 2058 програмера, величина закрпе је била 39 МБ. Око 45% свих промена уведених у 6.7 односи се на драјвере уређаја, приближно 14% промена се односи на ажурирање кода специфичног за хардверске архитектуре, 13% се односи на мрежни стек, 5% на систем датотека и 3% односе се на унутрашње подсистеме кернела.

Главне иновације у кернелу 6.7:

  • Дисковни подсистем, И/О и системи датотека
    • Кернел усваја код система датотека Бцацхефс, који покушава да постигне перформансе, поузданост и скалабилност КСФС-а, у комбинацији са елементима напредне функционалности која се налази у Бтрфс и ЗФС. На пример, Бцацхефс подржава функције као што су укључивање више уређаја у партицију, вишеслојне распореде диск јединица (доњи слој са често коришћеним подацима заснованим на брзим ССД-овима, а горњи слој са мање коришћеним подацима са чврстих дискова), репликација (РАИД 1/10), кеширање, транспарентна компресија података (ЛЗ4, гзип и ЗСТД режими), резови стања (снимци), верификација интегритета помоћу контролних сума, могућност складиштења кодова за исправљање грешака Реед-Соломон (РАИД 5/6), складиштење информација у шифровани облик (користе се ЦхаЦха20 и Поли1305). У погледу перформанси, Бцацхефс је испред Бтрфс-а и других система датотека заснованих на механизму Цопи-он-Врите, и показује радну брзину близу Ект4 и КСФС.
    • Систем датотека Бтрфс уводи поједностављени режим квоте који вам омогућава да постигнете веће перформансе праћењем екстента само у подпартицији у којој су креирани, што значајно поједностављује прорачуне и побољшава перформансе, али вам не дозвољава да узмете у обзир екстенте који се деле у неколико подпартиције.
    • Бтрфс је додао нову структуру података „дрво пруга“, погодну за мапирање логичког обима у ситуацијама када се физичка мапирања не поклапају на различитим уређајима. Структура се тренутно користи у имплементацијама РАИД0 и РАИД1 за зониране блок уређаје. У будућности планирају да користе ову структуру у РАИД-овима вишег нивоа, што ће решити низ проблема који постоје у тренутној имплементацији.
    • Цепх систем датотека имплементира подршку за мапирање корисничких ИД-ова монтираних система датотека, који се користе за упаривање датотека одређеног корисника на монтираној страној партицији са другим корисником на тренутном систему.
    • Додата је могућност специфицирања уид-а и гид-а при монтирању на ефиварфс како би се омогућило некоренским процесима да мењају УЕФИ променљиве.
    • Додати иоцтл позиви у екФАТ за читање и промену ФС атрибута. Додато руковање директоријумима нулте величине.
    • Ф2ФС имплементира могућност коришћења 16К блокова.
    • Механизам аутофс аутоматског монтирања је пребачен да користи нови АПИ за монтирање партиција.
    • ОверлаиФС нуди опције монтирања „ловердир+“ и „датадир+“. Додата подршка за угнежђено монтирање ОверлаиФС-а са каттрс-ом.
    • КСФС је оптимизовао оптерећење ЦПУ-а у коду за доделу блокова у реалном времену. Обезбеђена је могућност истовременог обављања операција читања и ФИЦЛОНЕ.
    • ЕКСТ2 код је конвертован да користи фолије страница.
  • Меморијске и системске услуге
    • Подршка за иа64 архитектуру која се користи у Интел Итаниум процесорима, који су у потпуности укинута 2021. године, је укинута. Итаниум процесоре је Интел представио 2001. године, али иа64 архитектура није успела да се такмичи са АМД64, углавном због виших перформанси АМД64 и лакшег преласка са 32-битних к86 процесора. Као резултат тога, Интелови интереси су се померили у корист к86-64 процесора, а Итаниумов део су остали сервери ХП Интегрити, чије су наруџбине обустављене пре три године. Код за иа64 подршку је уклоњен из кернела углавном због дуготрајног недостатка подршке за ову платформу, док је Линус Торвалдс изразио спремност да врати подршку за иа64 језгру, али само ако постоји одржавалац који може да демонстрира висок квалитет подршка за ову платформу ван главног кернела најмање годину дана.
    • Додан је командни параметар линије кернела „иа32_емулатион“, који вам омогућава да омогућите или онемогућите подршку за емулацију 32-битног режима у језгрима направљеним за архитектуру к86-64 у фази покретања. Са практичне стране, нова опција вам омогућава да направите кернел са подршком за компатибилност са 32-битним апликацијама, али подразумевано онемогућите овај режим да бисте смањили вектор напада на језгро, пошто је АПИ за компатибилност мање тестиран од главног кернела интерфејси.
    • Наставак миграције промена из гране Руст-фор-Линук у вези са употребом Руст језика као другог језика за развој драјвера и модула кернела (Руст подршка није активна подразумевано и не доводи до укључивања Руст-а међу потребне зависности склопа за језгро). Нова верзија врши прелазак на коришћење Руст 1.73 издања и нуди скуп везивања за рад са радним редовима.
    • Могуће је користити механизам бинфмт_мисц за додавање подршке за нове формате извршних датотека (на пример, за покретање компајлираних Јава или Питхон апликација) унутар засебних непривилегованих именских простора.
    • Цпусет контролера цгроуп, који вам омогућава да контролишете коришћење језгара ЦПУ-а приликом извршавања задатка, обезбеђује поделу на локално и удаљено партиционисање, које се разликују по томе да ли је родитељска цгроуп исправна коренска секција или не. Нова подешавања „цпусет.цпус.екцлусиве“ и „цпусет.цпус.екцлуисве.еффецтиве“ су такође додата цпусету за ексклузивно ЦПУ повезивање.
    • БПФ подсистем имплементира подршку за изузетке, који се обрађују као излаз у случају нужде из БПФ програма са могућношћу безбедног одмотавања стек оквира. Поред тога, БПФ програми дозвољавају употребу кптр показивача у вези са ЦПУ-ом.
    • Подсистему ио_уринг је додата подршка за операције са футек-ом, а имплементиране су нове операције: ИОРИНГ_ОП_ВАИТИД (асинхрона верзија чекања), СОЦКЕТ_УРИНГ_ОП_ГЕТСОЦКОПТ (гетсоцкоптанд опција), СОЦКЕТ_УРИНГ_ОП_СЕТСОЦКОПТ (опција сетсоццоцкопт и не читај ИХОРСТОПМулт) (опција не читај ИХОРСТОПМул) док има података или није пун бафер).
    • Додата имплементација лаких једноструко повезаних ФИФО редова који захтевају спинлоцк само за уклањање из редова у контексту процеса и ослобађају се од спин закључавања за атомске додатке реду у било ком контексту.
    • Додат је бафер прстена „објпоол“ са скалабилном имплементацијом реда високих перформанси за додељивање и враћање објеката.
    • Почетни део измена је додат да би се имплементирао нови футек2 АПИ, који има боље перформансе на НУМА системима, подржава величине различите од 32 бита и може се користити уместо мултиплексираног футек() системског позива.
    • За АРМ32 и С390к архитектуре, додата је подршка за тренутни скуп (цпув4) БПФ инструкција.
    • За РИСЦ-В архитектуру, могуће је користити режим провере Схадов-Цалл Стацк-а доступан у Цланг 17, дизајниран да заштити од преписивања повратне адресе из функције у случају прекорачења бафера на стеку. Суштина заштите је да се повратна адреса сачува у засебном стеку „сенке“ након преноса контроле на функцију и преузимања ове адресе пре изласка из функције.
    • Механизму за спајање идентичних меморијских страница (КСМ: Кернел Самепаге Мергинг) додат је нови режим скенирања паметних меморијских страница, који прати неуспешно скениране странице и смањује интензитет њиховог поновног скенирања. Да бисте омогућили нови режим, додато је подешавање /сис/кернел/мм/ксм/смарт_сцан.
    • Додата је нова иоцтл команда ПАГЕМАП_СЦАН, која, када се користи са усерфаултфд(), омогућава вам да одредите чињенице писања у одређени меморијски опсег. Нова функција, на пример, може да се користи у систему за чување и враћање стања ЦРИУ процеса или у системима против варања игара.
    • У асемблерском систему, ако је Цланг компајлер доступан, склапање примера коришћења перф подсистема, написаних као БПФ програми, је подразумевано омогућено.
    • Стари видеобуф слој, који је коришћен за управљање баферима оквира у медијском подсистему и замењен новом имплементацијом видеобуф10 пре више од 2 година, уклоњен је.
  • Виртуелизација и безбедност
    • Могућност шифровања података у блоковима мањим од величине блока у систему датотека је додата фсцрипт подсистему. Ово може бити потребно да би се омогућили механизми хардверског шифровања који подржавају само мале блокове (на пример, УФС контролери који подржавају само блок величине 4096 могу се користити са системом датотека са величином блока од 16К).
    • Подсистем „иоммуфд“, који вам омогућава да управљате табелама меморијских страница ИОММУ (И/О Мемори-Манагемент Унит) преко дескриптора датотека из корисничког простора, додао је праћење података који још нису испрани из кеша (прљави) за ДМА операције, што је неопходно за одређивање меморије са неиспраним подацима током миграције процеса.
    • Подршка за дефинисање правила контроле приступа за ТЦП утичнице је додата у Ландлоцк механизам, који вам омогућава да ограничите интеракцију групе процеса са спољним окружењем. На пример, можете да креирате правило које дозвољава приступ само мрежном порту 443 да бисте успоставили ХТТПС везе.
    • Подсистем АппАрмор је додао могућност контроле приступа механизму ио_уринг и креирања корисничких именских простора, што вам омогућава да селективно дозволите приступ овим могућностима само одређеним процесима.
    • Додан АПИ за потврду виртуелне машине за проверу интегритета процеса покретања виртуелне машине.
    • ЛоонгАрцх системи подржавају виртуелизацију помоћу КВМ хипервизора.
    • Приликом коришћења КВМ хипервизора на РИСЦ-В системима, појавила се подршка за екстензију Смстатеен, која блокира виртуелну машину да приступи регистрима ЦПУ-а које хипервизор експлицитно не подржава. Такође је додата подршка за употребу екстензије Зицонд у системима за госте, што омогућава коришћење неких условних целобројних операција.
    • У системима за госте заснованим на к86 који раде под КВМ-ом, дозвољено је до 4096 виртуелних ЦПУ-а.
  • Мрежни подсистем
    • НВМе-ТЦП (НВМе овер ТЦП) драјвер, који вам омогућава да приступите НВМе дисковима преко мреже (НВМ Екпресс овер Фабрицс) користећи ТЦП протокол, додао је подршку за шифровање канала за пренос података помоћу ТЛС-а (користећи КТЛС и позадински процес у корисничком простору тлсхд за преговарање о повезивању).
    • Перформансе планера пакета фк (Фаир Куеуинг) су оптимизоване, што је омогућило повећање пропусности за 5% под великим оптерећењем у тцп_рр (ТЦП Рекуест/Респонсе) тесту и за 13% са неограниченим протоком УДП пакета.
    • ТЦП додаје опциону могућност временске ознаке прецизности у микросекундама (ТЦП ТС) (РФЦ 7323), која омогућава прецизнију процену кашњења и напредније модуле за контролу загушења. Да бисте га омогућили, можете користити команду „ип роуте адд 10/8 ... феатурес тцп_усец_тс“.
    • ТЦП стек је додао подршку за ТЦП-АО екстензију (ТЦП Аутхентицатион Оптион, РФЦ 5925), што омогућава верификацију ТЦП заглавља користећи МАЦ кодове (Мессаге Аутхентицатион Цоде), користећи модерније алгоритаме ХМАЦ-СХА1 и ЦМАЦ-АЕС- 128 уместо раније доступне ТЦП-МД5 опције засноване на застарелом алгоритму МД5.
    • Додан је нови тип виртуелних мрежних уређаја „неткит“, чија је логика преноса података подешена помоћу БПФ програма.
    • КСМБД, имплементација СМБ сервера на нивоу кернела, додала је подршку за решавање имена датотека које садрже сурогат парове сложених знакова.
    • НФС је побољшао имплементацију нити са РПЦ сервисима. Додата подршка за делегирање писања (за НФСв4.1+). НФСД је додао подршку за рпц_статус нетлинк руковалац. Побољшана подршка за НФСв4.к клијенте приликом поновног извоза у кнфсд.
  • Оборудование
    • Почетна подршка за ГСП-РМ фирмвер је додата модулу кернела Ноувеау, који се користи у НВИДИА РТКС 20+ ГПУ-у за померање иницијализације и управљања ГПУ-ом на страну засебног ГСП микроконтролера (ГПУ системски процесор). ГСП-РМ подршка омогућава Ноувеау драјверу да ради кроз позиве фирмвера, уместо да директно програмира хардверске интеракције, што чини много лакшим додавање подршке за нове НВИДИА ГПУ-ове коришћењем унапред уграђених позива за иницијализацију и управљање напајањем.
    • АМДГПУ драјвер подржава ГЦ 11.5, НБИО 7.11, СМУ 14, СМУ 13.0 ОД, ДЦН 3.5, ВПЕ 6.1 и ДМЛ2. Побољшана подршка за беспрекорно учитавање (без треперења при промени видео режима).
    • и915 драјвер додаје подршку за Интел Метеор Лаке чипове и додаје почетну имплементацију Интел ЛунарЛаке (Ксе 2).
    • Додата подршка за асиметричне канале преноса додата је спецификацији УСБ4 в2 (120/40Г).
    • Додата подршка за АРМ СоЦ: Куалцомм Снапдрагон 720Г (користи се у Ксиаоми паметним телефонима), АМД Пенсандо Елба, Ренесас, Р8А779Ф4 (Р-Цар С4-8), УСРоботицс УСР8200 (користи се у рутерима и НАС-у).
    • Додата подршка за Фаирпхоне 5 паметни телефон и АРМ плоче Оранге Пи 5, КуартзПро64, Туринг РК1, Варисците МКС6, БигТрееТецх ЦБ1, Фреесцале ЛКС2162, Гоогле Спхерион, Гоогле Хаиато, Генио 1200 ЕВК, РК3566 Повкидди РГБ30.
    • Додата подршка за РИСЦ-В плоче Милк-В Пионеер и Милк-В Дуо.
    • Додата подршка за звучне интерфејсе ХУАВЕИ лаптопова који се испоручују са АМД процесорима. Додата подршка за додатне звучнике инсталиране на лаптоповима Делл Оасис 13/14/16. Додата подршка за уграђене звучнике АСУС К6500ЗЦ. Додата подршка за индикатор потпуног искључивања звука на лаптоповима ХП 255 Г8 и Г10. Додата подршка за ацп6.3 аудио драјвере. Додата подршка за Фоцусрите Цларетт+ 2Пре и 4Пре професионалне интерфејсе за снимање.

Истовремено, Латиноамеричка фондација за слободни софтвер формирала је верзију потпуно бесплатног кернела 6.7 - Линук-либре 6.7-гну, очишћену од елемената фирмвера и драјвера који садрже неслободне компоненте или одељке кода, чији је обим ограничен. од стране произвођача. У издању 6.7, код за чишћење блоб-а је ажуриран у различитим драјверима и подсистемима, на пример, у драјверима амдгпу, ноувеау, адрено, мвифиек, мт7988, атх11к, авс и бткца. Код за чишћење драјвера лоцалталк и ртл8192у је уклоњен због њиховог искључења из кернела. Уклоњене су непотребне компоненте за чишћење управљачких програма кхци-пци, ртл8ккку и ртв8822б, претходно додатих грешком. Очишћена имена блоб-ова у дтс датотекама за архитектуру Аарцх64. Уклоњене мрље у новим драјверима мт7925, тпс6598к, ав87390 и ав88399.

Извор: опеннет.ру

Додај коментар