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

Након два месеца развоја, Линус Торвалдс је представио издање Линук кернела 5.12. Међу најзначајнијим променама: подршка за зониране блок уређаје у Бтрфс-у, могућност мапирања корисничких ИД-ова за систем датотека, чишћење застарелих АРМ архитектура, „жељан“ режим писања у НФС-у, механизам ЛООКУП_ЦАЦХЕД за одређивање путања датотека из кеша , подршка за атомске инструкције у БПФ-у, систем за отклањање грешака КФЕНЦЕ за идентификацију грешака при раду са меморијом, НАПИ режим анкетирања који ради у посебној нити језгра у мрежном стеку, АЦРН хипервизор, могућност промене модела преузете у ходу у задатку планер и подршка за ЛТО оптимизације при изградњи у Цланг-у.

Нова верзија укључује 14170 (у претходном издању 15480) поправки од 1946 (1991) програмера, величина закрпе је 38 МБ (промене су утицале на 12102 (12090) датотека, 538599 (868025) линија кода је додато, 333377) линије су избрисане). Око 261456% свих промена уведених у 43 односи се на драјвере уређаја, приближно 5.12% промена се односи на ажурирање кода специфичног за хардверске архитектуре, 17% се односи на мрежни стек, 12% на систем датотека и 5% односе се на унутрашње подсистеме кернела.

