Перейти к содержанию

Релиз ядра Linux 4.12

Материал из Викиновостей, свободного источника новостей

3 июля 2017 года

После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 4.12. Среди наиболее заметных изменений: в состав включены планировщики ввода/вывода BFQ и Kyber, для live-патчей реализована гибридная модель обеспечения непротиворечивости, добавлен модуль dm-integrity, интегрирован фреймворк TEE (Trusted Execution Environment), в MD RAID5 добавлена поддержка частичного лога чётности, в blk-throttle обеспечена поддержка "мягких" лимитов, в поставку добавлена утилита "AnalyzeBoot", включён по умолчанию механизм защиты KASLR.

В новую версию принято более 13 тысяч исправлений от 1500 разработчиков, размер патча - 89 Мб, что примерно в два раза больше, чем патч для ядра 4.11 (изменения затронули 12364 файлов, добавлено 1300537 строк кода, удалено 266937 строк). Около 45% всех представленных в 4.12 изменений связаны с драйверами устройств, примерно 16% изменений имеют отношение к обновлению кода специфичного для аппаратных архитектур, 13% связано с сетевым стеком, 3% - файловыми системами и 3% c внутренними подсистемами ядра.

Основные новшества:

  • Дисковая подсистема, ввод/вывод и файловые системы
  • Для многоуровневой системы очередей (multiqueue) реализованы планировщики ввода/вывода BFQ (Budget Fair Queueing) и Kyber, специально рассчитанные на организацию многопоточного доступа к данным на многоядерных системах. Ранее реализация multiqueue считалась незавершённой из-за отсутствия планировщиков, специально созданных для работы с многоуровневыми очередями. BFQ манипулирует распределением бюджетов на ввода/вывод между процессами и позволяет добиться хороших показателей отзывчивости для интерактивных приложений при использовании дисковых носителей или медленных моделей SSD-накопителей.

Kyber минималистичен (около 1000 строк кода), оптимизирован для работы с быстрыми SSD-накопителями и манипулирует двумя основными очередями - очередь для синхронных запросов (операции чтения) и очередь для асинхронных запросов (операции записи). Операции чтения рассматриваются как синхронные, так как они, как правило, блокируют работу процесса пока данные не будут получены. А запись отнесена к асинхронным, так как процесс может сразу продолжить работу после операции записи, которая может быть фактически завершена позднее. Kyber считает операции чтения более приоритетными, но не настолько, чтобы сильно задерживать запись;

  • В модуль управления пропускной способностью ввода/вывода blk-throttle добавлен новый лимит "low", который можно использовать для задания мягких ограничений ресурсов ввода/вывода. Группа (cgroup) может превысить low-ограничение, но только при условии, что все активные группы уже достигли данного лимита. Через настройки можно корректировать период выборки, используемый контроллером cgroup, для тонкого контроля над нагрузкой на CPU. Кроме того в blk-throttle реализован масштабируемый фреймворк для управления приоритезацией ввода/вывода;
  • В подсистему LightNVM добавлен обработчик "pblk", который позволяет работать с экзотическими SSD-накопителями типа open-channel (не имеют прошивки с FTL/Flash Translation Layer) как с обычными блочными устройствами;
  • В MD RAID5 добавлена поддержка возможности Partial Parity Log(недоступная ссылка) (PPL), присутствующей в RAID-массивах Intel IMSM, которая позволяет снизить вероятность повреждения данных ( Write Hole) в случае работы с рассинхронизированным массивом, один из накопителей в котором не соответствует данным на других дисках, а массив находится в состоянии "degraded", т.е. отсутствует возможность пересчитать блоки чётности. Так как PPL требует сохранения дополнительных избыточных данных, включение данного режима приводит к снижению производительности записи на 30-40%. В dm raid для борьбы с Write Hole добавлена поддержка журнала обратной записи для RAID 4/5/6;
  • В MD RAID проведена работа по увеличению эффективности кэширования и увеличению производительности ввода/вывода для массивов RAID 5 и 6 при использовании жестких дисков;
  • Для Device Mapper реализован новый модуль dm-integrity (Архивная копия от 14 января 2019 на Wayback Machine), который обеспечивает эмуляцию блочного устройства с дополнительными метками в секторах, в которых может сохраняться информация для контроля целостности данных на уровне отдельных секторов. Поддержка предоставляемых dm-integrity метаданных добавлена в dm-crypt и может применяться обеспечения для неизменности зашифрованных данных (Authenticated Encryption, гарантирует, что блок данных не был модифицирован обходным путём) и хранения векторов инициализации;
  • Удалён устаревший драйвер hd для жестких дисков с интерфейсом MFM/RLL, используемым на заре рождения ПК до появления интерфейса IDE. Драйвер был написан Линусом и поставлялся начиная с версии ядра 0.01;
  • Реализована новая ioctl-команда GETFSMAP, которую можно использовать для анализа физического размещения экстентов в файловой системе. Например, при помощи GETFSMAP можно определить данные какого файла связаны с указанным физическим блоком. Поддержка GETFSMAP добавлена для XFS и ext4;
  • В Btrfs устранена серия проблем, проявляющихся в RAID 5 и 6 при проверке целостности данных ("Scrubbing") или перемещении дисков;
  • Виртуализация и безопасность
  • В состав включен фреймворк TEE (Trusted Execution Environment), предоставляющий средства для задействования возможностей процессоров, таких как

Источники

[править]
Creative Commons
Creative Commons
Эта статья содержит материалы из статьи «Релиз ядра Linux 4.12», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии[править]

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.