Linux 5.10 идва със значителни оптимизации за Ext4, подобрена съвместимост с AMD SEV и др

ядро

След два месеца разработка, Линус Торвалдс обяви пускането на новото ядро ​​на Linux версия 5.10 , версия, която идва със статут на клон с дълъг период на поддръжка, чиито актуализации ще бъдат пускани поне две години.

Забележителните промени в тази нова версия включват поддръжката на механизма за защита MemTag за ARM64 системи, опцията за монтиране "nosymfollow", значителни оптимизации на Ext4, корекция на XFS 2038, ново системно извикване process_madvise, подобрена поддръжка на AMD SEV чрез криптиране на регистъра на процесора и възможността за паузиране на BPF програми.

Новата версия получи 17 470 корекции от 2062 разработчици; размер на корекцията: 64 MB (промените засегнаха 15 101 файла, добавени бяха 891 932 реда код и бяха премахнати 619 716 реда). Приблизително 42% от всички промени, въведени в 5.10, са свързани с драйвери на устройства , приблизително 16% са свързани с актуализиране на код, специфичен за хардуерната архитектура, 13% са свързани с мрежовия стек, 3% са свързани с файлови системи и 3% са свързани с вътрешни подсистеми на ядрото.

Основни новини в Linux 5.10

Сред основните промени откриваме, че за ext4 е добавен режим fast_commit , който значително намалява забавянията при много файлови операции поради по-бързото изчистване на метаданните на диска при изпълнение на fsync(). При нормални обстоятелства, изпълнението на fsync() синхронизира излишен набор от метаданни. В режим fast_commit само метаданните, необходими за възстановяване на файловата система в случай на срив, се прехвърлят в системния регистър, което ускорява fsync() извикванията и подобрява производителността на операциите, които активно манипулират метаданните.

Докато за Btrfs включва важни оптимизации на производителността, свързани с fsync () операции. Намаляването на оспорването на log mutex доведе до 4% увеличение на производителността и 14% намаляване на латентността при изпълнение на бенчмарка на dbench с 32 клиента. Елиминирането на допълнителни ангажименти за връзки и промени в имената увеличава честотната лента с 6% и намалява латентността с 30%. Ограничаването на fsync за изчакване само при пренаписвания повишава производителността с 10-40%.
Освен това, Прилагането на Btrfs на директни I / O (direct io) е преместено в рамката на iomap. 

XFS добавя промени в метаданните на inode, за да адресира проблеми с препълване в 32-битовия тип данни time_t през 2038 г. Подобни промени, които преместиха препълването на брояча на време до 2468 година, бяха добавени към кода за изчисляване на времената за дискова квота. Форматът XFS V4 е обявен за остарял; потребителите се насърчават да надстроят до формат V5, но има достатъчно време за надстройката, тъй като поддръжката на V4 ще продължи до 2030 г. XFS също така промени размера на записа на inode на btree, което позволява повече проверки за излишък и по-бързо време за монтиране.

За подсистемата FUSE, внедрена DAX операционната поддръжка за директен достъп до файловата система, заобикаляйки кеша на страницата без заключващо устройство на ниво приложение, което се използва за избягване на двоен кеш, за да се организира съвместен достъп до системи за гости , директории и файлове. Virtiofs също добавя поддръжка за отделно монтиране на дялове с различни точки на монтиране на хост системата.

Файловата система F2FS добавя нов режим за събиране на боклука ATGC (Age Threshold Garbage Collection) , подобрена поддръжка за зонирани NVMe устройства и по-бързо декомпресиране на компресирани данни.

В F2FS и Ext4 начинът на работа с имена на файлове, които не отчитат главни и малки букви, е преработен; решено е да се унифицира имплементацията на имена на файлове, които не отчитат главни и малки букви, чрез преместване на свързания код в обща библиотека.

Друга важна промяна е в асинхронния входно/изходен интерфейс io_uring, който добавя възможността за създаване на ограничени пръстени , които могат безопасно да се споделят с ненадежден процес. Тази функция позволява на базовото приложение избирателно да ограничава достъпа само до своите индивидуални файлови дескриптори за използване от приложения на трети страни чрез io_uring. Освен това, към системното извикване pidfd_open() е добавен флагът PIDFD_NONBLOCK, за да се създаде незаключващ се файлов дескриптор (аналогично на O_NONBLOCK за pidfd).


Добавяне като предпочитан източник в Google