Главне иновације:

  • Дисковни подсистем, И/О и системи датотека
    • Имплементирана је могућност мапирања корисничких ИД-ова за монтиране системе датотека (можете мапирати датотеке једног корисника на монтираној страној партицији са другим корисником на тренутном систему). Мапирање је подржано за ФАТ, ект4 и КСФС систем датотека. Предложена функционалност олакшава дељење датотека између различитих корисника и на различитим рачунарима, укључујући мапирање ће се користити у систему преносног кућног директоријума, омогућавајући корисницима да преместе своје кућне директоријуме на спољни медиј и користе их на различитим рачунарима, мапирање ИД корисника који се не подударају. Још једна корисна апликација је организовање пружања заједничког приступа датотекама са спољног хоста, без стварне промене података о власницима датотека у систему датотека.
    • Закрпе ЛООКУП_ЦАЦХЕД су усвојене у кернел, омогућавајући операцијама да одреде путању датотеке из корисничког простора без блокирања, само на основу података доступних у кешу. Режим ЛООКУП_ЦАЦХЕД се активира у позиву опенат2() преношењем заставице РЕСОЛВЕ_ЦАЦХЕД, у којој се подаци сервирају само из кеша, а ако одређивање путање захтева приступ диску, враћа се грешка ЕАГАИН.
    • Датотечни систем Бтрфс је додао почетну подршку за зониране блок уређаје (уређаје на чврстим магнетним дисковима или НВМе ССД-овима, простор за складиштење у којима је подељен на зоне које чине групе блокова или сектора, у које је дозвољено само секвенцијално додавање података, ажурирање целе групе блокова). У режиму само за читање имплементирана је подршка за блокове са метаподацима и подацима мањим од странице (подстранице).
    • У систему датотека Ф2ФС додата је могућност избора алгоритма и нивоа компресије. Додата подршка за компресију високог нивоа за ЛЗ4 алгоритам. Имплементирана је опција монтирања цхецкпоинт_мерге.
    • Нова иоцтл команда ФС_ИОЦ_РЕАД_ВЕРИТИ_МЕТАДАТА је имплементирана за читање метаподатака из датотека заштићених са фс-верити.
    • НФС клијент имплементира „жељан“ режим писања (вритес=еагер), када је омогућено, операције писања у датотеку се одмах преносе на сервер, заобилазећи кеш странице. Овај режим вам омогућава да смањите потрошњу меморије, обезбеђује тренутни пријем информација о крају слободног простора у систему датотека, ау неким ситуацијама омогућава постизање повећаних перформанси.
    • Нове опције монтирања су додате у ЦИФС (СМБ): ацрегмак за контролу кеширања датотека и ацдирмак за контролу кеширања метаподатака директоријума.
    • У КСФС-у је омогућен режим провере квота са више нити, убрзано је извршавање фсинц и припремљен је гровфс код за имплементацију функције смањења величине система датотека.
  • Меморијске и системске услуге
    • Додан је ДТМП (Динамиц Тхермал Повер Манагемент) подсистем који вам омогућава да динамички регулишете потрошњу енергије различитих уређаја на основу постављених општих температурних ограничења.
    • Имплементирана је могућност изградње кернела помоћу Цланг компајлера уз укључивање оптимизација у фази повезивања (ЛТО, Линк Тиме Оптимизатион). ЛТО оптимизације се разликују узимајући у обзир стање свих датотека укључених у процес изградње, док традиционални режими оптимизације оптимизују сваку датотеку посебно и не узимају у обзир услове за позивање функција дефинисаних у другим датотекама. На пример, са ЛТО, инлине имплементација је могућа за функције из других датотека, неискоришћени код није укључен у извршну датотеку, провера типа и општа оптимизација се спроводе на нивоу пројекта као целине. ЛТО подршка је тренутно ограничена на к86 и АРМ64 архитектуре.
    • Могуће је изабрати режиме предумишљаја (ПРЕЕМПТ) у планеру задатака у фази покретања (преемпт=ноне/добровољно/фулл) или током рада кроз дебугфс (/дебуг/сцхед_дебуг), ако је подешавање ПРЕЕМПТ_ДИНАМИЦ специфицирано приликом изградње кернела. Раније је режим екструзије могао бити подешен само на нивоу параметара склопа. Промена дозвољава дистрибуцијама да испоручују језгра са омогућеним ПРЕЕМПТ режимом, који обезбеђује минимално кашњење за десктоп рачунаре по цену мале казне пропусности, и ако је потребно да се врати на ПРЕЕМПТ_ВОЛУНТАРИ (средњи режим за десктоп рачунаре) или ПРЕЕМПТ_НОНЕ (обезбеђује максималну пропусност за сервере) .
    • Подршка за атомске операције БПФ_АДД, БПФ_АНД, БПФ_ОР, БПФ_КСОР, БПФ_КСЦХГ и БПФ_ЦМПКСЦХГ је додата у БПФ подсистем.
    • БПФ програмима је дата могућност приступа подацима на стеку помоћу показивача са променљивим помацима. На пример, ако сте раније могли да користите само индекс константног елемента за приступ низу на стеку, сада можете да користите променљиви. Контролу приступа само унутар постојећих граница врши БПФ верификатор. Ова функција је доступна само привилегованим програмима због забринутости око искоришћавања рањивости спекулативног извршавања кода.
    • Додата је могућност причвршћивања БПФ програма на голе тачке праћења које нису повезане са догађајима праћења видљивим у корисничком простору (Очување АБИ-ја није гарантовано за такве тачке праћења).
    • Имплементирана је подршка за ЦКСЛ 2.0 (Цомпуте Екпресс Линк) магистралу, која се користи за организовање интеракције велике брзине између ЦПУ-а и меморијских уређаја (омогућава вам да користите екстерне меморијске уређаје као део РАМ-а или трајне меморије, као да ова меморија били повезани преко стандардног меморијског контролера у ЦПУ).
    • Додат је нвмем драјвер за преузимање података из меморијских области резервисаних фирмвером које нису директно доступне Линуку (на пример, ЕЕПРОМ меморија која је физички доступна само фирмверу или подаци који су доступни само током фазе раног покретања).
    • Уклоњена је подршка за систем профилисања „опрофиле“, који није био широко коришћен и замењен је модернијим перф механизмом.
    • Ио_уринг асинхрони И/О интерфејс обезбеђује интеграцију са цгрупама које контролишу коришћење меморије.
    • РИСЦ-В архитектура подржава НУМА системе, као и механизме кпробе и упробес.
    • Додата је могућност коришћења кцмп() системског позива без обзира на функционалност снимака стања процеса (контролна тачка/враћање).
    • Уклоњени су макрои ЕКСПОРТ_УНУСЕД_СИМБОЛ() и ЕКСПОРТ_СИМБОЛ_ГПЛ_ФУТУРЕ(), који се годинама не користе у пракси.
  • Виртуелизација и безбедност
    • Додат је заштитни механизам КФенце (Кернел Елецтриц Фенце), који хвата грешке при раду са меморијом, као што су прекорачење бафера и приступ након ослобађања меморије. За разлику од КАСАН механизма за отклањање грешака, КФенце подсистем се одликује великом брзином рада и ниским оптерећењем, што вам омогућава да ухватите грешке у меморији које се појављују само на радним системима или током дуготрајног рада.
    • Додата подршка за АЦРН хипервизор, написана с циљем спремности за задатке у реалном времену и прикладности за употребу у системима који су критични за мисију. АЦРН обезбеђује минималне трошкове, гарантује ниско кашњење и адекватан одзив при интеракцији са опремом. Подржава виртуелизацију ЦПУ ресурса, И/О, мрежни подсистем, графичке и звучне операције. АЦРН се може користити за покретање више изолованих виртуелних машина у електронским контролним јединицама, инструмент таблама, аутомобилским информационим системима, потрошачким ИоТ уређајима и другој уграђеној технологији. АЦРН подржава два типа гостујућих система – привилеговане сервисне ВМ, које се користе за управљање системским ресурсима (ЦПУ, меморија, И/О, итд.), и прилагођене корисничке ВМ, које могу да покрећу Линук, Андроид и Виндовс дистрибуције.
    • У ИМА (Интегрити Меасуремент Арцхитецтуре) подсистему, који одржава хеш базу података за проверу интегритета датотека и повезаних метаподатака, сада постаје могуће проверити интегритет података самог кернела, на пример, пратити промене у СЕЛинук правилима .
    • КВМ хипервизору је додата могућност пресретања Ксен хиперпозива и прослеђивања емулатору који ради у корисничком простору.
    • Додата је могућност коришћења Линука као основног окружења за хипервизор Хипер-В. Основно окружење има директан приступ хардверу и користи се за покретање гостујућих система (аналогно Дом0 у Ксен-у). До сада је Хипер-В (Мицрософт Хипервисор) подржавао Линук само у гостујућим окружењима, али сам хипервизор је био контролисан из Виндовс окружења.
    • Додата подршка за инлине енкрипцију за еММЦ картице, што вам омогућава да користите механизме за шифровање уграђене у контролер драјва који транспарентно шифрују и дешифрују И/О.
    • Подршка за хешове РИПЕ-МД 128/256/320 и Тигер 128/160/192, који се не користе у језгру, као и Салса20 стреам шифру, коју је заменио алгоритам ЦхаЦха20, уклоњена је из крипто подсистем. Алгоритам блаке2 је ажуриран да имплементира блаке2с.
  • Мрежни подсистем
    • Додата је могућност премештања НАПИ обрађивача анкетирања за мрежне уређаје у засебну нит кернела, што омогућава побољшане перформансе за неке врсте оптерећења. Раније се анкетирање обављало у контексту софтирк-а и није било покривено планером задатака, што је отежавало извођење финих оптимизација за постизање максималних перформанси. Извршење у посебној нити кернела омогућава да се руковалац анкете посматра из корисничког простора, прикачи на појединачна језгра ЦПУ-а и узме у обзир приликом заказивања пребацивања задатака. Да би се омогућио нови режим у сисфс-у, предложен је параметар /сис/цласс/нет//тхреадед.
    • Интеграција у језгро МПТЦП (МултиПатх ТЦП), проширење ТЦП протокола за организовање рада ТЦП везе са испоруком пакета истовремено дуж неколико рута кроз различите мрежне интерфејсе повезане са различитим ИП адресама. Ново издање додаје могућност додељивања приоритета одређеним нитима, што омогућава, на пример, организовање рада резервних нити које се укључују само ако постоје проблеми са примарном нити.
    • ИГМПв3 додаје подршку за механизам ЕХТ (Екплицит Хост Трацкинг).
    • Нетфилтеров механизам за филтрирање пакета пружа могућност поседовања одређених табела ради добијања ексклузивне контроле (на пример, процес заштитног зида у позадини може преузети власништво над одређеним табелама, спречавајући било кога другог да се меша у њих).
  • Оборудование
    • Очистили смо застареле и неодржаване АРМ платформе. Уклоњен је код за платформе ефм32, пицокцелл, прима2, танго, у300, зк и ц6к, као и њихови повезани драјвери.
    • Амдгпу драјвер пружа могућност оверклока (ОверДриве) картица заснованих на Сиенна Цицхлид ГПУ-у (Нави 22, Радеон РКС 6ккк). Додата подршка за ФП16 формат пиксела за ДЦЕ (дисплаи цонтроллер енгине) од 8. до 11. генерације. За ГПУ Нави Флоундер (Нави 21) и АПУ Ван Гогх, имплементирана је могућност ресетовања ГПУ-а.
    • и915 драјвер за Интел графичке картице имплементира параметар и915.митигатионс да би онемогућио механизме изолације и заштите у корист побољшаних перформанси. За чипове који почињу од Тигер Лаке-а, укључена је подршка за ВРР (Вариабле Рате Рефресх) механизам, који вам омогућава да прилагодљиво мењате брзину освежавања монитора како бисте обезбедили глаткоћу и без празнина током игара. Подршка за Интел Цлеар Цолор технологију је укључена за побољшану тачност боје. Додата подршка за ДП-ХДМИ 2.1. Имплементирана је могућност контроле позадинског осветљења еДП панела. За ГПУ-ове Ген9 са подршком за ЛСПЦОН (Левел Схифтер анд Протоцол Цонвертер), подршка за ХДР је омогућена.
    • Ноувеау драјвер додаје почетну подршку за НВИДИА ГПУ засноване на ГА100 (Ампер) архитектури.
    • Мсм драјвер додаје подршку за Адрено 508, 509 и 512 ГПУ-ове који се користе у СДМ (Снапдрагон) 630, 636 и 660 чиповима.
    • Додата подршка за Соунд БластерКс АЕ-5 Плус, Лекицон И-ОНИКС ФВ810с и Пионеер ДЈМ-750 звучне картице. Додата подршка за Интел Алдер Лаке ПЦХ-П аудио подсистем. Имплементирана је подршка за софтверску симулацију повезивања и искључивања аудио конектора за руковаоце отклањањем грешака у корисничком простору.
    • Додата подршка за Нинтендо 64 играће конзоле произведене од 1996. до 2003. (претходни покушаји да се Линук пренесе на Нинтендо 64 нису завршени и класификовани су као Вапорваре). Мотивација за креирање новог порта за застарелу платформу, која није пуштана скоро двадесет година, је жеља да се стимулише развој емулатора и поједностави пренос игара.
    • Додан драјвер за Сони ПлаиСтатион 5 ДуалСенсе контролер игре.
    • Додата подршка за АРМ плоче, уређаје и платформе: ПинеТаб, Снапдрагон 888 / СМ8350, Снапдрагон МТП, Тво Беацон ЕмбеддедВоркс, Интел еАСИЦ Н5Кс, Нетгеар Р8000П, Плимовент М2М, Беацон и.МКС8М Нано, Нано
    • Додата подршка за паметне телефоне Пурисм Либрем5 Евергреен, Кспериа З3+/З4/З5, АСУС Зенфоне 2 Ласер, БК Акуарис Кс5, ОнеПлус6, ОнеПлус6Т, Самсунг ГТ-И9070.
    • Додат је бцм-вк драјвер за Броадцом ВК акцелераторске плоче (на пример, Валкирие и Випер ПЦИе плоче), који се могу користити за преузимање операција обраде звука, видеа и слике, као и операција које се односе на шифровање, на посебан уређај.
    • Додата подршка за платформу Леново ИдеаПад са могућношћу контроле сталног пуњења и позадинског осветљења тастатуре. Такође је обезбеђена подршка за АЦПИ профил ТхинкПад платформе са могућношћу контроле режима потрошње енергије. Додан драјвер за Леново ТхинкПад Кс1 Таблет Ген 2 ХИД подсистем.
    • Додат ов5647 драјвер са подршком за модул камере за Распберри Пи.
    • Додата подршка за РИСЦ-В СоЦ ФУ740 и ХиФиве Унлеасхед плоче. Додат је и нови драјвер за Кендрите К210 чип.

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

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