Очередная стабильная версия ядра включает в себя ряд крупных изменений:
- Подключение планировщиков ввода-вывода к подсистеме многоуровневых очередей для блочных устройств (blk-mq). Пока доступен планировщик deadline, но в Linux 4.12 также добавится BFQ.
- Алгоритм использования файлов/разделов подкачки переработан с прицелом на SSD.
- В режимах RAID 4/5/6 подсистемы MD появилась поддержка журналирования на отдельный NVRAM или SSD.
- Новый системный вызов statx() — более современная и мощная версия stat().
- Утилита perf ftrace — фронтенд для системы отладки ftrace.
- Поддержка спецификации OPAL для шифрования данных на NVMe-накопителях — мера безопасности для утерянных носителей.
- Ряд правок и модификаций в cgroup, RCU, inotify, пространствах имён, таймерах и прочих системах.
Изменения в файловых системах:
- Шифрование общих разделов CIFS и SMB2.1/3 для DFS.
- Опция монтирования
debug_want_extra_isize
для Ext4. - Вызов ioctl EXT4_IOC_SHUTDOWN — проверка остановки раздела Ext4 и ненужности сброса кэшей.
- F2FS по умолчанию хранит xattr в инодах, для отключения этого доступна опция монтирования
noinline_xattr
. Команда discard выполняется асинхронно в отдельном потоке. - В OverlayFS устранено «бутылочное горлышко» — файлы копируются параллельно, а не один за другим.
- Поправки в работе контрольных сумм Btrfs.
Изменения в подсистеме памяти:
- Поддержка интерфейса vmstats для kcompactd.
- Затраты на выделение и освобождение памяти снижены на 30%.
- Опция defer+madvise для дефрагментации Transparent Huge Pages.
- Улучшена дедупликация в KSM.
- Из ZRam удалены устаревшие атрибуты sysfs.
Виртуализация и безопасность:
- Драйвер PTP для доступа к хост-часам реального времени из гостей KVM и Hyper-V.
- Вызов IOCTL_PRIVCMD_DM_OP — ограничение количества операций гипервизора Xen и аудит таких операций для гостевых доменов. Также реализован вызов IOCTL_PRIVCMD_RESTRICT для изоляции и безопасности гостевого домена на уровне HVM при сохранении режима PV для работы с оборудованием.
- Модуль virtio_blk теперь конфигурируется для проброса SCSI.
- Полноценная поддержка шифрования в подсистеме virtio.
- Siphash — очень быстрый и безопасный алгоритм хэширования.
- Операции шифрования AES теперь могут выполняться за фиксированное время.
- По адресу /sys/kernel/security/lsm можно увидеть список загруженных LSM-модулей.
- Алгоритм chacha20 для генерации случайных int и long чисел.
- В Apparmor теперь доступны политики для неймспейсов, принудительный флаг complain для режима обучения, интроспекция неймспейсов политик. Удалён параноидный уровень безопасности.
Изменения в сетевой подсистеме:
- Начальная поддержка протокола SMC-R для организации TCP-каналов поверх RDMA.
- Алгоритм SipHash теперь используется для генерации последовательностей номеров и для SYN cookies.
- В протоколе TCP доступен RACK — детектор потери пакетов на основе времени их отправки.
- Опция TCP_FASTOPEN_CONNECT для быстрого открытия TCP-сокетов на стороне клиента.
- Ряд улучшений в работе ipv4/6, мостов, беспроводных сетей, подсистеме netfilter, и т. д.
Поддержка архитектур:
- Процессоры THUNDER2 архитектуры ARM64.
- Стек IRQ и cacheinfo для MIPS.
- Оптимизация операций на OpenRISC.
- Для PowerPC доступны плагины gcc, доработки в KVM и драйверах устройств.
- Страницы памяти размером 64 КиБ и 2 ГиБ для SPARC.
- Для х86 появились AVX512_VPOPCNTDQ и EFI_MEMORY_ATTRIBUTES_TABLE, работа Turbo Boost Max 3.0 для систем без P-State, поддержка perf для Kaby Lake, и др.
Драйверы оборудования:
- Модуль tinydrm для создания примитивных экранов с бэкендом CMA-фреймбуфера.
- Ряд доработок в драйвере i915, в том числе поддержка новой SoC Gemini Lake.
- В AMDGPU добавлен PCI-идентификатор Polaris, начальная поддержка виртуализации SR-IOV, и расширены возможности профилирования.
- Начата работа по интеграции системы управления питанием в драйвер Nouveau.
- В ZTE доступны передача звука HDMI через SPDIF и драйвер tvenc.
- Новые контроллеры и устройства Bluetooth, Infiniband, HDA-кодеки, тачскрины, ТВ-тюнеры, видеокамеры, HID, USB, и др.
Архив с исходным кодом новой версии ядра доступен на kernel.org, его размер 91 МиБ.
>>> Подробности