Линус Торвальдс представил ядро 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.

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

    • +40
    • 26,5k
    • 5
    King Servers 65,16
    Хостинг-провайдер «King Servers»
    Поделиться публикацией
    Похожие публикации
    Комментарии 5
    • +2
      Ещё для blk_mq добавили iosched, пока что только deadline, но все равно это жирный плюс для многодисковых сторов.
      • +2
        Помнится еще недавно компилил ядро 2.4, чтобы влезло на флопик самозагрузочной системой.
        А тут уже 4.11 )))
        • –1
          DRM-драйвер

          Линус, я не понял, копирасты и до тебя добрались?.. А как же GNU и… (плачет)

          • +9
            https://en.wikipedia.org/wiki/Direct_Rendering_Manager
            • +3
              DRM в данном случае — это библиотека, которая используется при написании драйверов видеокарт. Не имеет отношения к копирайтам.

            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

            Самое читаемое