Након два месеца развоја, Линус Торвалдс је представио издање Линук кернела 6.13. Међу најзначајнијим променама: режим лење преузимања у планеру задатака, подршка за атомско писање у КСФС и Ект4, механизам „мултиграин тиместампс“, адаптивни режим за омогућавање анкетирања у мрежном подсистему, могућност изградње са АутоФДО оптимизацијама, подршка за механизам заштите АРМ65 Гуардед Цонтрол Стацк-а, машине за виртуелну изолацију које користе АРМ ЦЦА екстензију, одвојене стекове у БПФ-у, уклањање РеисерФС-а, драјвер виртуелног цпуфрек-а, нетлинк АПИ нет-схапер, режим монтирања тмпфс осетљив на велика и мала слова, подршка за ПОСИКС екстензије у СМБ3, управљачки програм АМД Цацхе Оптимизер.
Нова верзија укључује 14172 исправке од 2086 програмера, величина закрпе је 46 МБ (промене су утицале на 15375 датотека, додато је 598707 линија кода, 406294 линије су обрисане). Последње издање је имало 14607 исправки од 2167 програмера, величина закрпе је била 37 МБ. Око 52% свих промена уведених у 6.13 односи се на драјвере уређаја, приближно 13% промена се односи на ажурирање кода специфичног за хардверске архитектуре, 11% се односи на мрежни стек, 4% на систем датотека и 3% односе се на унутрашње подсистеме кернела.
Главне иновације у кернелу 6.13:
- Дисковни подсистем, И/О и системи датотека
- Додан је механизам „мултиграин тиместампс“ који вам омогућава да добијете информације о времену модификације или приступу датотекама са тачношћу већом од милисекунди, али без негативног утицаја на перформансе. Повећање тачности ознака доводи до додатних трошкова због повећања интензитета уписивања метаподатака на диск, па се у предложеној имплементацији не праве тачније ознаке за све датотеке, већ само за оне за које процеси траже такве ознаке преко гетаттр() позив.
- Додата подршка за атомско уписивање, при чему су подаци већи од величине сектора атомски записани на уређајима за складиштење који пружају ову могућност. Тренутно је имплементирано атомско писање за КСФС, Ект4 у О_ДИРЕЦТ (Директни И/О) режим и мд РАИД 0/1/10.
- Предложен је нови механизам за бројање референци датотека који обезбеђује повећање перформанси од 3-5% у радним оптерећењима са више од 255 нити.
- Имплементација система датотека РеисерФС, који је претпрошле године проглашен застарелим, је уклоњена.
- Додан сисцтл параметар „фс.дентри-негативе“ за постављање ВФС политике за брисање „дентри“ уноса (интерни приказ ставки директоријума) након брисања датотека повезаних са њима. За неке врсте учитавања, оптимално је оставити такве записе о избрисаним датотекама, а за друге их обрисати, тако да језгро пружа могућност избора (подразумевано, „дентриес“ се не бришу аутоматски).
- Додата је СТАТМОУНТ_ОПТ_АРРАИ заставица у системски позив статмоунт() да би се вратила листа опција система датотека као низ стрингова са нултом завршетком који не користе „\000“ избегавање. Додата подршка за враћање ФС подтипа (фс_субтипе, да се утврди да ли се ФУСЕ користи), опције безбедног монтирања и изворни суперблок (сб_соурце).
- ОверлаиФС пружа могућност специфицирања слојева преко дескриптора датотека, а не путем имена путање датотеке.
- Додата је опција монтирања “цасефолд” у систем датотека тмпфс за рад без обзира на велика и мала слова и опцију “стрицт_енцодинг” за блокирање креирања датотека са именима која садрже неважеће УТФ-8 знакове.
- Предложен је нови скуп системских позива за управљање проширеним атрибутима датотеке: сеткаттрат(), геткаттрат(), листкаттрат() и ремовекаттрат(). За разлику од системских позива сеткаттр(), геткаттр(), листкаттр() и ремовекаттр(), нове опције захтевају навођење дескриптора фајла директоријума према коме ће се тражити путања датотеке.
- Додата иоцтл операција БТРФС_ИОЦ_СУБВОЛ_СИНЦ_ВАИТ у Бтрфс, која укључује чекање да се заврши чишћење подволумена, омогућавајући да изврши команду „бтрфс субволуме синц“ од стране непривилегованог корисника који нема приступ СЕАРЦХ_ТРЕЕ иоцтл (корисно у апликацијама за резервне копије) које чисте . Додата иоцтл операција ЕНЦОДЕД_РЕАД за читање кодираних података путем ио_уринг-а, на пример, за читање директно компресованих екстената без декомпресије. Настављен је рад на преласку на употребу фолија страница. Смањено је појављивање истовремених закључавања („конкуренција за закључавање“) приликом тражења уграђених повратних веза и приликом итерације кроз бафере опсега. Побољшана ефикасност компресије мапе обима.
- У систему датотека ЕРОФС (Ектендабле Реад-Онли Филе Систем), намењеном за употребу на партицијама доступним у режиму само за читање, могуће је користити опције СЕЕК_ХОЛЕ и СЕЕК_ДАТА у системском позиву лсеек().
- Ф2ФС сада подржава алијасинг уређаја, што вам омогућава да привремено резервишете област у Ф2ФС-у за коришћење дела блоковског уређаја у другом ФС-у. Након што је екстерна операција завршена, резервисана област може бити враћена у Ф2ФС. На пример, можете креирати ФС помоћу команде „mkfs.f2fs -c /dev/vdc@vdc.file /dev/vdb“, након чега ће садржај уређаја /dev/vdc бити резервисан и одражен у датотеци vdc.file, а партиција /dev/vdc може се користити за сопствене потребе, на пример, форматирати за други ФС. Да бисте вратили резервисани садржај, једноставно обришите датотеку vdc.file.
- КСФС укључује подршку за квоте за уређаје у реалном времену. Додата подршка за директоријум метаподатака, који садржи све иноде метаподатака.
- ФУСЕ механизам укључује могућност динамичке промене максималног броја страница (ФУСЕ_МАКС_МАКС_ПАГЕС) користећи "сисцтл фс.фусе.мак_пагес_лимит". Рад укључује фолије меморијских страница.
- СМБ пружа подршку за ПОСИКС екстензије за СМБ3, које су потребне за складиштење посебних типова датотека као што су фифо, датотеке уређаја и симболичке везе. Додата могућност монтирања партиције са алтернативном лозинком која се користи током ротације лозинке. Додата је нова опција монтирања "цифс.упцалл" за дефинисање простора имена. Обезбеђено је препознавање карактерних и блок датотека уређаја креираних у Виндовс НФС серверу. Додата подршка за симболичке везе у стилу ВСЛ (Виндовс подсистем за Линук).
- Системи датотека УБИФС, АДФС, БЕФС, ХФС, ХФСПЛУС, ХПФС, ЈФС и ЕЦРИПТФС су конвертовани да користе нови АПИ за монтирање партиција.
- Системи датотека и ЕЦРИПТФС, УФС и НИЛФС2 су конвертовани да користе фолије страница.
- Меморијске и системске услуге
- Планер имплементира модел „лење“ предности за задатке (ПРЕЕМПТ_ЛАЗИ, лази преемптион), који одговара моделу пуне предности за задатке у реалном времену (РР/ФИФО/ДЕАДЛИНЕ), али одлаже спречавање редовних задатака (СЦХЕД_НОРМАЛ) до границе квачице. Ова латенција доводи до мањег броја предумишљаја држача закључавања, приближавајући перформансе конфигурацијама које користе модел добровољног преузимања. Дакле, нови модел вам омогућава да задржите пуне могућности превенције задатака у реалном времену, али минимизира деградацију перформанси за редовне задатке. Поред тога, нови модел поједностављује логику операција преузимања задатака у језгру тако што елиминише руковаоце који се налазе у другим компонентама кернела (ван планера задатака) из процеса планирања.
- Када се гради помоћу Цланг компајлера, могуће је користити оптимизације
Извор: опеннет.ру
