Релиз ядра Linux 3.18

Линус Торвальдс объявил о выходе ядра Linux 3.18, основные новшества:

В ядро интегрирована файловая система OverlayFS, разработанная SUSE и позволяющая создать виртуальную многослойную файловую систему, поверх доступной только на чтение основы. Для сервера NFS появилась поддержка операции SEEK. В файловую систему F2FS добавлена поддержка атомарных операций записи, позволяющих рассматривать успешное или сбойное завершение серии операций как единое целое. Для Btrfs улучшен код восстановления повреждённых RAID-массивов и перестроения RAID. Появилась сетевая подсистема FOU (Foo-over-UDP) для организации тунеллирования различных IP-протоколов поверх UDP. Добавлена поддержка алгоритма контроля перегрузки TCP DCTCP (Data Center TCP). Внесён ряд оптимизаций в сетевую подсистему, направленных на увеличение производительности пакетной передачи данных. Появилась поддержка протокола Geneve (Generic Network Virtualization Encapsulation), универсального протокола инкапсуляции для виртуализированных сетей. Добавлен новый системный вызов bpf (), предоставляющий доступ к возможностям универсальной виртуальной BPF-машины внутри ядра. Удалось добиться существенного сокращения времени перехода в спящий режим для систем с большим числом процессоров за счёт избавления от задержки в 100ms для каждого CPU перед его остановкой. В системный вызов prctl () добавлена новая операция PR_SET_MM_MAP, позволяющая выставить основные параметры раскладки адресного пространства процесса, в том числе указать где разместить области с кодом и данными, где находится стек, определить точки останова. Включена подсистема RCU tasks, позволяющая использовать механизм синхронизации RCU (Read-copy-update) для защиты целостности структур данных. Внесён ряд изменений, направленных на обеспечения сборки ядра при помощи компилятора Clang. В частности, осуществлена замена массивов переменной длины в структурах данных (VLAIS, Variable Length Array In Struct) на созданный при помощи макроса SHASH_DESC_ON_STACK () эквивалент, совместимый со спецификацией C99 и поддерживаемый в Clang. Включены в ядро некоторые патчи, подготовленные в рамках инициативы по обеспечению сборки как можно более компактного ядра Linux, занимающего минимальный размер. Добавлена возможность исключения из сборки системных вызовов madvise () и fadvise (), а также кода разбора флагов с описанием возможностей процессора. Добавлена штатная поддержка установки модулей ядра в сжатом виде. Был добавлен драйвер «pvSCSI» (Paravirtualized SCSI), позволяющая организовать работу гостевых систем, работающих под управлением гипервизора Xen, с привязанными к ним SCSI-устройствами. В код для архитектуры ARM64 адаптирован новый JIT-компилятор BPF (eBPF). Архитектура SPARC64 переведена на четырёхуровневые таблицы страниц памяти, что значительно увеличило размер адресуемой памяти. Для DRM-драйвера Nouveau добавлена поддержка вывода звука через порт DisplayPort. В DRM-драйвер Radeon для старых карт R600 добавлена поддержка UVD (Unified Video Decoder) для ускорения декодирования видео. В DRM-драйвере Intel реализована поддержка кэширования значений EDID и внесена порция накопившихся улучшений. Добавлена поддержка: Новых SoC: Hisilicon HiP04 Cortex A15, Amlogic Meson6 (8726MX), Renesas R-Car E2 (R8A77940), Broadcom BCM63xx DSL, Atmel SAMA5D4, Cavium Inc. Thunder; Звуковых карт Freescale, добавлены кодеки для Everest ES8328, Freescale ES8328 и Cirrus Logic CS35L32; Ethernet-контроллеров Qualcomm Atheros QCA7000 и Ethernet-коммутаторов Broadcom Starfighter 2, Intel FM10000 и Marvell 88E6171; Более полная новость на opennet.ru

 kernel, linux

©  Linux.org.ru