The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Релиз ядра Linux 4.13"
Отправлено opennews, 04-Сен-17 07:55 
После двух месяцев разработки Линус Торвальдс представил (https://lkml.org/lkml/2017/9/3/155) релиз ядра Linux 4.13 (https://www.kernel.org/). Среди наиболее заметных изменений: встроенная реализация протокола TLS, плагин для рандомизации порядка полей в структурах данных,  функциональность "lifetime hints" в VFS, поддержка буферизированного ввода/вывода в неблокирующем режиме, модуль для зонированных блочных устройств, расширение лимита на число файлов в директории ext4, поддержка привязки BPF-программ к сокетам, средства оптимизации энергопотребления через прогнозирование следующего прерывания.

В новую версию принято более 12 тысяч исправлений от 1400 разработчиков, размер патча - 68 Мб (изменения затронули 10647 файлов, добавлено 824508 строк кода, удалено 228197 строк). Около 45% всех представленных в 4.13 изменений связаны с драйверами устройств, примерно 18% изменений имеют отношение к обновлению кода специфичного для аппаратных архитектур, 15% связано с сетевым стеком, 4% - файловыми системами и 3% c внутренними подсистемами ядра.

Основные (http://kernelnewbies.org/Linux_4.13) новшества (https://lwn.net/Articles/727852/):

-  
Дисковая подсистема, ввод/вывод и файловые системы


-  В виртуальную файловую систему и уровень блочных устройств добавлены признаки со сведениями о времени жизни данных ("lifetime hints"), которые могут быть привязаны к открытому файлу при помощи системного вызова fcntl(). Например, признак RWH_WRITE_LIFE_SHORT сигнализирует, что данные предназначены для хранения короткое время, а признак RWH_WRITE_LIFE_EXTREME  указывает на то, что данные останутся навсегда. Устройство хранения может использовать данные признаки для оптимизации размещения данных с учётом ожидаемого времени их хранения. В настоящее время только драйвер NVMe учитывает эти сведения;

-  Поддержка (https://lwn.net/Articles/724198/) буферизированного ввода/вывода на блочном уровне в неблокирующем режиме. Новая возможность позволяет улучшить поддержку асинхронного ввода/вывода в условиях, когда используется буферизированный ввод/вывод;

-  Для Device Mapper реализован новый модуль dm-zoned (https://www.kernel.org/doc/Documentation/device-mapper/dm-zo... позволяющий создавать зонированные блочные устройства в которых применяются разные правила записи в различные части устройства. Например, устройства в которых одна зона может допускать только запись в последовательно идущие блоки. Модуль  dm-zoned даёт возможность представить подобное зонированное устройство как обычное блочное устройство, скрывая применяемые в процессе работы ограничения записи;


-  В файловой системе ext4 реализована опция  "largedir", при указании которой увеличивается число файлов, которое может размещаться в одной директории. Без данной опции действует лимит на 10 млн файлов в одной директории, а при указании опции "largedir" лимит увеличивается до 2 миллиардов файлов;


-  Добавлена возможность увеличения хранилища расширенных атрибутов файлов в ФС ext4 для обеспечения хранения большего числа атрибутов для одного файла. Каждый атрибут может содержать до 64 Кб информации. В ext4 также добавлена поддержка дедупликации расширенных атрибутов, позволяющая фактически хранить только одну копию атрибута, применённого к нескольким файлам;

-  Добавлен механизм (https://lwn.net/Articles/724307/) для более надёжного информирования приложений в пространстве пользователя об ошибках, возникающих в процессе выполнения операций отложенной записи (writeback);

-  В F2FS, развиваемой компанией Samsung высокопроизводительной файловой системе для Flash-накопителей,  обеспечена поддержка дисковых квот;

-  В F2FS, UBIFS и Btrfs добавлена поддержка системного вызова statx() с реализацией более эффективного и функционального варианта stat(), возвращающего расширенную информацию о файле, включая время создания файла и специфичные для файловых систем флаги;

-  В XFS добавлена поддержка опций SEEK_HOLE и SEEK_DATA системного вызова lseek() для выявления пустых областей и блоков данных внутри файла;

-  В файловой системе OverlayFS добавлена поддержка индекса директории , позволяющая выполняь операции копирования между слоями без повреждения жестких ссылок;

-  Добавлена возможность повторного экспорта NFS-раздела поверх NFS;


-  
Виртуализация и безопасность

-  Добавлена реализация (https://lwn.net/Articles/666509/) протокола TLS на уровне ядра, использование которой позволяет добиться повышения производительности при обработке протоколов, подобных HTTPS;


-  В состав системы сборки включен плагин к GCC (http://www.openwall.com/lists/kernel-hardening/2017/04/06/14) для рандомизации раскладки структур данных, который на этапе сборки делает непредсказуемым следование полей в структурах и затрудняет проведение атак, базирующихся на знании раскладки структур в ядре. Плагин портирован из патчей проекта grsecurity;

-  В состав модуля AppArmor включен (https://lkml.org/lkml/2017/6/10/162) код обработки меток на процессы ("domain labeling"), разработанный и применяемый в Ubuntu. В будущих выпусках ожидается продолжение интеграции улучшений, разработанных командой  Ubuntu для AppArmor;

-  
Сетевая подсистема

-  Обеспечена раздельная обработка sysctl tcp_sack, tcp_window_scaling и tcp_timestamps  для каждого пространства имён сетевой подсистемы (network namespace);

-  В getsockopt()  добавлена поддержка новой команды SO_PEERGROUPS, возвращающей список всех групп, в которые входит сокет;
-  Представлен (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin... новый тип BPF-программ -  BPF_PROG_TYPE_SOCK_OPS, который позволяет организовать вызов BPF-программы на различных стадиях обработки сокетов и применяться для корректировки параметров соединения, таких как размер буферов, начального окна,  SYN/SYN-ACK RTO и т.п.


-  
Память и системные сервисы

-  Добавлены средства (https://lwn.net/Articles/673641/) прогнозирования следующего прерывания, которые позволяют повысить эффективность принятия решений, связанных с управлением питанием;
-  В утилиту perf добавлена опция "--smi-cost", позволяющая оценить затраты на обработку прерываний системного управления (SMI - System Management Interrupt, для выполнения кода в режиме SMM (https://ru.wikipedia.org/wiki/System_Management_Mode));

-  Инициатива по оформлению (https://kernel.org/doc/html/latest/) документации к ядру  с использованием разметки  reStructuredText (https://ru.wikipedia.org/wiki/ReStructuredText) (RST) и пакета Sphinx (http://www.sphinx-doc.org/) достигла важного рубежа - все ранее доступные шаблоны DocBook преобразованы в reStructuredText. Компоненты для поддержки DocBook удалены;
-  Для каждой  BPF-программы теперь генерируется и назначается уникальный идентификатор, который может использоваться для получения файловых дескрипторов к объектам BPF из пространства пользователя;
-  Реализована первая стадия оптимизации процесса вытеснения в раздел подкачки больших страниц памяти (Transparent Huge-Pages). Если до сих пор первым этапом вытеснения в раздел подкачки было разбиение больших страниц не маленькие, то в ядре 4.13 подобное разбиение откладывается до момента распределения места в разделе подкачки и учёта кэша подкачки. Подобное изменение уменьшает конфликт блокировок, что отражается в росте производительности примерно на 15%. В будущих ядрах  разбиение больших страниц планируется отложить до момента фактической записи в раздел подкачки или чтения из него;

-  
Оборудование

-  Для архитектуры s390 реализованы пятиуровневые таблицы страниц памяти, которые позволяют адресовать до 16 эксабайт ОЗУ;


-  В DRM-драйвере (Direct Rendering Manager) Nouveau обеспечена поддержка средств HDMI для стереоскопического и 3D вывода;

-  В DRM-драйвере AMDGPU добавлена ограниченная начальная поддержка GPU  AMD Raven Ridge;...

URL: https://lkml.org/lkml/2017/9/3/155
Новость: https://www.opennet.ru/opennews/art.shtml?num=47126

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру