Состоялся релиз ядра Linux 4.1, в который принято примерно 12 тысяч исправлений от более полутора тысяч разработчиков, при этом 41% всех изменений связаны с драйверами устройств. Большая часть изменений внесена сотрудниками компаний: 11,2% Intel, 9.2% - Red Hat, 3.7% - SUSE, 3.3% - Linaro, 3.3% - IBM, 3.1% - Google, 2.9% - Samsung, 2.4% - Renesas Electronics, 1.9% - Texas Instruments, 1.4% - Broadcom, 1.3% - Oracle, 1.3% - Cisco, 1.1% - ARM. Наиболее интересные улучшения:
- Для файловой системы Ext4 добавлена поддержка шифрования отдельных частей файловой системы, при этом шифруется только содержимое и имена файлов. Ключ шифрования определяется во время монтирования файловой системы.
- Для подсистемы MD (RAID) добавлена экспериментальная возможность управления массивами RAID 1, распределёнными по узлам кластера при помощи DLM.
- Увеличена производительности программного RAID5/6 и процесса ресинхронизации. В RAID5/6 добавлена поддержка пакетных операций блоками в 4К. Оптимизирован цикл операций чтение-модификация-запись для больших RAID 6, содержащих более 6 дисков. Обеспечено динамическое изменение размера кэша RAID 6.
- Добавлено обеспечение возможности использования XFS в качестве слоя OverlayFS, благодаря добавлению в XFS поддержки флага RENAME_WHITEOUT. Кроме того, в XFS для вызова fallocate() добавлен флаг FALLOC_FL_INSERT_RANGE, позволяющий приложениям добавлять пустые области в файл.
- В файловую систему Btrfs добавлены исправления, решающие проблему с работой файловых систем, размером более 20 Тб, и файлов больше 3 Тб.
- Появилась новая специализированная виртуальная ФС tracefs, предназначенная для упрощения доступа из пространства пользователя к данным трассировки ядра Linux и по умолчанию монтирующаяся в директорию /sys/kernel/debug/tracing.
- Был добавлен драйвер PMEM с реализацией блочного устройства для хранения данных в энергонезависимой памяти (NVM, non-volatile memory), сочетающей производительность ОЗУ с возможностью постоянного хранения содержимого.
- Для Device-Mapper добавлена новая цель «dm-log», через которую можно организовать сохранение на блочное устройство логов всех операций, например, с целью отладки работы файловой системы.
- Теперь Device-Mapper может работать в качестве блочного устройства с многоуровневой моделью очередей (multiqueue), рассчитанной на организацию многопоточного доступа к данным на многоядерных системах и позволяющего эффективно использовать возможности современных SSD-накопителей.
- Появилась возможность сборки ядра без поддержки многопользовательских операций с использованием в системе только пользователя root для создания урезанных минималистичных решений и встраиваемых систем.
- Переработан код отслеживания нагрузки в планировщике задач, который теперь не зависит от скорости CPU при расчёте создаваемой процессом нагрузки. Новый подход даёт возможность принимать более эффективные решения по балансировке нагрузки в условиях непостоянной тактовой частоты и при использовании на асимметричных системах, сочетающих различные типы CPU.
- Была добавлена новая опция загрузки ядра «efi=debug», при которой выводится дополнительная отладочная информация при загрузке на системах с EFI.
- В подсистему прямого рендеринга (DRM) интегрирован менеджер виртуальной графической памяти («virtual GEM»), необходимый для организации работы виртуальных графических устройств, который можно использовать для организации программного рендеринга.
- Появилась поддержка виртуального GPU (vGPU), развиваемого компанией Intel в рамках проекта XenGT, предоставляющего решение для полной виртуализации GPU и обеспечения работы прослойки для взаимодействия из гостевых систем с реальными GPU Intel. XenGT подразумевает поддержание отдельных виртуальных GPU для каждого виртуального окружения, за которыми закрепляется часть критичных для обеспечения высокой производительности ресурсов реального GPU.
- Для стека IPv6 добавлена поддержка RFC-7217 (генерация неизменных идентификаторов интерфейса, без привязки к MAC-адресу).
- В модуль классификации сетевого трафика cls_bpf добавлена поддержка использования обработчиков пакетов, оформленных в виде расширенных BPF-программ (eBPF). С практической стороны, данное нововведение позволяет создавать произвольные фильтры трафика на языке Си, а затем транслировать их в eBPF для выполнения в ядре внутри виртуальной машины BPF.
- Для архитектуры ARM64 представлена поддержка ACPI (необходимость поддержки ACPI для ARM вызывала вопросы, так как для определения оборудования на системах ARM обычно используется механизм device tree).
- Для DRM/KMS-драйвера Nouveau добавлена поддержка аппаратного ускорения для карт GeForce GTX 750, работающего без использования элементов бинарных прошивок.
- Для драйвера Radeon добавлена поддержка многопоточной передачи данных через порт DisplayPort (MST, Multi-Stream Transport). Поддержка MST необходима для подключения мониторов высокого разрешения (4K/5K), которые подключаются к системе через два порта DisplayPort.
- Расширены возможности драйверов для видеокарт Intel, в том числе осуществлён переход на использование механизмов атомарного управления видеорежимами и включена поддержка DRRS (dynamic refresh rate switching).
- Проведена реорганизация звуковой системы HD-audio, которая переведена на новую шину «hdaudio», упрощающую управление устройствами.
- В Video4Linux добавлена поддержка тюнеров TechnoTrend TT-connect S2-4600 DVB-S/S2 и Hauppauge HVR-955Q ATSC/QAM, демодуляторов LG Electronics LGDT3306A, видеоподсистемы Xilinx.
- Поддержка SoC-плат IMG Pistachio, Marvell Armada 39x, Annapurna Labs Alpine и Xilinx ZynqMP.