- PVSM.RU - https://www.pvsm.ru -

Линус Торвальдс представил ядро Linux 4.11

image

Сегодня, после двух месяцев работы, Линус Торвальдс представил [1] ядро Linux 4.11 [2]. Среди прочих изменений стоит выделить такие пункты, как включение поддержки журналирования в программном RAID 4/5/6, системный вызов statx(), плюс поддержка протокола Opal, что позволяет работать с самошифруемыми накопителями информации.

О масштабах изменений можно судить по количеству принятых исправлений — около 12000 от полутора тысяч разработчиков. Размер патча составляет 39 МБ. Изменены 12479 файлов, добавлено чуть больше полумиллиона строк кода, удалено более 200 тысяч. Примерно половина представленных изменений имеет отношение к драйверам устройств, около 20% — поддержка различных аппаратных архитектур, остальное — сетевой стек, файловые системы и внутренние подсистемы ядра.

Обновления, чтобы получить о них лучшее представление, стоит разделить на несколько секций. Это «железо», «память», «сетевая подсистема», «дисковая и файловые системы» и «виртуализация».

Железо

  • Здесь добавлено несколько ожидаемых многими элементов, включая интеграцию в DRM-драйвер начальной реализации системы регулирования энергопотребления. Речь идет о Power budget, как это называется на английском. Кроме того, усовершенствована поддержка режима, который обеспечивает загрузку завершенных цифровой подписью блобов с прошивками NVIDIA. Это требуется для того, чтобы позволить активировать средства 3D ускорения графики в GeForce-1000 и более новых видеоадаптерах. К сожалению, полная поддержка новых прошивок будет обеспечена лишь в ядре 4.12;
  • В драйвер AMDGPU добавили предварительную поддержку технологии виртуализации ввода-вывода SR-IOV (Single Root Input/Output Virtualization), которая поддерживается в профессиональных картах FirePro. Появились PCI-идентификаторы для чипов POLARIS12;
  • Кроме того, в драйвере для GPU от Intel добавлены PCI-идентификаторы видеоподсистемы SoC Gemini Lake. Примечательно, что она еще не поступила в продажу, предназначена она для смены Apoolo Lake;
  • Разработчики добавили поддержку таких ARM-плат, как Banana Pi M64, HiSilicon Kirin960/Hi3660/HiKey960, SolidRun MACCHIATOBin, Broadcom BCM958712DxXMC NorthStar2, NXP LS1012a, а также систем на баз Allwinner H2+ и V3;
  • Есть новый звуковой драйвер и драйвер камеры, которая используется в Raspberry Pi.

Дисковая и файловые системы

  • Разработчики ядра добавили поддержку журналирования в RAID 4/5/6. Этот ход позволил защитить систему от потери данных в случае отключения питания или падения. Разрабатывала этот компонент компания Facebook. Журнал ведется на отельном носителе, причем данные изначально отражаются в журнале, а после — разносятся по различным дискам, которые входят в RAID-массив. В том случае, если отключается питание, даже, если информация была записана только на часть дисков, повреждений можно избежать;
  • Что касается файловой системы ext4, здесь реализована команда нового типа EXT4_IOC_SHUTDOWN. Она позволяет убедиться в том, что раздел уже остановлен и необходимости в сбросе данных, которые находятся в оперативной памяти, нет;
  • Как и говорилось выше, разработчики реализовали работу с накопителями, которые соответствуют спецификации Opal. Эта спецификация определяет принцип шифрования хранимых данных, что позволяет не допустить утечку информации в случае, если носитель с ценными данными украден или потерян. Пользователям предоставлена возможность изменять ряд настроек;
  • Для F2FS, системы, которая разрабатывается корпорацией Samsung, включена опция inline_xattr, обеспечивающеая inline-хранение в inode атрибутов xattr;
  • Поддержка NFSv4 по UDP отключена, поскольку она была неработоспособной. Плюс ко всему, отключены по умолчанию метки безопасности для NFS.

