Након два месеца развоја, Линус Торвалдс издање кернела . Међу најзначајнијим променама: ограничавање увоза симбола из власничких модула у ГПЛ модуле, убрзавање операција промене контекста помоћу инструкције процесора ФСГСБАСЕ, подршка за компресију слике језгра помоћу Зстд-а, прерада приоритета нити у језгру, подршка за ПРП (Протокол паралелне редундансе) , распоређивање свесно на пропусни опсег у планеру рокова, превентивно паковање меморијских страница, ознака могућности ЦАП_ЦХЕЦКПОИНТ_РЕСТОР, цлосе_ранге() системски позив, побољшања перформанси дм-црипт, уклањање кода за 32-битне Ксен ПВ госте, нова плоча меморија механизам управљања, опција „спасавање“ у Бтрфс-у, подршка за инлине енкрипцију у ект4 и Ф2ФС.
Нова верзија укључује 16074 поправке од програмера из 2011.
величина закрпе - 62 МБ (промене су утицале на 14548 датотека, додато је 782155 линија кода, 314792 линија је обрисано). Око 45% свих представљених у 5.9
промене се односе на драјвере уређаја, отприлике 15% промена је
став према ажурирању кода специфичног за хардверске архитектуре, 13%
односи се на мрежни стек, 3% на систем датотека и 3% на интерне
подсистеми кернела.
:
- Меморијске и системске услуге
- заштита од употребе ГПЛ слојева за повезивање власничких драјвера са компонентама кернела које се извозе само за модуле под ГПЛ лиценцом. Ознака ТАИНТ_ПРОПРИЕТАРИ_МОДУЛЕ је сада наслеђена у свим модулима који увозе симболе из модула са овом заставицом. Ако ГПЛ модул покуша да увезе симболе из модула који није ГПЛ, онда ће тај ГПЛ модул наследити ознаку ТАИНТ_ПРОПРИЕТАРИ_МОДУЛЕ и неће моћи да приступи компонентама језгра које су доступне само модулима са ГПЛ лиценцом, чак и ако је модул претходно увезао симболе из категорију "гплонли". Обрнуто закључавање (извоз само ЕКСПОРТ_СИМБОЛ_ГПЛ у модулима који су увезли ЕКСПОРТ_СИМБОЛ_ГПЛ), које би могло да прекине рад власничких драјвера, није имплементирано (наслеђује се само ознака власничког модула, али не и ГПЛ везивања).
- кцомпацтд енгине подршка за у позадини да бисте повећали број великих меморијских страница доступних кернелу. Према прелиминарним проценама, позадинско паковање, по цену минималних трошкова, може да смањи кашњења при алокацији великих меморијских страница (огромна страница) за 70-80 пута у поређењу са претходно коришћеним механизмом за паковање, који се покреће када се укаже потреба (он-деманд). ). Да бисте поставили границе спољашње фрагментације коју ће кцомпацтд обезбедити, додат је сисцтл вм.цомпацтион_проацтивенесс.
- подршка за компресију слике језгра помоћу алгоритма (зстд).
- Подршка за инструкције процесора је имплементирана за к86 системе , који вам омогућава да читате и мењате садржај ФС/ГС регистара из корисничког простора. У кернелу, ФСГСБАСЕ се користи за убрзавање операција промене контекста елиминисањем непотребних МСР операција писања за ГСБАСЕ, а у корисничком простору избегава непотребне системске позиве за промену ФС/ГС.
- параметар „аллов_вритес“ вам омогућава да забраните промене у МСР регистрима процесора из корисничког простора и ограничите приступ садржају ових регистара за операције читања, пошто промена МСР-а може довести до проблема. Подразумевано, писање још увек није онемогућено, а промене МСР-а се одражавају у евиденцији, али се у будућности планира пребацивање подразумеваног приступа у режим само за читање.
- На асинхрони И/О интерфејс Додата је пуна подршка за асинхроне бафероване операције читања које не захтевају нити кернела. Подршка за снимање се очекује у наредном издању.
- У року И/О планера планирање на основу капацитета, доносе исправне одлуке о асиметричним системима као што су системи засновани на АРМ-у и биг.ЛИТТЛЕ, који комбинују моћна и мање ефикасна енергетски ефикасна ЦПУ језгра у једном чипу. Конкретно, нови режим вам омогућава да избегнете неусклађеност у распореду када споро језгро ЦПУ-а нема одговарајуће ресурсе да изврши задатак на време.
- Модел потрошње енергије у кернелу (Енерги Модел фрамеворк) је сада не само понашање ЦПУ потрошње енергије, већ покрива и периферне уређаје.
- Системски позив цлосе_ранге() је имплементиран да омогући процесу да затвори читав низ отворених дескриптора датотека одједном.
- Од имплементације текстуалне конзоле и фбцон драјвера , који пружа могућност програмског померања текста уназад (ЦОНФИГ_ВГАЦОН_СОФТ_СЦРОЛЛАЦК) за више од количине видео меморије ВГА текстуалног режима.
- алгоритам за додељивање приоритета нитима унутар кернела. Нова опција обезбеђује бољу конзистентност у свим подсистемима кернела приликом додељивања приоритета задацима у реалном времену.
- Додат сисцтл да контролишете подешавања за повећање процесора за задатке у реалном времену (на пример, можете да промените понашање задатака у реалном времену у ходу да бисте уштедели енергију након преласка на напајање из батерије или на мобилним системима).
- Извршене су припреме за имплементацију подршке за технологију Транспарент Хуге Пагес у кеш странице.
- Фанотифи мотор имплементира нове заставице ФАН_РЕПОРТ_НАМЕ и ФАН_РЕПОРТ_ДИР_ФИД да пријави име родитеља и јединствене информације о ФИД-у када се догађају креирања, брисања или кретања за ставке директорија и објекте који нису у директоријуму.
- За цгроупс нови контролер плоча меморије, који је познат по премештању обрачуна плоча са нивоа меморијске странице на ниво објекта кернела, што омогућава дељење плочастих страница у различитим цгрупама, уместо додељивања засебних кеш плоча за сваку цгрупу. Предложени приступ омогућава повећање ефикасности коришћења плоче, смањење величине меморије која се користи за плочу за 30-45%, значајно смањење укупне потрошње меморије језгра и смањење фрагментације меморије.
- У звучном подсистему и , сходно очишћене су препоруке о употреби инклузивне терминологије у језгру Линука; Код је очишћен од речи "слав", "мастер", "црна листа" и "бела листа".
- Виртуелизација и безбедност
- Приликом прављења кернела помоћу компајлера Цланг могућност конфигурисања (ЦОНФИГ_ИНИТ_СТАЦК_АЛЛ_ЗЕРО) аутоматске иницијализације на нулу свих променљивих ускладиштених на стеку (приликом изградње наведите „-фтривиал-ауто-вар-инит=зеро“).
- У подсистему сеццомп, када се користи режим контроле процеса у корисничком простору, замена дескриптора датотека у надгледани процес да би се у потпуности емулирали системски позиви који доводе до стварања дескриптора датотека. Функционалност је тражена у изолованим системима контејнера и имплементацијама сандбок-а за Цхроме.
- За ктенса и цски архитектуре, додата је подршка за ограничавање системских позива помоћу подсистема сеццомп. За ктенса је додатно имплементирана подршка за механизам ревизије.
- нова ознака могућности ЦАП_ЦХЕЦКПОИНТ_РЕСТОРЕ, која вам омогућава да обезбедите приступ могућностима које се односе на замрзавање и враћање стања процеса без преноса додатних привилегија.
- ГЦЦ 11 пружа све функције које су вам потребне
Алат за отклањање грешака КЦСАН (Кернел Цонцурренци Санитизер), дизајниран да динамички детектује услове трке унутар кернела. Дакле, КЦСАН се сада може користити са језгрима изграђеним у ГЦЦ-у. - За АМД Зен и новије моделе ЦПУ-а подршка за П2ПДМА технологију, која омогућава коришћење ДМА за директан пренос података између меморије два уређаја повезана на ПЦИ магистралу.
- У дм-црипт је додат режим који вам омогућава да смањите кашњење обављањем криптографске обраде података без коришћења радних редова. Овај режим је такође неопходан за исправан рад са блок уређаји (уређаји са областима које се морају писати секвенцијално, ажурирајући целу групу блокова). Рад је обављен на повећању пропусности и смањењу кашњења у дм-црипт.
- Уклоњен је код за подршку 32-битних гостију који раде у паравиртуализационом режиму који користе Ксен хипервизор. Корисници таквих система треба да пређу на коришћење 64-битних језгара у гостујућим окружењима или да користе пуне (ХВМ) или комбиноване (ПВХ) режиме виртуелизације уместо паравиртуализације (ПВ) за покретање окружења.
- Дисковни подсистем, И/О и системи датотека
- На систему датотека Бтрфс опција монтирања за „спасавање“ која обједињује приступ свим другим опцијама опоравка. Подршка за опције „аллоц_старт“ и „субволроотид“ је уклоњена, а опција „иноде_цацхе“ је застарела. Направљене су оптимизације перформанси, посебно приметно убрзавање извршавања фсинц() операција. могућност коришћења алтернативних типова контролних сума осим ЦРЦ32ц.
- могућност коришћења инлине енкрипције (Инлине Енцриптион) у ект4 и Ф2ФС системима датотека, да би се омогућила опција монтирања „инлинецрипт“. Режим унутрашњег шифровања вам омогућава да користите механизме шифровања уграђене у контролер погона, који транспарентно шифрује и дешифрује улаз/излаз.
- У КСФС ресетовање иноде (испирање) у потпуно асинхроном режиму који не блокира процесе приликом обављања операције чишћења меморије. Решен је дугогодишњи проблем са квотом због којег су упозорења о меким ограничењима и ограничењима иноде погрешно праћена. Обједињена имплементација ДАКС подршке за ект4 и кфс.
- У Ект4 унапред учитавање битмапа за доделу блока. У комбинацији са ограничавањем скенирања неиницијализованих група, оптимизација је смањила време потребно за монтирање веома великих партиција.
- У Ф2ФС иоцтл Ф2ФС_ИОЦ_СЕЦ_ТРИМ_ФИЛЕ, који вам омогућава да користите команде ТРИМ/дисцард да физички ресетујете одређене податке у датотеци, на пример, да избришете приступне кључеве без остављања преосталих података на диску.
У Ф2ФС такође нови режим сакупљања смећа ГЦ_УРГЕНТ_ЛОВ, који ради агресивније тако што елиминише неке провере да ли је у стању мировања пре покретања сакупљача смећа. - У бцацхе-у, буцкет_сизе за екстенте је повећана са 16 на 32 бита у припреми за омогућавање зонираних кеша уређаја.
- Могућност коришћења инлине енкрипције засноване на уграђеној хардверској енкрипцији коју обезбеђују УФС контролери је додата СЦСИ подсистему ().
- Додан је нови параметар командне линије кернела „дебугфс“, који вам омогућава да контролишете доступност истоименог псеудо-ФС-а.
- НФСв4.2 клијент пружа подршку за проширене атрибуте датотеке (каттр).
- У дм-прашини интерфејс за истовремено приказивање листе свих идентификованих лоших блокова на диску („дмсетуп порука дуст1 0 листбадблоцкс“).
- За мд/раид5, параметар /сис/блоцк/мд1/мд/стрипе_сизе је додат за конфигурисање величине СТРИПЕ блока.
- За НВМе уређаје за складиштење подршка за команде за зонирање диск јединица (ЗНС, НВМ Екпресс Зонед Намеспаце), што вам омогућава да поделите простор за складиштење на зоне које чине групе блокова за потпунију контролу над постављањем података на диск.
- Мрежни подсистем
- У Нетфилтер могућност одбијања пакета у фази пре провере рутирања (израз РЕЈЕЦТ сада може да се користи не само у ланцима ИНПУТ, ФОРВАРД и ОУТПУТ, већ и у фази ПРЕРОУТИНГ за ицмп и тцп).
- У нфтаблес могућност ревизије догађаја у вези са променама конфигурације.
- У нфтаблес у нетлинк АПИ-ју подршка за анонимне ланце, чије име језгро динамички додељује. Када избришете правило повезано са анонимним ланцем, сам ланац се аутоматски брише.
- БПФ додаје подршку за итераторе да прелазе, филтрирају и мењају елементе асоцијативних низова (мапа) без копирања података у кориснички простор. Итератори се могу користити за ТЦП и УДП утичнице, омогућавајући БПФ програмима да итерирају преко листа отворених сокета и из њих извлаче информације које су им потребне.
- Додан је нови тип БПФ програма БПФ_ПРОГ_ТИПЕ_СК_ЛООКУП, који се покреће када кернел тражи одговарајућу утичницу за слушање за долазну везу. Користећи БПФ програм као што је овај, можете креирати руковаоце који доносе одлуке о томе са којим утичницом треба да буде повезана веза, без ограничења системским позивом бинд(). На пример, можете да повежете једну утичницу са низом адреса или портова. Поред тога, подршка за СО_КЕЕПАЛИВЕ заставицу је додата у бпф_сетсоцкопт() и имплементирана је могућност да се инсталирају руковаоци БПФ_ЦГРОУП_ИНЕТ_СОЦК_РЕЛЕАСЕ, позвани када се сокет пусти.
- Имплементирана подршка протокола (Параллел Редунданци Протоцол), који омогућава пребацивање засновано на Етхернет-у на резервни канал, транспарентан за апликације, у случају квара било које мрежне компоненте.
- Стацк мац80211 подршка за четворостепено преговарање канала ВПА/ВПА2-ПСК у режиму приступне тачке.
- Додата је могућност пребацивања планера кдисц (дисциплина чекања) да користи ФК-ПИЕ (Флов Куеуе ПИЕ) алгоритам за управљање мрежним редовима по подразумеваној вредности, са циљем да се смањи негативан утицај међубаферовања пакета на ивичну мрежну опрему (буфферблоат) у мрежама са кабловски модеми.
- Нове карактеристике су додате у МПТЦП (МултиПатх ТЦП), проширења ТЦП протокола за организовање рада ТЦП везе са испоруком пакета истовремено дуж неколико рута кроз различите мрежне интерфејсе повезане са различитим ИП адресама. Додата подршка за син колачић, ДАТА_ФИН, аутоматско подешавање бафера, дијагностику утичнице и РЕУСЕАДДР, РЕУСЕПОРТ и В6ОНЛИ заставице у сетсоцкопт.
- За виртуелне табеле рутирања ВРФ (Виртуал Роутинг анд Форвардинг), које омогућавају организовање рада неколико домена рутирања на једном систему, имплементиран је „стриктни“ режим. У овом режиму виртуелна табела може бити повезана само са табелом рутирања која се не користи у другим виртуелним табелама.
- Бежични драјвер је атх11к подржава фреквенцију од 6 ГХз и .
- Оборудование
- Уклоњен је код за подршку УниЦоре архитектуре, развијен у Микропроцесорском центру Пекиншког универзитета и укључен у Линук кернел 2011. Ова архитектура није одржавана од 2014. године и нема подршку у ГЦЦ-у.
- Подршка за РИСЦ-В архитектуру је имплементирана (дебугфс интерфејс за анализу покривености кода кернела), кмемлеак (систем за откривање цурења меморије), заштита стека, ознаке за скокове и операције без тика (мултитаскинг независно од сигнала тајмера).
- За ПоверПЦ архитектуру је имплементирана подршка за редове спинлоцка, што је значајно побољшало перформансе у ситуацијама конфликта закључавања.
- За АРМ и АРМ64 архитектуре, механизам регулације фреквенције процесора је подразумевано омогућен (цпуфрек говернор), који директно користи информације из планера задатака да донесе одлуку о промени фреквенције и може одмах да приступи цпуфрек драјверима да брзо промени фреквенцију, тренутно прилагођавајући радне параметре ЦПУ-а тренутном оптерећењу.
- и915 ДРМ драјвер за Интел графичке картице укључује подршку за чипове засноване на микроархитектури и додата је почетна подршка за дискретне картице .
- Амдгпу драјвер је додао почетну подршку за АМД ГПУ (Нави Флоундер) и (Сијенска циклида). Додата подршка за УВД/ВЦЕ моторе за убрзање кодирања и декодирања видео записа за ГПУ Јужних острва (Радеон ХД 7000).
Додато својство за ротирање екрана за 90, 180 или 270 степени.Занимљиво, драјвер за АМД ГПУ највећи драјвер у кернелу – има око 2.71 милиона линија кода, што је приближно 10% укупне величине кернела (27.81 милиона линија). Истовремено, аутоматски генерисаним датотекама заглавља са подацима за ГПУ регистре отпада 1.79 милиона линија, а Ц код је 366 хиљада линија (за поређење, Интел и915 драјвер укључује 209 хиљада линија, а Ноувеау - 149 хиљада).
- Ин Ноувеау возач подршка за проверу интегритета оквир по кадар помоћу (Цицлиц Редунданци Цхецкс) у НВИДИА ГПУ екранима. Имплементација је заснована на документацији коју је обезбедила НВИДИА.
- Додати драјвери за ЛЦД панеле: Фрида ФРД350Х54004, КОЕ ТКС26Д202ВМ0БВА, ЦДТецх С070ПВС19ХП-ФЦ21, ЦДТецх С070СВВ29ХГ-ДЦ44, Тианма ТМ070ЈВХГ33 и Ксингбангда Ксингбангда.
- АЛСА аудио подсистем подржава (режим непрекидног напајања за екстерне ХДМИ уређаје како би се елиминисало кашњење при покретању репродукције) и за контролу осветљења тастера за активирање микрофона и искључивања звука, а такође је додата подршка за нову опрему, укључујући контролер .
- Додата подршка за АРМ плоче, уређаје и платформе: Пине64 ПинеПхоне в1.2, Леново ИдеаПад Дует 10.1, АСУС Гоогле Некус 7, Ацер Ицониа Таб А500, Куалцомм Снапдрагон СДМ630 (користи се у Сони Кспериа 10, 10 Кс2 Плус, КСА2 и КСА2 Ултра), Јетсон Ксавиер НКС, Амлогиц ВеТек Цоре2, Аспеед ЕтханолКс, пет нових плоча заснованих на НКСП и.МКС6, МикроТик РоутерБоард 3011, Ксиаоми Либра, Мицрософт Лумиа 950, Сони Кспериа З5, МСтар, Мицроцхип Спарк5, Интел Кеем Баи, Амазон в3, Ренесас РЗ/Г2Х.
Истовремено, Латиноамеричка фондација за слободни софтвер
опција - , очишћен од фирмвера и елемената драјвера који садрже неслободне компоненте или одељке кода, чији је обим ограничен од стране произвођача. Ново издање онемогућава учитавање блоб-ова у драјверима за ВиФи ртв8821ц и СоЦ МедиаТек мт8183. Ажурирани код за чишћење мрља у Хабаналабс, Вилц1000, амдгпу, мт7615, и915 ЦСР, Мелланок млксв (Спецтрум3), р8169 (ртл8125б-2) и к86 драјверима и подсистемима за екран осетљив на додир.
Извор: опеннет.ру
