...

понедельник, 1 мая 2017 г.

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

image

Сегодня, после двух месяцев работы, Линус Торвальдс представил ядро Linux 4.11. Среди прочих изменений стоит выделить такие пункты, как включение поддержки журналирования в программном 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" (Shared Memory Communications over RDMA, RFC-7609), который предназначен для организации каналов связи поверх RDMA (Remote Direct Memory Access). Этот протокол разработан корпорацией IBM и обеспечивает возможность адаптировать написанные для TCP приложения для работы в
  • сетях RoCE (RDMA over Converged Ethernet);
  • Появился новый модуль «psample» для выборки сетевых пакетов, которые проходят через сетевой интерфейс для дальнейшего отсеивания фильтром-классификатором;
  • В TCP-стеке включен по умолчанию механизм RACK, позволяющий определять потери пакетов. В этом случае используется время передачи, а не последовательность прихода пакетов;
  • Для TCP-сокетов добавлена новая опция 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, полностью свободного от проприетарных элементов. Так, здесь «почищен» код для поддержки криптоакселераторов Cavium, а также драйверы для GPU Rockchip, Ethernet-контроллеров Netronome NFP 4000/6000 и сенсорных экранов Silead.

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

Комментарии (0)

    Let's block ads! (Why?)

    Комментариев нет:

    Отправить комментарий