Виртуализация

  • В ядро теперь встроена реализация алгоритма SipHash, которая представляет собой безопасный и быстрый метод хэширования;
  • Добавлен интерфейс /sys/kernel/security/lsm — через него теперь можно узнать список активных LSM-модулей;
  • Добавлена реализация алгоритма шифрования AES, которая обеспечивает фиксированное время выполнения для защиты от атак определенного типа, когда злоумышленник пытается определить тип данных на основе изменения времени обработки операции;
  • Генератор псевдослучайных чисел переведен с хэширования MD5 на использование безопасного и быстрого алгоритма поточного шифра ChaCha20.

Сеть

  • Здесь реализован новый тип сокетов, "SMC-R [3]" (Shared Memory Communications over RDMA, RFC-7609 [4]), который предназначен для организации каналов связи поверх RDMA (Remote Direct Memory Access). Этот протокол разработан корпорацией IBM и обеспечивает возможность адаптировать написанные для TCP приложения для работы в
  • сетях RoCE (RDMA over Converged Ethernet [5]);
  • Появился новый модуль «psample» для выборки сетевых пакетов, которые проходят через сетевой интерфейс для дальнейшего отсеивания фильтром-классификатором;
  • В TCP-стеке включен по умолчанию механизм RACK, позволяющий определять потери пакетов. В этом случае используется время передачи, а не последовательность прихода пакетов;
  • Для TCP-сокетов добавлена [6] новая опция TCP_FASTOPEN_CONNECT;
  • Есть новый драйвер для создания сетевых интерфейсов Ipvlan, драйвер — ipvtap.

Память

  • Здесь добавлен системный вызов statx(), где реализован более эффективный и функциональный вариант stat() с возвращением расширенной информации о файле, с включением времени создания файла и специфичных для файловых систем флагов;
  • Появилась реализация раздельных буферов прокрутки для VGA-консолей;
  • Система подкачки оптимизирована, адаптирована на работу с SSD с малым постоянным временем доступа;
  • Появилась возможность использования разгона процессоров Turbo Boost Max 3.0 на системах без поддержки HWP (Hardware P-States);
  • Устройства PCI Express получили поддержку дополнительных режимов энергосбережения ASPM L1;
  • Также реализована поддержка средств управления энергопотреблением APST (Autonomous Power State Transitions), которые обеспечивают возможность на 20-30% снизить потребление энергии SSD-накопителями на базе технологии NVE.

Как всегда Латиноамериканский Фонд свободного ПО представил свою версию ядра Linux-libre 4.11-gnu [7], полностью свободного от проприетарных элементов. Так, здесь «почищен» код для поддержки криптоакселераторов Cavium, а также драйверы для GPU Rockchip, Ethernet-контроллеров Netronome NFP 4000/6000 и сенсорных экранов Silead.

Более подробная информация о ядре доступна здесь [1] и здесь [8].

Автор: King Servers

Источник [9]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/linux/254159

Ссылки в тексте:

[1] представил: https://lkml.org/lkml/2017/4/30/167

[2] Linux 4.11: https://www.kernel.org/

[3] SMC-R: https://www.pvsm.ruftp://public.dhe.ibm.com/software/os/systemz/pdf/Linux_SMC-R_Overview_and_Performance_7-1-15.pdf

[4] RFC-7609: https://tools.ietf.org/html/rfc7609

[5] RDMA over Converged Ethernet: https://en.wikipedia.org/wiki/RDMA_over_Converged_Ethernet

[6] добавлена: https://git.kernel.org/linus/19f6d3f3c8422d65b5e3d2162e30ef07c6e21ea2

[7] Linux-libre 4.11-gnu: http://linux-libre.fsfla.org/pub/linux-libre/releases/4.11-gnu/

[8] здесь: http://www.opennet.ru/opennews/art.shtml?num=46433

[9] Источник: https://habrahabr.ru/post/327678/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best